private void Frm_AddressTypeDefine_Load(object sender, EventArgs e) { deviceDefineService = ServiceFactory.Create <IDeviceDefineService>(); addressTypeService = ServiceFactory.Create <IKJ_AddresstypeService>(); addresstyperuleService = ServiceFactory.Create <IKJ_AddresstyperuleService>(); AddressTypeRuleList = new DataTable(); AddressTypeRuleList.Columns.Add("ID"); AddressTypeRuleList.Columns.Add("Addresstypeid"); AddressTypeRuleList.Columns.Add("Devid"); AddressTypeRuleList.Columns.Add("Devname"); AddressTypeRuleList.Columns.Add("UpAlarmValue"); AddressTypeRuleList.Columns.Add("UpPoweroffValue"); AddressTypeRuleList.Columns.Add("LowAlarmValue"); AddressTypeRuleList.Columns.Add("LowPoweroffValue"); gridControl1.DataSource = AddressTypeRuleList; //加载人员报警设置 20171128 if (type == 1) { AddressType = GetAddressTypeByAddressTypeID(AddressTypeid); if (AddressType != null) { txt_AddressTypeName.Text = AddressType.Addresstypename; List <KJ_AddresstyperuleInfo> AddressTypeRuleItems = addresstyperuleService.GetKJ_AddresstyperuleListByAddressTypeId(new Request.KJ_Addresstyperule.KJ_AddresstyperuleGetListRequest() { Id = AddressTypeid }).Data; Jc_DevInfo devInfo; //加载已有规则信息 devItems = deviceDefineService.GetAllDeviceDefineCache().Data.OrderBy(a => a.Devid).ToList(); foreach (KJ_AddresstyperuleInfo item in AddressTypeRuleItems) { devInfo = devItems.FirstOrDefault(a => a.Devid.ToString() == item.Devid); AddGridData(item.ID, item.Addresstypeid, item.Devid, devInfo == null ? "未知" : devInfo.Name, Math.Round(item.UpAlarmLowValue, 2) + "~" + Math.Round(item.UpAlarmHighValue, 2), Math.Round(item.UpPoweroffLowValue, 2) + "~" + Math.Round(item.UpPoweroffHighValue, 2), Math.Round(item.LowAlarmLowValue, 2) + "~" + Math.Round(item.LowAlarmHighValue, 2), Math.Round(item.LowPoweroffLowValue, 2) + "~" + Math.Round(item.LowPoweroffHighValue, 2)); } } } else { AddressType = null; } LoadDev(); }
///// <summary> ///// 删除该区域下已定义的规则 ///// </summary> ///// <param name="AddressTypeID"></param> //private void DeleteAddressTypeRules(string AddressTypeID) //{ // //删除现有规则 // AddressTypeRuleDeleteRequest AddressTypeRuleDeleteRequest = new AddressTypeRuleDeleteRequest(); // AddressTypeRuleDeleteRequest.Id = AddressTypeID; // AddressTypeRuleService.DeleteAddressTypeRuleByAddressTypeID(AddressTypeRuleDeleteRequest); //} private KJ_AddresstypeInfo GetAddressTypeInfoItem(string AddressTypeName) { KJ_AddresstypeInfo AddressTypeInfo = new KJ_AddresstypeInfo(); AddressTypeInfo.ID = IdHelper.CreateLongId().ToString(); AddressTypeid = AddressTypeInfo.ID; AddressTypeInfo.Addresstypename = AddressTypeName; AddressTypeInfo.Addresstypedesc = ""; AddressTypeInfo.Createupdatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); AddressTypeInfo.Bz1 = ""; AddressTypeInfo.Bz2 = ""; AddressTypeInfo.Bz3 = ""; return(AddressTypeInfo); }
///// <summary> ///// 获取该区域已定义的规则 ///// </summary> ///// <param name="AddressTypeID"></param> ///// <returns></returns> //private List<AddressTypeRuleInfo> GetAddressTypeRulesFromDB(string AddressTypeID) //{ // List<AddressTypeRuleInfo> items = new List<AddressTypeRuleInfo>(); // GetAddressTypeRuleListByAddressTypeIDRequest getAddressTypeRuleListByAddressTypeIDRequest = new GetAddressTypeRuleListByAddressTypeIDRequest(); // getAddressTypeRuleListByAddressTypeIDRequest.AddressTypeID = AddressTypeID; // var result = AddressTypeRuleService.GetAddressTypeRuleListByAddressTypeID(getAddressTypeRuleListByAddressTypeIDRequest); // if (result.Data != null && result.IsSuccess) // { // items = result.Data; // } // return items; //} /// <summary> /// 根据区域ID获取区域信息 /// </summary> /// <param name="AddressTypeID"></param> /// <returns></returns> private KJ_AddresstypeInfo GetAddressTypeByAddressTypeID(string AddressTypeID) { KJ_AddresstypeInfo AddressType = null; var result = addressTypeService.GetKJ_AddresstypeById(new KJ_AddresstypeGetRequest() { Id = AddressTypeID }); if (result.Data != null && result.IsSuccess) { AddressType = result.Data; } return(AddressType); }
/// <summary> /// 添加或修改区域及其规则入数据库 /// </summary> private void AddAddressTypeAndRulesToDB() { KJ_AddresstypeInfo tempAddressType = null; if (type == 0) { //新增 tempAddressType = GetAddressTypeInfoItem(txt_AddressTypeName.Text.Trim()); } else { //修改 tempAddressType = GetAddressTypeByAddressTypeID(AddressTypeid); } List <KJ_AddresstyperuleInfo> AddressTypeRuleInfoList = new List <KJ_AddresstyperuleInfo>(); for (int i = 0; i < gridView1.RowCount; i++) { KJ_AddresstyperuleInfo AddressTypeRuleItem = GetAddressTypeRuleItem( gridView1.GetRowCellValue(i, "ID").ToString() , gridView1.GetRowCellValue(i, "Addresstypeid").ToString() , gridView1.GetRowCellValue(i, "Devid").ToString() , gridView1.GetRowCellValue(i, "UpAlarmValue").ToString() , gridView1.GetRowCellValue(i, "UpPoweroffValue").ToString() , gridView1.GetRowCellValue(i, "LowAlarmValue").ToString() , gridView1.GetRowCellValue(i, "LowPoweroffValue").ToString()); AddressTypeRuleInfoList.Add(AddressTypeRuleItem); } if (type == 0) { KJ_AddresstypeAddRequest AddressTypeAddRequest = new KJ_AddresstypeAddRequest(); AddressTypeAddRequest.KJ_AddresstypeInfo = tempAddressType; addressTypeService.AddKJ_Addresstype(AddressTypeAddRequest); foreach (KJ_AddresstyperuleInfo temp in AddressTypeRuleInfoList) { //增加区域设备定义限制信息 KJ_AddresstyperuleAddRequest AddressTypeUpdateRequest = new KJ_AddresstyperuleAddRequest(); AddressTypeUpdateRequest.KJ_AddresstyperuleInfo = temp; addresstyperuleService.AddKJ_Addresstyperule(AddressTypeUpdateRequest); } } else { //修改 tempAddressType.Addresstypename = txt_AddressTypeName.Text.Trim(); tempAddressType.Createupdatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); KJ_AddresstypeUpdateRequest AddressTypeUpdateRequest = new KJ_AddresstypeUpdateRequest(); AddressTypeUpdateRequest.KJ_AddresstypeInfo = tempAddressType; addressTypeService.UpdateKJ_Addresstype(AddressTypeUpdateRequest); //先删除,再添加 todo addresstyperuleService.DeleteKJ_AddresstyperuleByAddressTypeId(new KJ_AddresstyperuleDeleteByAddressTypeIdRequest() { AddressTypeId = AddressTypeid }); foreach (KJ_AddresstyperuleInfo temp in AddressTypeRuleInfoList) { //增加区域设备定义限制信息 KJ_AddresstyperuleAddRequest AddressTypeUpdateRequest1 = new KJ_AddresstyperuleAddRequest(); AddressTypeUpdateRequest1.KJ_AddresstyperuleInfo = temp; addresstyperuleService.AddKJ_Addresstyperule(AddressTypeUpdateRequest1); } } //DeleteAddressTypeRules(tempAddressType.AddressTypeid); //AddressTypeRuleInfo AddressTypeRuleItem; //AddressTypeRuleAddRequest AddressTypeRuleAddRequest; //for (int i = 0; i < gridView1.RowCount; i++) //{ // AddressTypeRuleItem = GetAddressTypeRuleItem(Convert.ToInt32(gridView1.GetRowCellValue(i, "devid").ToString()) // , Convert.ToInt32(gridView1.GetRowCellValue(i, "deviceCount").ToString()) // , float.Parse(gridView1.GetRowCellValue(i, "maxVal").ToString()) // , float.Parse(gridView1.GetRowCellValue(i, "minVal").ToString()) // , tempAddressType.AddressTypeid); // AddressTypeRuleAddRequest = new AddressTypeRuleAddRequest(); // AddressTypeRuleAddRequest.AddressTypeRuleInfo = AddressTypeRuleItem; // AddressTypeRuleService.AddAddressTypeRule(AddressTypeRuleAddRequest); //} }