package com.casic.service.scanner; import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; @Service public class PressDataScanner extends DeviceDataSupport implements DeviceDataScanner { @Override public List<AlarmMsgDTO> scanDeviceData() { List<AlarmMsgDTO> alarmMsgDTOList=new ArrayList<>(); String thresholdValue = alarmLevelConfig.getPressure(); List<Map<String, Object>> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( pressDataMap -> { String devcode = pressDataMap.get("DEVCODE").toString(); String pressdata = pressDataMap.get("PRESSDATA").toString(); Integer isAlarm = isAlarm(pressdata, thresholdValue); ScannerMapCommon.pressMap.put(devcode, isAlarm); Integer mergeAlarm = 0; if (ScannerMapCommon.flowMap.containsKey(devcode) && ScannerMapCommon.flowMap.get(devcode) == 1) { mergeAlarm = 1; } else { mergeAlarm = isAlarm; } alarmMsgDTOList.add(AlarmMsgDTO.builder() .devcode(devcode) .isAlarm(mergeAlarm) .build()); // sendAlarmMsg(devcode, mergeAlarm); } ); return alarmMsgDTOList; } }