public void saveSZAlarmInfo(List <Model.DjLiquidInfo> djs) { AlarmRecord alarmRecordDal = new SensorHub.BLL.AlarmRecord(); List <Model.AlarmRecordInfo> list = new List <Model.AlarmRecordInfo>(); BLL.Device deviceBLL = new SensorHub.BLL.Device(); foreach (Model.DjLiquidInfo dj in djs) { AlarmRecordInfo alarmRecordInfo = new AlarmRecordInfo(); alarmRecordInfo.ACTIVE = true; alarmRecordInfo.DEVICE_CODE = dj.DEVID; alarmRecordInfo.DEVICE_ID = Convert.ToInt32(deviceBLL.getDeviceIdByCode(dj.DEVID)); alarmRecordInfo.DEVICE_TYPE_NAME = deviceBLL.getDevTypeByCode(dj.DEVID); alarmRecordInfo.ITEMNAME = "液位值"; alarmRecordInfo.ITEMVALUE = dj.LIQUIDDATA; alarmRecordInfo.MESSAGE_STATUS = 0; alarmRecordInfo.RECORDCODE = ""; alarmRecordInfo.RECORDDATE = System.DateTime.Now; alarmRecordInfo.MESSAGE = "液位超限"; list.Add(alarmRecordInfo); } alarmRecordDal.insert(list); }
public void saveAlarmInfo(List <Model.DjPressInfo> djs) { IAlarmRule alarmRuleDal = SensorHub.DALFactory.AlarmRule.Create(); // IAlarmRecord alarmRecordDal = SensorHub.DALFactory.AlarmRecord.Create(); AlarmRecord alarmRecordDal = new SensorHub.BLL.AlarmRecord(); List <Model.AlarmRecordInfo> list = new List <Model.AlarmRecordInfo>(); foreach (Model.DjPressInfo dj in djs) { AlarmRuleInfo alarmRuleInfo = alarmRuleDal.getAlarmRule(dj.DEVID, PRESS_TYPE); AlarmRecordInfo alarmRecordInfo = getAlarmRecord(alarmRuleInfo, dj); if (null != alarmRecordInfo) { list.Add(alarmRecordInfo); } } if (list.Count > 0) { alarmRecordDal.insert(list); } }
public void SaveZZAlarmInfo(List <Model.SlNoiseInfo> djsAll) { List <Model.SlNoiseInfo> djs = this.Filter(djsAll); if (djs.Count == 0) { return; } String devCode = djs[0].SRCID; IAlarmRule alarmRuleDal = SensorHub.DALFactory.AlarmRule.Create(); AlarmRuleInfo alarmRuleInfo = alarmRuleDal.getAlarmRule(devCode); if (alarmRuleInfo == null || alarmRuleInfo.HighValue == 0) { return; } AlarmRecord alarmRecordDal = new SensorHub.BLL.AlarmRecord(); //如果最新一条消息没报警的话就清楚报警 if (float.Parse(djs[djs.Count - 1].DENSEDATA) < alarmRuleInfo.HighValue) { alarmRecordDal.removeByDevCode(devCode); return; } //判断是否都超过报警 bool isAllOverThresh = true; foreach (SlNoiseInfo slNoiseInfo in djs) { if (float.Parse(slNoiseInfo.DENSEDATA) < alarmRuleInfo.HighValue) { isAllOverThresh = false; break; } } //如果超过连续报警次数,将最新的数据插入到报警列表中 if (isAllOverThresh && IsOverMaxSLAlarm(devCode, alarmRuleInfo)) { IDevice deviceDal = SensorHub.DALFactory.Device.Create(); AlarmRecordInfo alarmRecordInfo = new AlarmRecordInfo(); alarmRecordInfo.ACTIVE = true; alarmRecordInfo.DEVICE_CODE = devCode; alarmRecordInfo.DEVICE_ID = alarmRuleInfo.DeviceId; alarmRecordInfo.DEVICE_TYPE_NAME = deviceDal.getDevTypeByCode(devCode); alarmRecordInfo.ITEMNAME = "噪声值"; alarmRecordInfo.ITEMVALUE = djs[djs.Count - 1].DENSEDATA; alarmRecordInfo.MESSAGE_STATUS = 0; alarmRecordInfo.RECORDCODE = ""; alarmRecordInfo.RECORDDATE = System.DateTime.Now; alarmRecordInfo.MESSAGE = (int)SlNoiseAlarmEnum.OVER_THRESH + ""; List <int> devStates = new List <int>(); devStates.Add((int)SlNoiseAlarmEnum.OVER_THRESH); new BLL.AlarmRecord().deleteByMessage(alarmRecordInfo.DEVICE_CODE, devStates); List <Model.AlarmRecordInfo> list = new List <Model.AlarmRecordInfo>(); list.Add(alarmRecordInfo); alarmRecordDal.insert(list); } }