Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }