/// <summary> /// 保存测点信息的函数 /// </summary> public override bool ConfirmInf(Jc_DefInfo point) { if (!SensorInfoverify()) { return(false); } point.Bz6 = IsEnableRevised.Checked ? "1" : "0"; point.Bz7 = RevisedValue.ToString(); return(true); }
/// <summary> /// 批量添加 /// </summary> /// <param name="jc_Defrequest"></param> /// <returns></returns> public BasicResponse AddPointDefines(PointDefinesAddRequest PointDefineRequest) { BasicResponse Result = new BasicResponse(); List <Jc_DefInfo> items = PointDefineRequest.PointDefinesInfo; List <Jc_DefInfo> Jc_DefCaches = new List <Jc_DefInfo>(); Jc_DefInfo olditem = null; B_DefCacheGetByConditionRequest bDefCacheRequest = new B_DefCacheGetByConditionRequest(); bDefCacheRequest.predicate = a => a.Activity == "1"; var result = _b_DefCacheService.Get(bDefCacheRequest); Jc_DefCaches = result.Data; foreach (Jc_DefInfo item in items) { olditem = Jc_DefCaches.Find(a => a.Point == item.Point && a.Activity == "1"); //增加重复判断 if (olditem != null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前添加列表中的数据在数据库中已经存在!"; return(Result); } } //向网关同步数据 List <Jc_DefInfo> SendItemList = items; var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } TransactionsManager.BeginTransaction(() => { foreach (Jc_DefInfo item in items) { //保存数据库 var _jc_Def = ObjectConverter.Copy <Jc_DefInfo, B_DefModel>(item); var resultjc_Def = _repository.AddDef(_jc_Def); //置下发初始化标记 PointInitializes(item, olditem); } //添加到缓存 B_DefCacheBatchInsertRequest batchInsertbDefCacheRequest = new B_DefCacheBatchInsertRequest(); batchInsertbDefCacheRequest.B_DefInfos = items; _b_DefCacheService.BatchInsert(batchInsertbDefCacheRequest); }); return(Result); }
private void LoadPointInfo(Jc_DefInfo temp) { if (temp.Bz6 == "1") { IsEnableRevised.Checked = true; } else { IsEnableRevised.Checked = false; } RevisedValue.Text = temp.Bz7; }
public BasicResponse <DataTable> GetDyxFz() { DataTable msg = new DataTable(); List <string> keys = null; Jc_DefInfo def = null; msg.Columns.Add("fzh", typeof(int)); msg.Columns.Add("fd", typeof(int)); msg.TableName = "fz"; try { //List<Jc_DefInfo> _JC_DEF = _CacheMrg.ServerCache.Cache_jc_def.QueryAllCacheList(); var res = _pointDefineService.GetAllPointDefineCache(); if (!res.IsSuccess) { throw new Exception(res.Message); } List <Jc_DefInfo> _JC_DEF = res.Data; if (_JC_DEF.Count > 0) { //keys = new List<string>(_CacheMrg.ServerCache.Cache_jc_def._JC_DEF.Keys); for (int i = 0; i < _JC_DEF.Count; i++) { def = _JC_DEF[i]; if (def.Activity == "1" && def.DevPropertyID == 0) { if ((def.Bz3 & 0x8) == 0x8) { msg.Rows.Add(def.Fzh, 0); } } } } if (msg.Rows.Count > 0) { DataView ds = new DataView(msg); ds.Sort = "fzh"; msg = ds.ToTable("ff"); } } catch (Exception ex) { LogHelper.Error("获取所有绑定电源箱分站", ex); } var ret = new BasicResponse <DataTable> { Data = msg }; return(ret); }
/// <summary> /// 根据PointId获取测点 /// </summary> /// <param name="PointId"></param> /// <returns></returns> public static Jc_DefInfo GetAllSystemPointDefineItemByPointId(string PointId) { Jc_DefInfo item = new Jc_DefInfo(); PointDefineGetByPointIDRequest PointDefineRequest = new PointDefineGetByPointIDRequest(); PointDefineRequest.PointID = PointId; var result = allSystemPointDefineService.GetPointDefineCacheByPointID(PointDefineRequest); if (result.IsSuccess && result.Data != null && result.Data.Count > 0) { item = result.Data[0]; } return(item); }
private void LoadPointInfo(Jc_DefInfo temp) { #region ==================扩展属性================== if (temp.K1 > 0 && temp.K2 > 0) { Jc_DefInfo FeedBackePoint = Model.DEFServiceModel.QueryPointByCodeCache(temp.K1.ToString().PadLeft(3, '0') + "D" + temp.K2.ToString().PadLeft(2, '0') + temp.K4.ToString()); if (null != FeedBackePoint) { CCmbFeedBackPoint.SelectedItem = FeedBackePoint.Point + "." + FeedBackePoint.Wz; } } CtxbDesc.Text = temp.Remark;//描述 #endregion #region ==================报警================== if ((temp.K8 & 0x01) == 1) //0态度是否报警 { CckZeroAlarm.Checked = true; } else { CckZeroAlarm.Checked = false; } if ((temp.K8 & 0x02) == 2) //1态度是否报警 { CckOneAlarm.Checked = true; } else { CckOneAlarm.Checked = false; } //颜色显示 try { this.CpZeroColour.Color = Color.FromArgb(int.Parse(temp.Bz9.ToString())); this.CpOneColour.Color = Color.FromArgb(int.Parse(temp.Bz10.ToString())); } catch { } //显示内容 this.CcmbZeroContent.Text = temp.Bz6; this.CcmbOneContent.Text = temp.Bz7; #endregion }
private void PointInitializes(Jc_DefInfo item, Jc_DefInfo olditem) { //置是否需要下发初始化标记 //if (item.InfoState == InfoState.AddNew || item.Activity == "0") //{ // item.DefIsInit = true;//新增加测点,都发初始化 //} if ((item.Bz4 & 0x02) == 0x02)//如果是休眠状态,则暂时置为上一次的状态,待保存巡检的时候再置成休眠(数据处理是直接根据Bz4进行处理的,不然保存了定义就会开始处理了) 20170705 { if (olditem != null) { item.Bz4 = olditem.Bz4; } } }
private void gridViewModel_MasterRowExpanding(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowCanExpandEventArgs e) { List <JC_LargedataAnalysisConfigInfo> dataList = gridControlModel.DataSource as List <JC_LargedataAnalysisConfigInfo>; if (dataList == null || dataList.Count == 0) { return; } int rowHandle = gridViewModel.FocusedRowHandle; string daID = gridViewModel.GetRowCellValue(rowHandle, "Id").ToString(); //是ookUpEdit.Properties.ValueMember的值 //1.根据模型ID查询模型区域断电配置信息 List <JC_RegionOutageConfigInfo> regionOutageConfigInfoList = regionOutageBusiness.GetRegionOutage(daID); List <Jc_DefInfo> LevelTrueDescription = new List <Jc_DefInfo>(); List <Jc_DefInfo> LevelFalseDescription = new List <Jc_DefInfo>(); if (regionOutageConfigInfoList != null && regionOutageConfigInfoList.Count > 0) { foreach (var item in regionOutageConfigInfoList) { //2.根据测点ID查询测点信息 Jc_DefInfo jc_DefInfo = new Jc_DefInfo(); jc_DefInfo = PointDefineBusiness.QueryPointByPointID(item.PointId); if (item.ControlStatus == 1) { LevelTrueDescription.Add(jc_DefInfo); } else { LevelFalseDescription.Add(jc_DefInfo); } } } //3.初始化测点数据 foreach (var item in dataList) { if (item.Id == daID) { item.LevelTrueDescription = LevelTrueDescription; item.LevelFalseDescription = LevelFalseDescription; } } gridControlModel.DataSource = dataList; }
private void lookUpEditAnalysisTemplate_EditValueChanged(object sender, EventArgs e) { try { if (this.lookUpEditAnalysisTemplate.EditValue == null) { return; } string daID = this.lookUpEditAnalysisTemplate.EditValue.ToString(); //是ookUpEdit.Properties.ValueMember的值 if (gridLookUpEdit.EditValue == null) { return; } if (daID.ToLower() == gridLookUpEdit.EditValue.ToString().ToLower()) { XtraMessageBox.Show("解除模型不能选择当前分析模型.\n要解除当前分析模型的控制请勾选【不满足条件时是否解除控制】", "提示消息", MessageBoxButtons.OK, MessageBoxIcon.Information); lookUpEditAnalysisTemplate.EditValue = lookUpEditAnalysisTemplate.OldEditValue; return; } List <JC_RegionOutageConfigInfo> JC_RegionOutageConfigInfoList = regionOutageBusiness.GetRegionOutage(daID); List <Jc_DefInfo> pointList = ObjectConverter.DeepCopy(pointDefineList); List <Jc_DefInfo> closeControlList = new List <Jc_DefInfo>(); if (JC_RegionOutageConfigInfoList != null && JC_RegionOutageConfigInfoList.Count > 0) { foreach (var item in JC_RegionOutageConfigInfoList) { if (item.ControlStatus == 0) { continue;//解除控制的跳过,只加载被选模型配置为控制的测点。 } Jc_DefInfo addItem = pointList.FirstOrDefault(p => p.PointID == item.PointId); if (null != addItem) { closeControlList.Add(addItem); } } } //if(closeControlList.Count > 0) lookUpEditPoint.Properties.DataSource = (from p in closeControlList orderby p.Point ascending select new { PointName = p.Point, PointId = p.PointID, Point = p.Point, Wz = p.Wz, DevName = p.DevName }).ToList(); } catch (Exception ex) { LogHelper.Error(string.Format("加载解控测点出错! 错误消息:{0}", ex.StackTrace)); } }
/// <summary> /// 分站电源箱label点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SubstationLabelClick(object sender, EventArgs e) { try { var tv = (Label)sender; var bi = (BatteryItem)tv.Tag; //label2.Text = bi.BatteryAddress; label2.Text = bi.Channel; _lisDef = ControlInterfaceFuction.GetAllSubstation();//重新加载 string selectStationPointId = ""; Jc_DefInfo def = _lisDef.Find(a => a.Fzh == short.Parse(selectFzhNow)); if (def != null) { selectStationPointId = def.PointID; } //查找分站对应的电源箱5分钟统计信息 BatteryPowerConsumption batteryPowerConsumption = new BatteryPowerConsumption(); if (def.BatteryPowerConsumptions != null) { batteryPowerConsumption = def.BatteryPowerConsumptions.Find(a => a.Channel == bi.Channel); } var tempCharge = new CuCharge(bi, batteryPowerConsumption); //CpanelPowerPac.Controls.Clear(); //重写释放控件的方法,直接clear会导致句柄资源一直增加 20180422 while (CpanelPowerPac.Controls.Count > 0) { if (CpanelPowerPac.Controls[0] != null) { CpanelPowerPac.Controls[0].Dispose(); } } CpanelPowerPac.Controls.Add(tempCharge); tempCharge.Dock = DockStyle.Fill; //var node = treeViewSubstation.SelectedNode; //Dictionary<string, object> dic = new Dictionary<string, object>(); //dic.Add("GetBatteryItem", ((Label)sender).Text); //dic.Add("SelNode", node); //_refStationBattery = new Thread(GetBatteryItem); //_refStationBattery.Start(dic); } catch (Exception exc) { XtraMessageBox.Show(exc.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
/// <summary> /// 更新def /// </summary> /// <param name="item"></param> /// <returns></returns> public static bool UpdateDEFCache(Jc_DefInfo item) { PointDefineUpdateRequest PointDefineRequest = new PointDefineUpdateRequest(); PointDefineRequest.PointDefineInfo = item; var result = _PointDefineService.UpdatePointDefine(PointDefineRequest); if (result.IsSuccess == true) { return(true); } else { throw new Exception(result.Message); } }
private void SensorTypeErrorDisplay_Load(object sender, EventArgs e) { try { PointDefineGetByPointRequest PointDefineRequest = new PointDefineGetByPointRequest(); PointDefineRequest.Point = _point; Jc_DefInfo jc_defInfo = pointDefineService.GetPointDefineCacheByPoint(PointDefineRequest).Data; if (jc_defInfo != null) { labelControl1.Text = "实际挂接类型:" + jc_defInfo.RealTypeInfo; labelControl2.Text = "当前定义类型:" + jc_defInfo.DevName; } } catch (Exception ex) { Basic.Framework.Logging.LogHelper.Error(ex); } }
private void cmb_fzadr_SelectedIndexChanged(object sender, EventArgs e) { try { objfz.fzh = int.Parse(cmb_fzadr.Text); objfz.showdtfocusrowid = objfz.showdtfocuscolid = -1; objfz.showdtkzfocuscolid = objfz.showdtkzfocusrowid = -1; Jc_DefInfo def = Model.RealInterfaceFuction.Getpoint(objfz.point); DataTable dt = Model.RealInterfaceFuction.Getfzjckz(objfz.fzh); getmsg(def, dt); realshow(); InitChargeMrg();//xuzp20151015 } catch (Exception ex) { Basic.Framework.Logging.LogHelper.Error(ex); } }
/// <summary> /// 开关量/模拟量实时值 /// </summary> /// <param name="pointId">测点号</param> /// <returns>开关量/模拟量实时值</returns> public FactorValueInfo OnOffRealtimeValue(string pointId) { FactorValueInfo factorValueInfo = new FactorValueInfo(); Jc_DefInfo pointDefine = PointCache.Instance.Query(q => q.PointID == pointId, false).FirstOrDefault(); if (pointDefine != null) { //(DevPropertyID: 1 模拟量 2 开关量) if (pointDefine.DevPropertyID == 1) { //模拟量 switch (pointDefine.State) { //case 5://红外遥控模拟数据时,也按正常处理 20171219 case 21: factorValueInfo.Value = pointDefine.Ssz; break; default: break; } } else if (pointDefine.DevPropertyID == 2) { //开关量 switch (pointDefine.DataState) { case 25: factorValueInfo.Value = "0"; break; case 26: factorValueInfo.Value = "1"; break; case 27: factorValueInfo.Value = "2"; break; default: break; } } } return(factorValueInfo); }
/// <summary> /// 设备类型变化产生的影响 /// </summary> public override void DevTypeChanngeEvent(long DevID, Jc_DefInfo Point) { try { if (Point != null) { LoadPointInfo(Point); } else { IsEnableRevised.Checked = false; RevisedValue.Text = ""; } } catch (Exception ex) { Basic.Framework.Logging.LogHelper.Error(ex); } }
private void UpdatePointDefineCacheByBz4(Jc_DefInfo Point) { Dictionary <string, object> paramater = new Dictionary <string, object>(); //休眠、检修状态标记 paramater.Add("Bz4", Point.Bz4); //定义改变标记 paramater.Add("DefIsInit", Point.DefIsInit); //修改标记 paramater.Add("InfoState", Point.InfoState); UpdatePropertiesRequest defineCacheUpdatePropertiesRequest = new UpdatePropertiesRequest(); defineCacheUpdatePropertiesRequest.PointID = Point.PointID; defineCacheUpdatePropertiesRequest.UpdateItems = paramater; _b_DefCacheService.UpdateInfo(defineCacheUpdatePropertiesRequest); }
/// <summary> /// 加载测点信息的函数 /// </summary> public override void LoadInf(string arrPoint, int _devID) { if (string.IsNullOrEmpty(arrPoint)) { return; } Jc_DefInfo temp = Model.DEFServiceModel.QueryPointByCodeCache(arrPoint); if (null == temp) { return; } Jc_DevInfo tempDev = Model.DEVServiceModel.QueryDevByDevIDCache(temp.Devid); if (null == tempDev) { return; } LoadPointInfo(temp); }
///// <summary> ///// 更新JC_DEF的alarm 2017.7.12 by ///// </summary> //private static void UpdateAlarmParameter(Jc_DefInfo def,int alarm) //{ // try // { // Dictionary<string, object> updateItems = new Dictionary<string, object>(); // updateItems.Add("Alarm", alarm); // IPointDefineCacheService pointDefineCacheService = ServiceFactory.Create<IPointDefineCacheService>(); // DefineCacheUpdatePropertiesRequest defineCacheUpdatePropertiesRequest = new DefineCacheUpdatePropertiesRequest(); // defineCacheUpdatePropertiesRequest.PointID = def.PointID; // defineCacheUpdatePropertiesRequest.UpdateItems = updateItems; // pointDefineCacheService.UpdatePointDefineIfo(defineCacheUpdatePropertiesRequest); // } // catch (Exception ex) // { // LogHelper.Error("UpdateAlarmParameter Error:" + ex.Message); // } //} ///// <summary> ///// 判断开关量逻辑关联测点状态 2017.7.12 by 从取驱动中copy过来 ///// </summary> ///// <param name="pointAlarmState">当前开关量报警状态</param> //private static int CheckDerailLogicRelationState(int pointAlarmState, Jc_DefInfo def) //{ // //逻辑关联处理 与或(1,2)认为此开关量有关联测点 // if (def.K4 == 1 || def.K4 == 2) // { // Jc_DefInfo pointItem; // if (def.Fzh > 0 && def.K5 > 0) // { // IPointDefineCacheService pointDefineCacheService = ServiceFactory.Create<IPointDefineCacheService>(); // PointDefineCacheGetByConditonRequest stationquest = new PointDefineCacheGetByConditonRequest // { // Predicate = point => point.Fzh == def.Fzh && point.Kh == def.K5 && point.DevPropertyID == (int)DeviceProperty.Derail // }; // var relationresponse = pointDefineCacheService.GetPointDefineCache(stationquest); // //如果此开关量有关联测点,则判断关联测点的报警状态 // if (relationresponse != null && relationresponse.IsSuccess && relationresponse.Data != null && relationresponse.Data.Any()) // { // pointItem = relationresponse.Data.FirstOrDefault(); // int relationalarm = 0; // if ((pointItem.DataState == (short)DeviceDataState.DataDerailState0) && ((pointItem.K8 & 0x01) == 0x01) || // (pointItem.DataState == (short)DeviceDataState.DataDerailState1) && ((pointItem.K8 & 0x02) == 0x02) || // (pointItem.DataState == (short)DeviceDataState.DataDerailState1) && ((pointItem.K8 & 0x04) == 0x04)) // relationalarm = 1; // //当前开关量与关联开关量与或运算,判断当前开关量是否报警 // if (def.K4 == 2) // { // pointAlarmState |= relationalarm; // } // else if (def.K4 == 1) // { // pointAlarmState &= relationalarm; // } // } // } // } // return pointAlarmState; //} /// <summary> /// 对比2个控制量的信息是否相同 是否需要重新下发初始化 /// </summary> /// <param name="newobj">新对象</param> /// <param name="oldobj">旧对象</param> /// <returns></returns> private static bool CompareMoniterKZL(Jc_DefInfo newitem, Jc_DefInfo olditem, out bool dormancyflag) { bool flg = olditem.DefIsInit; dormancyflag = olditem.Dormancyflag; if ((newitem.Bz4 & 0x02) == 0x02) { dormancyflag = true; } if (newitem.K2 != olditem.K2 || newitem.K1 != olditem.K1 || newitem.K4 != olditem.K4)//绑定的馈电开关 { flg = true; } if (newitem.DevModelID != olditem.DevModelID)//设备型号改变,要发初始化 20171031 { flg = true; } if (newitem.DevClassID != olditem.DevClassID)//设备种类改变,要发初始化 20171031 { flg = true; } return(flg); }
/// <summary> /// 保存测点信息的函数 /// </summary> public override bool ConfirmInf(Jc_DefInfo point) { if (!SensorInfoverify()) { return(false); } if (point == null) { return(false); } //识别器类型 point.Bz1 = comboPersonPointType.SelectedIndex + 1; //报警时间、离开时间(存成分钟) point.K4 = int.Parse(AlarmTime.Text.Substring(0, 2)) * 60 + int.Parse(AlarmTime.Text.Substring(3, 2)); point.K5 = int.Parse(LeaveTime.Text.Substring(0, 2)) * 60 + int.Parse(LeaveTime.Text.Substring(3, 2)); //限制进入、禁止进入人员 point.RestrictedpersonInfoList = restrictedpersonInfoList; //超员报警人数(额定人数) point.K3 = (int)RatedPersonCount.Value; return(true); }
/// <summary> /// 从内存中获取当前测点的分析基数(周平均值) /// </summary> /// <param name="def"></param> /// <returns></returns> private double GetBasicValueByDef(Jc_DefInfo def) { double basicValue = 0; if (BasisValueItems.ContainsKey(def.Point)) { basicValue = BasisValueItems[def.Point]; } else { Jc_HourInfo hourInfo = GetHourInfoByPointID(def.PointID); if (hourInfo == null) { basicValue = 0; } else { basicValue = hourInfo.Pjz; } BasisValueItems.Add(def.Point, basicValue); } return(basicValue); }
//private void timer1_Tick(object sender, EventArgs e) //{ // timer1.Enabled = false; // try // { // getmsg(); // realshow(); // } // catch (Exception ex) // { // Basic.Framework.Logging.LogHelper.Error(ex); // } // timer1.Enabled = true; //} private void fthread() { while (_isRun) { try { Jc_DefInfo def = Model.RealInterfaceFuction.Getpoint(objfz.point); DataTable dt = Model.RealInterfaceFuction.Getfzjckz(objfz.fzh); MethodInvoker In = new MethodInvoker(() => getmsg(def, dt)); if (this.InvokeRequired) { this.BeginInvoke(In); } //MethodInvoker In1 = new MethodInvoker(() => realshow()); //this.BeginInvoke(In1); } catch (Exception ex) { Basic.Framework.Logging.LogHelper.Error(ex); } Thread.Sleep(5000); } }
/// <summary> /// 保存测点信息的函数 /// </summary> public override bool ConfirmInf(Jc_DefInfo point) { EditPoint = point; if (!SensorInfoverify()) { return(false); } Jc_DevInfo temp = new Jc_DevInfo(); point.Bz9 = CpZeroColour.Color.ToArgb().ToString(); //0态显示颜色 point.Bz10 = CpOneColour.Color.ToArgb().ToString(); //1态度显示颜色 point.K8 = Convert.ToByte(CckZeroAlarm.Checked ? 1 : 0); //0态是否报警 point.K8 |= Convert.ToByte((CckOneAlarm.Checked ? 1 : 0) << 1); //1态是否报警 point.Bz6 = CcmbZeroContent.Text; //0态显示内容 point.Bz7 = CcmbOneContent.Text; //1态显示内容 if (!string.IsNullOrEmpty(CCmbFeedBackPoint.Text.Trim())) { point.K1 = Convert.ToInt32(CCmbFeedBackPoint.Text.Substring(0, 3)); //馈电分站号 point.K2 = Convert.ToInt32(CCmbFeedBackPoint.Text.Substring(4, 2)); //馈电通道号 if (CCmbFeedBackPoint.Text.Substring(0, CCmbFeedBackPoint.Text.IndexOf(".")).Length > 6) { point.K4 = Convert.ToInt32(CCmbFeedBackPoint.Text.Substring(0, CCmbFeedBackPoint.Text.IndexOf(".")).Substring(6)); //馈电地址号 } } else { point.K1 = 0; point.K2 = 0; point.K4 = 0; } point.Remark = CtxbDesc.Text; return(true); }
/// <summary> /// 对比分站是否需要下发初始化 /// </summary> /// <param name="newitem"></param> /// <param name="olditem"></param> /// <returns></returns> private static bool CompareMonitorStation(Jc_DefInfo newitem, Jc_DefInfo olditem, out bool dormancyflag) { bool flg = olditem.DefIsInit; dormancyflag = olditem.Dormancyflag; if ((newitem.Bz4 & 0x02) == 0x02) { dormancyflag = true; } if (newitem.ClsCommObj.Cfzfy != olditem.ClsCommObj.Cfzfy || newitem.ClsCommObj.Bddqy != olditem.ClsCommObj.Bddqy) //抽放(暂时没地方配置) { flg = true; } if (newitem.Bz3 != olditem.Bz3)//风电闭锁 { flg = true; } if (newitem.Bz10 != olditem.Bz10)//风电闭锁 { flg = true; } //增加以下属性的判断 20170609 if (newitem.Jckz1 != olditem.Jckz1)//Mac { flg = true; } if (newitem.Jckz2 != olditem.Jckz2)//IP { flg = true; } return(flg); }
private void LoadPointInfo(Jc_DefInfo Point) { #region ==================扩展属性================== if (Point.K4 > 0) { CcmbLogicAlarmCon.SelectedIndex = Point.K4;//报警逻辑 } if (Point.K5 > 0) { Jc_DefInfo LogicPoint = Model.DEFServiceModel.QueryPointByCodeCache(Point.Fzh.ToString().PadLeft(3, '0') + "D" + Point.K5.ToString().PadLeft(2, '0') + Point.K6.ToString()); if (null != LogicPoint) { CcmbLogicAlarmPoint.SelectedItem = LogicPoint.Point + "." + LogicPoint.Wz; } } CtxbDesc.Text = Point.Remark;//描述 #endregion ////各态控制口 //cckLocalControlZero.Text = SetLocalControlText(Point.K1); //cckLocalControlOne.Text = SetLocalControlText(Point.K2); //cckLocalControlTwo.Text = SetLocalControlText(Point.K3); #region ==================报警控制================== Jc_DevInfo tempDev = Model.DEVServiceModel.QueryDevByDevIDCache(Point.Devid); if ((Point.K8 & 0x01) == 1) //0态度是否报警 { CckZeroAlarm.Checked = true; } else { CckZeroAlarm.Checked = false; } if ((Point.K8 & 0x02) == 2) //1态度是否报警 { CckOneAlarm.Checked = true; } else { CckOneAlarm.Checked = false; } if ((Point.K8 & 0x04) == 4) //2态度是否报警 { CckTwoAlarm.Checked = true; } else { CckTwoAlarm.Checked = false; } //颜色显示 try { this.CpZeroColour.Color = Color.FromArgb(int.Parse(Point.Bz9.ToString())); this.CpOneColour.Color = Color.FromArgb(int.Parse(Point.Bz10.ToString())); this.CpTwoColour.Color = Color.FromArgb(int.Parse(Point.Bz11.ToString())); } catch { } //显示内容 this.CcmbZeroContent.Text = Point.Bz6; this.CcmbOneContent.Text = Point.Bz7; this.CcmbTwoContent.Text = Point.Bz8; //各态控制口 cckLocalControlZero.Text = SetLocalControlText(Point.K1); cckLocalControlOne.Text = SetLocalControlText(Point.K2); cckLocalControlTwo.Text = SetLocalControlText(Point.K3); #endregion #region ==================交叉控制================== getCrossInf(Point.Point); CrossControlDT = ToDataTable(CrossControlList); CdgControl.DataSource = CrossControlDT; CdgControl.RefreshDataSource(); #endregion }
/// <summary> /// 设备类型变化产生的影响 /// </summary> public override void DevTypeChanngeEvent(long DevID, Jc_DefInfo Point) { try { if (Point != null) { CcmbLogicAlarmCon.Text = ""; CcmbLogicAlarmPoint.Text = ""; LoadPointInfo(Point); } else {//取jc_dev的定义信息 CcmbLogicAlarmCon.Text = ""; CcmbLogicAlarmPoint.Text = ""; CtxbDesc.Text = ""; //各态控制口 cckLocalControlZero.Text = ""; cckLocalControlOne.Text = ""; cckLocalControlTwo.Text = ""; #region ==================交叉控制================== CrossControlList.Clear(); CrossControlDT = ToDataTable(CrossControlList); CdgControl.DataSource = CrossControlDT; CdgControl.RefreshDataSource(); #endregion Jc_DevInfo temp = Model.DEVServiceModel.QueryDevByDevIDCache(DevID.ToString()); if (null == temp) { return; } #region ==================报警属性================== if (temp.Pl1 == 1) { CckZeroAlarm.Checked = true; } else { CckZeroAlarm.Checked = false; } if (temp.Pl2 == 1) { CckOneAlarm.Checked = true; } else { CckOneAlarm.Checked = false; } if (temp.Pl3 == 1) { CckTwoAlarm.Checked = true; } else { CckTwoAlarm.Checked = false; } //显示内容 this.CcmbZeroContent.Text = temp.Xs1; this.CcmbOneContent.Text = temp.Xs2; this.CcmbTwoContent.Text = temp.Xs3; //颜色显示 this.CpZeroColour.Color = Color.FromArgb(temp.Color1); this.CpOneColour.Color = Color.FromArgb(temp.Color2); this.CpTwoColour.Color = Color.FromArgb(temp.Color3); #endregion } } catch (Exception ex) { Basic.Framework.Logging.LogHelper.Error(ex); } }
/// <summary> /// 保存测点信息的函数 /// </summary> public override bool ConfirmInf(Jc_DefInfo point) { if (!SensorInfoverify()) { return(false); } Jc_DevInfo temp = new Jc_DevInfo(); point.Bz9 = CpZeroColour.Color.ToArgb().ToString(); //0态显示颜色 point.Bz10 = CpOneColour.Color.ToArgb().ToString(); //1态度显示颜色 point.Bz11 = CpTwoColour.Color.ToArgb().ToString(); //2态显示颜色 point.K8 = Convert.ToByte(CckZeroAlarm.Checked ? 1 : 0); //0态是否报警 point.K8 |= Convert.ToByte((CckOneAlarm.Checked ? 1 : 0) << 1); //1态是否报警 point.K8 |= Convert.ToByte((CckTwoAlarm.Checked ? 1 : 0) << 2); //2态度是否报警 point.Bz6 = CcmbZeroContent.Text; //0态显示内容 point.Bz7 = CcmbOneContent.Text; //1态显示内容 point.Bz8 = CcmbTwoContent.Text; //2态显示内容 point.K1 = ConfirmCheckBoxValue(cckLocalControlZero.Text); //0态控制信息 point.K2 = ConfirmCheckBoxValue(cckLocalControlOne.Text); //1态控制信息 point.K3 = ConfirmCheckBoxValue(cckLocalControlTwo.Text); //2态控制信息 //先赋默认值,如果未设置,则表示清除 20170629 point.K4 = 0; point.K5 = 0; point.K6 = 0; if (!string.IsNullOrEmpty(CcmbLogicAlarmCon.Text.Trim())) { point.K4 = Convert.ToByte(CcmbLogicAlarmCon.SelectedIndex); point.K5 = Convert.ToByte(CcmbLogicAlarmPoint.Text.Substring(0, CcmbLogicAlarmPoint.Text.IndexOf('.')).Substring(4, 2)); if (CcmbLogicAlarmPoint.Text.Substring(0, CcmbLogicAlarmPoint.Text.IndexOf('.')).Length > 6) { point.K6 = Convert.ToByte(CcmbLogicAlarmPoint.Text.Substring(0, CcmbLogicAlarmPoint.Text.IndexOf('.')).Substring(6)); } } #region ====================交叉控制==================== point.Jckz1 = ""; point.Jckz2 = ""; point.Jckz3 = ""; List <CrossControlItem> listTemp = new List <CrossControlItem>(); listTemp = ToList(CrossControlDT); //将数据源DT转换成List if (listTemp != null) { if (listTemp.Count > 0) { Jc_DefInfo PointTemp; for (int i = 0; i < listTemp.Count; i++) { if (!string.IsNullOrEmpty(listTemp[i].ArrPoint)) { PointTemp = Model.DEFServiceModel.QueryPointByCodeCache(listTemp[i].ArrPoint); if (!string.IsNullOrEmpty(PointTemp.Point)) { if (listTemp[i].ControlType == "0态控制") { point.Jckz1 += PointTemp.Fzh.ToString().PadLeft(3, '0') + "C" + PointTemp.Kh.ToString().PadLeft(2, '0') + PointTemp.Dzh.ToString() + "|"; } else if (listTemp[i].ControlType == "1态控制") { point.Jckz2 += PointTemp.Fzh.ToString().PadLeft(3, '0') + "C" + PointTemp.Kh.ToString().PadLeft(2, '0') + PointTemp.Dzh.ToString() + "|"; } else if (listTemp[i].ControlType == "2态控制") { point.Jckz3 += PointTemp.Fzh.ToString().PadLeft(3, '0') + "C" + PointTemp.Kh.ToString().PadLeft(2, '0') + PointTemp.Dzh.ToString() + "|"; } else { XtraMessageBox.Show("交叉控制中存在控制类型未选择的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } } } else { XtraMessageBox.Show("交叉控制中存在受控对象未选择的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } } //处理完成后去掉最后一根“|” if (point.Jckz1 != null) { if (point.Jckz1.Length > 0) { point.Jckz1 = point.Jckz1.Substring(0, point.Jckz1.Length - 1); } } if (point.Jckz2 != null) { if (point.Jckz2.Length > 0) { point.Jckz2 = point.Jckz2.Substring(0, point.Jckz2.Length - 1); } } if (point.Jckz3 != null) { if (point.Jckz3.Length > 0) { point.Jckz3 = point.Jckz3.Substring(0, point.Jckz3.Length - 1); } } } } #endregion point.Remark = CtxbDesc.Text; return(true); }
/// <summary> /// 设置交叉控制信息 /// </summary> /// <param name="arrPoint"></param> /// <returns></returns> private void getCrossInf(string arrPoint) { try { Jc_DefInfo temp = Model.DEFServiceModel.QueryPointByCodeCache(arrPoint); if (temp == null) { return; } CrossControlList.Clear(); string[] ControlPoints; Jc_DefInfo tempPoint; CrossControlItem tempCrossItem; if (!string.IsNullOrEmpty(temp.Jckz1)) { ControlPoints = temp.Jckz1.Split('|'); if (ControlPoints.Length > 0) { for (int i = 0; i < ControlPoints.Length; i++) { tempCrossItem = new CrossControlItem(); tempPoint = Model.DEFServiceModel.QueryPointByCodeCache(ControlPoints[i]); if (null != tempPoint) { tempCrossItem.ControlType = "0态控制"; tempCrossItem.ArrPoint = tempPoint.Point; tempCrossItem.PointName = tempPoint.Point + ":" + tempPoint.Wz; if (tempPoint.K1 > 0 & tempPoint.K2 > 0) { tempCrossItem.FeedBackPointName = tempPoint.K1.ToString().PadLeft(3, '0') + "D" + tempPoint.K2.ToString().PadLeft(2, '0') + tempPoint.K4.ToString() + "." + Model.DEFServiceModel.QueryPointByCodeCache(tempPoint.K1.ToString().PadLeft(3, '0') + "D" + tempPoint.K2.ToString().PadLeft(2, '0') + tempPoint.K4.ToString()).Wz; } CrossControlList.Add(tempCrossItem); } } } } if (!string.IsNullOrEmpty(temp.Jckz2)) { ControlPoints = temp.Jckz2.Split('|'); if (ControlPoints.Length > 0) { for (int i = 0; i < ControlPoints.Length; i++) { tempCrossItem = new CrossControlItem(); tempPoint = Model.DEFServiceModel.QueryPointByCodeCache(ControlPoints[i]); if (null != tempPoint) { tempCrossItem.ControlType = "1态控制"; tempCrossItem.ArrPoint = tempPoint.Point; tempCrossItem.PointName = tempPoint.Point + ":" + tempPoint.Wz; if (tempPoint.K1 > 0 & tempPoint.K2 > 0) { tempCrossItem.FeedBackPointName = tempPoint.K1.ToString().PadLeft(3, '0') + "D" + tempPoint.K2.ToString().PadLeft(2, '0') + tempPoint.K4.ToString() + "." + Model.DEFServiceModel.QueryPointByCodeCache(tempPoint.K1.ToString().PadLeft(3, '0') + "D" + tempPoint.K2.ToString().PadLeft(2, '0') + tempPoint.K4.ToString()).Wz; } CrossControlList.Add(tempCrossItem); } } } } if (!string.IsNullOrEmpty(temp.Jckz3)) { ControlPoints = temp.Jckz3.Split('|'); if (ControlPoints.Length > 0) { for (int i = 0; i < ControlPoints.Length; i++) { tempCrossItem = new CrossControlItem(); tempPoint = Model.DEFServiceModel.QueryPointByCodeCache(ControlPoints[i]); if (null != tempPoint) { tempCrossItem.ControlType = "2态控制"; tempCrossItem.ArrPoint = tempPoint.Point; tempCrossItem.PointName = tempPoint.Point + ":" + tempPoint.Wz; if (tempPoint.K1 > 0 & tempPoint.K2 > 0) { tempCrossItem.FeedBackPointName = tempPoint.K1.ToString().PadLeft(3, '0') + "D" + tempPoint.K2.ToString().PadLeft(2, '0') + tempPoint.K4.ToString() + "." + Model.DEFServiceModel.QueryPointByCodeCache(tempPoint.K1.ToString().PadLeft(3, '0') + "D" + tempPoint.K2.ToString().PadLeft(2, '0') + tempPoint.K4.ToString()).Wz; } CrossControlList.Add(tempCrossItem); } } } } } catch (Exception ex) { LogHelper.Error("获得交叉控制信息【getCrossInf】", ex); } }
/// <summary> /// 加载测点信息的函数 /// </summary> public override void LoadInf(string arrPoint, int _devID) { if (string.IsNullOrEmpty(arrPoint)) { return; } Jc_DefInfo temp = Model.DEFServiceModel.QueryPointByCodeCache(arrPoint); if (null == temp) { return; } LoadPointInfo(temp); //#region ==================扩展属性================== //if (temp.K4 > 0) //{ // CcmbLogicAlarmCon.SelectedIndex = temp.K4;//报警逻辑 //} //if (temp.K5 > 0) //{ // Jc_DefInfo LogicPoint = Model.DEFServiceModel.QueryPointByCodeCache(temp.Fzh.ToString().PadLeft(3, '0') + "D" + temp.K5.ToString().PadLeft(2, '0') + temp.K6.ToString()); // if (null != LogicPoint) // { // CcmbLogicAlarmPoint.SelectedItem = LogicPoint.Point + "." + LogicPoint.Wz; // } //} //CtxbDesc.Text = temp.Remark;//描述 //#endregion //#region ==================报警控制================== //Jc_DevInfo tempDev = Model.DEVServiceModel.QueryDevByDevIDCache(temp.Devid); //if ((temp.K8 & 0x01) == 1) //0态度是否报警 //{ // CckZeroAlarm.Checked = true; //} //else //{ // CckZeroAlarm.Checked = false; //} //if ((temp.K8 & 0x02) == 2) //1态度是否报警 //{ // CckOneAlarm.Checked = true; //} //else //{ // CckOneAlarm.Checked = false; //} //if ((temp.K8 & 0x04) == 4) //2态度是否报警 //{ // CckTwoAlarm.Checked = true; //} //else //{ // CckTwoAlarm.Checked = false; //} ////颜色显示 //try //{ // this.CpZeroColour.Color = Color.FromArgb(int.Parse(temp.Bz9.ToString())); // this.CpOneColour.Color = Color.FromArgb(int.Parse(temp.Bz10.ToString())); // this.CpTwoColour.Color = Color.FromArgb(int.Parse(temp.Bz11.ToString())); //} //catch //{ } ////显示内容 //this.CcmbZeroContent.Text = temp.Bz6; //this.CcmbOneContent.Text = temp.Bz7; //this.CcmbTwoContent.Text = temp.Bz8; ////各态控制口 //cckLocalControlZero.Text = SetLocalControlText(temp.K1); //cckLocalControlOne.Text = SetLocalControlText(temp.K2); //cckLocalControlTwo.Text = SetLocalControlText(temp.K3); //#endregion //#region ==================交叉控制================== //getCrossInf(arrPoint); //CrossControlDT = ToDataTable(CrossControlList); //CdgControl.DataSource = CrossControlDT; //CdgControl.RefreshDataSource(); //#endregion }
/// <summary> /// 同步老广播系统测点定义 /// </summary> /// <returns></returns> public BasicResponse <bool> SynchronousPoint(SynchronousPointRequest PointDefineRequest) { BasicResponse <bool> response = new BasicResponse <bool>(); try { bool isupdate = false; if (PointDefineRequest.Points != null) { var points = _b_DefCacheService.Get(new B_DefCacheGetByConditionRequest { predicate = b => b.Sysid == (int)SystemEnum.Broadcast }).Data; bool isupdatedb = false;//是否更新数据库,如果只有状态发生改变,则只更新缓存数据;反之需要更新数据库 foreach (DataRow row in PointDefineRequest.Points.Rows) { var point = row["AddNum"].ToString(); //如果存在则比较更新测点信息;如果不存在则插入测点信息 if (points.FirstOrDefault(p => p.Point == point) != null) { Dictionary <string, object> paramater = new Dictionary <string, object>(); var definfo = points.FirstOrDefault(p => p.Point == point); //比较位置是否一致 if (definfo.Wz != row["Wz"].ToString()) { isupdatedb = true; definfo.Wzid = GetPositionId(row["Wz"].ToString()); definfo.Wz = row["Wz"].ToString(); paramater.Add("Wzid", GetPositionId(row["Wz"].ToString())); paramater.Add("Wz", row["Wz"].ToString()); } //比较区域是否一致 // 20180606 //var zoneId = row["ZoneId"]; if (row.Table.Columns.Contains("ZoneId") && row["ZoneId"] != null && row["ZoneId"].ToString() != "") { var req = new AreaCacheGetByConditionRequest(); req.Predicate = a => a.Areaid == definfo.Areaid; var res = _areaCacheService.GetAreaCache(req); var areaInfo = res.Data[0]; if (areaInfo.Areaname != row["Groupname"].ToString() || areaInfo.Areadescribe != row["ZoneId"].ToString()) { isupdatedb = true; definfo.Areaid = GetAreaId(row["Groupname"].ToString(), row["ZoneId"].ToString()); definfo.AreaName = row["Groupname"].ToString(); paramater.Add("Areaid", GetAreaId(row["Groupname"].ToString(), row["ZoneId"].ToString())); paramater.Add("AreaName", row["Groupname"].ToString()); paramater.Add("Areadescribe", row["ZoneId"].ToString()); } } else { if (definfo.AreaName != row["Groupname"].ToString()) { isupdatedb = true; definfo.Areaid = GetAreaId(row["Groupname"].ToString()); definfo.AreaName = row["Groupname"].ToString(); paramater.Add("Areaid", GetAreaId(row["Groupname"].ToString())); paramater.Add("AreaName", row["Groupname"].ToString()); } } //数据状态与设备状态不做比较,直接更新 var state = row["State"].ToString(); if (state == "0") { definfo.DataState = 3; definfo.State = 3; paramater.Add("DataState", 3); paramater.Add("State", 3); paramater.Add("Ssz", EnumHelper.GetEnumDescription(DeviceDataState.EquipmentAC)); } else if (state == "1") { definfo.DataState = 49; definfo.State = 3; paramater.Add("DataState", 49); paramater.Add("State", 3); paramater.Add("Ssz", EnumHelper.GetEnumDescription(DeviceDataState.BroadCastInCall)); } else if (state == "2") { definfo.DataState = 0; definfo.State = 0; paramater.Add("DataState", 0); paramater.Add("State", 0); paramater.Add("Ssz", EnumHelper.GetEnumDescription(DeviceDataState.EquipmentInterrupted)); } //比较Mac是否一致 if (definfo.Jckz1 != row["Mac"].ToString()) { isupdatedb = true; definfo.Jckz1 = row["Mac"].ToString(); paramater.Add("Jckz1", row["Mac"].ToString()); } //比较IP是否一致 if (definfo.Jckz2 != row["IP"].ToString()) { isupdatedb = true; definfo.Jckz2 = row["IP"].ToString(); paramater.Add("Jckz2", row["IP"].ToString()); } //比较设备类型是否一致 if (definfo.Bz6 != row["Type"].ToString()) { isupdatedb = true; definfo.Bz6 = row["Type"].ToString(); paramater.Add("Bz6", row["Type"].ToString()); } //更新数据库 if (isupdatedb) { isupdate = true; var _jc_Def = ObjectConverter.Copy <Jc_DefInfo, B_DefModel>(definfo); _repository.UpdateDef(_jc_Def); } //更新数据更新时间,每次调用都更新时间 20180422 paramater.Add("DttStateTime", DateTime.Now); //更新缓存 if (paramater.Count > 0) { UpdatePropertiesRequest updaterequest = new UpdatePropertiesRequest(); updaterequest.PointID = definfo.PointID; updaterequest.UpdateItems = paramater; _b_DefCacheService.UpdateInfo(updaterequest); } } else { var bdev = _devCacheService.GetPointDefineCache(new DeviceDefineCacheGetByConditonRequest { Predicate = dev => dev.Name == "广播主机" }).Data.FirstOrDefault(); if (bdev != null) { Jc_DefInfo bdefinfo = new Jc_DefInfo(); bdefinfo.ID = bdefinfo.PointID = IdHelper.CreateLongId().ToString(); bdefinfo.Wzid = GetPositionId(row["Wz"].ToString()); bdefinfo.Wz = row["Wz"].ToString(); // 20180606 //var zoneId = row["ZoneId"]; if (row.Table.Columns.Contains("ZoneId") && row["ZoneId"] != null && row["ZoneId"].ToString() != "") { bdefinfo.Areaid = GetAreaId(row["Groupname"].ToString(), row["ZoneId"].ToString()); bdefinfo.AreaName = row["Groupname"].ToString(); } else { bdefinfo.Areaid = GetAreaId(row["Groupname"].ToString()); bdefinfo.AreaName = row["Groupname"].ToString(); } bdefinfo.Point = point; bdefinfo.Upflag = "1";//子系统同步测点 bdefinfo.Jckz1 = row["Mac"].ToString(); bdefinfo.Jckz2 = row["IP"].ToString(); bdefinfo.Bz6 = row["Type"].ToString(); bdefinfo.CreateUpdateTime = DateTime.Now; bdefinfo.DeleteTime = DateTime.Parse("1900-01-01 00:00:00"); bdefinfo.Activity = "1"; bdefinfo.InfoState = InfoState.AddNew; bdefinfo.DevPropertyID = 0; bdefinfo.DevProperty = bdev.DevProperty; bdefinfo.Devid = bdev.Devid; bdefinfo.DevName = bdev.Name; bdefinfo.Sysid = (int)SystemEnum.Broadcast; bdefinfo.DttStateTime = DateTime.Now; var bdefinfos = _b_DefCacheService.Get(new B_DefCacheGetByConditionRequest { predicate = b => b.Sysid == (int)SystemEnum.Broadcast }).Data; //if (bdefinfos.Count == 0) //{ // bdefinfo.Fzh = 256; //} //else //{ // int maxstationnum = bdefinfos.Max(o => o.Fzh); // bdefinfo.Fzh = (short)(maxstationnum + 1); //} // 20180605 //生成分站号 var req = new B_DefCacheGetAllRequest(); var res = _b_DefCacheService.GetAll(req); var broadcastPoints = res.Data; short fzh = 0; for (int i = 257; i < 513; i++) { var exist = broadcastPoints.Any(a => a.Fzh == i); if (!exist) { fzh = (short)i; break; } } //var fzh = Convert.ToInt32(point) + 256; if (fzh == 0) { var ret = new BasicResponse <bool>(); ret.Code = 101; ret.Data = false; ret.Message = "广播设备对应分站号已满。"; return(ret); } bdefinfo.Fzh = fzh; isupdate = true; //添加数据库 var _jc_Def = ObjectConverter.Copy <Jc_DefInfo, B_DefModel>(bdefinfo); var resultjc_Def = _repository.AddDef(_jc_Def); //更新缓存 B_DefCacheInsertRequest addbDefCacheRequest = new B_DefCacheInsertRequest(); addbDefCacheRequest.B_DefInfo = bdefinfo; _b_DefCacheService.Insert(addbDefCacheRequest); } } } //判断同步数据是否有删除的测点信息,如果有则同步删除 for (int i = points.Count - 1; i >= 0; i--) { var pointrow = PointDefineRequest.Points.Select("AddNum = '" + points[i].Point + "'"); if (pointrow.Length == 0) { isupdate = true; //删除数据库 _repository.Delete(points[i].ID); //删除缓存 _b_DefCacheService.Delete(new B_DefCacheDeleteRequest { B_DefInfo = points[i] }); } } } if (isupdate) { var saveTime = DateTime.Now; //保存定义更新时间 if (Basic.Framework.Data.PlatRuntime.Items.ContainsKey("_DefUpdateTime")) { Basic.Framework.Data.PlatRuntime.Items["_DefUpdateTime"] = saveTime; } else { Basic.Framework.Data.PlatRuntime.Items.Add("_DefUpdateTime", saveTime); } //保存数据库 ConfigInfo tempConfig = new ConfigInfo(); tempConfig.Name = "defdatetime"; tempConfig.Text = saveTime.ToString("yyyy-MM-dd HH:mm:ss"); tempConfig.Upflag = "0"; ConfigCacheGetByKeyRequest configCacheRequest = new ConfigCacheGetByKeyRequest(); configCacheRequest.Name = "defdatetime"; var result = _configCacheService.GetConfigCacheByKey(configCacheRequest); ConfigInfo tempConfigCache = result.Data; if (tempConfig != null) { tempConfig.ID = tempConfigCache.ID; tempConfig.InfoState = InfoState.Modified; //更新数据库 var req2 = ObjectConverter.Copy <ConfigInfo, ConfigModel>(tempConfig); _configRepository.UpdateConfig(req2); //更新缓存 ConfigCacheUpdateRequest UpdateConfigCacheRequest = new ConfigCacheUpdateRequest(); UpdateConfigCacheRequest.ConfigInfo = tempConfig; _configCacheService.UpdateConfigCahce(UpdateConfigCacheRequest); } } response.Data = true; return(response); } catch (Exception ex) { LogHelper.Error("广播同步定义信息出错!" + ex.Message); response.Data = true; return(response); } }
private void UpdatePointDefineCacheByProperty(Jc_DefInfo Point) { Dictionary <string, object> paramater = new Dictionary <string, object>(); paramater.Add("Areaid", Point.Areaid); paramater.Add("Sysid", Point.Sysid); paramater.Add("Activity", Point.Activity); paramater.Add("CreateUpdateTime", Point.CreateUpdateTime); paramater.Add("DeleteTime", Point.DeleteTime); paramater.Add("Fzh", Point.Fzh); paramater.Add("Kh", Point.Kh); paramater.Add("Dzh", Point.Dzh); paramater.Add("Devid", Point.Devid); paramater.Add("Wzid", Point.Wzid); paramater.Add("Csid", Point.Csid); paramater.Add("Point", Point.Point); paramater.Add("Jckz1", Point.Jckz1); paramater.Add("Jckz2", Point.Jckz2); paramater.Add("Jckz3", Point.Jckz3); paramater.Add("Z1", Point.Z1); paramater.Add("Z2", Point.Z2); paramater.Add("Z3", Point.Z3); paramater.Add("Z4", Point.Z4); paramater.Add("Z5", Point.Z5); paramater.Add("Z6", Point.Z6); paramater.Add("Z7", Point.Z7); paramater.Add("Z8", Point.Z8); paramater.Add("K1", Point.K1); paramater.Add("K2", Point.K2); paramater.Add("K3", Point.K3); paramater.Add("K4", Point.K4); paramater.Add("K5", Point.K5); paramater.Add("K6", Point.K6); paramater.Add("K7", Point.K7); paramater.Add("K8", Point.K8); paramater.Add("Bz1", Point.Bz1); paramater.Add("Bz2", Point.Bz2); paramater.Add("Bz3", Point.Bz3); paramater.Add("Bz4", Point.Bz4); paramater.Add("Bz5", Point.Bz5); paramater.Add("Bz6", Point.Bz6); paramater.Add("Bz7", Point.Bz7); paramater.Add("Bz8", Point.Bz8); paramater.Add("Bz9", Point.Bz9); paramater.Add("Bz10", Point.Bz10); paramater.Add("Bz11", Point.Bz11); paramater.Add("Bz12", Point.Bz12); paramater.Add("Bz13", Point.Bz13);//条件呼叫转移号码 paramater.Add("Bz18", Point.Bz18); //扩展字段更新 paramater.Add("Wz", Point.Wz); paramater.Add("DevName", Point.DevName); paramater.Add("DevPropertyID", Point.DevPropertyID); paramater.Add("DevClassID", Point.DevClassID); paramater.Add("DevModelID", Point.DevModelID); paramater.Add("DevProperty", Point.DevProperty); paramater.Add("DevClass", Point.DevClass); paramater.Add("DevModel", Point.DevModel); paramater.Add("Unit", Point.Unit); paramater.Add("AreaName", Point.AreaName); paramater.Add("AreaLoc", Point.AreaLoc); paramater.Add("XCoordinate", Point.XCoordinate); paramater.Add("YCoordinate", Point.YCoordinate); //定义改变标记 paramater.Add("PointEditState", Point.PointEditState); paramater.Add("DefIsInit", Point.DefIsInit); paramater.Add("kzchangeflag", Point.kzchangeflag); paramater.Add("ReDoDeal", Point.ReDoDeal); paramater.Add("Dormancyflag", Point.Dormancyflag); //修改标记 paramater.Add("InfoState", Point.InfoState); UpdatePropertiesRequest bDefCacheRequest = new UpdatePropertiesRequest(); bDefCacheRequest.PointID = Point.PointID; bDefCacheRequest.UpdateItems = paramater; _b_DefCacheService.UpdateInfo(bDefCacheRequest); }