| | |
| | | if(alarmInDB != null){ // TODO 校验温度点位和逻辑,很重要!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| | | //如果存在,同时当前温度大于2级,则更新温度和告警等级 |
| | | if(battStationTemp.getMaxTemp()>=level2AlarmTemp){ |
| | | //温度相同,查看下告警等级是否一样 |
| | | //温度相同,查看下告警等级是否需要调整 |
| | | //查看数据库内温度的告警等级和当前级别是否一致 |
| | | if(alarmInDB.getTemp().floatValue() == battStationTemp.getMaxTemp()){ |
| | | if((alarmInDB.getTemp().floatValue() == level2AlarmTemp |
| | | && alarmInDB.getLevel() == 2) |
| | | || |
| | | (alarmInDB.getTemp().floatValue() == level1AlarmTemp |
| | | && alarmInDB.getLevel() == 1) |
| | | ){ |
| | | Float temp = alarmInDB.getTemp(); |
| | | int levelInDB = alarmInDB.getLevel(); |
| | | int levelNow; |
| | | if(temp>=level1AlarmTemp){ |
| | | levelNow = 1; |
| | | }else{ |
| | | levelNow = 2; |
| | | } |
| | | |
| | | }else{ //告警等级不同,调整告警等级 |
| | | if(levelInDB != levelNow){ //告警等级不同,调整告警等级 |
| | | BattStationTempAlarm alarm = new BattStationTempAlarm(); |
| | | alarm.setLevel(alarmInDB.getLevel()==1?2:1); |
| | | alarm.setId(alarmInDB.getId()); |
| | | if(!alarmInDB.getMaxTempPoint().equals(battStationTemp.getMaxTempPoint())){ |
| | | alarm.setMaxTempPoint(battStationTemp.getMaxTempPoint()); |
| | | } |
| | | alarmService.updateById(alarm); |
| | | }else if(!alarmInDB.getMaxTempPoint().equals(battStationTemp.getMaxTempPoint())){ //告警等级相同,最大温度点位不同则更新点位 |
| | | BattStationTempAlarm alarm = new BattStationTempAlarm(); |
| | | alarm.setId(alarmInDB.getId()); |
| | | alarm.setMaxTempPoint(battStationTemp.getMaxTempPoint()); |
| | | alarmService.updateById(alarm); |
| | | } |
| | | |
| | |
| | | } else { |
| | | alarm.setLevel(2); |
| | | } |
| | | if(!alarmInDB.getMaxTempPoint().equals(battStationTemp.getMaxTempPoint())){ |
| | | alarm.setMaxTempPoint(battStationTemp.getMaxTempPoint()); |
| | | } |
| | | alarmService.updateById(alarm); |
| | | } |
| | | }else { |