From 33aed56cfbaad870dbf4780688ba6b08d0ee806c Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期四, 28 九月 2023 11:02:13 +0800 Subject: [PATCH] 修改雷达引导持续报警每5分钟再次引导一次 --- ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 916 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 773 insertions(+), 143 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java index 385f1d5..cbfef91 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java @@ -7,6 +7,8 @@ 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; @@ -14,13 +16,16 @@ import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.global.service.IGlobalAlarmService; -import com.ruoyi.alarm.radar.domain.ArdAlarmRadar; -import com.ruoyi.alarm.radar.domain.RadarAlarmData; -import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper; +import com.ruoyi.alarm.radar.domain.*; +import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper; +import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMoveMapper; +import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper; import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec; import com.ruoyi.alarm.steal.mapper.ArdAlarmStealelecMapper; import com.ruoyi.alarm.tube.domain.ArdAlarmTube; import com.ruoyi.alarm.tube.mapper.ArdAlarmTubeMapper; +import com.ruoyi.alarm.wall.domain.ArdAlarmWall; +import com.ruoyi.alarm.wall.mapper.ArdAlarmWallMapper; import com.ruoyi.alarmpoints.tube.domain.ArdTubes; import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails; import com.ruoyi.alarmpoints.tube.mapper.ArdTubesDetailsMapper; @@ -28,14 +33,17 @@ import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.ConfigUtils; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.device.external.domain.ArdEquipExternal; import com.ruoyi.device.external.mapper.ArdEquipExternalMapper; +import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper; +import com.ruoyi.utils.gis.GisUtil; import com.ruoyi.utils.tools.ArdTool; -import com.ruoyi.utils.tools.GisTool; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; @@ -49,7 +57,6 @@ import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -66,6 +73,10 @@ public class GlobalAlarmServiceImpl implements IGlobalAlarmService { //region 渚濊禆娉ㄥ叆 @Resource + private ArdAlarmDigitization3Mapper ardAlarmDigitization3Mapper; + @Resource + private ArdAlarmWallMapper ardAlarmWallMapper; + @Resource private ArdAlarmApponekeyMapper ardAlarmApponekeyMapper; @Resource private ArdEquipExternalMapper ardEquipExternalMapper; @@ -73,8 +84,14 @@ private ArdAlarmAccessMapper ardAlarmAccessMapper; @Resource private ArdAlarmExternalMapper ardAlarmExternalMapper; + //@Resource + //private ArdAlarmRadarMapper ardAlarmRadarMapper; @Resource - private ArdAlarmRadarMapper ardAlarmRadarMapper; + private ArdAlarmRadarMoveMapper ardAlarmRadarMoveMapper; + @Resource + private ArdAlarmRadarFireMapper ardAlarmRadarFireMapper; + @Resource + private ArdAlarmRadarPumpMapper ardAlarmRadarPumpMapper; @Resource private ArdAlarmStealelecMapper ardAlarmStealelecMapper; @Resource @@ -95,9 +112,9 @@ private RedisCache redisCache; @Resource private QueueManager queueManager; + @Resource + private ArdEquipRadarMapper ardEquipRadarMapper; //endregion - //姣忎釜鐐逛綅鏈紩瀵兼鏁� - private Map<String, Integer> unGuideCountMap = new HashMap<>(); /** * @鎻忚堪 鏌ヨ鎵�鏈夋姤璀︾殑褰撳墠鏁伴噺 @@ -116,11 +133,11 @@ countMap.put("1001", count1001); int count1002 = ardAlarmCameraMapper.selectCountByAlarmTime(refreshTime); countMap.put("1002", count1002); - int count1003 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime, "杩愬姩鐩爣妫�娴�"); + int count1003 = ardAlarmRadarMoveMapper.selectCountByAlarmTime(refreshTime); countMap.put("1003", count1003); - int count1004 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime, "鐑簮妫�娴�"); + int count1004 = ardAlarmRadarFireMapper.selectCountByAlarmTime(refreshTime); countMap.put("1004", count1004); - int count1007 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime, "闆疯揪鎶芥补鏈哄仠鏈�"); + int count1007 = ardAlarmRadarPumpMapper.selectCountByAlarmTime(refreshTime); countMap.put("1007", count1007); int count1005 = ardAlarmExternalMapper.selectCountByAlarmTime(refreshTime, "闃插尯鎶ヨ"); countMap.put("1005", count1005); @@ -128,8 +145,12 @@ countMap.put("1006", count1006); int count1009 = ardAlarmApponekeyMapper.selectCountByAlarmTime(refreshTime); countMap.put("1009", count1009); + int count1010 = ardAlarmWallMapper.selectCountByAlarmTime(refreshTime); + 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; } @@ -176,31 +197,31 @@ return globalAlarmData; }).collect(Collectors.toList()); case 1003: - List<ArdAlarmRadar> ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "杩愬姩鐩爣妫�娴�"); - return ardAlarmRadars.stream() - .map(ardAlarmRadar -> { + List<ArdAlarmRadarMove> ardAlarmRadarMoves = ardAlarmRadarMoveMapper.selectListAllByCommand(refreshTime); + return ardAlarmRadarMoves.stream() + .map(ardAlarmRadarMove -> { GlobalAlarmData globalAlarmData = new GlobalAlarmData() - .setId(ardAlarmRadar.getId()) - .setName(ardAlarmRadar.getName()) - .setAlarmTime(ardAlarmRadar.getAlarmTime()) - .setLongitude(ardAlarmRadar.getLongitude()) - .setLatitude(ardAlarmRadar.getLatitude()) - .setCount(ardAlarmRadar.getCount()) - .setTotal(ardAlarmRadar.getTotal()); + .setId(ardAlarmRadarMove.getId()) + .setName(ardAlarmRadarMove.getName()) + .setAlarmTime(ardAlarmRadarMove.getAlarmTime()) + .setLongitude(ardAlarmRadarMove.getLongitude()) + .setLatitude(ardAlarmRadarMove.getLatitude()) + .setCount(ardAlarmRadarMove.getCount()) + .setTotal(ardAlarmRadarMove.getTotal()); return globalAlarmData; }).collect(Collectors.toList()); case 1004: - ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "鐑簮妫�娴�"); - return ardAlarmRadars.stream() - .map(ardAlarmRadar -> { + List<ArdAlarmRadarFire> ardAlarmRadarFires = ardAlarmRadarFireMapper.selectListAllByCommand(refreshTime); + return ardAlarmRadarFires.stream() + .map(ardAlarmRadarFire -> { GlobalAlarmData globalAlarmData = new GlobalAlarmData() - .setId(ardAlarmRadar.getId()) - .setName(ardAlarmRadar.getName()) - .setAlarmTime(ardAlarmRadar.getAlarmTime()) - .setLongitude(ardAlarmRadar.getLongitude()) - .setLatitude(ardAlarmRadar.getLatitude()) - .setCount(ardAlarmRadar.getCount()) - .setTotal(ardAlarmRadar.getTotal()); + .setId(ardAlarmRadarFire.getId()) + .setName(ardAlarmRadarFire.getName()) + .setAlarmTime(ardAlarmRadarFire.getAlarmTime()) + .setLongitude(ardAlarmRadarFire.getLongitude()) + .setLatitude(ardAlarmRadarFire.getLatitude()) + .setCount(ardAlarmRadarFire.getCount()) + .setTotal(ardAlarmRadarFire.getTotal()); return globalAlarmData; }).collect(Collectors.toList()); case 1005: @@ -232,17 +253,17 @@ return globalAlarmData; }).collect(Collectors.toList()); case 1007: - ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "闆疯揪鎶芥补鏈哄仠鏈�"); - return ardAlarmRadars.stream() - .map(ardAlarmRadar -> { + List<ArdAlarmRadarPump> ardAlarmRadarPumps = ardAlarmRadarPumpMapper.selectListAllByCommand(refreshTime); + return ardAlarmRadarPumps.stream() + .map(ardAlarmRadarPump -> { GlobalAlarmData globalAlarmData = new GlobalAlarmData() - .setId(ardAlarmRadar.getId()) - .setName(ardAlarmRadar.getName()) - .setAlarmTime(ardAlarmRadar.getAlarmTime()) - .setLongitude(ardAlarmRadar.getLongitude()) - .setLatitude(ardAlarmRadar.getLatitude()) - .setCount(ardAlarmRadar.getCount()) - .setTotal(ardAlarmRadar.getTotal()); + .setId(ardAlarmRadarPump.getId()) + .setName(ardAlarmRadarPump.getName()) + .setAlarmTime(ardAlarmRadarPump.getAlarmTime()) + .setLongitude(ardAlarmRadarPump.getLongitude()) + .setLatitude(ardAlarmRadarPump.getLatitude()) + .setCount(ardAlarmRadarPump.getCount()) + .setTotal(ardAlarmRadarPump.getTotal()); return globalAlarmData; }).collect(Collectors.toList()); case 1009: @@ -257,6 +278,36 @@ .setLatitude(ardAlarmApponekey.getLatitude()) .setCount(ardAlarmApponekey.getCount()) .setTotal(ardAlarmApponekey.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1010: + List<ArdAlarmWall> ardAlarmWalls = ardAlarmWallMapper.selectListAllByCommand(refreshTime); + return ardAlarmWalls.stream() + .map(ardAlarmWall -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmWall.getId()) + .setName(ardAlarmWall.getWallName()) + .setAlarmTime(ardAlarmWall.getAlarmTime()) + .setLongitude(ardAlarmWall.getLongitude()) + .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: @@ -277,6 +328,387 @@ default: return null; } + } + + /** + * 鑾峰彇鐑姏鍥炬暟鎹� + * 鍒樿嫃涔� + * 2023/9/16 8:38:54 + */ + @Override + public List<GlobalAlarmData> selectThermalMap(GlobalAlarmCondition condition) { + String refreshTime = condition.getRefreshTime(); + switch (condition.getCommand()) { + case 1001: + List<ArdAlarmStealelec> ardAlarmStealelecs = ardAlarmStealelecMapper.selectListAllByCommand(refreshTime); + return ardAlarmStealelecs.stream() + .map(ardAlarmStealelec -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmStealelec.getId()) + .setName(ardAlarmStealelec.getDescribe()) + .setAlarmTime(ardAlarmStealelec.getStartTime()) + .setLongitude(ardAlarmStealelec.getLongitude()) + .setLatitude(ardAlarmStealelec.getLatitude()) + .setAltitude(ardAlarmStealelec.getAltitude()) + .setCount(ardAlarmStealelec.getCount()) + .setTotal(ardAlarmStealelec.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1002: + List<ArdAlarmCamera> ardAlarmCameras = ardAlarmCameraMapper.selectListAllByCommand(refreshTime); + return ardAlarmCameras.stream() + .map(ardAlarmCamera -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmCamera.getId()) + .setName(ardAlarmCamera.getCameraName()) + .setAlarmTime(ardAlarmCamera.getAlarmTime()) + .setLongitude(ardAlarmCamera.getLongitude()) + .setLatitude(ardAlarmCamera.getLatitude()) + .setCount(ardAlarmCamera.getCount()) + .setTotal(ardAlarmCamera.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1003: + //浠庣紦瀛樿幏鍙栨暟鎹� + //String key = "radar_alarm:" + DateUtils.getDate(); + //List<ArdAlarmRadarMove> ardAlarmRadarMoves = redisCache.getCacheList(key); + //Map<String, List<ArdAlarmRadarMove>> groupedData = ardAlarmRadarMoves.stream() + // .collect(Collectors.groupingBy(ArdAlarmRadarMove::getName)); + //List<GlobalAlarmData> globalAlarmDataList = new ArrayList<>(); + //for (String name : groupedData.keySet()) { + // List<ArdAlarmRadarMove> ardAlarmRadarMove = groupedData.get(name); + // GlobalAlarmData globalAlarmData = new GlobalAlarmData() + // .setId(ardAlarmRadarMove.get(0).getId()) + // .setName(name) + // .setAlarmTime(ardAlarmRadarMove.get(0).getAlarmTime()) + // .setLongitude(ardAlarmRadarMove.get(0).getLongitude()) + // .setLatitude(ardAlarmRadarMove.get(0).getLatitude()) + // .setTotal(ardAlarmRadarMove.size()); + // globalAlarmDataList.add(globalAlarmData); + //} + //return globalAlarmDataList; + //浠庢暟鎹簱鑾峰彇 + List<ArdAlarmRadarMove> ardAlarmRadarMoves = ardAlarmRadarMoveMapper.selectListAllByCommand(refreshTime); + return ardAlarmRadarMoves.stream() + .map(ardAlarmRadarMove -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmRadarMove.getId()) + .setName(ardAlarmRadarMove.getName()) + .setAlarmTime(ardAlarmRadarMove.getAlarmTime()) + .setLongitude(ardAlarmRadarMove.getLongitude()) + .setLatitude(ardAlarmRadarMove.getLatitude()) + .setCount(ardAlarmRadarMove.getCount()) + .setTotal(ardAlarmRadarMove.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1004: + List<ArdAlarmRadarFire> ardAlarmRadarFires = ardAlarmRadarFireMapper.selectListAllByCommand(refreshTime); + return ardAlarmRadarFires.stream() + .map(ardAlarmRadarFire -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmRadarFire.getId()) + .setName(ardAlarmRadarFire.getName()) + .setAlarmTime(ardAlarmRadarFire.getAlarmTime()) + .setLongitude(ardAlarmRadarFire.getLongitude()) + .setLatitude(ardAlarmRadarFire.getLatitude()) + .setCount(ardAlarmRadarFire.getCount()) + .setTotal(ardAlarmRadarFire.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1005: + List<ArdAlarmExternal> ardAlarmExternals = ardAlarmExternalMapper.selectListAllByCommand(refreshTime, "闃插尯鎶ヨ"); + return ardAlarmExternals.stream() + .map(ardAlarmExternal -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmExternal.getId()) + .setName(ardAlarmExternal.getAlarmName()) + .setAlarmTime(ardAlarmExternal.getAlarmTime()) + .setLongitude(ardAlarmExternal.getLongitude()) + .setLatitude(ardAlarmExternal.getLatitude()) + .setCount(ardAlarmExternal.getCount()) + .setTotal(ardAlarmExternal.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1006: + List<ArdAlarmAccess> ardAlarmAccesses = ardAlarmAccessMapper.selectListAllByCommand(refreshTime); + return ardAlarmAccesses.stream() + .map(ardAlarmAccess -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmAccess.getId()) + .setName(ardAlarmAccess.getAcsName()) + .setAlarmTime(ardAlarmAccess.getAlarmTime()) + .setLongitude(ardAlarmAccess.getLongitude()) + .setLatitude(ardAlarmAccess.getLatitude()) + .setCount(ardAlarmAccess.getCount()) + .setTotal(ardAlarmAccess.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1007: + List<ArdAlarmRadarPump> ardAlarmRadarPumps = ardAlarmRadarPumpMapper.selectListAllByCommand(refreshTime); + return ardAlarmRadarPumps.stream() + .map(ardAlarmRadarPump -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmRadarPump.getId()) + .setName(ardAlarmRadarPump.getName()) + .setAlarmTime(ardAlarmRadarPump.getAlarmTime()) + .setLongitude(ardAlarmRadarPump.getLongitude()) + .setLatitude(ardAlarmRadarPump.getLatitude()) + .setCount(ardAlarmRadarPump.getCount()) + .setTotal(ardAlarmRadarPump.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1009: + List<ArdAlarmApponekey> ardAlarmApponekeys = ardAlarmApponekeyMapper.selectListAllByCommand(refreshTime); + return ardAlarmApponekeys.stream() + .map(ardAlarmApponekey -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmApponekey.getId()) + .setName(ardAlarmApponekey.getName()) + .setAlarmTime(ardAlarmApponekey.getCreateTime()) + .setLongitude(ardAlarmApponekey.getLongitude()) + .setLatitude(ardAlarmApponekey.getLatitude()) + .setCount(ardAlarmApponekey.getCount()) + .setTotal(ardAlarmApponekey.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1010: + List<ArdAlarmWall> ardAlarmWalls = ardAlarmWallMapper.selectListAllByCommand(refreshTime); + return ardAlarmWalls.stream() + .map(ardAlarmWall -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmWall.getId()) + .setName(ardAlarmWall.getWallName()) + .setAlarmTime(ardAlarmWall.getAlarmTime()) + .setLongitude(ardAlarmWall.getLongitude()) + .setLatitude(ardAlarmWall.getLatitude()) + .setCount(ardAlarmWall.getCount()) + .setTotal(ardAlarmWall.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1014: + List<ArdAlarmTube> ardAlarmTubes = ardAlarmTubeMapper.selectListAllByCommand(refreshTime); + return ardAlarmTubes.stream() + .map(ardAlarmTube -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmTube.getId()) + .setName(ardAlarmTube.getTubeName()) + .setAlarmTime(ardAlarmTube.getAlarmTime()) + .setLongitude(ardAlarmTube.getLongitude()) + .setLatitude(ardAlarmTube.getLatitude()) + .setAltitude(ardAlarmTube.getAltitude()) + .setCount(ardAlarmTube.getCount()) + .setTotal(ardAlarmTube.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + default: + return null; + } + } + + @Override + public List<GlobalAlarmData> selectAlarmLogsAll() { + List<GlobalAlarmData> GlobalAlarmDataList = new ArrayList<>(); + String refreshTime = configService.selectConfigByKey("refreshTime"); + List<ArdAlarmStealelec> ardAlarmStealelecs = ardAlarmStealelecMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1001 = ardAlarmStealelecs.stream() + .map(ardAlarmStealelec -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmStealelec.getId()) + .setName(ardAlarmStealelec.getDescribe()) + .setAlarmTime(ardAlarmStealelec.getStartTime()) + .setLongitude(ardAlarmStealelec.getLongitude()) + .setLatitude(ardAlarmStealelec.getLatitude()) + .setAltitude(ardAlarmStealelec.getAltitude()) + .setCount(ardAlarmStealelec.getCount()) + .setTotal(ardAlarmStealelec.getTotal()) + .setAlarmType("1001"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1001.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1001); + } + + List<ArdAlarmCamera> ardAlarmCameras = ardAlarmCameraMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1002 = ardAlarmCameras.stream() + .map(ardAlarmCamera -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmCamera.getId()) + .setName(ardAlarmCamera.getCameraName()) + .setAlarmTime(ardAlarmCamera.getAlarmTime()) + .setLongitude(ardAlarmCamera.getLongitude()) + .setLatitude(ardAlarmCamera.getLatitude()) + .setCount(ardAlarmCamera.getCount()) + .setTotal(ardAlarmCamera.getTotal()) + .setAlarmType("1002"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1002.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1002); + } + + List<ArdAlarmRadarMove> ardAlarmRadarMoves = ardAlarmRadarMoveMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1003 = ardAlarmRadarMoves.stream() + .map(ardAlarmRadarMove -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmRadarMove.getId()) + .setName(ardAlarmRadarMove.getName()) + .setAlarmTime(ardAlarmRadarMove.getAlarmTime()) + .setLongitude(ardAlarmRadarMove.getLongitude()) + .setLatitude(ardAlarmRadarMove.getLatitude()) + .setCount(ardAlarmRadarMove.getCount()) + .setTotal(ardAlarmRadarMove.getTotal()) + .setAlarmType("1003"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1003.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1003); + } + + List<ArdAlarmRadarFire> ardAlarmRadarFires = ardAlarmRadarFireMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1004 = ardAlarmRadarFires.stream() + .map(ardAlarmRadarFire -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmRadarFire.getId()) + .setName(ardAlarmRadarFire.getName()) + .setAlarmTime(ardAlarmRadarFire.getAlarmTime()) + .setLongitude(ardAlarmRadarFire.getLongitude()) + .setLatitude(ardAlarmRadarFire.getLatitude()) + .setCount(ardAlarmRadarFire.getCount()) + .setTotal(ardAlarmRadarFire.getTotal()) + .setAlarmType("1004"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1004.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1004); + } + + List<ArdAlarmExternal> ardAlarmExternals = ardAlarmExternalMapper.selectListAllByCommand(refreshTime, "闃插尯鎶ヨ"); + List<GlobalAlarmData> alarmData1005 = ardAlarmExternals.stream() + .map(ardAlarmExternal -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmExternal.getId()) + .setName(ardAlarmExternal.getAlarmName()) + .setAlarmTime(ardAlarmExternal.getAlarmTime()) + .setLongitude(ardAlarmExternal.getLongitude()) + .setLatitude(ardAlarmExternal.getLatitude()) + .setCount(ardAlarmExternal.getCount()) + .setTotal(ardAlarmExternal.getTotal()) + .setAlarmType("1005"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1005.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1005); + } + + List<ArdAlarmAccess> ardAlarmAccesses = ardAlarmAccessMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1006 = ardAlarmAccesses.stream() + .map(ardAlarmAccess -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmAccess.getId()) + .setName(ardAlarmAccess.getAcsName()) + .setAlarmTime(ardAlarmAccess.getAlarmTime()) + .setLongitude(ardAlarmAccess.getLongitude()) + .setLatitude(ardAlarmAccess.getLatitude()) + .setCount(ardAlarmAccess.getCount()) + .setTotal(ardAlarmAccess.getTotal()) + .setAlarmType("1006"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1006.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1006); + } + + List<ArdAlarmRadarPump> ardAlarmRadarPumps = ardAlarmRadarPumpMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1007 = ardAlarmRadarPumps.stream() + .map(ardAlarmRadarPump -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmRadarPump.getId()) + .setName(ardAlarmRadarPump.getName()) + .setAlarmTime(ardAlarmRadarPump.getAlarmTime()) + .setLongitude(ardAlarmRadarPump.getLongitude()) + .setLatitude(ardAlarmRadarPump.getLatitude()) + .setCount(ardAlarmRadarPump.getCount()) + .setTotal(ardAlarmRadarPump.getTotal()) + .setAlarmType("1007"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1007.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1007); + } + + List<ArdAlarmApponekey> ardAlarmApponekeys = ardAlarmApponekeyMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1009 = ardAlarmApponekeys.stream() + .map(ardAlarmApponekey -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmApponekey.getId()) + .setName(ardAlarmApponekey.getName()) + .setAlarmTime(ardAlarmApponekey.getCreateTime()) + .setLongitude(ardAlarmApponekey.getLongitude()) + .setLatitude(ardAlarmApponekey.getLatitude()) + .setCount(ardAlarmApponekey.getCount()) + .setTotal(ardAlarmApponekey.getTotal()) + .setAlarmType("1009"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1009.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1009); + } + + List<ArdAlarmWall> ardAlarmWalls = ardAlarmWallMapper.selectListAllByCommand(refreshTime); + List<GlobalAlarmData> alarmData1010 = ardAlarmWalls.stream() + .map(ardAlarmWall -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmWall.getId()) + .setName(ardAlarmWall.getWallName()) + .setAlarmTime(ardAlarmWall.getCreateTime()) + .setLongitude(ardAlarmWall.getLongitude()) + .setLatitude(ardAlarmWall.getLatitude()) + .setCount(ardAlarmWall.getCount()) + .setTotal(ardAlarmWall.getTotal()) + .setAlarmType("1010"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1010.size() > 0) { + 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 -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmTube.getId()) + .setName(ardAlarmTube.getTubeName()) + .setAlarmTime(ardAlarmTube.getAlarmTime()) + .setLongitude(ardAlarmTube.getLongitude()) + .setLatitude(ardAlarmTube.getLatitude()) + .setAltitude(ardAlarmTube.getAltitude()) + .setCount(ardAlarmTube.getCount()) + .setTotal(ardAlarmTube.getTotal()) + .setAlarmType("1014"); + return globalAlarmData; + }).collect(Collectors.toList()); + if (alarmData1014.size() > 0) { + GlobalAlarmDataList.addAll(alarmData1014); + } + return GlobalAlarmDataList; } /** @@ -306,26 +738,26 @@ aac.setPageSize(pageSize); return ardAlarmCameraMapper.selectArdAlarmCameraList(aac); case 1003: - ArdAlarmRadar aar = new ArdAlarmRadar(); - aar.setParams(params); - aar.setPageNum(pageNum); - aar.setPageSize(pageSize); - aar.setAlarmType("杩愬姩鐩爣妫�娴�"); - return ardAlarmRadarMapper.selectArdAlarmRadarList(aar); + ArdAlarmRadarMove aarm = new ArdAlarmRadarMove(); + aarm.setParams(params); + aarm.setPageNum(pageNum); + aarm.setPageSize(pageSize); + aarm.setAlarmType("杩愬姩鐩爣妫�娴�"); + return ardAlarmRadarMoveMapper.selectArdAlarmRadarMoveList(aarm); case 1004: - ArdAlarmRadar aarr = new ArdAlarmRadar(); - aarr.setParams(params); - aarr.setPageNum(pageNum); - aarr.setPageSize(pageSize); - aarr.setAlarmType("鐑簮妫�娴�"); - return ardAlarmRadarMapper.selectArdAlarmRadarList(aarr); + ArdAlarmRadarFire aarf = new ArdAlarmRadarFire(); + aarf.setParams(params); + aarf.setPageNum(pageNum); + aarf.setPageSize(pageSize); + aarf.setAlarmType("鐑簮妫�娴�"); + return ardAlarmRadarFireMapper.selectArdAlarmRadarFireList(aarf); case 1007: - ArdAlarmRadar aarrr = new ArdAlarmRadar(); - aarrr.setParams(params); - aarrr.setPageNum(pageNum); - aarrr.setPageSize(pageSize); - aarrr.setAlarmType("闆疯揪鎶芥补鏈哄仠鏈�"); - return ardAlarmRadarMapper.selectArdAlarmRadarList(aarrr); + ArdAlarmRadarPump aarp = new ArdAlarmRadarPump(); + aarp.setParams(params); + aarp.setPageNum(pageNum); + aarp.setPageSize(pageSize); + aarp.setAlarmType("闆疯揪鎶芥补鏈哄仠鏈�"); + return ardAlarmRadarPumpMapper.selectArdAlarmRadarPumpList(aarp); case 1005: ArdAlarmExternal aae = new ArdAlarmExternal(); aae.setParams(params); @@ -346,6 +778,18 @@ aaak.setPageNum(pageNum); aaak.setPageSize(pageSize); return ardAlarmApponekeyMapper.selectArdAlarmApponekeyList(aaak); + case 1010: + ArdAlarmWall aaw = new ArdAlarmWall(); + aaw.setParams(params); + 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); @@ -367,6 +811,7 @@ @Override public Object updateAlarmViewTime(GlobalAlarmCondition condition) { SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat fmtms = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); switch (condition.getCommand()) { case 1001: ArdAlarmStealelec ardAlarmStealelec = ardAlarmStealelecMapper.selectByPrimaryKey(condition.getId()); @@ -385,15 +830,28 @@ return ardAlarmCamera; } case 1003: + ArdAlarmRadarMove ardAlarmRadarMove = ardAlarmRadarMoveMapper.selectArdAlarmRadarMoveById(condition.getId()); + if (StringUtils.isNotNull(ardAlarmRadarMove)) { + String name = ardAlarmRadarMove.getName(); + String alarmTime = fmt.format(ardAlarmRadarMove.getAlarmTime()); + ardAlarmRadarMoveMapper.updateViewTimeByCondition(name, alarmTime, DateUtils.getTime()); + return ardAlarmRadarMove; + } case 1004: + ArdAlarmRadarFire ardAlarmRadarFire = ardAlarmRadarFireMapper.selectArdAlarmRadarFireById(condition.getId()); + if (StringUtils.isNotNull(ardAlarmRadarFire)) { + String name = ardAlarmRadarFire.getName(); + String alarmTime = fmt.format(ardAlarmRadarFire.getAlarmTime()); + ardAlarmRadarFireMapper.updateViewTimeByCondition(name, alarmTime, DateUtils.getTime()); + return ardAlarmRadarFire; + } case 1007: - ArdAlarmRadar ardAlarmRadar = ardAlarmRadarMapper.selectArdAlarmRadarById(condition.getId()); - if (StringUtils.isNotNull(ardAlarmRadar)) { - String name = ardAlarmRadar.getName(); - String alarmType = ardAlarmRadar.getAlarmType(); - String alarmTime = fmt.format(ardAlarmRadar.getAlarmTime()); - ardAlarmRadarMapper.updateViewTimeByCondition(name, alarmType, alarmTime, DateUtils.getTime()); - return ardAlarmRadar; + ArdAlarmRadarPump ardAlarmRadarPump = ardAlarmRadarPumpMapper.selectArdAlarmRadarPumpById(condition.getId()); + if (StringUtils.isNotNull(ardAlarmRadarPump)) { + String name = ardAlarmRadarPump.getName(); + String alarmTime = fmt.format(ardAlarmRadarPump.getAlarmTime()); + ardAlarmRadarPumpMapper.updateViewTimeByCondition(name, alarmTime, DateUtils.getTime()); + return ardAlarmRadarPump; } case 1005: ArdAlarmExternal ardAlarmExternal = ardAlarmExternalMapper.selectArdAlarmExternalById(condition.getId()); @@ -419,6 +877,22 @@ String alarmTime = fmt.format(ardAlarmApponekey.getCreateTime()); ardAlarmApponekeyMapper.updateViewTimeByUserId(userId, alarmTime, DateUtils.getTime()); return ardAlarmApponekey; + } + case 1010: + ArdAlarmWall ardAlarmWall = ardAlarmWallMapper.selectArdAlarmWallById(condition.getId()); + if (StringUtils.isNotNull(ardAlarmWall)) { + String userId = ardAlarmWall.getUserId(); + 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()); @@ -511,81 +985,171 @@ break; case "radar": //region 澶勭悊闆疯揪鎶ヨ + String mergeTime = ConfigUtils.getConfigValue("radarMergeTime"); + Integer radarMergeTime= mergeTime==null||"".equals(mergeTime)?10:Integer.valueOf(mergeTime); RadarAlarmData radarAlarmData = JSONObject.parseObject(message, RadarAlarmData.class); List<ArdAlarmRadar> ardAlarmRadars = radarAlarmData.getArdAlarmRadars(); for (ArdAlarmRadar ardAlarmRadar : ardAlarmRadars) { String uuid = IdUtils.simpleUUID(); - ardAlarmRadar.setId(uuid);//鎶ヨID - ardAlarmRadar.setAlarmTime(radarAlarmData.getAlarmTime());//鎶ヨ鏃堕棿 + String radarId = radarAlarmData.getRadarId(); String alarmpointName = ardAlarmRadar.getName();//鍏磋叮鐐瑰悕绉� - ardAlarmRadar.setName(ardAlarmRadar.getName() + "(" + radarAlarmData.getRadarName() + ")");//鎶ヨ鐐瑰悕绉� - ardAlarmRadar.setCreateTime(new Date());//鎺ユ敹鏃堕棿 - + Double longitude = ardAlarmRadar.getLongitude(); + Double latitude = ardAlarmRadar.getLatitude(); + String targetId = ardAlarmRadar.getTargetId(); switch (ardAlarmRadar.getAlarmType()) { case "杩愬姩鐩爣妫�娴�": - String alarmType = "sys_radar_move"; + ArdAlarmRadarMove ardAlarmRadarMove = new ArdAlarmRadarMove(); + ardAlarmRadarMove.setId(uuid); + ardAlarmRadarMove.setTargetId(targetId); + ardAlarmRadarMove.setAlarmTime(radarAlarmData.getAlarmTime()); + ardAlarmRadarMove.setCreateTime(DateUtils.covertTime(new Date())); + ardAlarmRadarMove.setName(alarmpointName + "(" + radarAlarmData.getRadarName() + ")"); + ardAlarmRadarMove.setAlarmType("杩愬姩鐩爣妫�娴�"); + ardAlarmRadarMove.setLongitude(longitude); + ardAlarmRadarMove.setLatitude(latitude); + ardAlarmRadarMove.setUpdateTime(radarAlarmData.getAlarmTime()); + ardAlarmRadarMove.setRadarId(radarId); + Date alarmTime = ardAlarmRadarMove.getAlarmTime(); + //鑾峰彇褰撳墠鍏磋叮鐐瑰綋鍓嶉浄杈剧殑涓婁竴鏉℃暟鎹� + ArdAlarmRadarMove lastMoveData = ardAlarmRadarMoveMapper.selectArdAlarmRadarLastData(ardAlarmRadarMove.getName()); + if (lastMoveData == null) { + //鍏ュ簱 + ardAlarmRadarMove.setGuideTime(alarmTime); + ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove); + radarMoveGuide(ardAlarmRadarMove);//寮曞 + } else { + //鍚﹀垯姣斿鏇存柊鏃堕棿 + Date lastUpdateTime = lastMoveData.getUpdateTime(); + + Date lastGuideTime = lastMoveData.getGuideTime(); + long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime); + if (secDatePoor <= radarMergeTime) { + //灏忎簬10绉掔殑鏂版暟鎹紝鏇存柊涓婁竴鏉� + ArdAlarmRadarMove updateData = new ArdAlarmRadarMove(); + updateData.setId(lastMoveData.getId()); + updateData.setUpdateTime(alarmTime); + + //鍒ゆ柇寮曞鏃堕棿瓒呰繃5鍒嗛挓鍐嶆寮曞 + long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime); + if(secDatePoorGuide>=300) + { + updateData.setGuideTime(alarmTime); + radarMoveGuide(ardAlarmRadarMove);//寮曞 + } + ardAlarmRadarMoveMapper.updateArdAlarmRadarMove(updateData); + } else { + //瓒呰繃10绉掔殑鏁版嵁,鍏ュ簱 + ardAlarmRadarMove.setGuideTime(alarmTime); + ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove); + radarMoveGuide(ardAlarmRadarMove);//寮曞 + } + } + //鍏ョ紦瀛� + //String key = "radar_alarm:" + DateUtils.getDate(); + //if (redisCache.hasKey(key)) { + // redisCache.setCacheList(key, ardAlarmRadarMove, -1, TimeUnit.HOURS); + //} else { + // Integer expiryTimeInSeconds = DateUtils.getDayRemainingTime(ardAlarmRadarMove.getCreateTime()); + // redisCache.setCacheList(key, ardAlarmRadarMove, expiryTimeInSeconds, TimeUnit.SECONDS); + //} break; case "鐑簮妫�娴�": - alarmType = "sys_radar_fire"; + ArdAlarmRadarFire ardAlarmRadarFire = new ArdAlarmRadarFire(); + ardAlarmRadarFire.setId(uuid); + ardAlarmRadarFire.setTargetId(targetId); + ardAlarmRadarFire.setAlarmTime(radarAlarmData.getAlarmTime()); + ardAlarmRadarFire.setCreateTime(DateUtils.covertTime(new Date())); + ardAlarmRadarFire.setName(alarmpointName + "(" + radarAlarmData.getRadarName() + ")"); + ardAlarmRadarFire.setAlarmType("鐑簮妫�娴�"); + ardAlarmRadarFire.setLongitude(longitude); + ardAlarmRadarFire.setLatitude(latitude); + ardAlarmRadarFire.setRadarId(radarId); + ardAlarmRadarFire.setUpdateTime(radarAlarmData.getAlarmTime()); + // + ArdAlarmRadarFire lastFireData = ardAlarmRadarFireMapper.selectArdAlarmRadarLastData(ardAlarmRadarFire.getName()); + alarmTime = ardAlarmRadarFire.getAlarmTime(); + if (lastFireData == null) { + //鍏ュ簱 + ardAlarmRadarFire.setGuideTime(alarmTime); + ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire); + radarFireGuide(ardAlarmRadarFire);//寮曞 + } else { + //鍚﹀垯姣斿鏇存柊鏃堕棿 + Date lastUpdateTime = lastFireData.getUpdateTime(); + + Date lastGuideTime = lastFireData.getGuideTime(); + long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime); + if (secDatePoor <= radarMergeTime) { + //灏忎簬10绉掔殑鏂版暟鎹紝鏇存柊涓婁竴鏉� + ArdAlarmRadarFire updateData = new ArdAlarmRadarFire(); + updateData.setId(lastFireData.getId()); + updateData.setUpdateTime(alarmTime); + + //鍒ゆ柇寮曞鏃堕棿瓒呰繃5鍒嗛挓鍐嶆寮曞 + long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime); + if(secDatePoorGuide>=300) + { + updateData.setGuideTime(alarmTime); + radarFireGuide(ardAlarmRadarFire);//寮曞 + } + ardAlarmRadarFireMapper.updateArdAlarmRadarFire(updateData); + } else { + //瓒呰繃10绉掔殑鏁版嵁,鍏ュ簱 + ardAlarmRadarFire.setGuideTime(alarmTime); + ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire); + radarFireGuide(ardAlarmRadarFire);//寮曞 + } + } break; case "闆疯揪鎶芥补鏈哄仠鏈�": - alarmType = "sys_radar_pumpshutdown"; + ArdAlarmRadarPump ardAlarmRadarPump = new ArdAlarmRadarPump(); + ardAlarmRadarPump.setRadarId(radarId); + ardAlarmRadarPump.setId(uuid); + ardAlarmRadarPump.setTargetId(targetId); + ardAlarmRadarPump.setAlarmTime(radarAlarmData.getAlarmTime()); + ardAlarmRadarPump.setCreateTime(DateUtils.covertTime(new Date())); + ardAlarmRadarPump.setName(ardAlarmRadar.getName() + "(" + radarAlarmData.getRadarName() + ")"); + ardAlarmRadarPump.setAlarmType("闆疯揪鎶芥补鏈哄仠鏈�"); + ardAlarmRadarPump.setUpdateTime(radarAlarmData.getAlarmTime()); + alarmTime = ardAlarmRadarPump.getAlarmTime(); ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName); if (StringUtils.isNotNull(ardAlarmpointsWell)) { - ardAlarmRadar.setLongitude(ardAlarmpointsWell.getLongitude()); - ardAlarmRadar.setLatitude(ardAlarmpointsWell.getLatitude()); + ardAlarmRadarPump.setLongitude(ardAlarmpointsWell.getLongitude()); + ardAlarmRadarPump.setLatitude(ardAlarmpointsWell.getLatitude()); + } + // + ArdAlarmRadarPump lastPumpData = ardAlarmRadarPumpMapper.selectArdAlarmRadarLastData(ardAlarmRadarPump.getName()); + if (lastPumpData == null) { + //鍏ュ簱 + ardAlarmRadarPump.setGuideTime(alarmTime); + ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump); + radarPumpGuide(ardAlarmRadarPump);//寮曞 + } else { + //鍚﹀垯姣斿鏇存柊鏃堕棿 + Date lastUpdateTime = lastPumpData.getUpdateTime(); + Date lastGuideTime = lastPumpData.getGuideTime(); + long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime); + if (secDatePoor <= radarMergeTime) { + //灏忎簬10绉掔殑鏂版暟鎹紝鏇存柊涓婁竴鏉� + ArdAlarmRadarPump updateData = new ArdAlarmRadarPump(); + updateData.setId(lastPumpData.getId()); + updateData.setUpdateTime(alarmTime); + //鍒ゆ柇寮曞鏃堕棿瓒呰繃5鍒嗛挓鍐嶆寮曞 + long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime); + if(secDatePoorGuide>=300) + { + radarPumpGuide(ardAlarmRadarPump);//寮曞 + updateData.setGuideTime(alarmTime); + } + ardAlarmRadarPumpMapper.updateArdAlarmRadarPump(updateData); + } else { + //瓒呰繃10绉掔殑鏁版嵁,鍏ュ簱 + ardAlarmRadarPump.setGuideTime(alarmTime); + ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump); + radarPumpGuide(ardAlarmRadarPump);//寮曞 + } } break; - } - //鍏ュ簱 - ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar); - - } - //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦 - ardAlarmRadars = ardAlarmRadars.stream() - .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadar::getName))), ArrayList::new)); - for(ArdAlarmRadar ardAlarmRadar : ardAlarmRadars) - { - //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞 - if (StringUtils.isNull(ardAlarmRadar.getLongitude()) || StringUtils.isNull(ardAlarmRadar.getLatitude())) { - //鍧愭爣涓虹┖涓嶅紩瀵� - continue; - } - double[] coordinate = new double[]{ardAlarmRadar.getLongitude(), ardAlarmRadar.getLatitude()};//鎶ヨ鍧愭爣 - //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞 - ArdAlarmRadar AlarmRadar = redisCache.getCacheObject("global_alarm:" + ardAlarmRadar.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁 - if (AlarmRadar == null) { - //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹� - ardAlarmRadar.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_alarm:" + ardAlarmRadar.getName(), ardAlarmRadar, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis - unGuideCountMap.put(ardAlarmRadar.getName(), 0); - //寮曞鍏ラ槦 - radarGuide(radarAlarmData.getRadarId(), ardAlarmRadar.getName(), ardAlarmRadar.getAlarmType(), ardAlarmRadar.getCreateTime(), coordinate); - - } else { - //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁� - Integer count = unGuideCountMap.get(ardAlarmRadar.getName()); - if (count != null) { - if (count > 2) { - //鏈紩瀵兼鏁�3娆″悗杩涜寮曞 - ardAlarmRadar.setGuideFlag(1); - //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡 - redisCache.setCacheObject("global_alarm:" + ardAlarmRadar.getName(), ardAlarmRadar, 5, TimeUnit.MINUTES); - count = 0; - //寮曞鍏ラ槦 - radarGuide(radarAlarmData.getRadarId(), ardAlarmRadar.getName(), ardAlarmRadar.getAlarmType(), ardAlarmRadar.getCreateTime(), coordinate); - } else { - ardAlarmRadar.setGuideFlag(0); - count++; - } - } else { - ardAlarmRadar.setGuideFlag(0); - count = 0; - } - unGuideCountMap.put(ardAlarmRadar.getName(), count); - //鏇存柊 - ardAlarmRadarMapper.updateArdAlarmRadar(ardAlarmRadar); } } //endregion @@ -658,6 +1222,23 @@ } //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; } } catch (Exception ex) { log.error("鎺ユ敹鎶ヨ寮傚父:" + ex.getMessage()); @@ -685,7 +1266,22 @@ //鐩告満ID guideTask.setCameraId(cameraId); //鎶ヨ绫诲瀷 - guideTask.setAlarmType(alarmType); + String aType = ""; + switch (alarmType) { + case "杩愬姩鐩爣妫�娴�": + aType = "sys_radar_move"; + break; + case "鐑簮妫�娴�": + aType = "sys_radar_fire"; + break; + case "闆疯揪鎶芥补鏈哄仠鏈�": + aType = "sys_radar_pump"; + break; + default: + aType = alarmType; + break; + } + guideTask.setAlarmType(aType); //閫氶亾(閫氳繃鏃ュ鏃堕棿鐮斿垽) String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime"); Integer channel = ArdTool.getChannelBydayNightTime(dayNightTime); @@ -695,7 +1291,7 @@ //鎺ユ敹鏃堕棿 guideTask.setReceiveTime(fmt.format(receiveTime)); //鎶ヨ浼樺厛绾�(閫氳繃浼樺厛绾у瓧鍏�) - String priority = DictUtils.getDictValue("cameras_priority", alarmType); + String priority = DictUtils.getDictValue("cameras_priority", aType); if (StringUtils.isEmpty(priority)) { log.debug("鏈尮閰嶅埌浼樺厛绾�,璇锋鏌ヤ紭鍏堢骇瀛楀吀閰嶇疆"); return; @@ -748,7 +1344,7 @@ continue; } double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()}; - double distance = GisTool.getDistance(targetPosition, camPosition); + double distance = GisUtil.getDistance(targetPosition, camPosition); if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) { distanceMap.put(camera.getId(), distance); if (StringUtils.isNull(camera.getCamAlarmGuideEnable())) { @@ -767,26 +1363,24 @@ return " "; } } - } - catch (Exception ex) - { - log.error("鑾峰彇闄勮繎寮�鍚姤璀﹀紩瀵煎姛鑳藉厜鐢靛紓甯�:"+ex.getMessage()); + } catch (Exception ex) { + log.error("鑾峰彇闄勮繎寮�鍚姤璀﹀紩瀵煎姛鑳藉厜鐢靛紓甯�:" + ex.getMessage()); } return minDistanceCameraId; } - - /** - * 闆疯揪寮曞鍏ラ槦 - */ - private void radarGuide(String radarId, String alarmpointName, String alarmType, Date createTime, double[] coordinate) { - String uuid = IdUtils.simpleUUID(); + //闆疯揪鑾峰彇鐩告満寮曞鍏ラ槦 + 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); //鑾峰彇闆疯揪鎵�鍦ㄥ涓婄殑澶у厜鐢� - String cameraIdWithTower = ardAlarmRadarMapper.getCameraByRadar(radarId); + String cameraIdWithTower = ardEquipRadarMapper.getCameraByRadar(radarId); if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) { - log.info("鑾峰彇鍒伴浄杈惧涓婄殑鍏夌數:" + cameraIdWithTower); + log.debug("鑾峰彇鍒伴浄杈惧涓婄殑鍏夌數:" + cameraIdWithTower); //濡傛灉闆疯揪濉斾笂鏈夊厜鐢� - messagesEnqueued(cameraIdWithTower, uuid, alarmType, createTime, 1, 1, coordinate); + messagesEnqueued(cameraIdWithTower, alarmId, alarmType, createTime, 1, 1, coordinate); + } else { + log.debug("鏈幏鍙栧埌闆疯揪濉斾笂鐨勫厜鐢�,鏃犳硶寮曞"); } //鑾峰彇鎶ヨ鐐瑰叧鑱旂殑澶у厜鐢� ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName); @@ -797,8 +1391,44 @@ } log.info("鑾峰彇鍒版姤璀︾偣鍏宠仈鐨勫厜鐢�:" + cameraId); //濡傛灉鎶ヨ鐐瑰叧鑱斾簡鍏夌數 - messagesEnqueued(cameraId, uuid, alarmType, createTime, 1, 2, coordinate); + messagesEnqueued(cameraId, alarmId, alarmType, createTime, 1, 2, coordinate); + } else { + log.debug("鏈幏鍙栧埌鎶ヨ鐐瑰叧鑱旂殑鍏夌數,鏃犳硶寮曞"); } } + //闆疯揪绉诲姩寮曞 + private void radarMoveGuide(ArdAlarmRadarMove ardAlarmRadarMove) { + log.debug("闆疯揪绉诲姩寮�濮嬪紩瀵�"); + if (StringUtils.isNull(ardAlarmRadarMove.getLongitude()) || StringUtils.isNull(ardAlarmRadarMove.getLatitude())) { + log.debug("鍧愭爣涓虹┖涓嶅紩瀵�"); + return; + } + double[] coordinate = new double[]{ardAlarmRadarMove.getLongitude(), ardAlarmRadarMove.getLatitude()};//鎶ヨ鍧愭爣 + //寮曞鍏ラ槦 + radarGuideToQueue(ardAlarmRadarMove.getId(), ardAlarmRadarMove.getRadarId(), ardAlarmRadarMove.getName(), ardAlarmRadarMove.getAlarmType(), ardAlarmRadarMove.getCreateTime(), coordinate);//鏇存柊 + } + //闆疯揪闃茬伀寮曞 + private void radarFireGuide(ArdAlarmRadarFire ardAlarmRadarFire) { + log.debug("闆疯揪闃茬伀寮�濮嬪紩瀵�"); + if (StringUtils.isNull(ardAlarmRadarFire.getLongitude()) || StringUtils.isNull(ardAlarmRadarFire.getLatitude())) { + log.debug("鍧愭爣涓虹┖涓嶅紩瀵�"); + return; + } + double[] coordinate = new double[]{ardAlarmRadarFire.getLongitude(), ardAlarmRadarFire.getLatitude()};//鎶ヨ鍧愭爣 + //寮曞鍏ラ槦 + radarGuideToQueue(ardAlarmRadarFire.getId(), ardAlarmRadarFire.getRadarId(), ardAlarmRadarFire.getName(), ardAlarmRadarFire.getAlarmType(), ardAlarmRadarFire.getCreateTime(), coordinate);//鏇存柊 + } + //闆疯揪鎶芥补鏈哄仠鏈哄紩瀵� + private void radarPumpGuide(ArdAlarmRadarPump ardAlarmRadarPump) { + log.debug("闆疯揪鎶芥补鏈哄仠鏈哄紑濮嬪紩瀵�"); + if (StringUtils.isNull(ardAlarmRadarPump.getLongitude()) || StringUtils.isNull(ardAlarmRadarPump.getLatitude())) { + //鍧愭爣涓虹┖涓嶅紩瀵� + log.debug("鍧愭爣涓虹┖涓嶅紩瀵�"); + return; + } + double[] coordinate = new double[]{ardAlarmRadarPump.getLongitude(), ardAlarmRadarPump.getLatitude()};//鎶ヨ鍧愭爣 + //寮曞鍏ラ槦 + radarGuideToQueue(ardAlarmRadarPump.getId(), ardAlarmRadarPump.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate);//鏇存柊 + } } -- Gitblit v1.9.3