public DevAlarmHistory RemoveToHistory(DeviceAlarm alarm) { DevAlarmHistory newItem = new DevAlarmHistory(); newItem.Id = alarm.Id; newItem.Abutment_Id = alarm.Abutment_Id; newItem.Title = alarm.Title; newItem.Msg = alarm.Message; newItem.Level = alarm.Level; newItem.Code = alarm.Code; newItem.Src = alarm.Src; newItem.DevInfoId = alarm.DevId; newItem.Device_desc = alarm.Device_desc; newItem.AlarmTime = alarm.CreateTime; newItem.AlarmTimeStamp = alarm.AlarmTimeStamp; newItem.HistoryTime = DateTime.Now; newItem.HistoryTimeStamp = TimeConvert.ToStamp((DateTime)newItem.HistoryTime); return(newItem); }
public DevAlarmHistory RemoveToHistory() { DevAlarmHistory newItem = new DevAlarmHistory(); newItem.Id = this.Id; newItem.Abutment_Id = this.Abutment_Id; newItem.Title = this.Title; newItem.Msg = this.Msg; newItem.Level = this.Level; newItem.Code = this.Code; newItem.Src = this.Src; newItem.DevInfoId = this.DevInfoId; newItem.Device_desc = this.Device_desc; newItem.AlarmTime = this.AlarmTime; newItem.AlarmTimeStamp = this.AlarmTimeStamp; newItem.HistoryTime = DateTime.Now; newItem.HistoryTimeStamp = TimeConvert.ToStamp((DateTime)newItem.HistoryTime); return(newItem); }
public DevAlarmHistory RemoveToHistory() { DevAlarmHistory history = new DevAlarmHistory(); //history.Id = this.Id; history.Abutment_Id = this.Abutment_Id; history.Title = this.Title; history.Msg = this.Msg; history.Level = this.Level; history.Code = this.Code; history.Src = this.Src; history.DevInfoId = this.DevInfoId; history.Device_desc = this.Device_desc; history.AlarmTime = this.AlarmTime; history.AlarmTimeStamp = this.AlarmTimeStamp; history.HistoryTime = DateTime.Now; history.HistoryTimeStamp = TimeConvert.DateTimeToTimeStamp(history.HistoryTime); return(history); }
/// <summary>Handles a message.</summary> public void HandleMessage(IMessage message) { try { Init(); int count1 = bll.DevInfos.GetCount(); string msg = Encoding.UTF8.GetString(message.Body); events recv = JsonConvert.DeserializeObject <events>(msg); if (recv == null) { return; } int nsrc = recv.src; DevInfo di = null; if (nsrc == 1 || nsrc == 2) { if (recv.raw_id == null || recv.raw_id == "") { return; } di = DevList.Find(p => p.Abutment_DevID == recv.raw_id); } else if (nsrc == 3) { if (recv.node == null || recv.node == "") { return; } di = DevList.Find(p => p.Code == recv.node); } long lTimeStamp = recv.t * 1000; bool bFlag = false; int nLevel = (int)recv.level; Abutment_DevAlarmLevel adLevel = (Abutment_DevAlarmLevel)nLevel; if (nLevel == 0) { adLevel = Abutment_DevAlarmLevel.未定; } if (di == null) { //DevAlarm da2 = new DevAlarm(); //da2.Abutment_Id = recv.id; //da2.Title = recv.title; //da2.Msg = recv.msg; //da2.Level = adLevel; //da2.Code = recv.code; //da2.Src = (Abutment_DevAlarmSrc)recv.src; //da2.DevInfoId = 0;//未找到设备 //da2.Device_desc = recv.deviceDesc; //da2.AlarmTime = TimeConvert.ToDateTime(lTimeStamp); //da2.AlarmTimeStamp = lTimeStamp; //bll.DevAlarms.Add(da2);//未找到设备的告警也记录下来, //Log. bv //LogEvent.Info("RealAlarm", string.Format("没找到设备信息,json:{0}", msg)); //LogEvent.Info("RealAlarm", string.Format("没找到设备信息:{0}", recv.title)); SaveMessageToFile(msg, "noDev"); return;//没找到设备信息,则不做任何处理, } if (recv.title.Contains("防拆") || recv.msg.Contains("防拆")) { SaveMessageToFile(msg, "filter"); return;//过滤掉有“防拆”字段的告警,没有意义。 } LogEvent.Info("RealAlarm", string.Format("获取设备:{0}", recv.title)); SaveMessageToFile(msg, ""); DevAlarm da = DaList.Find(p => p.DevInfoId == di.Id && p.AlarmTimeStamp == lTimeStamp); if (da == null) { if (recv.state == 0) { da = CreateDevAlarm(recv, di, lTimeStamp, adLevel); bll.DevAlarms.Add(da); DaList.Add(da); bFlag = true; } } else { if (recv.state == 1 || recv.state == 2) { DevAlarmHistory da_history = da.RemoveToHistory(); DaList.Remove(da); bll.DevAlarms.DeleteById(da.Id); bll.DevAlarmHistorys.Add(da_history);//告警恢复 放到历史数据中 da.Level = Abutment_DevAlarmLevel.无; bFlag = true; } else if (adLevel != da.Level) { da.Level = adLevel; da.Title = recv.title; da.Msg = recv.msg; bll.DevAlarms.Edit(da); bFlag = true; } } if (bFlag) { OnDevAlarmReceived(da); } int count2 = bll.DevInfos.GetCount(); if (count2 > count1) { Log.Info(LogTags.RealAlarm, "添加了数据:" + count1 + "->" + count2); } return; } catch (Exception ex) { Log.Info(LogTags.RealAlarm, "HandleMessage:" + ex); } }
/// <summary>Handles a message.</summary> public void HandleMessage(IMessage message) { string msg = Encoding.UTF8.GetString(message.Body); events recv = JsonConvert.DeserializeObject <events>(msg); if (recv == null || recv.raw_id == null || recv.raw_id == "" || recv.src != 1) { return; } DevInfo di = DevList.Find(p => p.Abutment_DevID == recv.raw_id); if (di == null) { return; } bool bFlag = false; int nLevel = (int)recv.level; Abutment_DevAlarmLevel adLevel = (Abutment_DevAlarmLevel)nLevel; long lTimeStamp = recv.t * 1000; if (nLevel == 0) { adLevel = Abutment_DevAlarmLevel.未定; } DevAlarm da = DaList.Find(p => p.DevInfoId == di.Id && p.AlarmTimeStamp == lTimeStamp); if (da == null) { if (recv.state == 0) { da = new DevAlarm(); da.Abutment_Id = recv.id; da.Title = recv.title; da.Msg = recv.msg; da.Level = adLevel; da.Code = recv.code; da.Src = (Abutment_DevAlarmSrc)recv.src; da.DevInfoId = di.Id; da.Device_desc = recv.device_desc; da.AlarmTime = TimeConvert.ToDateTime(lTimeStamp); da.AlarmTimeStamp = lTimeStamp; bll.DevAlarms.Add(da); DaList.Add(da); bFlag = true; } } else { if (recv.state == 1 || recv.state == 2) { DevAlarmHistory da_history = da.RemoveToHistory(); DaList.Remove(da); bll.DevAlarms.DeleteById(da.Id); bll.DevAlarmHistorys.Add(da_history); da.Level = Abutment_DevAlarmLevel.无; bFlag = true; } else if (adLevel != da.Level) { da.Level = adLevel; da.Title = recv.title; da.Msg = recv.msg; bll.DevAlarms.Edit(da); bFlag = true; } } if (bFlag) { OnDevAlarmReceived(da); } return; }