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 FlowDataScanner extends DeviceDataSupport implements DeviceDataScanner { @Override public List<AlarmMsgDTO> scanDeviceData() { List<AlarmMsgDTO> alarmMsgDTOList=new ArrayList<>(); String thresholdValue = alarmLevelConfig.getFlow(); List<Map<String, Object>> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( flowDataMap -> { String devcode = flowDataMap.get("DEVCODE").toString(); String insdata = flowDataMap.get("INSDATA").toString(); Integer isAlarm = isAlarm(insdata, thresholdValue); Integer mergeAlarm = 0; ScannerMapCommon.flowMap.put(devcode, isAlarm); if (ScannerMapCommon.pressMap.containsKey(devcode) && ScannerMapCommon.pressMap.get(devcode) == 1) { mergeAlarm = 1; } else { mergeAlarm = isAlarm; } alarmMsgDTOList.add(AlarmMsgDTO.builder() .devcode(devcode) .isAlarm(mergeAlarm) .build()); // sendAlarmMsg(devcode, mergeAlarm); } ); return alarmMsgDTOList; } }