/// <summary> /// 分析缓存数据,清除超过处理周期的数据 add by tangcy 20110121 /// </summary> public void TN_AlarmRecodeClearUpAnalyseCache() { BLL.TN_AlarmRecodeClearUp arcu = new TN_AlarmRecodeClearUp(); Model.TN_AlarmRecodeClearUp a = new TDTK.IndustryPlatform.SafetyMonitor.Model.TN_AlarmRecodeClearUp(); List<Model.TN_AlarmRecodeClearUp> AnalyseCachelist=new List<Model.TN_AlarmRecodeClearUp>(); for (int index = 0; index < lstarcu.Count;index++ ) { int lasttime = (int)(DateTime.Now - Convert.ToDateTime(lstarcu[index].AlarmTransactTime)).TotalSeconds; if (lstarcu[index].DevType == "模拟量") { if (lasttime >= (Convert.ToInt32(TimePeriod) * 3600)) { AnalyseCachelist.Add(lstarcu[index]);//添加到要存入数据的列表 lstarcu.RemoveAt(index);//正在处理报警中删除该条记录 } else { } } else { if (lasttime >= (Convert.ToInt32(SwicthTimePeriod) * 3600)) { AnalyseCachelist.Add(lstarcu[index]);//添加到要存入数据的列表 lstarcu.RemoveAt(index);//正在处理报警中删除该条记录 } else { } } } AddToDataBase(AnalyseCachelist,"2");//保存到数据库 }
/// <summary> /// 将消警信息写入缓存 /// </summary> /// <param name="arcu"></param> public void TN_AlarmRecodeClearUpWriteCache(TDTK.IndustryPlatform.SafetyMonitor.Model.TN_AlarmRecodeClearUp arcu) { if (arcu != null) { Model.TN_AlarmRecodeClearUp marcu = lstarcu.Find(r => r.CoalCode == arcu.CoalCode && r.DevCode == arcu.DevCode); if (marcu != null) { } else { TDTK.IndustryPlatform.SafetyMonitor.Model.TN_AlarmRecodeClearUp mmarcu = new TDTK.IndustryPlatform.SafetyMonitor.Model.TN_AlarmRecodeClearUp { CoalName=arcu.CoalName,//add CoalCode=arcu.CoalCode, DevCode=arcu.DevCode, DevAddress=arcu.DevAddress, DevName=arcu.DevName, DevState=arcu.DevState, DevType=arcu.DevType, DevMaxTime=arcu.DevMaxTime, DevMaxValue=arcu.DevMaxValue, DevValue =arcu.DevValue,// add DevUnit=arcu.DevUnit, SwitchCount=arcu.SwitchCount, MonitorLRV=arcu.MonitorLRV, MonitorURV=arcu.MonitorURV, AlarmETime=arcu.AlarmETime, AlarmSTime=arcu.AlarmSTime, AlarmURV=arcu.AlarmURV, AlarmLRV=arcu.AlarmLRV, Duration=arcu.Duration, TurnOffValue=arcu.TurnOffValue, TurnOnValue=arcu.TurnOnValue, AlarmTransactContent=arcu.AlarmTransactContent, AlarmTransactWays=arcu.AlarmTransactWays, AlarmTransactState=arcu.AlarmTransactState, SwitchDetails=arcu.SwitchDetails, UserCode=arcu.UserCode, UserName=arcu.UserName, AlarmTransactTime=arcu .AlarmTransactTime // add }; lstarcu.Add(mmarcu); } } }
/// <summary> /// 添加到数据库中 add by tangcy 20110121 /// </summary> /// <param name="ManagedListed">处理的报警信息</param> public void AddToDataBase(List<Model.TN_AlarmRecodeClearUp> ManagedListed , string state) { BLL.TN_AlarmRecodeClearUp arcu = new TN_AlarmRecodeClearUp(); Model.TN_AlarmRecodeClearUp a = new TDTK.IndustryPlatform.SafetyMonitor.Model.TN_AlarmRecodeClearUp(); #region 遍历已处理报警并写入数据库 foreach (Model.TN_AlarmRecodeClearUp cu in ManagedListed) { a.CoalCode = cu.CoalCode; a.CoalName = cu.CoalName; a.DevCode = cu.DevCode; a.DevName = cu.DevName; a.DevType = cu.DevType; a.DevAddress = cu.DevAddress; a.DevUnit = cu.DevUnit; a.MonitorLRV = cu.MonitorLRV; a.MonitorURV = cu.MonitorURV; a.AlarmLRV = cu.AlarmLRV; a.AlarmURV = cu.AlarmURV; a.TurnOffValue = cu.TurnOffValue; a.TurnOnValue = cu.TurnOnValue; #region //a.SwitchCount = cu.SwitchCount; //a.SwitchDetails= cu.SwitchDetails; //a.AlarmSTime =cu.AlarmSTime; //a.AlarmETime =cu.AlarmETime; //a.Duration = cu.Duration; //a.DevMaxValue = cu.DevMaxValue; //a.DevMaxTime = cu.DevMaxTime; //a.DevState = cu.DevState; #endregion a.DevValue = cu.DevValue; a.UserCode = cu.UserCode; a.UserName = cu.UserName; a.AlarmTransactContent = cu.AlarmTransactContent; a.AlarmTransactWays = cu.AlarmTransactWays; a.AlarmTransactState = state; a.AlarmTransactTime = cu.AlarmTransactTime; arcu.Add(a); } #endregion }