diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 8bcbb06..2828eb5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -85,7 +85,7 @@ AND ar.ID = #{id} - + + + + update alarm_record + set ALARM_STATUS = '1', + CANCEL_TIME = now(), + CANCEL_USER = #{cancelUser} + + ,RESUME_TIME = #{resumeTime} + + where ALARM_STATUS = '0' + update alarm_record diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 8bcbb06..2828eb5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -85,7 +85,7 @@ AND ar.ID = #{id} - + + + + update alarm_record + set ALARM_STATUS = '1', + CANCEL_TIME = now(), + CANCEL_USER = #{cancelUser} + + ,RESUME_TIME = #{resumeTime} + + where ALARM_STATUS = '0' + update alarm_record diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java index bc25acf..d302c0c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -39,5 +39,7 @@ List dateStatistics(AlarmStatisticsDTO alarmStatisticsDTO); boolean getAIRecords(AlarmAIDTO alarmAIDTO); + void allClear(Integer resumeTime); + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 8bcbb06..2828eb5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -85,7 +85,7 @@ AND ar.ID = #{id} - + + + + update alarm_record + set ALARM_STATUS = '1', + CANCEL_TIME = now(), + CANCEL_USER = #{cancelUser} + + ,RESUME_TIME = #{resumeTime} + + where ALARM_STATUS = '0' + update alarm_record diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java index bc25acf..d302c0c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -39,5 +39,7 @@ List dateStatistics(AlarmStatisticsDTO alarmStatisticsDTO); boolean getAIRecords(AlarmAIDTO alarmAIDTO); + void allClear(Integer resumeTime); + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java index df77d03..0ac04e5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -195,6 +195,13 @@ return this.save(alarmRecord); } + @Override + public void allClear(Integer resumeTime) { + AuthUser cancelUser =permissionContext.getAuthService().getLoginUser(); + this.baseMapper.allClear(resumeTime, cancelUser!=null?cancelUser.getId():null); + CommDoorUtil.cancelAllPTZ(); + } + /** * 日期趋势的报警统计 * 1、转换dateStatisticMaps为map集合作为日期遍历做准备 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 8bcbb06..2828eb5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -85,7 +85,7 @@ AND ar.ID = #{id} - + + + + update alarm_record + set ALARM_STATUS = '1', + CANCEL_TIME = now(), + CANCEL_USER = #{cancelUser} + + ,RESUME_TIME = #{resumeTime} + + where ALARM_STATUS = '0' + update alarm_record diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java index bc25acf..d302c0c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -39,5 +39,7 @@ List dateStatistics(AlarmStatisticsDTO alarmStatisticsDTO); boolean getAIRecords(AlarmAIDTO alarmAIDTO); + void allClear(Integer resumeTime); + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java index df77d03..0ac04e5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -195,6 +195,13 @@ return this.save(alarmRecord); } + @Override + public void allClear(Integer resumeTime) { + AuthUser cancelUser =permissionContext.getAuthService().getLoginUser(); + this.baseMapper.allClear(resumeTime, cancelUser!=null?cancelUser.getId():null); + CommDoorUtil.cancelAllPTZ(); + } + /** * 日期趋势的报警统计 * 1、转换dateStatisticMaps为map集合作为日期遍历做准备 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 2c57df5..c51ac93 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 @@ -348,7 +348,7 @@ if (ObjectUtil.isEmpty(userId) || userId < 0) { return ResponseData.error("设备注册失败"); } - return ihcNetService.setPresetCommand(userId, command); + return ResponseData.success(ihcNetService.setPresetCommand(userId, command)); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 8bcbb06..2828eb5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -85,7 +85,7 @@ AND ar.ID = #{id} - + + + + update alarm_record + set ALARM_STATUS = '1', + CANCEL_TIME = now(), + CANCEL_USER = #{cancelUser} + + ,RESUME_TIME = #{resumeTime} + + where ALARM_STATUS = '0' + update alarm_record diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java index bc25acf..d302c0c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -39,5 +39,7 @@ List dateStatistics(AlarmStatisticsDTO alarmStatisticsDTO); boolean getAIRecords(AlarmAIDTO alarmAIDTO); + void allClear(Integer resumeTime); + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java index df77d03..0ac04e5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -195,6 +195,13 @@ return this.save(alarmRecord); } + @Override + public void allClear(Integer resumeTime) { + AuthUser cancelUser =permissionContext.getAuthService().getLoginUser(); + this.baseMapper.allClear(resumeTime, cancelUser!=null?cancelUser.getId():null); + CommDoorUtil.cancelAllPTZ(); + } + /** * 日期趋势的报警统计 * 1、转换dateStatisticMaps为map集合作为日期遍历做准备 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 2c57df5..c51ac93 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 @@ -348,7 +348,7 @@ if (ObjectUtil.isEmpty(userId) || userId < 0) { return ResponseData.error("设备注册失败"); } - return ihcNetService.setPresetCommand(userId, command); + return ResponseData.success(ihcNetService.setPresetCommand(userId, command)); } 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 3bf0eef..6b3533b 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 @@ -23,6 +23,7 @@ import com.sun.jna.Memory; import com.sun.jna.NativeLong; import com.sun.jna.Pointer; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -472,7 +473,7 @@ case "9C": return softReset(serialHandle); case "65136": - return clearPoints(serialHandle); + return clearPoints(userId,serialHandle); default: break; } @@ -483,7 +484,7 @@ * 宇视通设备一键清除预置点 * 调用65预置位,再调用136预置位 */ - public boolean clearPoints(Long serialHandle) { + public boolean clearPoints(Integer userId,Long serialHandle) { boolean flag = false; try { @@ -495,14 +496,20 @@ Thread.sleep(300); //启动复位操作 flag = sendPreset(serialHandle, 136); - //自启动预留30秒 - Thread.sleep(30 * 1000); + Thread.sleep(1 * 1000); } } } catch (InterruptedException e) { e.printStackTrace(); flag = false; } + //删除巡航线和预置点 + if (flag) { + DeviceInfo deviceInfo = DeviceCommom.selectByUserId(Long.valueOf(userId)); + if (null != deviceInfo && StringUtils.isNotEmpty(deviceInfo.getDeviceIp())) { + flag = obserpoiInfoService.deletePresetByIp(deviceInfo.getDeviceIp()); + } + } return flag; } @@ -1856,7 +1863,7 @@ public Long getUserIdByIp(String deviceIp) { Long userId = null; DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(deviceIp); - if (ObjectUtil.isNotEmpty(deviceInfo) && ObjectUtil.isNotEmpty(deviceInfo.getUserId()) && deviceInfo.getUserId() > 0) { + if (ObjectUtil.isNotEmpty(deviceInfo) && ObjectUtil.isNotEmpty(deviceInfo.getUserId()) && deviceInfo.getUserId() >=0) { userId = deviceInfo.getUserId(); } else { BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 8bcbb06..2828eb5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -85,7 +85,7 @@ AND ar.ID = #{id} - + + + + update alarm_record + set ALARM_STATUS = '1', + CANCEL_TIME = now(), + CANCEL_USER = #{cancelUser} + + ,RESUME_TIME = #{resumeTime} + + where ALARM_STATUS = '0' + update alarm_record diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java index bc25acf..d302c0c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -39,5 +39,7 @@ List dateStatistics(AlarmStatisticsDTO alarmStatisticsDTO); boolean getAIRecords(AlarmAIDTO alarmAIDTO); + void allClear(Integer resumeTime); + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java index df77d03..0ac04e5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -195,6 +195,13 @@ return this.save(alarmRecord); } + @Override + public void allClear(Integer resumeTime) { + AuthUser cancelUser =permissionContext.getAuthService().getLoginUser(); + this.baseMapper.allClear(resumeTime, cancelUser!=null?cancelUser.getId():null); + CommDoorUtil.cancelAllPTZ(); + } + /** * 日期趋势的报警统计 * 1、转换dateStatisticMaps为map集合作为日期遍历做准备 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 2c57df5..c51ac93 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 @@ -348,7 +348,7 @@ if (ObjectUtil.isEmpty(userId) || userId < 0) { return ResponseData.error("设备注册失败"); } - return ihcNetService.setPresetCommand(userId, command); + return ResponseData.success(ihcNetService.setPresetCommand(userId, command)); } 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 3bf0eef..6b3533b 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 @@ -23,6 +23,7 @@ import com.sun.jna.Memory; import com.sun.jna.NativeLong; import com.sun.jna.Pointer; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -472,7 +473,7 @@ case "9C": return softReset(serialHandle); case "65136": - return clearPoints(serialHandle); + return clearPoints(userId,serialHandle); default: break; } @@ -483,7 +484,7 @@ * 宇视通设备一键清除预置点 * 调用65预置位,再调用136预置位 */ - public boolean clearPoints(Long serialHandle) { + public boolean clearPoints(Integer userId,Long serialHandle) { boolean flag = false; try { @@ -495,14 +496,20 @@ Thread.sleep(300); //启动复位操作 flag = sendPreset(serialHandle, 136); - //自启动预留30秒 - Thread.sleep(30 * 1000); + Thread.sleep(1 * 1000); } } } catch (InterruptedException e) { e.printStackTrace(); flag = false; } + //删除巡航线和预置点 + if (flag) { + DeviceInfo deviceInfo = DeviceCommom.selectByUserId(Long.valueOf(userId)); + if (null != deviceInfo && StringUtils.isNotEmpty(deviceInfo.getDeviceIp())) { + flag = obserpoiInfoService.deletePresetByIp(deviceInfo.getDeviceIp()); + } + } return flag; } @@ -1856,7 +1863,7 @@ public Long getUserIdByIp(String deviceIp) { Long userId = null; DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(deviceIp); - if (ObjectUtil.isNotEmpty(deviceInfo) && ObjectUtil.isNotEmpty(deviceInfo.getUserId()) && deviceInfo.getUserId() > 0) { + if (ObjectUtil.isNotEmpty(deviceInfo) && ObjectUtil.isNotEmpty(deviceInfo.getUserId()) && deviceInfo.getUserId() >=0) { userId = deviceInfo.getUserId(); } else { BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java b/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java index ca6d0a1..5d1ba7c 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java @@ -55,5 +55,6 @@ List pageList(Page page, BusObserpoiRequest obserpoiRequest); boolean addLine(Long monitorId, int cruiseRoute, String cruiseName); + boolean deletePresetByIp(String deviceIp ); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 048826b..34f3745 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -161,6 +161,18 @@ }); return ResponseData.success(alarmRecordService.dateStatistics(alarmStatisticsDTO)); } + + + @RequestMapping("/cancelAll") + @ResponseBody + public Object clearAlarms(String monitorId) { + if (ObjectUtil.isEmpty(monitorId)) { + alarmRecordService.allClear(null); + } else { + alarmRecordService.clearByMonitorTime(Long.valueOf(monitorId), "", ""); + } + return ResponseData.success(); + } // // /** // * 接收Ai算法报警记录 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java index e98fed1..1be6e35 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/AlarmRecordMapper.java @@ -40,4 +40,6 @@ List> dateStatistics(@Param("request") AlarmStatisticsDTO alarmStatisticsDTO, @Param("dataScope") DataScope dataScope); + + void allClear(@Param("resumeTime") Integer resumeTime, @Param("cancelUser") Long cancelUser); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 8bcbb06..2828eb5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -85,7 +85,7 @@ AND ar.ID = #{id} - + + + + update alarm_record + set ALARM_STATUS = '1', + CANCEL_TIME = now(), + CANCEL_USER = #{cancelUser} + + ,RESUME_TIME = #{resumeTime} + + where ALARM_STATUS = '0' + update alarm_record diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java index bc25acf..d302c0c 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IAlarmRecordService.java @@ -39,5 +39,7 @@ List dateStatistics(AlarmStatisticsDTO alarmStatisticsDTO); boolean getAIRecords(AlarmAIDTO alarmAIDTO); + void allClear(Integer resumeTime); + } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java index df77d03..0ac04e5 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -195,6 +195,13 @@ return this.save(alarmRecord); } + @Override + public void allClear(Integer resumeTime) { + AuthUser cancelUser =permissionContext.getAuthService().getLoginUser(); + this.baseMapper.allClear(resumeTime, cancelUser!=null?cancelUser.getId():null); + CommDoorUtil.cancelAllPTZ(); + } + /** * 日期趋势的报警统计 * 1、转换dateStatisticMaps为map集合作为日期遍历做准备 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 2c57df5..c51ac93 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 @@ -348,7 +348,7 @@ if (ObjectUtil.isEmpty(userId) || userId < 0) { return ResponseData.error("设备注册失败"); } - return ihcNetService.setPresetCommand(userId, command); + return ResponseData.success(ihcNetService.setPresetCommand(userId, command)); } 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 3bf0eef..6b3533b 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 @@ -23,6 +23,7 @@ import com.sun.jna.Memory; import com.sun.jna.NativeLong; import com.sun.jna.Pointer; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -472,7 +473,7 @@ case "9C": return softReset(serialHandle); case "65136": - return clearPoints(serialHandle); + return clearPoints(userId,serialHandle); default: break; } @@ -483,7 +484,7 @@ * 宇视通设备一键清除预置点 * 调用65预置位,再调用136预置位 */ - public boolean clearPoints(Long serialHandle) { + public boolean clearPoints(Integer userId,Long serialHandle) { boolean flag = false; try { @@ -495,14 +496,20 @@ Thread.sleep(300); //启动复位操作 flag = sendPreset(serialHandle, 136); - //自启动预留30秒 - Thread.sleep(30 * 1000); + Thread.sleep(1 * 1000); } } } catch (InterruptedException e) { e.printStackTrace(); flag = false; } + //删除巡航线和预置点 + if (flag) { + DeviceInfo deviceInfo = DeviceCommom.selectByUserId(Long.valueOf(userId)); + if (null != deviceInfo && StringUtils.isNotEmpty(deviceInfo.getDeviceIp())) { + flag = obserpoiInfoService.deletePresetByIp(deviceInfo.getDeviceIp()); + } + } return flag; } @@ -1856,7 +1863,7 @@ public Long getUserIdByIp(String deviceIp) { Long userId = null; DeviceInfo deviceInfo = DeviceCommom.selectByDeviceIp(deviceIp); - if (ObjectUtil.isNotEmpty(deviceInfo) && ObjectUtil.isNotEmpty(deviceInfo.getUserId()) && deviceInfo.getUserId() > 0) { + if (ObjectUtil.isNotEmpty(deviceInfo) && ObjectUtil.isNotEmpty(deviceInfo.getUserId()) && deviceInfo.getUserId() >=0) { userId = deviceInfo.getUserId(); } else { BusMonipoiInfo monipoiInfo = monipoiInfoService.selectByDeviceIp(deviceIp); diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java b/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java index ca6d0a1..5d1ba7c 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/service/IBusObserpoiInfoService.java @@ -55,5 +55,6 @@ List pageList(Page page, BusObserpoiRequest obserpoiRequest); boolean addLine(Long monitorId, int cruiseRoute, String cruiseName); + boolean deletePresetByIp(String deviceIp ); } 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 dec9aa9..83a7df1 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 @@ -287,6 +287,17 @@ return this.save(new BusObserpoiInfo(monitorId, cruiseRoute, cruiseName)); } + @Override + public boolean deletePresetByIp(String deviceIp) { + MonitorBaseInfo baseInfo = monipoiInfoService.selectInfoByDeviceIp(deviceIp); + if (ObjectUtil.isNotEmpty(baseInfo)) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("MONITOR_ID", baseInfo.getMonitorId()); + return this.remove(ew); + } + return true; + } + public BusObserpoiInfo selectByMonitorAndNum(Long monitorId, Integer lineNum) { QueryWrapper query = new QueryWrapper<>(); query.eq("MONITOR_ID", monitorId);