| | |
| | | import com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper; |
| | | import com.ruoyi.alarm.camera.domain.ArdAlarmCamera; |
| | | import com.ruoyi.alarm.camera.mapper.ArdAlarmCameraMapper; |
| | | import com.ruoyi.alarm.digitization3.domain.ArdAlarmDigitization3; |
| | | import com.ruoyi.alarm.digitization3.mapper.ArdAlarmDigitization3Mapper; |
| | | import com.ruoyi.alarm.external.domain.ArdAlarmExternal; |
| | | import com.ruoyi.alarm.external.mapper.ArdAlarmExternalMapper; |
| | | import com.ruoyi.alarm.global.domain.GlobalAlarmCondition; |
| | |
| | | import com.ruoyi.alarm.global.service.IGlobalAlarmService; |
| | | import com.ruoyi.alarm.radar.domain.*; |
| | | import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper; |
| | | import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper; |
| | | import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMoveMapper; |
| | | import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper; |
| | | import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec; |
| | |
| | | @Slf4j(topic = "mqtt") |
| | | public class GlobalAlarmServiceImpl implements IGlobalAlarmService { |
| | | //region 依赖注入 |
| | | @Resource |
| | | private ArdAlarmDigitization3Mapper ardAlarmDigitization3Mapper; |
| | | @Resource |
| | | private ArdAlarmWallMapper ardAlarmWallMapper; |
| | | @Resource |
| | |
| | | countMap.put("1010", count1010); |
| | | int count1014 = ardAlarmTubeMapper.selectCountByAlarmTime(refreshTime); |
| | | countMap.put("1014", count1014); |
| | | int count1012 = ardAlarmDigitization3Mapper.selectCountByAlarmTime(refreshTime); |
| | | countMap.put("1012", count1012); |
| | | map.put("20000", countMap); |
| | | return map; |
| | | } |
| | |
| | | .setLatitude(ardAlarmWall.getLatitude()) |
| | | .setCount(ardAlarmWall.getCount()) |
| | | .setTotal(ardAlarmWall.getTotal()); |
| | | return globalAlarmData; |
| | | }).collect(Collectors.toList()); |
| | | case 1012: |
| | | List<ArdAlarmDigitization3> ardAlarmDigitization3s = ardAlarmDigitization3Mapper.selectListAllByCommand(refreshTime); |
| | | return ardAlarmDigitization3s.stream() |
| | | .map(ardAlarmDigitization3 -> { |
| | | GlobalAlarmData globalAlarmData = new GlobalAlarmData() |
| | | .setId(ardAlarmDigitization3.getId()) |
| | | .setName(ardAlarmDigitization3.getWellNo()) |
| | | .setAlarmType(ardAlarmDigitization3.getAlarmType()) |
| | | .setAlarmTime(ardAlarmDigitization3.getAlarmTime()) |
| | | .setLongitude(ardAlarmDigitization3.getLongitude()) |
| | | .setLatitude(ardAlarmDigitization3.getLatitude()) |
| | | .setAltitude(ardAlarmDigitization3.getAltitude()) |
| | | .setCount(ardAlarmDigitization3.getCount()) |
| | | .setTotal(ardAlarmDigitization3.getTotal()); |
| | | return globalAlarmData; |
| | | }).collect(Collectors.toList()); |
| | | case 1014: |
| | |
| | | GlobalAlarmDataList.addAll(alarmData1010); |
| | | } |
| | | |
| | | List<ArdAlarmDigitization3> ardAlarmDigitization3s = ardAlarmDigitization3Mapper.selectListAllByCommand(refreshTime); |
| | | List<GlobalAlarmData> alarmData1012 = ardAlarmDigitization3s.stream() |
| | | .map(ardAlarmDigitization3 -> { |
| | | GlobalAlarmData globalAlarmData = new GlobalAlarmData() |
| | | .setId(ardAlarmDigitization3.getId()) |
| | | .setName(ardAlarmDigitization3.getWellNo()) |
| | | .setAlarmTime(ardAlarmDigitization3.getAlarmTime()) |
| | | .setLongitude(ardAlarmDigitization3.getLongitude()) |
| | | .setLatitude(ardAlarmDigitization3.getLatitude()) |
| | | .setAltitude(ardAlarmDigitization3.getAltitude()) |
| | | .setCount(ardAlarmDigitization3.getCount()) |
| | | .setTotal(ardAlarmDigitization3.getTotal()) |
| | | .setAlarmType("1012"); |
| | | return globalAlarmData; |
| | | }).collect(Collectors.toList()); |
| | | if (alarmData1012.size() > 0) { |
| | | GlobalAlarmDataList.addAll(alarmData1012); |
| | | } |
| | | List<ArdAlarmTube> ardAlarmTubes = ardAlarmTubeMapper.selectListAllByCommand(refreshTime); |
| | | List<GlobalAlarmData> alarmData1014 = ardAlarmTubes.stream() |
| | | .map(ardAlarmTube -> { |
| | |
| | | aaw.setPageNum(pageNum); |
| | | aaw.setPageSize(pageSize); |
| | | return ardAlarmWallMapper.selectArdAlarmWallList(aaw); |
| | | case 1012: |
| | | ArdAlarmDigitization3 aad3 = new ArdAlarmDigitization3(); |
| | | aad3.setParams(params); |
| | | aad3.setPageNum(pageNum); |
| | | aad3.setPageSize(pageSize); |
| | | return ardAlarmDigitization3Mapper.selectArdAlarmDigitization3List(aad3); |
| | | case 1014: |
| | | ArdAlarmTube aat = new ArdAlarmTube(); |
| | | aat.setParams(params); |
| | |
| | | String alarmTime = fmtms.format(ardAlarmWall.getAlarmTime()); |
| | | ardAlarmWallMapper.updateViewTimeByUserId(userId, alarmTime, DateUtils.getTime()); |
| | | return ardAlarmWall; |
| | | } |
| | | case 1012: |
| | | ArdAlarmDigitization3 ardAlarmDigitization3 = ardAlarmDigitization3Mapper.selectArdAlarmDigitization3ById(condition.getId()); |
| | | if (StringUtils.isNotNull(ardAlarmDigitization3)) { |
| | | String wellNo = ardAlarmDigitization3.getWellNo(); |
| | | String alarmTime = fmtms.format(ardAlarmDigitization3.getAlarmTime()); |
| | | ardAlarmDigitization3Mapper.updateViewTimeByWellNo(wellNo, alarmTime, DateUtils.getTime()); |
| | | return ardAlarmDigitization3; |
| | | } |
| | | case 1014: |
| | | ArdAlarmTube ardAlarmTube = ardAlarmTubeMapper.selectArdAlarmTubeById(condition.getId()); |
| | |
| | | radarMoveGuide(ardAlarmRadarMoves, radarAlarmData); |
| | | radarFireGuide(ardAlarmRadarFires, radarAlarmData); |
| | | radarPumpGuide(ardAlarmRadarPumps, radarAlarmData); |
| | | //endregion |
| | | break; |
| | | case "external": |
| | | //region 处理外联报警 |
| | |
| | | int aaak = ardAlarmApponekeyMapper.insertArdAlarmApponekey(ardAlarmApponekey); |
| | | if (aaak > 0) { |
| | | log.debug("apponekey入库成功:" + ardAlarmApponekey); |
| | | } |
| | | //endregion |
| | | break; |
| | | case "digitization3": |
| | | //region 三厂数字化报警 |
| | | ArdAlarmDigitization3 ardAlarmDigitization3 = JSONObject.parseObject(message, ArdAlarmDigitization3.class); |
| | | //获取经纬度 |
| | | ArdAlarmpointsWell Well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(ardAlarmDigitization3.getWellNo()); |
| | | if(Well!=null) { |
| | | ardAlarmDigitization3.setLongitude(Well.getLongitude()); |
| | | ardAlarmDigitization3.setLatitude(Well.getLatitude()); |
| | | ardAlarmDigitization3.setAltitude(Well.getAltitude()); |
| | | } |
| | | ardAlarmDigitization3.setCreateTime(new Date()); |
| | | int aad = ardAlarmDigitization3Mapper.insertArdAlarmDigitization3(ardAlarmDigitization3); |
| | | if (aad > 0) { |
| | | log.debug("digitization3入库成功:" + ardAlarmDigitization3); |
| | | } |
| | | //endregion |
| | | break; |
| | |
| | | return minDistanceCameraId; |
| | | } |
| | | |
| | | /** |
| | | * 雷达引导入队 |
| | | */ |
| | | |
| | | //雷达引导入队(获取相机) |
| | | private void radarGuideToQueue(String alarmId, String radarId, String name, String alarmType, Date createTime, double[] coordinate) { |
| | | int index = name.indexOf("("); |
| | | String alarmpointName = name.substring(0, index); |
| | |
| | | log.debug("未获取到报警点关联的光电"); |
| | | } |
| | | } |
| | | |
| | | |
| | | //雷达移动引导 |
| | | private void radarMoveGuide(List<ArdAlarmRadarMove> ardAlarmRadarMoves, RadarAlarmData radarAlarmData) { |
| | | //按兴趣点去重,然后按引导逻辑进行引导入队 |
| | | ardAlarmRadarMoves = ardAlarmRadarMoves.stream() |
| | |
| | | } |
| | | //endregion |
| | | } |
| | | |
| | | //雷达防火引导 |
| | | private void radarFireGuide(List<ArdAlarmRadarFire> ardAlarmRadarFires, RadarAlarmData radarAlarmData) { |
| | | //按兴趣点去重,然后按引导逻辑进行引导入队 |
| | | ardAlarmRadarFires = ardAlarmRadarFires.stream() |
| | |
| | | } |
| | | //endregion |
| | | } |
| | | |
| | | //雷达抽油机停机引导 |
| | | private void radarPumpGuide(List<ArdAlarmRadarPump> ardAlarmRadarPumps, RadarAlarmData radarAlarmData) { |
| | | //按兴趣点去重,然后按引导逻辑进行引导入队 |
| | | ardAlarmRadarPumps = ardAlarmRadarPumps.stream() |