/// <summary>
 /// 添加, 这里可以人工干预,提高程序的性能
 /// </summary>
 /// <param name="entity">实体</param>
 /// <param name="identity">自增量方式,表主键是否采用自增的策略</param>
 /// <param name="returnId">返回主键,不返回程序允许速度会快,主要是为了主细表批量插入数据优化用的</param>
 /// <returns>主键</returns>
 public string Add(BaseStationEntity entity, bool identity = true, bool returnId = true)
 {
     this.Identity = identity;
     this.ReturnId = returnId;
     entity.Id     = int.Parse(this.AddObject(entity));
     return(entity.Id.ToString());
 }
Example #2
0
 /// <summary>
 /// 接口修改状态用方法
 /// </summary>
 /// <param name="entity"></param>
 public void UpdateState(BaseStationEntity entity)
 {
     try
     {
         service.UpdateState(entity);
     }
     catch (Exception e)
     {
         throw;
     }
 }
Example #3
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, BaseStationEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
 /// <summary>
 /// 设置实体
 /// </summary>
 /// <param name="entity">实体</param>
 private void SetObject(SQLBuilder sqlBuilder, BaseStationEntity entity)
 {
     SetObjectExpand(sqlBuilder, entity);
     sqlBuilder.SetValue(BaseStationEntity.FieldOrganizeId, entity.OrganizeId);
     sqlBuilder.SetValue(BaseStationEntity.FieldCode, entity.Code);
     sqlBuilder.SetValue(BaseStationEntity.FieldRealName, entity.RealName);
     sqlBuilder.SetValue(BaseStationEntity.FieldCategoryCode, entity.CategoryCode);
     sqlBuilder.SetValue(BaseStationEntity.FieldMacAddress, entity.MacAddress);
     sqlBuilder.SetValue(BaseStationEntity.FieldUploadTime, entity.UploadTime);
     sqlBuilder.SetValue(BaseStationEntity.FieldDownloadTime, entity.DownloadTime);
     sqlBuilder.SetValue(BaseStationEntity.FieldSortCode, entity.SortCode);
     sqlBuilder.SetValue(BaseStationEntity.FieldDeletionStateCode, entity.DeletionStateCode);
     sqlBuilder.SetValue(BaseStationEntity.FieldEnabled, entity.Enabled);
     sqlBuilder.SetValue(BaseStationEntity.FieldDescription, entity.Description);
 }
        /// <summary>
        /// 更新实体
        /// </summary>
        /// <param name="entity">实体</param>
        public int UpdateObject(BaseStationEntity entity)
        {
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper);

            sqlBuilder.BeginUpdate(this.CurrentTableName);
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseStationEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseStationEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseStationEntity.FieldModifiedOn);
            sqlBuilder.SetWhere(this.PrimaryKey, entity.Id);
            return(sqlBuilder.EndUpdate());
        }
Example #6
0
        public ActionResult SaveForm(string keyValue, BaseStationEntity entity)
        {
            basebll.SaveForm(keyValue, entity);
            //将基站信息同步到后台计算服务中
            RabbitMQHelper rh = RabbitMQHelper.CreateInstance();
            SendData       sd = new SendData();

            if (string.IsNullOrEmpty(keyValue))
            {
                sd.DataName = "AddBaseStationEntity";
            }
            else
            {
                sd.DataName = "UppBaseStationEntity";
            }
            sd.EntityString = JsonConvert.SerializeObject(entity);
            rh.SendMessage(JsonConvert.SerializeObject(sd));
            return(Success("操作成功。"));
        }
 // 这个是声明扩展方法
 partial void SetObjectExpand(SQLBuilder sqlBuilder, BaseStationEntity entity);
        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="entity">实体</param>
        public string AddObject(BaseStationEntity entity)
        {
            string key = string.Empty;

            if (entity.SortCode == null || entity.SortCode == 0)
            {
                BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity);
                key             = sequenceManager.Increment(this.CurrentTableName);
                entity.SortCode = int.Parse(key);
            }
            SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId);

            sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey);
            if (!this.Identity)
            {
                // 这里已经是指定了主键了,所以不需要返回主键了
                sqlBuilder.ReturnId = false;
                sqlBuilder.SetValue(this.PrimaryKey, entity.Id);
            }
            else
            {
                if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                {
                    if (DbHelper.CurrentDbType == CurrentDbType.Oracle)
                    {
                        sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL ");
                    }
                    if (DbHelper.CurrentDbType == CurrentDbType.DB2)
                    {
                        sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper());
                    }
                }
                else
                {
                    if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
                    {
                        BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper);
                        entity.Id = int.Parse(sequenceManager.Increment(this.CurrentTableName));
                        sqlBuilder.SetValue(this.PrimaryKey, entity.Id);
                    }
                }
            }
            this.SetObject(sqlBuilder, entity);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseStationEntity.FieldCreateUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseStationEntity.FieldCreateBy, UserInfo.RealName);
            }
            else
            {
                sqlBuilder.SetValue(BaseStationEntity.FieldCreateBy, entity.CreateBy);
            }
            sqlBuilder.SetDBNow(BaseStationEntity.FieldCreateOn);
            if (UserInfo != null)
            {
                sqlBuilder.SetValue(BaseStationEntity.FieldModifiedUserId, UserInfo.Id);
                sqlBuilder.SetValue(BaseStationEntity.FieldModifiedBy, UserInfo.RealName);
            }
            sqlBuilder.SetDBNow(BaseStationEntity.FieldModifiedOn);
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access))
            {
                key = sqlBuilder.EndInsert().ToString();
            }
            else
            {
                sqlBuilder.EndInsert();
            }
            if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2))
            {
                return(entity.Id.ToString());
            }
            return(key);
        }
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="entity">实体</param>
 public int Update(BaseStationEntity entity)
 {
     return(this.UpdateObject(entity));
 }
Example #10
0
        public string ImportStation()
        {
            int    error        = 0;
            string message      = "请选择格式正确的文件再导入!";
            string falseMessage = "";
            int    count        = HttpContext.Request.Files.Count;

            if (count > 0)
            {
                HttpPostedFileBase file = HttpContext.Request.Files[0];
                if (string.IsNullOrEmpty(file.FileName))
                {
                    return(message);
                }
                if (!(file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xls") || file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xlsx")))
                {
                    return(message);
                }
                string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(file.FileName);
                file.SaveAs(Server.MapPath("~/Resource/temp/" + fileName));
                DataTable dt    = ExcelHelper.ExcelImport(Server.MapPath("~/Resource/temp/" + fileName));
                int       order = 1;

                DistrictBLL           districtbll = new DistrictBLL();
                List <DistrictEntity> AreaList    = districtbll.GetListByOrgIdAndParentId("", "");

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string CameraID   = dt.Rows[i][0].ToString();
                    string CameraName = dt.Rows[i][1].ToString();
                    string CameraType = dt.Rows[i][2].ToString();
                    //区域
                    string AreaName  = dt.Rows[i][3].ToString();
                    string AreaValue = "";
                    string AreaCode  = "";
                    //楼层编号
                    string FloorNo     = dt.Rows[i][4].ToString();
                    string CameraPoint = dt.Rows[i][5].ToString();
                    string CameraIp    = dt.Rows[i][6].ToString();

                    if (string.IsNullOrEmpty(CameraID))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "基站ID为空,未能导入.";
                        error++;
                        continue;
                    }

                    if (string.IsNullOrEmpty(CameraName))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "基站名称为空,未能导入.";
                        error++;
                        continue;
                    }

                    if (string.IsNullOrEmpty(CameraType))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "基站型号为空,未能导入.";
                        error++;
                        continue;
                    }

                    if (string.IsNullOrEmpty(AreaName))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "区域名称为空,未能导入.";
                        error++;
                        continue;
                    }

                    if (string.IsNullOrEmpty(FloorNo))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "楼层编号为空,未能导入.";
                        error++;
                        continue;
                    }

                    if (string.IsNullOrEmpty(CameraPoint))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "基站坐标为空,未能导入.";
                        error++;
                        continue;
                    }

                    if (string.IsNullOrEmpty(CameraIp))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "IP地址为空,未能导入.";
                        error++;
                        continue;
                    }
                    var IP    = @"(^(\d+)\.(\d+)\.(\d+)\.(\d+)$)";//@"/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g";
                    var point = @"(^\d{1,9}(.\d{1,2});\d{1,9}(.\d{1,2})$)";

                    ////验证是否是IP
                    if (!Regex.IsMatch(CameraIp, IP))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "行IP地址格式填写错误,未能导入.";
                        error++;
                        continue;
                    }

                    ////验证是否是坐标
                    if (!Regex.IsMatch(CameraPoint, point))
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "行坐标格式填写错误,格式应为xx.xx;xx.xx,未能导入.";
                        error++;
                        continue;
                    }

                    var area = AreaList.Where(it => it.DistrictName == AreaName).FirstOrDefault();
                    if (area == null)
                    {
                        falseMessage += "</br>" + "第" + (i + 2) + "行区域名称填写错误,未找到对应的区域,未能导入.";
                        error++;
                        continue;
                    }

                    AreaValue = area.DistrictID;
                    AreaCode  = area.DistrictCode;

                    BaseStationEntity kbs = new BaseStationEntity();
                    kbs.AreaCode     = AreaCode;
                    kbs.AreaId       = AreaValue;
                    kbs.AreaName     = AreaName;
                    kbs.StationID    = CameraID;
                    kbs.StationName  = CameraName;
                    kbs.StationType  = CameraType;
                    kbs.FloorCode    = FloorNo;
                    kbs.OperUserName = OperatorProvider.Provider.Current().UserName;
                    kbs.AreaId       = AreaValue;
                    kbs.StationIP    = CameraIp;
                    kbs.StationCode  = CameraPoint;
                    try
                    {
                        basebll.SaveForm("", kbs);
                        //将基站信息同步到后台计算服务中
                        RabbitMQHelper rh = RabbitMQHelper.CreateInstance();
                        SendData       sd = new SendData();
                        sd.DataName     = "AddBaseStationEntity";
                        sd.EntityString = JsonConvert.SerializeObject(kbs);
                        rh.SendMessage(JsonConvert.SerializeObject(sd));
                    }
                    catch
                    {
                        error++;
                    }
                }
                count    = dt.Rows.Count;
                message  = "共有" + count + "条记录,成功导入" + (count - error) + "条,失败" + error + "条";
                message += "</br>" + falseMessage;
            }

            return(message);
        }