//#endregion private void ExAsynTime(string session, Wlst.mobile.MsgWithMobile args) { if (args.WstRtuOrders == null || args.WstRtuOrders.Op != 21) { return; } var lst = args.WstRtuOrders.RtuIds; if (lst == null) { return; } var ar = new PublishEventArgs { EventId = Cr.CoreOne.CoreIdAssign.EventIdAssign.AsyncTimeEventId, EventType = PublishEventType.Core }; ar.AddParams(lst); EventPublish.PublishEvent(ar); foreach (var f in lst) { string tmlName = "Reserve"; var g = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(f); if (g != null) { tmlName = g.RtuName; } Wlst.Cr.CoreMims.ShowMsgInfo.ShowNewMsg.AddNewShowMsg( f, tmlName, Wlst.Cr.CoreMims.ShowMsgInfo.OperatrType.ServerReply, "对时成功"); } }
private void RequestTmlExistFaultsLnData(string session, Wlst.mobile.MsgWithMobile infos) { if (infos.WstFaultCurrUpdate.ItemsUpdate.Count == 0) { return; } var t = infos.WstFaultCurrUpdate.ItemsUpdate[0]; var ss = (from tt in Info.Values where tt.FaultId == t.FaultId && tt.RtuId == t.RtuId && tt.LoopId == t.LoopId && tt.LampId == t.LampId select tt).ToList(); if (ss.Count == 0) { return; } ss[0].V = t.Ahx; ss[0].A = t.Alx; ss[0].AUpper = t.Adiff; ss[0].Remark = infos.Head.Why; }
private void action(string session, Wlst.mobile.MsgWithMobile infos) { DtClientHeatBeatingLastTime = DateTime.Now; if (ClientHeatBeating != null) { ClientHeatBeating(null, EventArgs.Empty); } }
private void MsgAction(string session, Wlst.mobile.MsgWithMobile infos) { if (infos.WstSysSvrToCntInfo == null) { return; } AddNewRecordItem(infos.WstSysSvrToCntInfo.RtuId, infos.WstSysSvrToCntInfo.RtuName, OperatrType.SystemInfo, infos.WstSysSvrToCntInfo.Msg); }
private void ExSaveWeek(string session, Wlst.mobile.MsgWithMobile infos) { GetTimeTableParameter(); if (LuxEffective == int.MinValue) { LuxEffective = 60; LightOnOffSet = 0; LightOffOffSet = 0; } }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="infos"></param> public void ActionRcvLnSetting(string session, Wlst.mobile.MsgWithMobile infos) { if (infos.WstFaultHlbphLevel == null) { return; } try { if (infos.WstFaultHlbphLevel.Op == 1) { foreach (var f in HLbphUpper) { f.Value2 = "--"; } var strlst = ""; //List<double > tmp = new List<double>(); var ntg = (from t in infos.WstFaultHlbphLevel.Levels where t > 0.001 orderby t ascending select t).ToList(); for (int i = 0; i < ntg.Count; i++) { if (i > 9) { break; } HLbphUpper[i].Value2 = ntg[i].ToString("f2"); strlst = string.IsNullOrEmpty(strlst) ? ntg[i].ToString("f2") + "" : strlst + "," + ntg[i].ToString("f2"); } this.HLbphLower = infos.WstFaultHlbphLevel.Axj; // this.HLbphUpper = tmp; this.HlbphUpdateAlarm = infos.WstFaultHlbphLevel.AupdateDiff; this.HLbphTimer = infos.WstFaultHlbphLevel.TimesCheckBeforAlarm; var dicOp = new Dictionary <int, string>(); var dicDesc = new Dictionary <int, string>(); dicOp.Add(4, strlst); dicDesc.Add(4, "火零不平衡档位"); Wlst.Cr.CoreOne.Services.OptionXmlSvr.SaveXml(3601, dicOp, dicDesc); } } catch (Exception ex) { Wlst.Cr.Core.UtilityFunction.WriteLog.WriteLogError("Error:" + ex); } }
/// <summary> /// 具体执行 /// </summary> // private void ExExecuteOpenLight(List< int > lst,object data,int guid) private void ExExecuteOpenLight(string session, Wlst.mobile.MsgWithMobile args) { //if (IsControlCenterManagDemo2TakeOverOcOrderShow) return; var datax = args.WstRtuSvrAnsCntOrderOpenCloseLight; var lst = args.Args.Addr; if (lst == null) { return; } //var info = data as RfData; //if (info == null) return; ////发布事件,控制中心共享数据 //var ar = new PublishEventArgs() //{ // EventId = Cr.CoreOne.CoreIdAssign.EventIdAssign.OpenOrCloseLightReceiveEventId, // EventType = PublishEventType.Core //}; //ar.AddParams(datax.RtuId); //ar.AddParams(datax.LoopId); //ar.AddParams(datax.IsOpen); //EventPublish.PublishEvent(ar); string strisk = datax.IsSingle == false ? "组合开关灯命令" : datax.IsOpen ? "开灯" : "关灯"; // string str = strisk+"终端回复:终端地址:"; foreach (var f in lst) { string tmlName = "Reserve"; // str += f; var g = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(f); if (g != null) { // str += ":" + g.RtuName + ";"; tmlName = g.RtuName; } // else str += ";"; //if(info !=null ) Wlst.Cr.CoreMims.ShowMsgInfo.ShowNewMsg.AddNewShowMsg( f, tmlName, Wlst.Cr.CoreMims.ShowMsgInfo.OperatrType.ServerReply, strisk + "成功"); } //str = str.Substring(0, str.Length - 1); //str = str + "" +strisk+ "执行回复。"; // LogInfo.Log(str); }
private void MsgAction(string session, Wlst.mobile.MsgWithMobile xgt) { var infos = xgt.WstRtutimeRequestTimetableXReportRecord; if (infos == null) { return; } if (infos.Op != 1) { return; } foreach (var f in infos.Items) { if (HoldInfo.ContainsKey(f.TimeTableId)) { HoldInfo[f.TimeTableId] = f; } else { HoldInfo.Add(f.TimeTableId, f); } } //UpdateInfo(infos.Data); bool bolfind = false; foreach (var t in TimeNameItems) { if (t.Value == infos.TimeTableId) { bolfind = true; break; } } if (!bolfind) { TimeNameItems.Add(new NameValueInt() { Name = infos.TimeTableId + "", Value = infos.TimeTableId }); } if (_currentSelectTimeTableId == 0 || _currentSelectTimeTableId == infos.TimeTableId) { _currentSelectTimeTableId = infos.TimeTableId; OnSelectChanged(_currentSelectTimeTableId); } }
private const int Packagelength = 8096; //一个包 8096字节 /// <summary> /// 请求文件信息 /// </summary> /// <param name="obj"></param> /// <returns></returns> private void OnReqFileBriefInfo(string session, Wlst.mobile.MsgWithMobile obj) { // var pe = obj as ProtocolEncoding; if (obj == null || obj.WstSysFileBiefInfo == null) { return; } if (obj.WstSysFileBiefInfo.Op == 1) //客户端下载 { var nt = Wlst.Sr.ProtocolPhone.LxSys.wst_sys_file_brief_info; nt.WstSysFileBiefInfo.FileFullNameInSrcPc = obj.WstSysFileBiefInfo.FileFullNameInSrcPc; nt.WstSysFileBiefInfo.Op = 2; nt.WstSysFileBiefInfo.Length = 0; if (System.IO.File.Exists(obj.WstSysFileBiefInfo.FileFullNameInSrcPc)) { using ( var fs = new FileStream(obj.WstSysFileBiefInfo.FileFullNameInSrcPc, System.IO.FileMode.Open)) { nt.WstSysFileBiefInfo.Name = fs.Name; nt.WstSysFileBiefInfo.Length = (int)fs.Length; } } SndOrderServer.OrderSnd(nt); return; } if (obj.WstSysFileBiefInfo.Op == 2) //服务向客户端请求的 需要下载的本地的 { if (obj.WstSysFileBiefInfo.Length == 0) { return; //该文件无法查阅 } int addOnePack = obj.WstSysFileBiefInfo.Length % 8096 == 0 ? 0 : 1; //最后一个包 是否存在 var nt = Wlst.Sr.ProtocolPhone.LxSys.wst_sys_request_file; //发送给客户端请求协议 nt.WstSysRequestFile.Op = 2; //标记 来自服务器下载事件 nt.WstSysRequestFile.PackageLength = Packagelength; nt.WstSysRequestFile.PackageSum = (obj.WstSysFileBiefInfo.Length / Packagelength) + addOnePack; for (int i = 0; i < nt.WstSysRequestFile.PackageSum; i++) { nt.WstSysRequestFile.RquPackages.Add(i); } nt.WstSysRequestFile.FileFullNameInSrcPc = obj.WstSysFileBiefInfo.FileFullNameInSrcPc; SndOrderServer.OrderSnd(nt); //请求文件 } }
public void LuxDataMeasureEvent(string session, Wlst.mobile.MsgWithMobile infos) { var info = infos.WstAlsSvrAnsOrderZcOrSet; if (info == null) { return; } if (info.Op == 1) { if (Wj1080Module.Services.Common.IsLuxOnTabShowd == false) { return; } UpdateLuxData(info.SuggestedLuxId, info.LuxValue); } }
/// 请求文件数据 返回 private void OnReqFileInfoBack(string session, Wlst.mobile.MsgWithMobile obj) { if (obj == null || obj.WstSysAnsRequestFile == null) { return; } if (_data.ContainsKey(obj.WstSysAnsRequestFile.FileFullNameInSrcPc) == false) { return; } var ntg = (from t in _data[obj.WstSysAnsRequestFile.FileFullNameInSrcPc] select t.Item2).ToList(); bool find = ntg.Contains(obj.WstSysAnsRequestFile.CurrentPackageIndex); if (find) { return; } _data[obj.WstSysAnsRequestFile.FileFullNameInSrcPc].Add( new Tuple <int, int>(obj.WstSysAnsRequestFile.PackageSum, obj.WstSysAnsRequestFile.CurrentPackageIndex)); queue.Enqueue(new Tuple <string, RquFileInfoBack>(obj.WstSysAnsRequestFile.FileFullNameInSrcPc, obj.WstSysAnsRequestFile)); //using (System.IO.FileStream stream = System.IO.File.OpenWrite(obj.WstSysAnsRequestFile.FileFullNameInSrcPc)) //{ // stream.Seek((long)obj.WstSysAnsRequestFile.CurrentPackageIndex * (long)obj.WstSysAnsRequestFile.PackageLength, System.IO.SeekOrigin.Begin); // var buf = System.Convert.FromBase64String(obj.WstSysAnsRequestFile.Data); // stream.Write(buf, 0, buf.Length); // stream.Flush(); //} //if (_data[obj.WstSysAnsRequestFile.FileFullNameInSrcPc][0].Item1 == _data[obj.WstSysAnsRequestFile.FileFullNameInSrcPc].Count) //{ // _data[obj.WstSysAnsRequestFile.FileFullNameInSrcPc].Clear(); // List<Tuple<int, int>> tmp = null; // _data.TryRemove(obj.WstSysAnsRequestFile.FileFullNameInSrcPc, out tmp); //} }
public void Request(string session, Wlst.mobile.MsgWithMobile infos) { if (DateTime.Now.Ticks - dtsnd < 100000000) { Msg = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 保存成功."; } TreeTabRtuSet.TabRtuHolding.Info.Clear(); foreach (var f in infos.WstSpeGroupClassInfo.Item) { if (TabRtuHolding.Info.ContainsKey(f.GrpId)) { TabRtuHolding.Info.Remove(f.GrpId); } var mtpx = new TabRtuInfo() { Id = f.GrpId, Name = f.GrpName }; mtpx.GrpOrRtus.AddRange(f.RtuOrGrpLst); TabRtuHolding.Info.Add(f.GrpId, mtpx); } TreeTabRtuSet.TabRtuHolding.OnUpdaetAll(); }
private void RequestSystemInfo(string session, Wlst.mobile.MsgWithMobile infos) { var data = infos.SysRepSh; if (data.Op == 1) { if (updateflg) { WlstMessageBox.Show("提示", "设置信息更新成功。", WlstMessageBoxType.Ok); } updateflg = false; Idf = data.Idf.ToString(); ProjectDeAddr = data.Info1.ProjectDeAddr; ProjectName = data.Info1.ProjectName; PhoneThatProjectCat = data.Info1.PhoneThatProjectCat; DtSystemInstal = (new DateTime(data.Idf)).ToString("yyyy年MM月dd日"); TvCnt1 = data.Info1.TvCnt1; TvSvr = data.Info1.TvSvr; VerProCom4 = "v" + data.Info1.VerProCom4; VerProCnt5 = data.Info1.VerProCnt5; MiddleTime = new DateTime(data.Info1.DtMiddleStart); } }
/// 请求文件数据 private void OnReqFileInfo(string session, Wlst.mobile.MsgWithMobile obj) { // var pe = obj as ProtocolEncoding; if (obj == null || obj.WstSysRequestFile == null || obj.WstSysRequestFile.RquPackages.Count == 0) { return; } if (System.IO.File.Exists(obj.WstSysRequestFile.FileFullNameInSrcPc) == false) { return; } try { using (var fs = new FileStream(obj.WstSysRequestFile.FileFullNameInSrcPc, System.IO.FileMode.Open)) { //var fs = new FileStream(obj.WstSysRequestFile.FileFullNameInSrcPc, System.IO.FileMode.Open); // var br = new BinaryReader((Stream)fs); int length = (int)fs.Length; int len1 = obj.WstSysRequestFile.PackageLength; foreach (var g in obj.WstSysRequestFile.RquPackages) { var nt = Wlst.Sr.ProtocolPhone.LxSys.wst_sys_request_file_back; nt.WstSysAnsRequestFile.FileFullNameInSrcPc = obj.WstSysRequestFile.FileFullNameInSrcPc; nt.WstSysAnsRequestFile.Op = 1; nt.WstSysAnsRequestFile.PackageLength = len1; nt.WstSysAnsRequestFile.PackageSum = obj.WstSysRequestFile.PackageSum; nt.WstSysAnsRequestFile.CurrentPackageIndex = g; if (g * len1 >= length) { nt.WstSysAnsRequestFile.Data = ""; } else { var intLength = len1; if (g * len1 + len1 > length) { intLength = length - g * len1; } var bytContent = new byte[intLength]; fs.Seek(g * len1, SeekOrigin.Begin); fs.Read(bytContent, 0, bytContent.Length); var snd = System.Convert.ToBase64String(bytContent); nt.WstSysAnsRequestFile.Data = snd; } SndOrderServer.OrderSnd(nt); Thread.Sleep(3); } fs.Close(); } } catch (Exception ex) { Wlst.Cr.Core.UtilityFunction.WriteLog.WriteLogError("发送数据 OnReqFileInfo 出错"); } }
//private List<Tuple<int, long>> recordsKeys = new List<Tuple<int, long>>(); public void RecordDataRequest(string session, Wlst.mobile.MsgWithMobile infos) { if (!_thisViewActive) { return; } if (infos == null || infos.WstRtuElecStatsData == null) { return; } //中间层计算较慢,如果连续点击,会导致延迟应答,判一下报表类型,如果已经不是当下选的报表类型,则不处理. if (infos.WstRtuElecStatsData.Type != SelectTpyeId) { return; } Records.Clear(); //recordsKeys.Clear(); var list = infos.WstRtuElecStatsData.Items; foreach (var g in list) { var item = new ElectricityStatisticsOneItem(); item.LngDateCreate = g.DateCreate; item.Days = g.Days; item.Aelec = g.Aelec; item.Belec = g.Belec; item.Celec = g.Celec; item.Abcelec = g.Abcelec; item.Index = Records.Count + 1; item.RtuNums = g.RtuId == 0? GetRtusLst().Count + "":"---"; item.RtuId = g.RtuId; if (SelectTpyeId == 1 || SelectTpyeId == 4) //日表 { item.DateCreate = new DateTime(g.DateCreate).ToString("yyyy-MM-dd"); item.Days = 1; } else if (SelectTpyeId == 2 || SelectTpyeId == 5) //月表 { item.DateCreate = new DateTime(g.DateCreate).ToString("yyyy-MM"); } else if (SelectTpyeId == 3 || SelectTpyeId == 6) // 年表 { item.DateCreate = new DateTime(g.DateCreate).ToString("yyyy"); } if (QueryMode == 3) //批量统计时,days 才用理论值 { if (SelectTpyeId == 2 || SelectTpyeId == 5) //月表 { int dtMonth = DateTime.DaysInMonth(new DateTime(g.DateCreate).Year, new DateTime(g.DateCreate).Month); item.Days = dtMonth; } if (SelectTpyeId == 3 || SelectTpyeId == 6) //年表 { var date1 = new DateTime(new DateTime(g.DateCreate).Year, 1, 1); var date2 = new DateTime(new DateTime(g.DateCreate).Year, 12, 31); System.TimeSpan diff = date2.Subtract(date1); item.Days = diff.Days + 1; } } Records.Add(item); //if (recordsKeys.Contains(tu) == false) recordsKeys.Add(tu); } if (Records.Count % 100 == 0) { Wlst.Cr.Core.UtilityFunction.UiHelper.UiDoOtherUserEvent(); } Remind = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 数据统计成功,共计" + Records.Count + " 条数据."; //// Remind = "数据已反馈,查询命令已结束,请查看数据!"; //var tmp = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(info.RtuId); //Remind = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " --" + // (tmp == null ? info.RtuId + "" : tmp.RtuName) + "--终端数据查询成功,共计" + Records.Count + "条数据."; ////info.Items .Count + " 条数据."; }
/// 请求文件列表 private void OnReqFileLst(string session, Wlst.mobile.MsgWithMobile obj) { // var pe = obj as ProtocolEncoding; if (obj == null || obj.WstSysFileInfoLst == null) { return; } if (obj.WstSysFileInfoLst.Op == 1) //客户端请求 { var nt = Wlst.Sr.ProtocolPhone.LxSys.wst_sys_file_lst; nt.WstSysFileInfoLst.Op = 2; if (System.IO.Directory.Exists(obj.WstSysFileInfoLst.FileDir) == false) { System.IO.Directory.CreateDirectory(obj.WstSysFileInfoLst.FileDir); } //在指定目录及子目录下查找文件,在list中列出子目录及文件 DirectoryInfo Dir = new DirectoryInfo(obj.WstSysFileInfoLst.FileDir); nt.WstSysFileInfoLst.FileDir = obj.WstSysFileInfoLst.FileDir; //20180123 foreach (FileInfo f in Dir.GetFiles()) //查找文件 { if (f.Name.Contains("EnsureThisFileHasContent_xx")) { if (f.Length == 0) { return; } } nt.WstSysFileInfoLst.FileFullNameInSrcPc.Add(f.FullName); } SndOrderServer.OrderSnd(nt); } else if (obj.WstSysFileInfoLst.Op == 2) //服务器端请求 应答 { if (System.IO.Directory.Exists(obj.WstSysFileInfoLst.FileDir) == false) { System.IO.Directory.CreateDirectory(obj.WstSysFileInfoLst.FileDir); } long time = 0; //在指定目录及子目录下查找文件,在list中列出子目录及文件 DirectoryInfo Dir = new DirectoryInfo(obj.WstSysFileInfoLst.FileDir); foreach (FileInfo f in Dir.GetFiles()) //查找文件 { if (f.Name.Contains("EnsureThisFileHasContent_xx")) { var spr = f.Name.Replace(".txt", "").Replace("EnsureThisFileHasContent_xx", ""); Int64.TryParse(spr, out time); } } long time1 = 0; foreach (var f in obj.WstSysFileInfoLst.FileFullNameInSrcPc) { if (f.Contains("EnsureThisFileHasContent_xx")) { var sp = f.Substring(f.IndexOf("EnsureThisFileHasContent_xx")); var spr = sp.Replace(".txt", "").Replace("EnsureThisFileHasContent_xx", ""); Int64.TryParse(spr, out time1); } } if (time1 > time) { //load var files = (from t in Dir.GetFiles() select t.FullName).ToList(); foreach (var f in files) { if (File.Exists(f)) { File.Delete(f); } } foreach (var f in obj.WstSysFileInfoLst.FileFullNameInSrcPc) { if (_data.ContainsKey(f)) { continue; } _data.TryAdd(f, new List <Tuple <int, int> >()); //注册时间 每个5分钟检测一下 是否接受完毕 接受完毕则清理 Wlst.Cr.Coreb.AsyncTask.Qtz.AddQtz("nt", 0, DateTime.Now.AddMinutes(5).Ticks, OnLoadOver, 180, f, 6); //间隔35分钟执行清理操作 即清除队列 Wlst.Cr.Coreb.AsyncTask.Qtz.AddQtz("nt", 0, DateTime.Now.AddMinutes(24).Ticks, OnLoadOver1, 10, f, 1); var nt = Wlst.Sr.ProtocolPhone.LxSys.wst_sys_file_brief_info; nt.WstSysFileBiefInfo.Op = 1; nt.WstSysFileBiefInfo.FileFullNameInSrcPc = f; nt.WstSysFileBiefInfo.Length = 0; SndOrderServer.OrderSnd(nt); } } } }
/// <summary> /// 处理函数 /// </summary> /// <param name="session"></param> /// <param name="args"></param> private void ResponseUserOcInfo(string session, Wlst.mobile.MsgWithMobile args) { var datax = args.WstRtuUserOcInfo; if (datax == null || datax.Items == null) { return; } var lst = datax.Items; if (lst.Count == 0) { return; } //1 请求全部 先全清记录,重新添加 if (datax.Op == 1) { //var lst = datax.Items; Records.Clear(); ocinfos.Clear(); foreach (var g in lst) { var tu = new Tuple <int, int>(g.RtuId, g.LoopId); var info = new OcInfoItems() { RtuId = g.RtuId, DateCreate = new DateTime(g.DateCreate).ToString("yyyy-MM-dd HH:mm:ss"), Op = g.Op, UserName = g.UserName, LoopId = g.LoopId, Color = g.UserName != Wlst.Cr.CoreMims.Services.UserInfo.UserLoginInfo.UserName ? "Red" : "Black", }; ////记录缓存 //if (!ocinfos.ContainsKey(tu)) //{ ocinfos.Add(tu, info); //} Records.Insert(0, info); } } else if (datax.Op == 2) //op2 添加,先检查是否已经存在,存在先删除 再添加 { foreach (var g in lst) { var tu = new Tuple <int, int>(g.RtuId, g.LoopId); //如果存在,先删除 if (ocinfos.ContainsKey(tu)) { Records.Remove(ocinfos[tu]); //totest ocinfos.Remove(tu); //删除原来记录 //foreach (var f in Records) //{ // if (f.RtuId == g.RtuId && f.LoopId == g.LoopId) // { // Records.Remove(f); // break; // } //} } var info = new OcInfoItems() { RtuId = g.RtuId, DateCreate = new DateTime(g.DateCreate).ToString("yyyy-MM-dd HH:mm:ss"), Op = g.Op, UserName = g.UserName, LoopId = g.LoopId, Color = g.UserName != Wlst.Cr.CoreMims.Services.UserInfo.UserLoginInfo.UserName ? "Red" : "Black", }; ocinfos.Add(tu, info); Records.Insert(0, info); } } else if (datax.Op == 3) //op3 删除 { //var lst = datax.Items; foreach (var g in lst) { var tu = new Tuple <int, int>(g.RtuId, g.LoopId); if (ocinfos.ContainsKey(tu)) { Records.Remove(ocinfos[tu]); ocinfos.Remove(tu); } } } }
private void RequestOrUpdateUserIndividuationFault(string session, Wlst.mobile.MsgWithMobile infos) { var tmlInfoExchangeforUpdatetmlinfo = infos.WstFaultUserDefineFaultAlarms; if (infos.WstFaultUserDefineFaultAlarms == null) { return; } //管理级别 集中修改 if (string.IsNullOrEmpty(infos.WstFaultUserDefineFaultAlarms.RequestOrSetUserName) == false) { //和自己无关的 if ( Wlst.Cr.CoreMims.Services.UserInfo.UserLoginInfo.UserName.Equals( infos.WstFaultUserDefineFaultAlarms.RequestOrSetUserName) == false) { return; } } IsShieldAlarmsThatUserOcLightCause = infos.WstFaultUserDefineFaultAlarms.IsShieldAlarmsThatUserOcLightCause; try { Info.Clear(); foreach (var t in tmlInfoExchangeforUpdatetmlinfo.Items) { try { if (Info.ContainsKey(t.FaultCode)) { Info[t.FaultCode] = t; } else { Info.Add(t.FaultCode, t); } } catch (Exception ex) { WriteLog.WriteLogError("Add tml falut type info error:" + ex.ToString()); } } InfoAlarmGroups.Clear(); foreach (var f in tmlInfoExchangeforUpdatetmlinfo.ItemsAlarmGroup) { InfoAlarmGroups.Add(f); } } catch (Exception ex) { WriteLog.WriteLogError("Error to update tml falut type ,ex:" + ex); } var ar = new PublishEventArgs() { EventId = EventIdAssign.UserDisplayErrorSelfSetInfoUpdated, EventType = PublishEventType.Core }; EventPublish.PublishEvent(ar); TmlExistFaultsInfoServices.OnUserInviOrTypeChange(); }
public void UpdateSimAck(string session, Wlst.mobile.MsgWithMobile infos) { if (infos.WstSpeZcSim.Op == 5) { Msg = DateTime.Now + " 更新成功!"; Data.Clear(); int index = 1; foreach (var t in infos.WstSpeZcSim.Items) { var tmp = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(t.RtuId); //var d = ConvertLongDateTime(t.Value.DtKt); //var x = d; Data.Add(new SimItemModel() { ActivateTime = new DateTime(t.DtKt), ChargeTime = new DateTime(t.DtXf), Id = index++, IP = t.IpAddr.Trim(), NodeId = t.RtuId, NodeName = tmp != null ? tmp.RtuName : "", State = StateLst, TelNum = t.SimNum.ToString("D1"), SelectedState = StateLst[t.State - 1] }); } } else if (infos.WstSpeZcSim.Op == 1) { if (infos.WstSpeZcSim.Items != null) { Data.Clear(); int index = 1; foreach (var t in infos.WstSpeZcSim.Items) { var tmp = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(t.RtuId); //var d = ConvertLongDateTime(t.Value.DtKt); //var x = d; Data.Add(new SimItemModel() { ActivateTime = new DateTime(t.DtKt), ChargeTime = new DateTime(t.DtXf), Id = index++, IP = t.IpAddr.Trim(), NodeId = t.RtuId, NodeName = tmp != null ? tmp.RtuName : "", State = StateLst, TelNum = t.SimNum.ToString("D1"), SelectedState = StateLst[t.State - 1] }); } int maxidx = 1; if (Data != null) { foreach (var f in this.Data) { if (f.Id >= maxidx) { maxidx = f.Id + 1; } } } } } }
private void OnRcvSvrFaultHappenData(string session, Wlst.mobile.MsgWithMobile info) { if (info == null || info.WstFaultOccuData == null) { return; } if (info.WstFaultOccuData.RtuNewData != null && info.WstFaultOccuData.RtuNewData.RtuId > 0) { var args = new PublishEventArgs { EventType = PublishEventType.Core, EventId = Sr.EquipmentInfoHolding.Services.EventIdAssign. RtuDataQueryDataInfoNeedShowInTab, }; args.AddParams(info.WstFaultOccuData.RtuNewData); EventPublish.PublishEvent(args); EventPublish.PublishEvent(new PublishEventArgs() { EventType = "MainWindow.Measure.show" }); Wlst.Cr.CoreMims.Services.ShowNewDataServices.ShowNewDataView(1102809); return; } if (info.WstFaultOccuData.LineData != null && info.WstFaultOccuData.LineData.LduId > 0) { var args = new PublishEventArgs { EventType = PublishEventType.Core, EventId = Sr.EquipmentInfoHolding.Services.EventIdAssign. RtuDataQueryDataInfoNeedShowInTab, }; args.AddParams(info.WstFaultOccuData.LineData); EventPublish.PublishEvent(args); //EventPublish.PublishEvent(new PublishEventArgs() { EventType = "MainWindow.Measure.show" }); Wlst.Cr.CoreMims.Services.ShowNewDataServices.ShowNewDataView(1102709); return; } if (info.WstFaultOccuData.RtuId > 1100000 && info.WstFaultOccuData.RtuId < 1200000) { var args = new PublishEventArgs { EventType = PublishEventType.Core, EventId = Sr.EquipmentInfoHolding.Services.EventIdAssign. RtuDataQueryDataInfoNeedShowInTab, }; if (info.WstFaultOccuData.LineData == null) { return; } if (info.WstFaultOccuData.LineData.LduId == 0) { info.WstFaultOccuData.LineData.LduId = info.WstFaultOccuData.RtuId; } args.AddParams(info.WstFaultOccuData.LineData); EventPublish.PublishEvent(args); Wlst.Cr.CoreMims.Services.ShowNewDataServices.ShowNewDataView(1102709); return; } if (info.WstFaultOccuData.SluCtrlData != null && info.WstFaultOccuData.SluCtrlData.Info != null && info.WstFaultOccuData.SluCtrlData.Info.SluId > 0) { var args = new PublishEventArgs { EventType = PublishEventType.Core, EventId = Sr.EquipmentInfoHolding.Services.EventIdAssign. RtuDataQueryDataInfoNeedShowInTab, }; args.AddParams(info.WstFaultOccuData.SluCtrlData); EventPublish.PublishEvent(args); EventPublish.PublishEvent(new PublishEventArgs() { EventType = "MainWindow.Measure.show" }); // Wlst.Cr.CoreMims.Services.ShowNewDataServices.ShowNewDataView(1102709); return; } if (info.WstFaultOccuData.RtuId > 1000000 && info.WstFaultOccuData.RtuId < 1100000) { var args = new PublishEventArgs { EventType = PublishEventType.Core, EventId = Sr.EquipmentInfoHolding.Services.EventIdAssign. RtuDataQueryDataInfoNeedShowInTab, }; args.AddParams(null); EventPublish.PublishEvent(args); EventPublish.PublishEvent(new PublishEventArgs() { EventType = "MainWindow.Measure.show" }); Wlst.Cr.CoreMims.Services.ShowNewDataServices.ShowNewDataView(1102809); return; } }
private void RequestOrUpdateFaultTypeInfo(string session, Wlst.mobile.MsgWithMobile infos) { if (isViewActive == false) { return; } var data = infos.WstRtuLdlSxxAvgSet; if (data == null) { return; } MyTextboxShow mtest = new MyTextboxShow(); if (data.Op != 14) { return; } //var dic = new Dictionary<int, List<RtuSets.RtuLoopSxx>>(); //foreach (var f in data .SxxItems ){ // if (dic.ContainsKey(f.RtuId) == false) dic.Add(f.RtuId, new List<RtuSets.RtuLoopSxx>()); // dic[f.RtuId].Add(f); //} //foreach (var f in dic) //{ // var tmpequ = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(f.Key); // var tmpequ2 = tmpequ as Wlst.Sr.EquipmentInfoHolding.Model.Wj3005Rtu; // if (tmpequ2 == null) continue; // foreach (var g in f.Value) // { // if (tmpequ2.WjLoops.ContainsKey(g.LoopId)) // { // tmpequ2.WjLoops[g.LoopId].CurrentAlarmUpperlimit = g.SxDefault; // tmpequ2.WjLoops[g.LoopId].CurrentAlarmLowerlimit = g.XxDefault; // } // } //} var ntg = (from t in data.SxxItems where t.RtuId == RtuId orderby t.LoopId select t).ToList(); if (ntg.Count == 0) { return; } foreach (var g in ntg) { if (Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info.ContainsKey(g.RtuId) == false) { return; } //if (Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info[g.RtuId].RtuNewData.LstNewLoopsData.Count <= g.LoopId - 1) // return; //lvf 2019年3月27日08:44:40 更新最新数据中的上下限和额定电流 foreach (var t in Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info[g.RtuId].RtuNewData.LstNewLoopsData) { if (t.LoopId == g.LoopId) { t.Upper = g.SxDefault; t.Lower = g.XxDefault; t.AvgOf7daysA = g.Avg; } } //Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info[g.RtuId].RtuNewData.LstNewLoopsData[ g.LoopId-1] // .Upper = g.SxDefault; //Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info[g.RtuId].RtuNewData.LstNewLoopsData[g.LoopId-1] // .Lower = g.XxDefault; //Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info[g.RtuId].RtuNewData.LstNewLoopsData[ // g.LoopId - 1] // .AvgOf7daysA = g.Avg; } //var run = Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.GetRunInfo(RtuIdNeedUpdate); //if (run != null && run.RtuNewData != null) //{ // foreach (var t in ntg) // { // run.RtuNewData.LstNewLoopsData[0].Upper // } //} if (DateTime.Now.Ticks - lastSavetime < 10 * 10000000L) { tbremark.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 终端额定电流、上下限设置成功."; } else { tbremark.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 终端额定电流、上下限设置已经更新,若需设置,请重新进入该界面"; foreach (var f in Items) { f.isCanEdit = false; } } //var dirc = new Dictionary<Tuple<int, int>, Tuple<double, int, int>>(); //var dirc2 = new Dictionary<Tuple<int, int>, Tuple<double, int, int>>(); //foreach (var f in data.SxxItems) //{ // var tu = new Tuple<int, int>(f.RtuId, f.LoopId); // if (dirc.ContainsKey(tu)) continue; // var tu2 = new Tuple<double, int, int>(f.Avg, f.SxDefault, f.XxDefault); // dirc.Add(tu, tu2); // if (f.Avg2 > 0) // { // if (dirc2.ContainsKey(tu)) continue; // var tu3 = new Tuple<double, int, int>(f.Avg2, f.Sx1, f.Xx1); // dirc2.Add(tu, tu3); // } //} //foreach (var f in this.Items) //{ // ////if (f.ValueString2.Contains("屏蔽")) continue; // //var flg = false; // //var flg2 = false; // //foreach (var t in f.ChildTreeItems) // //{ // // var tu = new Tuple<int, int>(t.Rtuid, t.ValueInt1); // // if (dirc.ContainsKey(tu)) // // { // // t.ValueString3 = dirc[tu].Item1.ToString("f2"); // // t.ValueInt3 = dirc[tu].Item2; // // t.ValueInt2 = dirc[tu].Item3; // // flg = true; // // cancmdupdatecurrent = true; // // } // // if (dirc2.ContainsKey(tu)) // // { // // t.ValueString4 = dirc2[tu].Item1.ToString("f2"); // // t.ValueInt5 = dirc2[tu].Item2; // // t.ValueInt4 = dirc2[tu].Item3; // // flg2 = true; // // } // //} // //if (flg) f.ValueString3 = "√"; // //if (flg2) f.ValueString4 = "√"; //} }
public void OnRtuSDReplay(string session, Wlst.mobile.MsgWithMobile infos) { bool add = false; RecordTotalCount++; if (infos.WstRtuSdReply.RecordStatus == 0) { //Console.WriteLine("RecordIdx:" + infos.WstRtuSdReply.RecordIdx); //Console.WriteLine("RecordTotal:" + infos.WstRtuSdReply.RecordTotal); //Console.WriteLine("RecordCount:" + infos.WstRtuSdReply.DataInfo.Count); if (infos.WstRtuSdReply.RecordType == 1) { int insertIndex = 0; bool res = IfIndexExist(infos.WstRtuSdReply.RecordIdx, ref insertIndex); if (res) { Records.RemoveAt(insertIndex); } foreach (var t in infos.WstRtuSdReply.DataInfo) { var f = new TmlNewDataViewModelExtend(t); f.Index = infos.WstRtuSdReply.RecordIdx; Records.Insert(insertIndex, f); } Remind = "共传输" + RecordTotalCount + "条数据, 其中" + Records.Count + "正确, " + (RecordTotalCount - Records.Count) + "接收错误!"; } else if (infos.WstRtuSdReply.RecordType == 2) { int loopCount = infos.WstRtuSdReply.DataMax[0].LoopCount; var terInfo = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(infos.WstRtuSdReply.RtuId); if (terInfo != null) { var tmps = terInfo as Wlst.Sr.EquipmentInfoHolding.Model.Wj3005Rtu; var loopName = new string[loopCount]; if (tmps != null) { int m = 0; foreach (var tt in tmps.WjLoops) { if (m < loopCount) { loopName[m++] = tt.Value.LoopName; } else { break; } } } for (int i = 0; i < loopCount; i++) { MaxRecords.Add(new MaxCurrentRecords { Index = i + 1, RtuId = infos.WstRtuSdReply.RtuId, LoopId = i + 1, LoopName = loopName[i], DtGetDataTime = (new DateTime(infos.WstRtuSdReply.DataMax[0].MaxDataField[i].DtRecord)).ToString("yyyy-MM-dd HH:mm:ss"), MaxCurrent = infos.WstRtuSdReply.DataMax[0].MaxDataField[i].CurrentMax.ToString("f2") }); } } Remind = "数据传输完成,共" + MaxRecords.Count + "条数据!"; } } else { if ((infos.WstRtuSdReply.RecordStatus >= 1) && (infos.WstRtuSdReply.RecordStatus <= 6)) { Remind = "当前第" + RecordTotalCount + "条数据错误!SD卡功能错误!"; } else if (infos.WstRtuSdReply.RecordStatus == 7) { Remind = "当前第" + RecordTotalCount + "条数据错误!无SD卡!"; } else if (infos.WstRtuSdReply.RecordStatus == 8) { Remind = "当前第" + RecordTotalCount + "条数据错误!记录时间错误!"; //if (infos.WstRtuSdReply.RecordType == 1) //{ // Remind = "共传输" + RecordTotalCount + "条数据, 其中" + Records.Count + "正确, " + // (RecordTotalCount - Records.Count) + "接收错误!"; //} //else //{ // Remind = "共传输" + RecordTotalCount + "条数据, 其中" + MaxRecords.Count + "正确, " + // (RecordTotalCount - MaxRecords.Count) + "接收错误!"; //} } else if (infos.WstRtuSdReply.RecordStatus == 9) { Remind = "当前第" + RecordTotalCount + "条数据错误!查询开始时间错误!"; } else if (infos.WstRtuSdReply.RecordStatus == 10) { Remind = "当前第" + RecordTotalCount + "条数据错误!查询截止时间错误!"; } else if (infos.WstRtuSdReply.RecordStatus == 11) { Remind = "当前第" + RecordTotalCount + "条数据错误!时间间隔错误!"; } else if (infos.WstRtuSdReply.RecordStatus == 12) { Remind = "当前第" + RecordTotalCount + "条数据错误!记录类型错误!"; } else if (infos.WstRtuSdReply.RecordStatus == 13) { Remind = "当前第" + RecordTotalCount + "条数据错误!记录数据错误!"; //if (infos.WstRtuSdReply.RecordType == 1) //{ // Remind = "共传输" + RecordTotalCount + "条数据, 其中" + Records.Count + "正确, " + // (RecordTotalCount - Records.Count) + "接收错误!"; //} //else //{ // Remind = "共传输" + RecordTotalCount + "条数据, 其中" + MaxRecords.Count + "正确, " + // (RecordTotalCount - MaxRecords.Count) + "接收错误!"; //} } else { Remind = "当前第" + RecordTotalCount + "条数据错误!未知错误!"; } } }
private void RequestOrUpdateTmlExistFaultsData1(string session, Wlst.mobile.MsgWithMobile infos) { SpeRtus.Clear(); SpeRtus.AddRange(infos.Args.Addr); }
private void MyAction(string session, Wlst.mobile.MsgWithMobile infos) { // Records.Clear(); if (infos == null) { return; } if (infos.WstRtutimeRequestTimetableXReportRecord == null) { return; } if (infos.WstRtutimeRequestTimetableXReportRecord.Op == 1) { return; } var tmpitems = new ObservableCollection <OpenCloseReportItem>(); var tmpitemsout = new ObservableCollection <OpenCloseReportItem>(); var tmps = (from t in infos.WstRtutimeRequestTimetableXReportRecord.Items orderby t.DateCreate select t).ToList(); foreach (var t in tmps) { if (Wlst.Cr.CoreMims.Services.UserInfo.UserLoginInfo.D || Wlst.Cr.CoreMims.Services.UserInfo.UserLoginInfo.AreaR.Contains(t.AreaId)) { if (t.TheXTimes > 100) { tmpitemsout.Add(new OpenCloseReportItem(t.AreaId, t)); } else { tmpitems.Add(new OpenCloseReportItem(t.AreaId, t)); } } } if (tmpitems.Count != 0) { this.Records = tmpitems; this.CurrentSelectItem = this.Records.First(); ShowOrderInfo = "数据已反馈请查看数据,点击左边列表时将在右边列表中显示详细信息!!!"; } else if (Wlst.Sr.EquipmentInfoHolding.Services.Others.IsShowTimeTableOnTime) { if (OpenCloseReportQueryWindow == null) { OpenCloseReportQueryWindow = new OpenCloseReportQueryForWin(); } var failedopen = new ObservableCollection <OpenCloseReportRtuItem>(); var successopen = new ObservableCollection <OpenCloseReportRtuItem>(); var flg = new bool(); foreach (var t in tmpitemsout) { failedopen.Clear(); successopen.Clear(); foreach (var tt in t.Records) { flg = true; foreach (var ttt in tt.Records) { if (ttt.Value == "失败" && flg) { failedopen.Add(tt); flg = false; } } if (flg) { successopen.Add(tt); } } t.Records.Clear(); foreach (var tt in failedopen) { t.Records.Add(tt); } foreach (var tt in successopen) { t.Records.Add(tt); } } if (OpenCloseReportQueryWindow.Visibility == Visibility.Visible) { foreach (var t in tmpitemsout) { ItemsOut.Add(t); } } else { ItemsOut = tmpitemsout; } OpenCloseReportQueryWindow.SetContext(ItemsOut); OpenCloseReportQueryWindow.Visibility = Visibility.Visible; OpenCloseReportQueryWindow.Show(); OpenCloseReportQueryWindow.Focus(); } }
private void RequestOrUpdateTmlExistFaultsData(string session, Wlst.mobile.MsgWithMobile infos) { //todo var tmlInfoExchangeforUpdatetmlinfo = infos.WstFaultCurr; if (tmlInfoExchangeforUpdatetmlinfo == null) { return; } ////清空缓存 如果op==1 lvf 2018年8月8日10:33:54 //if( tmlInfoExchangeforUpdatetmlinfo.Op ==1) //{ // Info.Clear(); // FaultNotShow.Clear(); //} //如果型号发生变化 需要进一步修改 if (tmlInfoExchangeforUpdatetmlinfo.FaultItemsAdd == null || tmlInfoExchangeforUpdatetmlinfo.FaultItemsDelete == null) { return; } if (tmlInfoExchangeforUpdatetmlinfo.FaultItemsAdd.Count == 0 && tmlInfoExchangeforUpdatetmlinfo.FaultItemsDelete.Count == 0) { return; } // var lstUpdatesss = new List<int>(); // var lstUpdatRtus = new List<int>(); var lstUpdateStates = new List <Tuple <int, bool> >(); var lstaddindex = new List <int>(); var lstdeleteindex = new List <int>(); var rtus = new List <int>(); try { foreach (var t in tmlInfoExchangeforUpdatetmlinfo.FaultItemsAdd) { if (rtus.Contains(t.RtuId) == false) { rtus.Add(t.RtuId); } try { while (Info.ContainsKey(_index) || FaultNotShow.ContainsKey(_index)) { _index++; } //t.Id = _index; var tmp = new FaultInfoBase(t, _index); if (tmp.IsThisUserShow) { var ss = (from tt in Info.Values where tt.FaultId == t.FaultId && tt.RtuId == t.RtuId && tt.LoopId == t.LoopId && tt.LampId == t.LampId select tt).ToList(); if (ss.Count == 0) { // var tmp = new Model.EquipmentFaultCnt(t); Info.TryAdd(_index, tmp); lstaddindex.Add(_index); lstUpdateStates.Add(new Tuple <int, bool>(t.RtuId, true)); //if (!lstUpdatesss.Contains(t.RtuId)) // lstUpdatesss.Add(t.RtuId); } } else { var ss = (from tt in FaultNotShow.Values where tt.FaultId == t.FaultId && tt.RtuId == t.RtuId && tt.LoopId == t.LoopId && tt.LampId == t.LampId select tt).ToList(); if (ss.Count == 0) { FaultNotShow.TryAdd(_index, tmp); } } } catch (Exception ex) { WriteLog.WriteLogError("Add tml faults info error:" + ex.ToString()); } } foreach (var t in tmlInfoExchangeforUpdatetmlinfo.FaultItemsDelete) { if (rtus.Contains(t.RtuId) == false) { rtus.Add(t.RtuId); } try { var ss = (from tt in Info.Values where tt.FaultId == t.FaultId && tt.RtuId == t.RtuId && tt.LoopId == t.LoopId && tt.LampId == t.LampId select tt).ToList(); if (ss.Count > 0) { FaultInfoBase outx; // if (!lstUpdatesss.Contains(ss[0].RtuId)) lstUpdatesss.Add(ss[0].RtuId); Info.TryRemove(ss[0].Id, out outx); lstdeleteindex.Add(ss[0].Id); lstUpdateStates.Add(new Tuple <int, bool>(t.RtuId, false)); break; } var gga = (from tt in FaultNotShow.Values where tt.FaultId == t.FaultId && tt.RtuId == t.RtuId && tt.LoopId == t.LoopId && tt.LampId == t.LampId select tt).ToList(); if (gga.Count > 0) { FaultInfoBase outx; FaultNotShow.TryRemove(gga[0].Id, out outx); break; } } catch (Exception ex) { WriteLog.WriteLogError("Add tml faults info error:" + ex.ToString()); } } //如果是全部请求 不发布添加事件 if (lstaddindex.Count > 0) { var ar = new PublishEventArgs() { EventId = EventIdAssign.EquipmentExistFaultAddId, EventType = PublishEventType.Core }; ar.AddParams(lstaddindex); EventPublish.PublishEvent(ar); } if (lstdeleteindex.Count > 0) { var ar = new PublishEventArgs() { EventId = EventIdAssign.EquipementExistFaultDeleteId, EventType = PublishEventType.Core }; ar.AddParams(lstdeleteindex); EventPublish.PublishEvent(ar); } //var arg = new PublishEventArgs() // { // EventId = EventIdAssign.RtuErrorStateChanged, // EventType = PublishEventType.Core // }; //arg.AddParams(lstUpdateStates); //EventPublish.PublishEvent(arg); // EquipmentIsHasErrors.RtuErrorsChange(lstUpdatRtus); //TmlExistFaultsInfoServices.RtuErrorsChangeAttachShowError( // (from t in lstUpdateStates select t.Item1).ToList()); foreach (var l in rtus) { var xcount = (from t in Info where t.Value.RtuId == l && t.Value.IsThisUserShow select t).Count(); if (Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info.ContainsKey(l) == false) { Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info.TryAdd(l, new RunInfo(l) { ErrorCount = xcount }); } else { Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info[l].ErrorCount = xcount; } } Sr.EquipmentInfoHolding.Services.RunningInfoHold.PublishEventForOut(rtus, false); //foreach (var l in lstdelete ) //{ // var xcount = (from t in Info where t.Value.RtuId == l && t.Value.IsThisUserShow select t).Count(); // if (Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info.ContainsKey(l) == false) // { // Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info.TryAdd(l, // new RunInfo(l) { ErrorCount = xcount }); // } // else // { // Wlst.Sr.EquipmentInfoHolding.Services.RunningInfoHold.Info[l].ErrorCount = xcount; // } //} } catch (Exception ex) { WriteLog.WriteLogError("Error to update tml faults ,ex:" + ex); } }