diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java index ccae07e..0b3cd0e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java @@ -716,7 +716,7 @@ if (ObjectUtil.isNotEmpty(lineNum)) { throw new BusinessException(BusinessExceptionEnum.CRUISE_NAME_DUPLICATE); } else { - if (DeviceTypeEnum.XST_TYPE.equals(baseInfo.getType())) { + if (DeviceTypeEnum.XST_TYPE.getCode().equals(baseInfo.getType())) { List lines = obserpoiInfoService.selectByMonitorLinesByCruiseName(baseInfo.getMonitorId(), ""); for (int i = 0; i < lineArr.length; i++) { if (!lines.contains(lineArr[i])) { @@ -774,8 +774,10 @@ } }); } - return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue) && - busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + //若有巡航任务,先删除任务 + busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue); + } catch (Exception e) { throw new BusinessException(BusinessExceptionEnum.CRUISE_DELETE_ERROR); } @@ -1541,6 +1543,8 @@ StatusEnum.ALARM_ON, monitorBaseInfo.getLineNum()); alarmRecordService.save(alarmRecord); + //更新设备状态为报警 + monipoiInfoService.updateStatus(monitorBaseInfo.getMonitorId(), StatusEnum.STATUS_ALARM); //推送前端 JSONObject msg = new JSONObject(); msg.put("type", "gasAlarm"); @@ -1555,6 +1559,11 @@ logger.info("*******sendwebSocketAlarmRecord,monitorid=" + dataGas.getMonitorId() + ",time:" + new Date()); } else { + //更新和推送设备在线 + if (monipoiInfoService.updateStatus(monitorBaseInfo.getDeviceIp(), StatusEnum.STATUS_ONLINE)) { + this.sendDeviceStatusData(monitorBaseInfo.getDeviceIp(), "onLine"); + } + // 自动消警(同一角度) int count = alarmRecordService.clearByMonitor(dataGas.getMonitorId(), Double.valueOf(dataGas.getDirection()), Double.valueOf(dataGas.getPitch())); if (count > 0) { diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java index ccae07e..0b3cd0e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java @@ -716,7 +716,7 @@ if (ObjectUtil.isNotEmpty(lineNum)) { throw new BusinessException(BusinessExceptionEnum.CRUISE_NAME_DUPLICATE); } else { - if (DeviceTypeEnum.XST_TYPE.equals(baseInfo.getType())) { + if (DeviceTypeEnum.XST_TYPE.getCode().equals(baseInfo.getType())) { List lines = obserpoiInfoService.selectByMonitorLinesByCruiseName(baseInfo.getMonitorId(), ""); for (int i = 0; i < lineArr.length; i++) { if (!lines.contains(lineArr[i])) { @@ -774,8 +774,10 @@ } }); } - return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue) && - busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + //若有巡航任务,先删除任务 + busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue); + } catch (Exception e) { throw new BusinessException(BusinessExceptionEnum.CRUISE_DELETE_ERROR); } @@ -1541,6 +1543,8 @@ StatusEnum.ALARM_ON, monitorBaseInfo.getLineNum()); alarmRecordService.save(alarmRecord); + //更新设备状态为报警 + monipoiInfoService.updateStatus(monitorBaseInfo.getMonitorId(), StatusEnum.STATUS_ALARM); //推送前端 JSONObject msg = new JSONObject(); msg.put("type", "gasAlarm"); @@ -1555,6 +1559,11 @@ logger.info("*******sendwebSocketAlarmRecord,monitorid=" + dataGas.getMonitorId() + ",time:" + new Date()); } else { + //更新和推送设备在线 + if (monipoiInfoService.updateStatus(monitorBaseInfo.getDeviceIp(), StatusEnum.STATUS_ONLINE)) { + this.sendDeviceStatusData(monitorBaseInfo.getDeviceIp(), "onLine"); + } + // 自动消警(同一角度) int count = alarmRecordService.clearByMonitor(dataGas.getMonitorId(), Double.valueOf(dataGas.getDirection()), Double.valueOf(dataGas.getPitch())); if (count > 0) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java index 79a753b..2e2f60c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java @@ -99,8 +99,7 @@ } private Map map = new HashMap<>(); - //默认离线 - boolean deviceStatus = false; + private void sendGasCommand() { DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(this.deviceIp); Long serial = deviceInfo.getSerialHandle(); @@ -128,12 +127,12 @@ map.put(this.deviceIp, map.get(this.deviceIp) + 1); if (map.get(this.deviceIp) % 50L == 0) { //若在线,更新设备离线 - if (deviceStatus) { - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"offLine"); - deviceStatus = false; - } + + if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { + ihcNetService.sendDeviceStatusData(this.deviceIp, "offLine"); +// deviceStatus = false; } + logger.error(deviceIp.concat("door is opening! ********************* ")); if (ihcNetService.interruptStart(this.deviceIp)) { map.remove(this.deviceIp); @@ -147,15 +146,14 @@ } } logger.error(deviceIp.concat("fetch gas data error, error code: ").concat(String.valueOf(ihcNetService.getLastError()))); - } - else { + } else { //若离线, 更新成在线 - if(!deviceStatus){ - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"onLine"); - deviceStatus = true; - } - } +// if (!deviceStatus) { +// if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { +// ihcNetService.sendDeviceStatusData(this.deviceIp, "onLine"); +// deviceStatus = true; +// } +// } } } diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java index ccae07e..0b3cd0e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java @@ -716,7 +716,7 @@ if (ObjectUtil.isNotEmpty(lineNum)) { throw new BusinessException(BusinessExceptionEnum.CRUISE_NAME_DUPLICATE); } else { - if (DeviceTypeEnum.XST_TYPE.equals(baseInfo.getType())) { + if (DeviceTypeEnum.XST_TYPE.getCode().equals(baseInfo.getType())) { List lines = obserpoiInfoService.selectByMonitorLinesByCruiseName(baseInfo.getMonitorId(), ""); for (int i = 0; i < lineArr.length; i++) { if (!lines.contains(lineArr[i])) { @@ -774,8 +774,10 @@ } }); } - return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue) && - busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + //若有巡航任务,先删除任务 + busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue); + } catch (Exception e) { throw new BusinessException(BusinessExceptionEnum.CRUISE_DELETE_ERROR); } @@ -1541,6 +1543,8 @@ StatusEnum.ALARM_ON, monitorBaseInfo.getLineNum()); alarmRecordService.save(alarmRecord); + //更新设备状态为报警 + monipoiInfoService.updateStatus(monitorBaseInfo.getMonitorId(), StatusEnum.STATUS_ALARM); //推送前端 JSONObject msg = new JSONObject(); msg.put("type", "gasAlarm"); @@ -1555,6 +1559,11 @@ logger.info("*******sendwebSocketAlarmRecord,monitorid=" + dataGas.getMonitorId() + ",time:" + new Date()); } else { + //更新和推送设备在线 + if (monipoiInfoService.updateStatus(monitorBaseInfo.getDeviceIp(), StatusEnum.STATUS_ONLINE)) { + this.sendDeviceStatusData(monitorBaseInfo.getDeviceIp(), "onLine"); + } + // 自动消警(同一角度) int count = alarmRecordService.clearByMonitor(dataGas.getMonitorId(), Double.valueOf(dataGas.getDirection()), Double.valueOf(dataGas.getPitch())); if (count > 0) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java index 79a753b..2e2f60c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java @@ -99,8 +99,7 @@ } private Map map = new HashMap<>(); - //默认离线 - boolean deviceStatus = false; + private void sendGasCommand() { DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(this.deviceIp); Long serial = deviceInfo.getSerialHandle(); @@ -128,12 +127,12 @@ map.put(this.deviceIp, map.get(this.deviceIp) + 1); if (map.get(this.deviceIp) % 50L == 0) { //若在线,更新设备离线 - if (deviceStatus) { - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"offLine"); - deviceStatus = false; - } + + if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { + ihcNetService.sendDeviceStatusData(this.deviceIp, "offLine"); +// deviceStatus = false; } + logger.error(deviceIp.concat("door is opening! ********************* ")); if (ihcNetService.interruptStart(this.deviceIp)) { map.remove(this.deviceIp); @@ -147,15 +146,14 @@ } } logger.error(deviceIp.concat("fetch gas data error, error code: ").concat(String.valueOf(ihcNetService.getLastError()))); - } - else { + } else { //若离线, 更新成在线 - if(!deviceStatus){ - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"onLine"); - deviceStatus = true; - } - } +// if (!deviceStatus) { +// if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { +// ihcNetService.sendDeviceStatusData(this.deviceIp, "onLine"); +// deviceStatus = true; +// } +// } } } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml index de44bbe..66037aa 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml @@ -95,7 +95,8 @@ a.ID as monitorId, a.MONITOR_NAME as monitorName, a.DEVICE_CODE as devcode, - a.TYPE as type + a.TYPE as type, + a.DEVICE_IP as deviceIp FROM bus_monipoi_info a LEFT JOIN bus_station_info b on a.STATION_ID = b.ID WHERE a.VALID = '0' diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java index ccae07e..0b3cd0e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java @@ -716,7 +716,7 @@ if (ObjectUtil.isNotEmpty(lineNum)) { throw new BusinessException(BusinessExceptionEnum.CRUISE_NAME_DUPLICATE); } else { - if (DeviceTypeEnum.XST_TYPE.equals(baseInfo.getType())) { + if (DeviceTypeEnum.XST_TYPE.getCode().equals(baseInfo.getType())) { List lines = obserpoiInfoService.selectByMonitorLinesByCruiseName(baseInfo.getMonitorId(), ""); for (int i = 0; i < lineArr.length; i++) { if (!lines.contains(lineArr[i])) { @@ -774,8 +774,10 @@ } }); } - return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue) && - busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + //若有巡航任务,先删除任务 + busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue); + } catch (Exception e) { throw new BusinessException(BusinessExceptionEnum.CRUISE_DELETE_ERROR); } @@ -1541,6 +1543,8 @@ StatusEnum.ALARM_ON, monitorBaseInfo.getLineNum()); alarmRecordService.save(alarmRecord); + //更新设备状态为报警 + monipoiInfoService.updateStatus(monitorBaseInfo.getMonitorId(), StatusEnum.STATUS_ALARM); //推送前端 JSONObject msg = new JSONObject(); msg.put("type", "gasAlarm"); @@ -1555,6 +1559,11 @@ logger.info("*******sendwebSocketAlarmRecord,monitorid=" + dataGas.getMonitorId() + ",time:" + new Date()); } else { + //更新和推送设备在线 + if (monipoiInfoService.updateStatus(monitorBaseInfo.getDeviceIp(), StatusEnum.STATUS_ONLINE)) { + this.sendDeviceStatusData(monitorBaseInfo.getDeviceIp(), "onLine"); + } + // 自动消警(同一角度) int count = alarmRecordService.clearByMonitor(dataGas.getMonitorId(), Double.valueOf(dataGas.getDirection()), Double.valueOf(dataGas.getPitch())); if (count > 0) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java index 79a753b..2e2f60c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java @@ -99,8 +99,7 @@ } private Map map = new HashMap<>(); - //默认离线 - boolean deviceStatus = false; + private void sendGasCommand() { DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(this.deviceIp); Long serial = deviceInfo.getSerialHandle(); @@ -128,12 +127,12 @@ map.put(this.deviceIp, map.get(this.deviceIp) + 1); if (map.get(this.deviceIp) % 50L == 0) { //若在线,更新设备离线 - if (deviceStatus) { - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"offLine"); - deviceStatus = false; - } + + if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { + ihcNetService.sendDeviceStatusData(this.deviceIp, "offLine"); +// deviceStatus = false; } + logger.error(deviceIp.concat("door is opening! ********************* ")); if (ihcNetService.interruptStart(this.deviceIp)) { map.remove(this.deviceIp); @@ -147,15 +146,14 @@ } } logger.error(deviceIp.concat("fetch gas data error, error code: ").concat(String.valueOf(ihcNetService.getLastError()))); - } - else { + } else { //若离线, 更新成在线 - if(!deviceStatus){ - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"onLine"); - deviceStatus = true; - } - } +// if (!deviceStatus) { +// if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { +// ihcNetService.sendDeviceStatusData(this.deviceIp, "onLine"); +// deviceStatus = true; +// } +// } } } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml index de44bbe..66037aa 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml @@ -95,7 +95,8 @@ a.ID as monitorId, a.MONITOR_NAME as monitorName, a.DEVICE_CODE as devcode, - a.TYPE as type + a.TYPE as type, + a.DEVICE_IP as deviceIp FROM bus_monipoi_info a LEFT JOIN bus_station_info b on a.STATION_ID = b.ID WHERE a.VALID = '0' diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java index c7d9785..6a48809 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java @@ -9,6 +9,7 @@ private Long stationId; private String stationName; + private String deviceIp; private Long monitorId; private String monitorName; private String devcode; diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java index ccae07e..0b3cd0e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java @@ -716,7 +716,7 @@ if (ObjectUtil.isNotEmpty(lineNum)) { throw new BusinessException(BusinessExceptionEnum.CRUISE_NAME_DUPLICATE); } else { - if (DeviceTypeEnum.XST_TYPE.equals(baseInfo.getType())) { + if (DeviceTypeEnum.XST_TYPE.getCode().equals(baseInfo.getType())) { List lines = obserpoiInfoService.selectByMonitorLinesByCruiseName(baseInfo.getMonitorId(), ""); for (int i = 0; i < lineArr.length; i++) { if (!lines.contains(lineArr[i])) { @@ -774,8 +774,10 @@ } }); } - return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue) && - busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + //若有巡航任务,先删除任务 + busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue); + } catch (Exception e) { throw new BusinessException(BusinessExceptionEnum.CRUISE_DELETE_ERROR); } @@ -1541,6 +1543,8 @@ StatusEnum.ALARM_ON, monitorBaseInfo.getLineNum()); alarmRecordService.save(alarmRecord); + //更新设备状态为报警 + monipoiInfoService.updateStatus(monitorBaseInfo.getMonitorId(), StatusEnum.STATUS_ALARM); //推送前端 JSONObject msg = new JSONObject(); msg.put("type", "gasAlarm"); @@ -1555,6 +1559,11 @@ logger.info("*******sendwebSocketAlarmRecord,monitorid=" + dataGas.getMonitorId() + ",time:" + new Date()); } else { + //更新和推送设备在线 + if (monipoiInfoService.updateStatus(monitorBaseInfo.getDeviceIp(), StatusEnum.STATUS_ONLINE)) { + this.sendDeviceStatusData(monitorBaseInfo.getDeviceIp(), "onLine"); + } + // 自动消警(同一角度) int count = alarmRecordService.clearByMonitor(dataGas.getMonitorId(), Double.valueOf(dataGas.getDirection()), Double.valueOf(dataGas.getPitch())); if (count > 0) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java index 79a753b..2e2f60c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java @@ -99,8 +99,7 @@ } private Map map = new HashMap<>(); - //默认离线 - boolean deviceStatus = false; + private void sendGasCommand() { DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(this.deviceIp); Long serial = deviceInfo.getSerialHandle(); @@ -128,12 +127,12 @@ map.put(this.deviceIp, map.get(this.deviceIp) + 1); if (map.get(this.deviceIp) % 50L == 0) { //若在线,更新设备离线 - if (deviceStatus) { - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"offLine"); - deviceStatus = false; - } + + if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { + ihcNetService.sendDeviceStatusData(this.deviceIp, "offLine"); +// deviceStatus = false; } + logger.error(deviceIp.concat("door is opening! ********************* ")); if (ihcNetService.interruptStart(this.deviceIp)) { map.remove(this.deviceIp); @@ -147,15 +146,14 @@ } } logger.error(deviceIp.concat("fetch gas data error, error code: ").concat(String.valueOf(ihcNetService.getLastError()))); - } - else { + } else { //若离线, 更新成在线 - if(!deviceStatus){ - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"onLine"); - deviceStatus = true; - } - } +// if (!deviceStatus) { +// if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { +// ihcNetService.sendDeviceStatusData(this.deviceIp, "onLine"); +// deviceStatus = true; +// } +// } } } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml index de44bbe..66037aa 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml @@ -95,7 +95,8 @@ a.ID as monitorId, a.MONITOR_NAME as monitorName, a.DEVICE_CODE as devcode, - a.TYPE as type + a.TYPE as type, + a.DEVICE_IP as deviceIp FROM bus_monipoi_info a LEFT JOIN bus_station_info b on a.STATION_ID = b.ID WHERE a.VALID = '0' diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java index c7d9785..6a48809 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java @@ -9,6 +9,7 @@ private Long stationId; private String stationName; + private String deviceIp; private Long monitorId; private String monitorName; private String devcode; diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java b/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java index 6ec3c47..c43ab68 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java @@ -158,7 +158,7 @@ @TableField("DESCRIPTION") private String description; /** - * 0:离线,1在线,报警 + * 0:离线,1在线,2报警 */ @TableField("DEVICE_STATUS") @DictCodeField(message = "设备状态描述不合法", cacheName = DictEnum.DEVICE_STATUS) diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java index ccae07e..0b3cd0e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java @@ -716,7 +716,7 @@ if (ObjectUtil.isNotEmpty(lineNum)) { throw new BusinessException(BusinessExceptionEnum.CRUISE_NAME_DUPLICATE); } else { - if (DeviceTypeEnum.XST_TYPE.equals(baseInfo.getType())) { + if (DeviceTypeEnum.XST_TYPE.getCode().equals(baseInfo.getType())) { List lines = obserpoiInfoService.selectByMonitorLinesByCruiseName(baseInfo.getMonitorId(), ""); for (int i = 0; i < lineArr.length; i++) { if (!lines.contains(lineArr[i])) { @@ -774,8 +774,10 @@ } }); } - return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue) && - busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + //若有巡航任务,先删除任务 + busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue); + } catch (Exception e) { throw new BusinessException(BusinessExceptionEnum.CRUISE_DELETE_ERROR); } @@ -1541,6 +1543,8 @@ StatusEnum.ALARM_ON, monitorBaseInfo.getLineNum()); alarmRecordService.save(alarmRecord); + //更新设备状态为报警 + monipoiInfoService.updateStatus(monitorBaseInfo.getMonitorId(), StatusEnum.STATUS_ALARM); //推送前端 JSONObject msg = new JSONObject(); msg.put("type", "gasAlarm"); @@ -1555,6 +1559,11 @@ logger.info("*******sendwebSocketAlarmRecord,monitorid=" + dataGas.getMonitorId() + ",time:" + new Date()); } else { + //更新和推送设备在线 + if (monipoiInfoService.updateStatus(monitorBaseInfo.getDeviceIp(), StatusEnum.STATUS_ONLINE)) { + this.sendDeviceStatusData(monitorBaseInfo.getDeviceIp(), "onLine"); + } + // 自动消警(同一角度) int count = alarmRecordService.clearByMonitor(dataGas.getMonitorId(), Double.valueOf(dataGas.getDirection()), Double.valueOf(dataGas.getPitch())); if (count > 0) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java index 79a753b..2e2f60c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java @@ -99,8 +99,7 @@ } private Map map = new HashMap<>(); - //默认离线 - boolean deviceStatus = false; + private void sendGasCommand() { DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(this.deviceIp); Long serial = deviceInfo.getSerialHandle(); @@ -128,12 +127,12 @@ map.put(this.deviceIp, map.get(this.deviceIp) + 1); if (map.get(this.deviceIp) % 50L == 0) { //若在线,更新设备离线 - if (deviceStatus) { - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"offLine"); - deviceStatus = false; - } + + if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { + ihcNetService.sendDeviceStatusData(this.deviceIp, "offLine"); +// deviceStatus = false; } + logger.error(deviceIp.concat("door is opening! ********************* ")); if (ihcNetService.interruptStart(this.deviceIp)) { map.remove(this.deviceIp); @@ -147,15 +146,14 @@ } } logger.error(deviceIp.concat("fetch gas data error, error code: ").concat(String.valueOf(ihcNetService.getLastError()))); - } - else { + } else { //若离线, 更新成在线 - if(!deviceStatus){ - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"onLine"); - deviceStatus = true; - } - } +// if (!deviceStatus) { +// if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { +// ihcNetService.sendDeviceStatusData(this.deviceIp, "onLine"); +// deviceStatus = true; +// } +// } } } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml index de44bbe..66037aa 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml @@ -95,7 +95,8 @@ a.ID as monitorId, a.MONITOR_NAME as monitorName, a.DEVICE_CODE as devcode, - a.TYPE as type + a.TYPE as type, + a.DEVICE_IP as deviceIp FROM bus_monipoi_info a LEFT JOIN bus_station_info b on a.STATION_ID = b.ID WHERE a.VALID = '0' diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java index c7d9785..6a48809 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java @@ -9,6 +9,7 @@ private Long stationId; private String stationName; + private String deviceIp; private Long monitorId; private String monitorName; private String devcode; diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java b/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java index 6ec3c47..c43ab68 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java @@ -158,7 +158,7 @@ @TableField("DESCRIPTION") private String description; /** - * 0:离线,1在线,报警 + * 0:离线,1在线,2报警 */ @TableField("DEVICE_STATUS") @DictCodeField(message = "设备状态描述不合法", cacheName = DictEnum.DEVICE_STATUS) diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java b/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java index 06003d6..569e612 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java @@ -176,24 +176,32 @@ return monitorOverviewMaps; } + public BusMonipoiInfo deviceStatusByIp(String deviceIp) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_IP", deviceIp); + queryWrapper.eq("VALID", "0"); + return this.getOne(queryWrapper); + } + @Override public boolean updateStatus(String deviceIp, String status) { - BusMonipoiInfo busMonipoiInfo = selectByDeviceIp(deviceIp); - if (null != busMonipoiInfo) { - busMonipoiInfo.setDeviceStatus(status); - if (this.baseMapper.updateById(busMonipoiInfo) > 0) { - return true; - } + //只有状态有更新并成功才返回true + BusMonipoiInfo busMonipoiInfo = deviceStatusByIp(deviceIp); + if (status.equals(busMonipoiInfo.getDeviceStatus())) + return false; + busMonipoiInfo.setDeviceStatus(status); + if (this.baseMapper.updateById(busMonipoiInfo) > 0) { + return true; } return false; } @Override public boolean updateStatus(Long monitorId, String status) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("VALID", "0"); updateWrapper.eq("ID", monitorId); - updateWrapper.set("DEVICE_STATUS",status); + updateWrapper.set("DEVICE_STATUS", status); return this.update(updateWrapper); } diff --git a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index f6dbcb6..88ee08a 100644 --- a/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -11,6 +11,7 @@ HANDLE_FAILED(500, "操作失败"), DEVICE_BOUND_FAILED(500, "设备绑定,场站删除失败"), ADD_FAILED(501, "新增失败!"), + NUMBER_FAILED(502, "不是正整数!"), MONITOR_VAILD_FAILED(2099, "云台登录地址重复"), DEVICE_REGISTER_FAILED(2500, "设备注册失败"), RUN_TASK_FAILED(2501, "此段时间有任务正在执行"), diff --git a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java index 68e08e9..61f39c9 100644 --- a/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/config/WebSocketConfig.java @@ -5,7 +5,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter; // tomcat启动无需配置 -// @Configuration + @Configuration public class WebSocketConfig { /** * 注入ServerEndpointExporter, diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java index 36d34b4..729c35c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/HCNetController.java @@ -208,10 +208,10 @@ @ResponseBody public Object cruiseRoute(String deviceIp, String command, Integer cruiseValue, String cruiseName) { - if (ihcNetService.cruiseRoute( command, cruiseValue, cruiseName, deviceIp)) { + if (ihcNetService.cruiseRoute(command, cruiseValue, cruiseName, deviceIp)) { return ResponseData.success(); } else { - return ResponseData.error("设置失败"); + return ResponseData.error("巡航线操作失败"); } } @@ -273,7 +273,7 @@ public Object toPosition(String deviceIp, String horizontalAngle, String verticalAngle) { Long userId = getUserIdByIp(deviceIp); if (ObjectUtil.isEmpty(userId) || userId < 0) { - return ResponseData.error("设备注册失败"); + return ResponseData.error("连接设备失败"); } BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); boolean res; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java index ccae07e..0b3cd0e 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/HCNetServiceImpl.java @@ -716,7 +716,7 @@ if (ObjectUtil.isNotEmpty(lineNum)) { throw new BusinessException(BusinessExceptionEnum.CRUISE_NAME_DUPLICATE); } else { - if (DeviceTypeEnum.XST_TYPE.equals(baseInfo.getType())) { + if (DeviceTypeEnum.XST_TYPE.getCode().equals(baseInfo.getType())) { List lines = obserpoiInfoService.selectByMonitorLinesByCruiseName(baseInfo.getMonitorId(), ""); for (int i = 0; i < lineArr.length; i++) { if (!lines.contains(lineArr[i])) { @@ -774,8 +774,10 @@ } }); } - return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue) && - busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + //若有巡航任务,先删除任务 + busPlanService.deleteTaskByMonitorIdAndLine(busMonipoiInfo.getId(), cruiseValue); + return obserpoiInfoService.deleteCruise(deviceIp, cruiseName, cruiseValue); + } catch (Exception e) { throw new BusinessException(BusinessExceptionEnum.CRUISE_DELETE_ERROR); } @@ -1541,6 +1543,8 @@ StatusEnum.ALARM_ON, monitorBaseInfo.getLineNum()); alarmRecordService.save(alarmRecord); + //更新设备状态为报警 + monipoiInfoService.updateStatus(monitorBaseInfo.getMonitorId(), StatusEnum.STATUS_ALARM); //推送前端 JSONObject msg = new JSONObject(); msg.put("type", "gasAlarm"); @@ -1555,6 +1559,11 @@ logger.info("*******sendwebSocketAlarmRecord,monitorid=" + dataGas.getMonitorId() + ",time:" + new Date()); } else { + //更新和推送设备在线 + if (monipoiInfoService.updateStatus(monitorBaseInfo.getDeviceIp(), StatusEnum.STATUS_ONLINE)) { + this.sendDeviceStatusData(monitorBaseInfo.getDeviceIp(), "onLine"); + } + // 自动消警(同一角度) int count = alarmRecordService.clearByMonitor(dataGas.getMonitorId(), Double.valueOf(dataGas.getDirection()), Double.valueOf(dataGas.getPitch())); if (count > 0) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java index 79a753b..2e2f60c 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/task/CollectGasDataTask.java @@ -99,8 +99,7 @@ } private Map map = new HashMap<>(); - //默认离线 - boolean deviceStatus = false; + private void sendGasCommand() { DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(this.deviceIp); Long serial = deviceInfo.getSerialHandle(); @@ -128,12 +127,12 @@ map.put(this.deviceIp, map.get(this.deviceIp) + 1); if (map.get(this.deviceIp) % 50L == 0) { //若在线,更新设备离线 - if (deviceStatus) { - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"offLine"); - deviceStatus = false; - } + + if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_OFFLINE)) { + ihcNetService.sendDeviceStatusData(this.deviceIp, "offLine"); +// deviceStatus = false; } + logger.error(deviceIp.concat("door is opening! ********************* ")); if (ihcNetService.interruptStart(this.deviceIp)) { map.remove(this.deviceIp); @@ -147,15 +146,14 @@ } } logger.error(deviceIp.concat("fetch gas data error, error code: ").concat(String.valueOf(ihcNetService.getLastError()))); - } - else { + } else { //若离线, 更新成在线 - if(!deviceStatus){ - if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { - ihcNetService.sendDeviceStatusData(this.deviceIp,"onLine"); - deviceStatus = true; - } - } +// if (!deviceStatus) { +// if (monipoiInfoService.updateStatus(this.deviceIp, StatusEnum.STATUS_ONLINE)) { +// ihcNetService.sendDeviceStatusData(this.deviceIp, "onLine"); +// deviceStatus = true; +// } +// } } } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml index de44bbe..66037aa 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusMonipoiInfoMapper.xml @@ -95,7 +95,8 @@ a.ID as monitorId, a.MONITOR_NAME as monitorName, a.DEVICE_CODE as devcode, - a.TYPE as type + a.TYPE as type, + a.DEVICE_IP as deviceIp FROM bus_monipoi_info a LEFT JOIN bus_station_info b on a.STATION_ID = b.ID WHERE a.VALID = '0' diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java index c7d9785..6a48809 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dto/monitor/MonitorBaseInfo.java @@ -9,6 +9,7 @@ private Long stationId; private String stationName; + private String deviceIp; private Long monitorId; private String monitorName; private String devcode; diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java b/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java index 6ec3c47..c43ab68 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/model/BusMonipoiInfo.java @@ -158,7 +158,7 @@ @TableField("DESCRIPTION") private String description; /** - * 0:离线,1在线,报警 + * 0:离线,1在线,2报警 */ @TableField("DEVICE_STATUS") @DictCodeField(message = "设备状态描述不合法", cacheName = DictEnum.DEVICE_STATUS) diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java b/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java index 06003d6..569e612 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusMonipoiInfoServiceImpl.java @@ -176,24 +176,32 @@ return monitorOverviewMaps; } + public BusMonipoiInfo deviceStatusByIp(String deviceIp) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEVICE_IP", deviceIp); + queryWrapper.eq("VALID", "0"); + return this.getOne(queryWrapper); + } + @Override public boolean updateStatus(String deviceIp, String status) { - BusMonipoiInfo busMonipoiInfo = selectByDeviceIp(deviceIp); - if (null != busMonipoiInfo) { - busMonipoiInfo.setDeviceStatus(status); - if (this.baseMapper.updateById(busMonipoiInfo) > 0) { - return true; - } + //只有状态有更新并成功才返回true + BusMonipoiInfo busMonipoiInfo = deviceStatusByIp(deviceIp); + if (status.equals(busMonipoiInfo.getDeviceStatus())) + return false; + busMonipoiInfo.setDeviceStatus(status); + if (this.baseMapper.updateById(busMonipoiInfo) > 0) { + return true; } return false; } @Override public boolean updateStatus(Long monitorId, String status) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("VALID", "0"); updateWrapper.eq("ID", monitorId); - updateWrapper.set("DEVICE_STATUS",status); + updateWrapper.set("DEVICE_STATUS", status); return this.update(updateWrapper); } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusObserpoiInfoServiceImpl.java b/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusObserpoiInfoServiceImpl.java index f230470..b6474e1 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusObserpoiInfoServiceImpl.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/service/impl/BusObserpoiInfoServiceImpl.java @@ -259,7 +259,7 @@ ew.eq("LINE_NUM", cruiseRoute); return this.remove(ew); } - return false; + return true; } // @Override