diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java index c0b099b..365cd7f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java @@ -26,7 +26,7 @@ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " + "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE= #{devCode} and bd.VALID>0) and bl.VALID='1')" + "SELECT bv.ledgerName,bv.tagNumber,bv.ledgerCode,bv.place,bv.deptid from device_temp dt " + - "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID='1' ") + "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE where bv.VALID='1' ") List getListByDevCode(@Param("devCode") String devCode); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java index c0b099b..365cd7f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java @@ -26,7 +26,7 @@ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " + "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE= #{devCode} and bd.VALID>0) and bl.VALID='1')" + "SELECT bv.ledgerName,bv.tagNumber,bv.ledgerCode,bv.place,bv.deptid from device_temp dt " + - "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID='1' ") + "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE where bv.VALID='1' ") List getListByDevCode(@Param("devCode") String devCode); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java index 094e097..250ee57 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java @@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -69,6 +70,7 @@ } + @Transactional @Override public boolean processAcceptGasData(Map dataParams) { JSONObject jsonObject = new JSONObject(dataParams); @@ -94,7 +96,7 @@ .logtime(DateUtil.parseDateTime(dataTime)) .build());//存储采集数据 //2.有无超限处理流程(判断最后一条数据) - if (i < jsonArray.size() - 1) continue; +// if (i < jsonArray.size() - 1) continue; //3.清除设备告警 alarmRecordsService.cancelDeviceAlarm(devCode); @@ -126,7 +128,7 @@ alarmRecordsService.cancelDataAlarm(devCode); } //6.更新电量及状态 (1:正常,2:报警) - alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"燃气浓度达到".concat(gas).concat("%LEL"):""); + alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"浓度达到".concat(gas).concat("PPM.M"):""); //7.更新监测井状态 (1:正常,2:报警) if (busWellDTOList != null && busWellDTOList.size() > 0) { alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java index c0b099b..365cd7f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java @@ -26,7 +26,7 @@ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " + "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE= #{devCode} and bd.VALID>0) and bl.VALID='1')" + "SELECT bv.ledgerName,bv.tagNumber,bv.ledgerCode,bv.place,bv.deptid from device_temp dt " + - "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID='1' ") + "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE where bv.VALID='1' ") List getListByDevCode(@Param("devCode") String devCode); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java index 094e097..250ee57 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java @@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -69,6 +70,7 @@ } + @Transactional @Override public boolean processAcceptGasData(Map dataParams) { JSONObject jsonObject = new JSONObject(dataParams); @@ -94,7 +96,7 @@ .logtime(DateUtil.parseDateTime(dataTime)) .build());//存储采集数据 //2.有无超限处理流程(判断最后一条数据) - if (i < jsonArray.size() - 1) continue; +// if (i < jsonArray.size() - 1) continue; //3.清除设备告警 alarmRecordsService.cancelDeviceAlarm(devCode); @@ -126,7 +128,7 @@ alarmRecordsService.cancelDataAlarm(devCode); } //6.更新电量及状态 (1:正常,2:报警) - alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"燃气浓度达到".concat(gas).concat("%LEL"):""); + alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"浓度达到".concat(gas).concat("PPM.M"):""); //7.更新监测井状态 (1:正常,2:报警) if (busWellDTOList != null && busWellDTOList.size() > 0) { alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml index 691c57b..30a0b6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml @@ -40,7 +40,7 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE @@ -48,40 +48,40 @@ LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE WHERE - blp.LOCATION_CATEGORY = 1 - AND bd.VALID >0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') - - - and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') - - - and blp.DEPTID in (${deptStrs}) - + bd.VALID >0 and bd.MONITOR_TYPE= '1' - - and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') + + + and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') + + + and blp.DEPTID in (${deptStrs}) + - - and blp.POSITION like concat('%', #{request.position}, '%') - + + and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') + - - and blp.ON_STATE =#{request.onState} - + + and blp.POSITION like concat('%', #{request.position}, '%') + - - and blp.MONITOR_STATE =#{request.monitorState} - - - and bt.ID =#{request.devTypeId} - + + and blp.ON_STATE =#{request.onState} + + + + and blp.MONITOR_STATE =#{request.monitorState} + + + and bt.ID =#{request.devTypeId} + ORDER BY blp.TS DESC @@ -100,16 +100,14 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE LEFT JOIN base_product bpt ON bpt.ID = bd.PRODUCT_ID LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE - WHERE - blp.LOCATION_CATEGORY > 1 - AND bd.VALID >0 + WHERE bd.VALID >0 and bd.MONITOR_TYPE= '0' and bd.DEVCODE like concat('%', #{request.devCode}, '%') @@ -151,35 +149,38 @@ @@ -187,39 +188,37 @@ WITH device_temp AS ( SELECT bd.id, bd.DEVCODE, bd.DEVICE_TYPE,bd.ONLINE_STATE FROM bus_device bd WHERE - VALID > 0 ) + VALID > 0 and bd.MONITOR_TYPE='1') SELECT - dt.DEVCODE, - bt.TYPE_NAME, - bp.PIPE_CODE, - bp.TAG_NUMBER, - bp.LNG_GAODE, - bp.LAT_GAODE, - bp.ID AS LEDGER_ID, - dt.ONLINE_STATE, - bt.ID AS DEVICE_TYPE_ID, - bp.DEPTID, - bp.POSITION, - bp.MONITOR_STATE, - bp.ON_STATE + dt.DEVCODE, + bt.TYPE_NAME, + bp.PIPE_CODE, + bp.TAG_NUMBER, + bp.LNG_GAODE, + bp.LAT_GAODE, + bp.ID AS LEDGER_ID, + dt.ONLINE_STATE, + bt.ID AS DEVICE_TYPE_ID, + bp.DEPTID, + bp.POSITION, + bp.MONITOR_STATE, + bp.ON_STATE FROM - device_temp dt - LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE - JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = 1 - JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type - where bp.LOCATION_CATEGORY=1 - - - and bp.DEPTID in (${deptids}) - + device_temp dt + LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE + JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = '1' + JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type + where 1=1 + + and bp.DEPTID in (${deptids}) + @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java index c0b099b..365cd7f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java @@ -26,7 +26,7 @@ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " + "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE= #{devCode} and bd.VALID>0) and bl.VALID='1')" + "SELECT bv.ledgerName,bv.tagNumber,bv.ledgerCode,bv.place,bv.deptid from device_temp dt " + - "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID='1' ") + "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE where bv.VALID='1' ") List getListByDevCode(@Param("devCode") String devCode); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java index 094e097..250ee57 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java @@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -69,6 +70,7 @@ } + @Transactional @Override public boolean processAcceptGasData(Map dataParams) { JSONObject jsonObject = new JSONObject(dataParams); @@ -94,7 +96,7 @@ .logtime(DateUtil.parseDateTime(dataTime)) .build());//存储采集数据 //2.有无超限处理流程(判断最后一条数据) - if (i < jsonArray.size() - 1) continue; +// if (i < jsonArray.size() - 1) continue; //3.清除设备告警 alarmRecordsService.cancelDeviceAlarm(devCode); @@ -126,7 +128,7 @@ alarmRecordsService.cancelDataAlarm(devCode); } //6.更新电量及状态 (1:正常,2:报警) - alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"燃气浓度达到".concat(gas).concat("%LEL"):""); + alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"浓度达到".concat(gas).concat("PPM.M"):""); //7.更新监测井状态 (1:正常,2:报警) if (busWellDTOList != null && busWellDTOList.size() > 0) { alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml index 691c57b..30a0b6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml @@ -40,7 +40,7 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE @@ -48,40 +48,40 @@ LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE WHERE - blp.LOCATION_CATEGORY = 1 - AND bd.VALID >0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') - - - and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') - - - and blp.DEPTID in (${deptStrs}) - + bd.VALID >0 and bd.MONITOR_TYPE= '1' - - and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') + + + and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') + + + and blp.DEPTID in (${deptStrs}) + - - and blp.POSITION like concat('%', #{request.position}, '%') - + + and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') + - - and blp.ON_STATE =#{request.onState} - + + and blp.POSITION like concat('%', #{request.position}, '%') + - - and blp.MONITOR_STATE =#{request.monitorState} - - - and bt.ID =#{request.devTypeId} - + + and blp.ON_STATE =#{request.onState} + + + + and blp.MONITOR_STATE =#{request.monitorState} + + + and bt.ID =#{request.devTypeId} + ORDER BY blp.TS DESC @@ -100,16 +100,14 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE LEFT JOIN base_product bpt ON bpt.ID = bd.PRODUCT_ID LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE - WHERE - blp.LOCATION_CATEGORY > 1 - AND bd.VALID >0 + WHERE bd.VALID >0 and bd.MONITOR_TYPE= '0' and bd.DEVCODE like concat('%', #{request.devCode}, '%') @@ -151,35 +149,38 @@ @@ -187,39 +188,37 @@ WITH device_temp AS ( SELECT bd.id, bd.DEVCODE, bd.DEVICE_TYPE,bd.ONLINE_STATE FROM bus_device bd WHERE - VALID > 0 ) + VALID > 0 and bd.MONITOR_TYPE='1') SELECT - dt.DEVCODE, - bt.TYPE_NAME, - bp.PIPE_CODE, - bp.TAG_NUMBER, - bp.LNG_GAODE, - bp.LAT_GAODE, - bp.ID AS LEDGER_ID, - dt.ONLINE_STATE, - bt.ID AS DEVICE_TYPE_ID, - bp.DEPTID, - bp.POSITION, - bp.MONITOR_STATE, - bp.ON_STATE + dt.DEVCODE, + bt.TYPE_NAME, + bp.PIPE_CODE, + bp.TAG_NUMBER, + bp.LNG_GAODE, + bp.LAT_GAODE, + bp.ID AS LEDGER_ID, + dt.ONLINE_STATE, + bt.ID AS DEVICE_TYPE_ID, + bp.DEPTID, + bp.POSITION, + bp.MONITOR_STATE, + bp.ON_STATE FROM - device_temp dt - LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE - JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = 1 - JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type - where bp.LOCATION_CATEGORY=1 - - - and bp.DEPTID in (${deptids}) - + device_temp dt + LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE + JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = '1' + JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type + where 1=1 + + and bp.DEPTID in (${deptids}) + SELECT - bl.id, + distinct bl.id, bl.LEDGER_NAME, bl.LNG_GAODE, bl.LAT_GAODE, @@ -75,7 +75,8 @@ bl.ON_STATE FROM bus_ledger bl - WHERE VALID = '1' AND TYPE = '2' + JOIN bus_device_ledger br on br.LEDGER_ID= bl.id and br.VALID='1' and br.TYPE='2' + WHERE bl.VALID = '1' AND bl.TYPE = '2' and bl.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') @@ -101,7 +102,7 @@ and bl.DEPTID in (${deptIds}) - ORDER BY bl.TS DESC + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java index c0b099b..365cd7f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java @@ -26,7 +26,7 @@ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " + "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE= #{devCode} and bd.VALID>0) and bl.VALID='1')" + "SELECT bv.ledgerName,bv.tagNumber,bv.ledgerCode,bv.place,bv.deptid from device_temp dt " + - "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID='1' ") + "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE where bv.VALID='1' ") List getListByDevCode(@Param("devCode") String devCode); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java index 094e097..250ee57 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java @@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -69,6 +70,7 @@ } + @Transactional @Override public boolean processAcceptGasData(Map dataParams) { JSONObject jsonObject = new JSONObject(dataParams); @@ -94,7 +96,7 @@ .logtime(DateUtil.parseDateTime(dataTime)) .build());//存储采集数据 //2.有无超限处理流程(判断最后一条数据) - if (i < jsonArray.size() - 1) continue; +// if (i < jsonArray.size() - 1) continue; //3.清除设备告警 alarmRecordsService.cancelDeviceAlarm(devCode); @@ -126,7 +128,7 @@ alarmRecordsService.cancelDataAlarm(devCode); } //6.更新电量及状态 (1:正常,2:报警) - alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"燃气浓度达到".concat(gas).concat("%LEL"):""); + alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"浓度达到".concat(gas).concat("PPM.M"):""); //7.更新监测井状态 (1:正常,2:报警) if (busWellDTOList != null && busWellDTOList.size() > 0) { alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml index 691c57b..30a0b6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml @@ -40,7 +40,7 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE @@ -48,40 +48,40 @@ LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE WHERE - blp.LOCATION_CATEGORY = 1 - AND bd.VALID >0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') - - - and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') - - - and blp.DEPTID in (${deptStrs}) - + bd.VALID >0 and bd.MONITOR_TYPE= '1' - - and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') + + + and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') + + + and blp.DEPTID in (${deptStrs}) + - - and blp.POSITION like concat('%', #{request.position}, '%') - + + and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') + - - and blp.ON_STATE =#{request.onState} - + + and blp.POSITION like concat('%', #{request.position}, '%') + - - and blp.MONITOR_STATE =#{request.monitorState} - - - and bt.ID =#{request.devTypeId} - + + and blp.ON_STATE =#{request.onState} + + + + and blp.MONITOR_STATE =#{request.monitorState} + + + and bt.ID =#{request.devTypeId} + ORDER BY blp.TS DESC @@ -100,16 +100,14 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE LEFT JOIN base_product bpt ON bpt.ID = bd.PRODUCT_ID LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE - WHERE - blp.LOCATION_CATEGORY > 1 - AND bd.VALID >0 + WHERE bd.VALID >0 and bd.MONITOR_TYPE= '0' and bd.DEVCODE like concat('%', #{request.devCode}, '%') @@ -151,35 +149,38 @@ @@ -187,39 +188,37 @@ WITH device_temp AS ( SELECT bd.id, bd.DEVCODE, bd.DEVICE_TYPE,bd.ONLINE_STATE FROM bus_device bd WHERE - VALID > 0 ) + VALID > 0 and bd.MONITOR_TYPE='1') SELECT - dt.DEVCODE, - bt.TYPE_NAME, - bp.PIPE_CODE, - bp.TAG_NUMBER, - bp.LNG_GAODE, - bp.LAT_GAODE, - bp.ID AS LEDGER_ID, - dt.ONLINE_STATE, - bt.ID AS DEVICE_TYPE_ID, - bp.DEPTID, - bp.POSITION, - bp.MONITOR_STATE, - bp.ON_STATE + dt.DEVCODE, + bt.TYPE_NAME, + bp.PIPE_CODE, + bp.TAG_NUMBER, + bp.LNG_GAODE, + bp.LAT_GAODE, + bp.ID AS LEDGER_ID, + dt.ONLINE_STATE, + bt.ID AS DEVICE_TYPE_ID, + bp.DEPTID, + bp.POSITION, + bp.MONITOR_STATE, + bp.ON_STATE FROM - device_temp dt - LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE - JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = 1 - JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type - where bp.LOCATION_CATEGORY=1 - - - and bp.DEPTID in (${deptids}) - + device_temp dt + LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE + JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = '1' + JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type + where 1=1 + + and bp.DEPTID in (${deptids}) + SELECT - bl.id, + distinct bl.id, bl.LEDGER_NAME, bl.LNG_GAODE, bl.LAT_GAODE, @@ -75,7 +75,8 @@ bl.ON_STATE FROM bus_ledger bl - WHERE VALID = '1' AND TYPE = '2' + JOIN bus_device_ledger br on br.LEDGER_ID= bl.id and br.VALID='1' and br.TYPE='2' + WHERE bl.VALID = '1' AND bl.TYPE = '2' and bl.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') @@ -101,7 +102,7 @@ and bl.DEPTID in (${deptIds}) - ORDER BY bl.TS DESC + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java index 5b627c0..35518b6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java @@ -86,4 +86,10 @@ @ApiModelProperty("安装日期") private String installDate; + + @ApiModelProperty("负责人电话") + private String telephone; + + @ApiModelProperty("负责人名称") + private String personName; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java index c0b099b..365cd7f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java @@ -26,7 +26,7 @@ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " + "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE= #{devCode} and bd.VALID>0) and bl.VALID='1')" + "SELECT bv.ledgerName,bv.tagNumber,bv.ledgerCode,bv.place,bv.deptid from device_temp dt " + - "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID='1' ") + "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE where bv.VALID='1' ") List getListByDevCode(@Param("devCode") String devCode); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java index 094e097..250ee57 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java @@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -69,6 +70,7 @@ } + @Transactional @Override public boolean processAcceptGasData(Map dataParams) { JSONObject jsonObject = new JSONObject(dataParams); @@ -94,7 +96,7 @@ .logtime(DateUtil.parseDateTime(dataTime)) .build());//存储采集数据 //2.有无超限处理流程(判断最后一条数据) - if (i < jsonArray.size() - 1) continue; +// if (i < jsonArray.size() - 1) continue; //3.清除设备告警 alarmRecordsService.cancelDeviceAlarm(devCode); @@ -126,7 +128,7 @@ alarmRecordsService.cancelDataAlarm(devCode); } //6.更新电量及状态 (1:正常,2:报警) - alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"燃气浓度达到".concat(gas).concat("%LEL"):""); + alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"浓度达到".concat(gas).concat("PPM.M"):""); //7.更新监测井状态 (1:正常,2:报警) if (busWellDTOList != null && busWellDTOList.size() > 0) { alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml index 691c57b..30a0b6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml @@ -40,7 +40,7 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE @@ -48,40 +48,40 @@ LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE WHERE - blp.LOCATION_CATEGORY = 1 - AND bd.VALID >0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') - - - and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') - - - and blp.DEPTID in (${deptStrs}) - + bd.VALID >0 and bd.MONITOR_TYPE= '1' - - and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') + + + and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') + + + and blp.DEPTID in (${deptStrs}) + - - and blp.POSITION like concat('%', #{request.position}, '%') - + + and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') + - - and blp.ON_STATE =#{request.onState} - + + and blp.POSITION like concat('%', #{request.position}, '%') + - - and blp.MONITOR_STATE =#{request.monitorState} - - - and bt.ID =#{request.devTypeId} - + + and blp.ON_STATE =#{request.onState} + + + + and blp.MONITOR_STATE =#{request.monitorState} + + + and bt.ID =#{request.devTypeId} + ORDER BY blp.TS DESC @@ -100,16 +100,14 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE LEFT JOIN base_product bpt ON bpt.ID = bd.PRODUCT_ID LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE - WHERE - blp.LOCATION_CATEGORY > 1 - AND bd.VALID >0 + WHERE bd.VALID >0 and bd.MONITOR_TYPE= '0' and bd.DEVCODE like concat('%', #{request.devCode}, '%') @@ -151,35 +149,38 @@ @@ -187,39 +188,37 @@ WITH device_temp AS ( SELECT bd.id, bd.DEVCODE, bd.DEVICE_TYPE,bd.ONLINE_STATE FROM bus_device bd WHERE - VALID > 0 ) + VALID > 0 and bd.MONITOR_TYPE='1') SELECT - dt.DEVCODE, - bt.TYPE_NAME, - bp.PIPE_CODE, - bp.TAG_NUMBER, - bp.LNG_GAODE, - bp.LAT_GAODE, - bp.ID AS LEDGER_ID, - dt.ONLINE_STATE, - bt.ID AS DEVICE_TYPE_ID, - bp.DEPTID, - bp.POSITION, - bp.MONITOR_STATE, - bp.ON_STATE + dt.DEVCODE, + bt.TYPE_NAME, + bp.PIPE_CODE, + bp.TAG_NUMBER, + bp.LNG_GAODE, + bp.LAT_GAODE, + bp.ID AS LEDGER_ID, + dt.ONLINE_STATE, + bt.ID AS DEVICE_TYPE_ID, + bp.DEPTID, + bp.POSITION, + bp.MONITOR_STATE, + bp.ON_STATE FROM - device_temp dt - LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE - JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = 1 - JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type - where bp.LOCATION_CATEGORY=1 - - - and bp.DEPTID in (${deptids}) - + device_temp dt + LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE + JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = '1' + JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type + where 1=1 + + and bp.DEPTID in (${deptids}) + SELECT - bl.id, + distinct bl.id, bl.LEDGER_NAME, bl.LNG_GAODE, bl.LAT_GAODE, @@ -75,7 +75,8 @@ bl.ON_STATE FROM bus_ledger bl - WHERE VALID = '1' AND TYPE = '2' + JOIN bus_device_ledger br on br.LEDGER_ID= bl.id and br.VALID='1' and br.TYPE='2' + WHERE bl.VALID = '1' AND bl.TYPE = '2' and bl.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') @@ -101,7 +102,7 @@ and bl.DEPTID in (${deptIds}) - ORDER BY bl.TS DESC + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java index 5b627c0..35518b6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java @@ -86,4 +86,10 @@ @ApiModelProperty("安装日期") private String installDate; + + @ApiModelProperty("负责人电话") + private String telephone; + + @ApiModelProperty("负责人名称") + private String personName; } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java index 9ee27dd..4555eae 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java @@ -46,6 +46,8 @@ String WATCH_OBJECT= "watchObject"; //误报 String REAL_ALARM= "0"; + + String MIS_ALARM= "1"; //0:自有,1:自管 String MANAGE_TYPE= "0"; //设备异常 @@ -63,6 +65,8 @@ //已处置 String PROCESS_STATUS= "1"; + String NO_CONFIRM_STATUS= "2"; + String WEEK= "2"; String MONTH= "3"; @@ -91,4 +95,7 @@ String SYNC_CLASS= "3"; //组/片 String SYNC_GRID= "4"; + String MIS_REPORT1= "2-0-1"; + String MIS_REPORT2= "2-0-2"; + String LEAK= "1-2-1"; } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java index b533ed5..0b37038 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmStaticsController.java @@ -89,5 +89,13 @@ e.printStackTrace(); } } + + @ApiOperation("报表生成") + @PostMapping("/report") + @ResponseBody + public ReturnDTO report(@RequestBody AlarmReportRequestDTO alarmReportRequestDTO) { + + return ReturnUtil.success(iAlarmStaticsService.report(alarmReportRequestDTO)); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java index 254643e..7606437 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmRuleMapper.java @@ -27,7 +27,7 @@ " LEFT JOIN alarm_type at on at.ID=ar.ALARM_TYPE_ID " + "where ar.PRODUCT_ID in(SELECT bd.PRODUCT_ID FROM `bus_device` bd " + " where bd.DEVCODE= #{devCode} and bd.VALID=1 " + - ") and ar.ALARM_JUDGE_METHOD=1 order by CAST(ALARM_THRESHOLD AS SIGNED) desc") + ") and ar.ALARM_JUDGE_METHOD=1 AND ar.STATE='1' order by CAST(ALARM_THRESHOLD AS SIGNED) desc") List getRuleListByCode(@Param("devCode") String devCode); @@ -44,7 +44,7 @@ " LEFT JOIN alarm_type t ON t.id = ar.ALARM_TYPE_ID " + "WHERE " + " ar.PRODUCT_ID IN ( SELECT bd.PRODUCT_ID FROM bus_device bd WHERE bd.VALID = 1 AND DEVCODE = #{devCode} ) " + - " AND ar.ALARM_JUDGE_METHOD = 0") + " AND ar.ALARM_JUDGE_METHOD = '0' and ar.STATE='1'") List getDeviceAlarmRuleByCode(@Param("devCode") String devCode); Page pageList(Page page, @Param("request") AlarmRuleRequestDTO request); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java index 30744d1..503f128 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/AlarmStaticsMapper.java @@ -22,8 +22,8 @@ @Mapper public interface AlarmStaticsMapper extends BaseMapper { - List overall( @Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs); + List overall(@Param("alarmType") String alarmType, + @Param("deptStrs") String deptStrs); List alarmPosition(@Param("alarmType") String alarmType, @Param("deptIds") String deptIds, @@ -34,14 +34,20 @@ @Param("request") AlarmTypeRequestDTO request); List alarmCompany(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmPositionRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmPositionRequestDTO request); List alarmTrend(@Param("alarmType") String alarmType, - @Param("deptStrs") String deptStrs, - @Param("request") AlarmTypeRequestDTO request); + @Param("deptStrs") String deptStrs, + @Param("request") AlarmTypeRequestDTO request); List alarmTypeJoinList(); + List report(@Param("deptStrs") String deptStrs, + @Param("request") AlarmReportRequestDTO request); + + List deviceCount(@Param("deptStrs") String deptStrs); + + } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java index a919415..5f42b25 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/ApprovalLogMapper.java @@ -36,9 +36,7 @@ void deleteByAlarmIds(@Param("alarmIds") String alarmIds); - @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus}") + @Select("SELECT * FROM `approval_log` WHERE ALARM_ID = #{alarmId} and FLOW_STATUS = #{flowStatus} limit 1") ApprovalLog getApprovalLog(@Param("alarmId") Long alarmId,@Param("flowStatus") String flowStatus); - - } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml index 1590e69..c22080a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmRecordsMapper.xml @@ -805,7 +805,7 @@ update bus_ledger set MONITOR_STATE = #{onLineStatus} where TAG_NUMBER = #{tagNumber} - and valid > 0 + and valid = '1' update bus_ledger_pipe diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml index 0ab7191..0bf9535 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/AlarmStaticsMapper.xml @@ -117,6 +117,9 @@ FROM alarm_type ay LEFT JOIN alarms ON ay.id = alarms.alarmTypeId + WHERE ay.ENABLED='1' + ORDER BY + ay.sort @@ -248,4 +251,58 @@ + + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml index 430f37c..bd2d773 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dao/mapping/OverViewMapper.xml @@ -25,14 +25,22 @@ @@ -50,7 +58,7 @@ ) SELECT count(1) as `value`, '3' as `name` FROM device_temp bt where bt.VALID>1 UNION ALL - SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID='1' GROUP BY bt.ONLINE_STATE diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java new file mode 100644 index 0000000..817dbeb --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportRequestDTO.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportRequestDTO { + + @ApiModelProperty("报警开始时间") + private String begTime; + + @ApiModelProperty("报警结束时间") + private String endTime; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java new file mode 100644 index 0000000..328dda4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmReportResponseDTO.java @@ -0,0 +1,39 @@ +package com.casic.missiles.modular.alarm.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AlarmReportResponseDTO { + + private Long id; + + @ApiModelProperty("状态") + private String processStatus; + + @ApiModelProperty("上个节点状态") + private String preProcessStatus; + + @ApiModelProperty("异常类型(1:设备异常,0:数据异常)") + private String exceptionType; + + @ApiModelProperty("报警类型") + private Long alarmTypeId; + + @ApiModelProperty("台账位号") + private String ledgerNumber; + + @ApiModelProperty("台账编号") + private String ledgerCode; + + @ApiModelProperty("是否误报(0:是,1、2:否)") + private String realAlarm; + + @ApiModelProperty("部门id") + private Long deptid; + + @ApiModelProperty("报警时间") + private String alarmTime; + + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java new file mode 100644 index 0000000..4fb705f --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceCountResponseDTO.java @@ -0,0 +1,12 @@ +package com.casic.missiles.modular.alarm.dto; + +import lombok.Data; + +@Data +public class DeviceCountResponseDTO { + + private Long deviceId; + + private Long deptid; + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java index d0c1ac8..787a7aa 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/IAlarmStaticsService.java @@ -1,8 +1,6 @@ package com.casic.missiles.modular.alarm.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.alarm.dto.*; import com.casic.missiles.modular.alarm.entity.AlarmRecords; @@ -19,15 +17,17 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ); + List overall(String alarmType); - List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); - List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); + List alarmType(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List> alarmTrend(String alarmType , AlarmTypeRequestDTO alarmTypeRequestDTO); + List> alarmTrend(String alarmType, AlarmTypeRequestDTO alarmTypeRequestDTO); - List< Map> alarmCompany(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); + List> report(AlarmReportRequestDTO alarmReportRequestDTO); + + List> alarmCompany(String alarmType, AlarmPositionRequestDTO alarmPositionRequestDTO); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index cc1f8b3..d059748 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -247,18 +247,20 @@ //0:自有,1:自管 resultMap.put("manageType", DictEnum.MANAGE_TYPE.equals(resultMap.get("manageType").toString()) ? "自有" : "自管"); //设置确认上个处置内容 - resultMap.put("processContent", "未处置"); - resultMap.put("confirmContent", "未确认"); + resultMap.put("processContent", ""); + resultMap.put("confirmContent", ""); String processStatus = resultMap.get("PROCESS_STATUS").toString(); if (ApprovalStatusEnum.CONFIRMED.getCode().equals(processStatus) || - ApprovalStatusEnum.UNPROCESS.equals(processStatus) || + ApprovalStatusEnum.UNPROCESS.getCode().equals(processStatus) || ApprovalStatusEnum.PROCESSED.getCode().equals(processStatus) || - ApprovalStatusEnum.FINISHED.getCode().equals(processStatus)) { + ApprovalStatusEnum.FINISHED.getCode().equals(processStatus) || + ApprovalStatusEnum.NONEEDPROCESS.getCode().equals(processStatus)) { String confirmMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.CONFIRMED.getCode()); - String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); - String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); - if (ObjectUtil.isNotEmpty(confirmMsg) || ObjectUtil.isNotEmpty(confirmMsg1)) - resultMap.put("confirmContent", ObjectUtil.isNotEmpty(confirmMsg) ? confirmMsg : confirmMsg1); +// String confirmMsg1 = approvalLogMapper.getMsg(id, ApprovalStatusEnum.UNPROCESS.getCode()); +// String processMsg = approvalLogMapper.getMsg(id, ApprovalStatusEnum.PROCESSED.getCode()); + String processMsg = approvalLogMapper.getMsg(id, processStatus); + if (ObjectUtil.isNotEmpty(confirmMsg)) + resultMap.put("confirmContent", confirmMsg); if (ObjectUtil.isNotEmpty(processMsg)) resultMap.put("processContent", processMsg); } @@ -925,9 +927,11 @@ } } + @Transactional @Override public boolean process(List approvalLogs) { if (approvalLogs != null && approvalLogs.size() > 0) { + String confirmStatus = ""; for (ApprovalLog approvalLog : approvalLogs) { if (ApprovalStatusEnum.CONFIRMED.getCode().equals(approvalLog.getFlowStatus())) { //是否已确认,确认不允许更改 @@ -936,8 +940,15 @@ approvalLogMapper.insert(new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), ApprovalStatusEnum.CONFIRMED.getCode(), null, approvalLog.getDescn(), approvalLog.getConfirmValue())); + if(DictEnum.LEAK.equals(approvalLog.getApprovalStatus())){ + confirmStatus="0"; + }else if(DictEnum.MIS_REPORT1.equals(approvalLog.getApprovalStatus())|| + DictEnum.MIS_REPORT2.equals(approvalLog.getApprovalStatus())){ + confirmStatus="1"; + } } } else { + //toDo:查询该状态所有节点 删除 ApprovalLog approvalLogStatus = approvalLogMapper.getApprovalLog(approvalLog.getAlarmId(), approvalLog.getFlowStatus()); ApprovalLog approvalLogStatus1 = new ApprovalLog(approvalLog.getAlarmId(), approvalLog.getApprovalStatus(), approvalLog.getApprovalPerson(), approvalLog.getFlowStatus(), @@ -955,6 +966,9 @@ AlarmRecords alarmRecords = getById(approvalLog.getAlarmId()); alarmRecords.setPreProcessStatus(alarmRecords.getProcessStatus()); alarmRecords.setProcessStatus(approvalLog.getFlowStatus()); + if(ObjectUtil.isNotEmpty(confirmStatus)){ + alarmRecords.setRealAlarm(confirmStatus); + } this.baseMapper.updateById(alarmRecords); } return true; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java index 33fb05f..56a5563 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmStaticsServiceImpl.java @@ -49,7 +49,7 @@ List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, commonServer.getDeptScopeIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); - alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid())?commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()):""); + alarmPositionResponseDTO.setDeptName(ObjectUtil.isNotEmpty(alarmPositionResponseDTO.getDeptid()) ? commonServer.getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid()) : ""); }); return alarmPositionResponseDTOList; } @@ -87,9 +87,7 @@ for (AlarmDeviceTypeDTO alarmDeviceTypeDTO : alarmDeviceTypeDTOList) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), 0); for (AlarmTrendResponseDTO responseDTO : alarmTrendResponseDTOList) { - if (day.equals(responseDTO.getAlarmTime()) && - alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && - alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { + if (day.equals(responseDTO.getAlarmTime()) && alarmDeviceTypeDTO.getAlarmType().equals(responseDTO.getAlarmTypeName()) && alarmDeviceTypeDTO.getWatchObject().equals(responseDTO.getWatchObject())) { dayMap.put(alarmDeviceTypeDTO.getAlarmName(), Integer.valueOf(dayMap.get(alarmDeviceTypeDTO.getAlarmName()).toString()) + Integer.valueOf(responseDTO.getValue())); } } @@ -102,9 +100,7 @@ public List getDeptList(String deptIdStrs) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")) - .map(Long::parseLong) - .collect(Collectors.toList())); + queryWrapper.in("id", Arrays.stream(deptIdStrs.split(",")).map(Long::parseLong).collect(Collectors.toList())); return abstractDeptService.list(queryWrapper); } @@ -146,9 +142,7 @@ for (String alarm : alarmList) { deptMap.put(alarm, 0); for (AlarmCompanyResponseDTO responseDTO : responseDTOList) { - if (alarm.equals(responseDTO.getAlarmName()) && - null != responseDTO.getDeptid() && - deptChildIds.contains(responseDTO.getDeptid())) { + if (alarm.equals(responseDTO.getAlarmName()) && null != responseDTO.getDeptid() && deptChildIds.contains(responseDTO.getDeptid())) { deptMap.put(alarm, Integer.valueOf(deptMap.get(alarm).toString()) + responseDTO.getAlarmSum()); } } @@ -159,4 +153,105 @@ return resultMapList; } + public List> report(AlarmReportRequestDTO request) { + if (ObjectUtil.isNotEmpty(request.getBegTime()) || ObjectUtil.isNotEmpty(request.getEndTime())) { + request.setEndTime(request.getEndTime().replace("00:00:00", "23:59:59")); + } + String deptIdStrs = commonServer.getDeptScopeIds(null); + + List deptIds = new ArrayList<>(); + //根据权限只统计分公司级和工程组级 + if (ObjectUtil.isNotEmpty(deptIdStrs)) { + //获取对应的下级部门 + deptIds = getDeptList(deptIdStrs); + boolean isAdmin = deptIds.stream().anyMatch(dept -> DictEnum.DEPT_ALL.equals(dept.getTips())); + if (isAdmin) { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } else { + //分公司权限 + if (deptIds.stream().anyMatch(dept -> DictEnum.DEPT_COMPANY.equals(dept.getTips()))) { + deptIds = deptIds.stream().filter(dept -> "dept".equals(dept.getTips())).collect(Collectors.toList()); + } + } + } else { + //管理员权限 + deptIds = abstractDeptService.getListByTips("company"); + } + + List> resultMapList = new ArrayList<>(); + if (null != deptIds && deptIds.size() > 0) { + List responseDTOList = this.baseMapper.report(deptIdStrs, request); + List deviceCountResponseDTOS = this.baseMapper.deviceCount(deptIdStrs); + for (Dept dept : deptIds) { + Map deptMap = new HashMap<>(); + deptMap.put("dept", dept.getFullName()); + List deptChildIds = abstractDeptService.getIdsRecursionByPid(dept.getId(), ""); + deptChildIds.add(dept.getId()); + int alarmSum = 0, noAlarmSum = 0, faultSum = 0, noConfirmAlarmSum = 0, deviceSum = 0; + //统计设备总数 + for (DeviceCountResponseDTO dto : deviceCountResponseDTOS) { + if (null != dto.getDeptid() && deptChildIds.contains(dto.getDeptid())) deviceSum++; + } + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum++; + noAlarmSum++; + } + } + } + deptMap.put("alarmSum", alarmSum); + deptMap.put("noAlarmSum", noAlarmSum); + deptMap.put("faultSum", faultSum); + deptMap.put("noConfirmAlarmSum", noConfirmAlarmSum); + deptMap.put("deviceSum", deviceSum); + + //每日详情 + List days = new ArrayList<>(); + if (ObjectUtil.isNotEmpty(request.getBegTime()) && ObjectUtil.isNotEmpty(request.getEndTime())) { + days = TimeConvertUtil.betweenDays(request.getBegTime(), request.getEndTime()); + } + List> dayMapList = new ArrayList<>(); + for (String day : days) { + int alarmSum1 = 0, noAlarmSum1 = 0, faultSum1 = 0, noConfirmAlarmSum1 = 0; + Map dayMap = new HashMap<>(); + dayMap.put("date", day); + //统计报警相关总数 + for (AlarmReportResponseDTO alarm : responseDTOList) { + if (day.equals(alarm.getAlarmTime())) { + if (deptChildIds.contains(alarm.getDeptid())) { + if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.REAL_ALARM.equals(alarm.getRealAlarm())) { + alarmSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.MIS_ALARM.equals(alarm.getRealAlarm())) { + noAlarmSum1++; + } else if (DictEnum.DEVICE_EXCEPTION.equals(alarm.getExceptionType())) { + faultSum1++; + } else if (DictEnum.DATA_EXCEPTION.equals(alarm.getExceptionType()) && DictEnum.NO_CONFIRM_STATUS.equals(alarm.getRealAlarm())) { + noConfirmAlarmSum1++; + noAlarmSum1++; + } + } + } + } + dayMap.put("alarmSum", alarmSum1); + dayMap.put("noAlarmSum", noAlarmSum1); + dayMap.put("faultSum", faultSum1); + dayMap.put("noConfirmAlarmSum", noConfirmAlarmSum1); + dayMap.put("deviceSum", deviceSum); + dayMapList.add(dayMap); + } + deptMap.put("day", dayMapList); + resultMapList.add(deptMap); + } + } + return resultMapList; + } } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java index c0b099b..365cd7f 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/dao/DataGasMapper.java @@ -26,7 +26,7 @@ "SELECT bl.LEDGER_ID,bl.TYPE from bus_device_ledger bl where bl.DEVICE_ID in ( " + "SELECT bd.id FROM `bus_device` bd where bd.DEVCODE= #{devCode} and bd.VALID>0) and bl.VALID='1')" + "SELECT bv.ledgerName,bv.tagNumber,bv.ledgerCode,bv.place,bv.deptid from device_temp dt " + - "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE and bv.VALID='1' ") + "left join bus_ledger_all_view bv on bv.id= dt.LEDGER_ID and dt.TYPE=bv.TYPE where bv.VALID='1' ") List getListByDevCode(@Param("devCode") String devCode); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java index 094e097..250ee57 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataPanGasServiceImpl.java @@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @@ -69,6 +70,7 @@ } + @Transactional @Override public boolean processAcceptGasData(Map dataParams) { JSONObject jsonObject = new JSONObject(dataParams); @@ -94,7 +96,7 @@ .logtime(DateUtil.parseDateTime(dataTime)) .build());//存储采集数据 //2.有无超限处理流程(判断最后一条数据) - if (i < jsonArray.size() - 1) continue; +// if (i < jsonArray.size() - 1) continue; //3.清除设备告警 alarmRecordsService.cancelDeviceAlarm(devCode); @@ -126,7 +128,7 @@ alarmRecordsService.cancelDataAlarm(devCode); } //6.更新电量及状态 (1:正常,2:报警) - alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"燃气浓度达到".concat(gas).concat("%LEL"):""); + alarmRecordsService.updateCell(devCode, alarmFlag ? "2" : "1", "", gas,alarmFlag?"浓度达到".concat(gas).concat("PPM.M"):""); //7.更新监测井状态 (1:正常,2:报警) if (busWellDTOList != null && busWellDTOList.size() > 0) { alarmRecordsService.updateWellStatus(busWellDTOList.get(0).getTagNumber(), alarmFlag ? "2" : "1"); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml index 691c57b..30a0b6d 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dao/mapping/BusLedgerPipeMapper.xml @@ -40,7 +40,7 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE @@ -48,40 +48,40 @@ LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE WHERE - blp.LOCATION_CATEGORY = 1 - AND bd.VALID >0 - - and bd.DEVCODE like concat('%', #{request.devCode}, '%') - - - and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') - - - and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') - - - and blp.DEPTID in (${deptStrs}) - + bd.VALID >0 and bd.MONITOR_TYPE= '1' - - and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') - + + and bd.DEVCODE like concat('%', #{request.devCode}, '%') + + + and bd.DEVICE_NAME like concat('%', #{request.devName}, '%') + + + and blp.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') + + + and blp.DEPTID in (${deptStrs}) + - - and blp.POSITION like concat('%', #{request.position}, '%') - + + and blp.PIPE_CODE like concat('%', #{request.pipeCode}, '%') + - - and blp.ON_STATE =#{request.onState} - + + and blp.POSITION like concat('%', #{request.position}, '%') + - - and blp.MONITOR_STATE =#{request.monitorState} - - - and bt.ID =#{request.devTypeId} - + + and blp.ON_STATE =#{request.onState} + + + + and blp.MONITOR_STATE =#{request.monitorState} + + + and bt.ID =#{request.devTypeId} + ORDER BY blp.TS DESC @@ -100,16 +100,14 @@ FROM bus_device bd JOIN bus_device_ledger bl ON bl.DEVICE_ID = bd.id - AND bl.VALID = 1 + AND bl.VALID = '1' JOIN bus_ledger_pipe blp ON blp.id = bl.LEDGER_ID AND bl.type = blp.type JOIN base_device_type bt ON bt.ID = bd.DEVICE_TYPE LEFT JOIN base_product bpt ON bpt.ID = bd.PRODUCT_ID LEFT JOIN bus_manufacturer bm ON bm.ID = bpt.MANUFACTURER_ID LEFT JOIN bus_pipeline bp ON blp.PIPE_CODE = bp.PIPE_CODE - WHERE - blp.LOCATION_CATEGORY > 1 - AND bd.VALID >0 + WHERE bd.VALID >0 and bd.MONITOR_TYPE= '0' and bd.DEVCODE like concat('%', #{request.devCode}, '%') @@ -151,35 +149,38 @@ @@ -187,39 +188,37 @@ WITH device_temp AS ( SELECT bd.id, bd.DEVCODE, bd.DEVICE_TYPE,bd.ONLINE_STATE FROM bus_device bd WHERE - VALID > 0 ) + VALID > 0 and bd.MONITOR_TYPE='1') SELECT - dt.DEVCODE, - bt.TYPE_NAME, - bp.PIPE_CODE, - bp.TAG_NUMBER, - bp.LNG_GAODE, - bp.LAT_GAODE, - bp.ID AS LEDGER_ID, - dt.ONLINE_STATE, - bt.ID AS DEVICE_TYPE_ID, - bp.DEPTID, - bp.POSITION, - bp.MONITOR_STATE, - bp.ON_STATE + dt.DEVCODE, + bt.TYPE_NAME, + bp.PIPE_CODE, + bp.TAG_NUMBER, + bp.LNG_GAODE, + bp.LAT_GAODE, + bp.ID AS LEDGER_ID, + dt.ONLINE_STATE, + bt.ID AS DEVICE_TYPE_ID, + bp.DEPTID, + bp.POSITION, + bp.MONITOR_STATE, + bp.ON_STATE FROM - device_temp dt - LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE - JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = 1 - JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type - where bp.LOCATION_CATEGORY=1 - - - and bp.DEPTID in (${deptids}) - + device_temp dt + LEFT JOIN base_device_type bt ON bt.id = dt.DEVICE_TYPE + JOIN bus_device_ledger bl ON bl.DEVICE_ID = dt.id AND bl.VALID = '1' + JOIN bus_ledger_pipe bp ON bp.id = bl.LEDGER_ID and bl.type=bp.type + where 1=1 + + and bp.DEPTID in (${deptids}) + SELECT - bl.id, + distinct bl.id, bl.LEDGER_NAME, bl.LNG_GAODE, bl.LAT_GAODE, @@ -75,7 +75,8 @@ bl.ON_STATE FROM bus_ledger bl - WHERE VALID = '1' AND TYPE = '2' + JOIN bus_device_ledger br on br.LEDGER_ID= bl.id and br.VALID='1' and br.TYPE='2' + WHERE bl.VALID = '1' AND bl.TYPE = '2' and bl.TAG_NUMBER like concat('%', #{request.tagNumber}, '%') @@ -101,7 +102,7 @@ and bl.DEPTID in (${deptIds}) - ORDER BY bl.TS DESC + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java index 5b627c0..35518b6 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/device/dto/BusLedgerPipeResponseDTO.java @@ -86,4 +86,10 @@ @ApiModelProperty("安装日期") private String installDate; + + @ApiModelProperty("负责人电话") + private String telephone; + + @ApiModelProperty("负责人名称") + private String personName; } diff --git a/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java b/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java index 9ee27dd..4555eae 100644 --- a/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java +++ b/casic-public/src/main/java/com/casic/missiles/enums/DictEnum.java @@ -46,6 +46,8 @@ String WATCH_OBJECT= "watchObject"; //误报 String REAL_ALARM= "0"; + + String MIS_ALARM= "1"; //0:自有,1:自管 String MANAGE_TYPE= "0"; //设备异常 @@ -63,6 +65,8 @@ //已处置 String PROCESS_STATUS= "1"; + String NO_CONFIRM_STATUS= "2"; + String WEEK= "2"; String MONTH= "3"; @@ -91,4 +95,7 @@ String SYNC_CLASS= "3"; //组/片 String SYNC_GRID= "4"; + String MIS_REPORT1= "2-0-1"; + String MIS_REPORT2= "2-0-2"; + String LEAK= "1-2-1"; } diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/ptz/controller/PtzController.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/ptz/controller/PtzController.java index bd056bc..a2546c4 100644 --- a/casic-rest-api/src/main/java/com/casic/missiles/modular/ptz/controller/PtzController.java +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/ptz/controller/PtzController.java @@ -12,9 +12,7 @@ import org.springframework.web.bind.annotation.*; import java.util.Map; -import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.CompletableFuture; @Api(tags = "云台管理模块") @RequiredArgsConstructor @@ -22,7 +20,6 @@ @RestController @RequestMapping("/ptz") public class PtzController { - private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 20, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(100)); private final IPtzService iPtzService; @ApiOperation("云台控制") @@ -36,8 +33,7 @@ @PostMapping("/acceptGasData") @ResponseBody public ReturnDTO acceptGasData(@RequestBody Map dataParams) { - threadPoolExecutor.execute( - () -> { + CompletableFuture.runAsync(() -> { String receiveData = JSON.toJSONString(dataParams); log.info(">>>>>>接收场站云台数据<<<<<<:" + receiveData); iPtzService.acceptGasData(dataParams); @@ -50,8 +46,7 @@ @PostMapping("/acceptAlarmData") @ResponseBody public ReturnDTO acceptAlarmData(@RequestBody Map dataParams) { - threadPoolExecutor.execute( - () -> { + CompletableFuture.runAsync(() -> { String receiveData = JSON.toJSONString(dataParams); log.info(">>>>>>接收ai报警数据<<<<<<:" + receiveData); iPtzService.acceptAlarmData(dataParams); @@ -90,7 +85,6 @@ } - @PostMapping("/test") @ResponseBody public ReturnDTO test(String devcode) {