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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java index 5fb26f3..329fe9e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,45 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmRecordExportDTO { - @ExcelProperty(value = "报警类别", order = 1) + @ExcelProperty(value = "报警类别",order = 1) + @ColumnWidth(20) private String alarmCategory; + @ColumnWidth(20) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(30) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; - + @ColumnWidth(20) @ExcelProperty(value = "安装位号", order = 5) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 6) private String ledgerName; - + @ColumnWidth(40) @ExcelProperty(value = "详细位置", order = 7) private String position; + @ColumnWidth(40) @ExcelProperty(value = "管理单位", order = 8) private String deptName; + @ColumnWidth(20) @ExcelProperty(value = "设备编号", order = 9) private String devcode; - + @ColumnWidth(20) @ExcelProperty(value = "设备类型", order = 10) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警状态", order = 11) private String processStatus; + @ColumnWidth(30) @ExcelProperty(value = "报警时间", order = 12) private Date 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java index 5fb26f3..329fe9e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,45 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmRecordExportDTO { - @ExcelProperty(value = "报警类别", order = 1) + @ExcelProperty(value = "报警类别",order = 1) + @ColumnWidth(20) private String alarmCategory; + @ColumnWidth(20) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(30) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; - + @ColumnWidth(20) @ExcelProperty(value = "安装位号", order = 5) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 6) private String ledgerName; - + @ColumnWidth(40) @ExcelProperty(value = "详细位置", order = 7) private String position; + @ColumnWidth(40) @ExcelProperty(value = "管理单位", order = 8) private String deptName; + @ColumnWidth(20) @ExcelProperty(value = "设备编号", order = 9) private String devcode; - + @ColumnWidth(20) @ExcelProperty(value = "设备类型", order = 10) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警状态", order = 11) private String processStatus; + @ColumnWidth(30) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java index 083ce6a..a04515c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,12 +15,15 @@ @ExcelProperty(value = "设备编号", order = 1) @ApiModelProperty("设备编号") + @ColumnWidth(15) private String devCode; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) @ApiModelProperty("报警类型") private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 3) @ApiModelProperty("报警原因") private String alarmContent; @@ -30,6 +34,7 @@ @ApiModelProperty("位置") private String position; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 4) @ApiModelProperty("管理单位") private String deptName; @@ -37,10 +42,12 @@ @ApiModelProperty("厂商") private String manufactureName; + @ColumnWidth(15) @ExcelProperty(value = "状态", order = 5) @ApiModelProperty("状态") private String processStatus; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 6) @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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java index 5fb26f3..329fe9e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,45 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmRecordExportDTO { - @ExcelProperty(value = "报警类别", order = 1) + @ExcelProperty(value = "报警类别",order = 1) + @ColumnWidth(20) private String alarmCategory; + @ColumnWidth(20) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(30) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; - + @ColumnWidth(20) @ExcelProperty(value = "安装位号", order = 5) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 6) private String ledgerName; - + @ColumnWidth(40) @ExcelProperty(value = "详细位置", order = 7) private String position; + @ColumnWidth(40) @ExcelProperty(value = "管理单位", order = 8) private String deptName; + @ColumnWidth(20) @ExcelProperty(value = "设备编号", order = 9) private String devcode; - + @ColumnWidth(20) @ExcelProperty(value = "设备类型", order = 10) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警状态", order = 11) private String processStatus; + @ColumnWidth(30) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java index 083ce6a..a04515c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,12 +15,15 @@ @ExcelProperty(value = "设备编号", order = 1) @ApiModelProperty("设备编号") + @ColumnWidth(15) private String devCode; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) @ApiModelProperty("报警类型") private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 3) @ApiModelProperty("报警原因") private String alarmContent; @@ -30,6 +34,7 @@ @ApiModelProperty("位置") private String position; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 4) @ApiModelProperty("管理单位") private String deptName; @@ -37,10 +42,12 @@ @ApiModelProperty("厂商") private String manufactureName; + @ColumnWidth(15) @ExcelProperty(value = "状态", order = 5) @ApiModelProperty("状态") private String processStatus; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 6) @ApiModelProperty("报警时间") private String alarmTime; 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 61588e3..d0c1ac8 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 @@ -19,9 +19,9 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ,List deptIds); + List overall(String alarmType ); - List alarmPosition(String alarmType , List deptIds,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java index 5fb26f3..329fe9e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,45 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmRecordExportDTO { - @ExcelProperty(value = "报警类别", order = 1) + @ExcelProperty(value = "报警类别",order = 1) + @ColumnWidth(20) private String alarmCategory; + @ColumnWidth(20) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(30) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; - + @ColumnWidth(20) @ExcelProperty(value = "安装位号", order = 5) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 6) private String ledgerName; - + @ColumnWidth(40) @ExcelProperty(value = "详细位置", order = 7) private String position; + @ColumnWidth(40) @ExcelProperty(value = "管理单位", order = 8) private String deptName; + @ColumnWidth(20) @ExcelProperty(value = "设备编号", order = 9) private String devcode; - + @ColumnWidth(20) @ExcelProperty(value = "设备类型", order = 10) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警状态", order = 11) private String processStatus; + @ColumnWidth(30) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java index 083ce6a..a04515c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,12 +15,15 @@ @ExcelProperty(value = "设备编号", order = 1) @ApiModelProperty("设备编号") + @ColumnWidth(15) private String devCode; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) @ApiModelProperty("报警类型") private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 3) @ApiModelProperty("报警原因") private String alarmContent; @@ -30,6 +34,7 @@ @ApiModelProperty("位置") private String position; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 4) @ApiModelProperty("管理单位") private String deptName; @@ -37,10 +42,12 @@ @ApiModelProperty("厂商") private String manufactureName; + @ColumnWidth(15) @ExcelProperty(value = "状态", order = 5) @ApiModelProperty("状态") private String processStatus; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 6) @ApiModelProperty("报警时间") private String alarmTime; 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 61588e3..d0c1ac8 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 @@ -19,9 +19,9 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ,List deptIds); + List overall(String alarmType ); - List alarmPosition(String alarmType , List deptIds,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); 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 819fead..71c6606 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 @@ -185,6 +185,8 @@ exportDTOList.forEach(deviceAlarm -> { deviceAlarm.setDeptName(getDeptNamesByDeptId(deviceAlarm.getDeptid())); deviceAlarm.setCancelDuration(TimeConverter(deviceAlarm.getCancelDuration())); + deviceAlarm.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", deviceAlarm.getAlarmCategory())); + deviceAlarm.setRealAlarm(DictEnum.REAL_ALARM.equals(deviceAlarm.getRealAlarm()) ? "是" : "否"); }); return exportDTOList; } 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java index 5fb26f3..329fe9e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,45 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmRecordExportDTO { - @ExcelProperty(value = "报警类别", order = 1) + @ExcelProperty(value = "报警类别",order = 1) + @ColumnWidth(20) private String alarmCategory; + @ColumnWidth(20) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(30) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; - + @ColumnWidth(20) @ExcelProperty(value = "安装位号", order = 5) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 6) private String ledgerName; - + @ColumnWidth(40) @ExcelProperty(value = "详细位置", order = 7) private String position; + @ColumnWidth(40) @ExcelProperty(value = "管理单位", order = 8) private String deptName; + @ColumnWidth(20) @ExcelProperty(value = "设备编号", order = 9) private String devcode; - + @ColumnWidth(20) @ExcelProperty(value = "设备类型", order = 10) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警状态", order = 11) private String processStatus; + @ColumnWidth(30) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java index 083ce6a..a04515c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,12 +15,15 @@ @ExcelProperty(value = "设备编号", order = 1) @ApiModelProperty("设备编号") + @ColumnWidth(15) private String devCode; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) @ApiModelProperty("报警类型") private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 3) @ApiModelProperty("报警原因") private String alarmContent; @@ -30,6 +34,7 @@ @ApiModelProperty("位置") private String position; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 4) @ApiModelProperty("管理单位") private String deptName; @@ -37,10 +42,12 @@ @ApiModelProperty("厂商") private String manufactureName; + @ColumnWidth(15) @ExcelProperty(value = "状态", order = 5) @ApiModelProperty("状态") private String processStatus; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 6) @ApiModelProperty("报警时间") private String alarmTime; 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 61588e3..d0c1ac8 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 @@ -19,9 +19,9 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ,List deptIds); + List overall(String alarmType ); - List alarmPosition(String alarmType , List deptIds,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); 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 819fead..71c6606 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 @@ -185,6 +185,8 @@ exportDTOList.forEach(deviceAlarm -> { deviceAlarm.setDeptName(getDeptNamesByDeptId(deviceAlarm.getDeptid())); deviceAlarm.setCancelDuration(TimeConverter(deviceAlarm.getCancelDuration())); + deviceAlarm.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", deviceAlarm.getAlarmCategory())); + deviceAlarm.setRealAlarm(DictEnum.REAL_ALARM.equals(deviceAlarm.getRealAlarm()) ? "是" : "否"); }); return exportDTOList; } 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 98d41f0..a5b4e81 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 @@ -37,17 +37,15 @@ private final AbstractPermissionContext permissionContext; @Override - public List overall(String alarmType, List deptIds) { - String deptStrs = deptIds.stream().map(id -> Convert.toStr(id)).collect(Collectors.joining(",")); + public List overall(String alarmType) { //Todo:加入报警类型 - return this.baseMapper.overall(alarmType, deptStrs); + return this.baseMapper.overall(alarmType, getDeptIds(null)); } @Override - public List alarmPosition(String alarmType, List deptIds, AlarmPositionRequestDTO request) { + public List alarmPosition(String alarmType, AlarmPositionRequestDTO request) { //Todo:加入报警类型 - String deptStrs = deptIds.stream().map(id -> Convert.toStr(id)).collect(Collectors.joining(",")); - List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, deptStrs, request); + List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, getDeptIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); alarmPositionResponseDTO.setDeptName(getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java index 5fb26f3..329fe9e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,45 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmRecordExportDTO { - @ExcelProperty(value = "报警类别", order = 1) + @ExcelProperty(value = "报警类别",order = 1) + @ColumnWidth(20) private String alarmCategory; + @ColumnWidth(20) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(30) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; - + @ColumnWidth(20) @ExcelProperty(value = "安装位号", order = 5) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 6) private String ledgerName; - + @ColumnWidth(40) @ExcelProperty(value = "详细位置", order = 7) private String position; + @ColumnWidth(40) @ExcelProperty(value = "管理单位", order = 8) private String deptName; + @ColumnWidth(20) @ExcelProperty(value = "设备编号", order = 9) private String devcode; - + @ColumnWidth(20) @ExcelProperty(value = "设备类型", order = 10) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警状态", order = 11) private String processStatus; + @ColumnWidth(30) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java index 083ce6a..a04515c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,12 +15,15 @@ @ExcelProperty(value = "设备编号", order = 1) @ApiModelProperty("设备编号") + @ColumnWidth(15) private String devCode; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) @ApiModelProperty("报警类型") private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 3) @ApiModelProperty("报警原因") private String alarmContent; @@ -30,6 +34,7 @@ @ApiModelProperty("位置") private String position; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 4) @ApiModelProperty("管理单位") private String deptName; @@ -37,10 +42,12 @@ @ApiModelProperty("厂商") private String manufactureName; + @ColumnWidth(15) @ExcelProperty(value = "状态", order = 5) @ApiModelProperty("状态") private String processStatus; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 6) @ApiModelProperty("报警时间") private String alarmTime; 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 61588e3..d0c1ac8 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 @@ -19,9 +19,9 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ,List deptIds); + List overall(String alarmType ); - List alarmPosition(String alarmType , List deptIds,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); 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 819fead..71c6606 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 @@ -185,6 +185,8 @@ exportDTOList.forEach(deviceAlarm -> { deviceAlarm.setDeptName(getDeptNamesByDeptId(deviceAlarm.getDeptid())); deviceAlarm.setCancelDuration(TimeConverter(deviceAlarm.getCancelDuration())); + deviceAlarm.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", deviceAlarm.getAlarmCategory())); + deviceAlarm.setRealAlarm(DictEnum.REAL_ALARM.equals(deviceAlarm.getRealAlarm()) ? "是" : "否"); }); return exportDTOList; } 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 98d41f0..a5b4e81 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 @@ -37,17 +37,15 @@ private final AbstractPermissionContext permissionContext; @Override - public List overall(String alarmType, List deptIds) { - String deptStrs = deptIds.stream().map(id -> Convert.toStr(id)).collect(Collectors.joining(",")); + public List overall(String alarmType) { //Todo:加入报警类型 - return this.baseMapper.overall(alarmType, deptStrs); + return this.baseMapper.overall(alarmType, getDeptIds(null)); } @Override - public List alarmPosition(String alarmType, List deptIds, AlarmPositionRequestDTO request) { + public List alarmPosition(String alarmType, AlarmPositionRequestDTO request) { //Todo:加入报警类型 - String deptStrs = deptIds.stream().map(id -> Convert.toStr(id)).collect(Collectors.joining(",")); - List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, deptStrs, request); + List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, getDeptIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); alarmPositionResponseDTO.setDeptName(getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java index d6f388c..8fa11d3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dao.AlarmStaticsMapper; import com.casic.missiles.modular.alarm.dao.AlarmTypeMapper; import com.casic.missiles.modular.alarm.dto.AlarmDeviceTypeDTO; @@ -10,6 +11,7 @@ import com.casic.missiles.modular.alarm.service.IAlarmTypeDevicetypeService; import com.casic.missiles.modular.alarm.service.IAlarmTypeService; import lombok.RequiredArgsConstructor; +import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -36,8 +38,14 @@ @Transactional @Override public boolean saveAlarmType(AlarmType alarmType) { - this.save(alarmType); - return iAlarmTypeDevicetypeService.saveDevicetypes(alarmType.getId(), alarmType.getDeviceTypeIds()); + try { + this.save(alarmType); + return iAlarmTypeDevicetypeService.saveDevicetypes(alarmType.getId(), alarmType.getDeviceTypeIds()); + }catch (DataAccessException dax){ + throw new BusinessException(2011, dax.getMessage().contains("Duplicate entry") && dax.getMessage().contains("name") ? "报警类型已存在" : "报警类型已存在"); + + } + } @Transactional 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 41f4b09..b2a5367 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 @@ -42,9 +42,8 @@ @ResponseBody public ReturnDTO overall() { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.overall(alarmType, dataScope.getDeptIds())); + return ReturnUtil.success(iAlarmStaticsService.overall(alarmType)); } @ApiOperation("各类报警统计") @@ -79,16 +78,15 @@ DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO)); + return ReturnUtil.success(iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO)); } @ApiOperation("异常位置分析导出") @RequestMapping(value = "/batchExport", method = RequestMethod.GET) public void batchExport(AlarmPositionRequestDTO alarmPositionRequestDTO, HttpServletResponse response) { - DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); String alarmType = ""; - List dtoList = iAlarmStaticsService.alarmPosition(alarmType, dataScope.getDeptIds(), alarmPositionRequestDTO); + List dtoList = iAlarmStaticsService.alarmPosition(alarmType, alarmPositionRequestDTO); try { iBaseExportService.exportExcel(response, AlarmPositionResponseDTO.class, dtoList, ExportEnum.ALARM_POSITION_EXPORT.getSheetName()); } catch (Exception e) { 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 cd73e55..47f6cde 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 @@ -258,7 +258,9 @@ CONCAT(rd.LEDGER_NUMBER,'|',lr.ledgerName,'|',rd.POSITION ) AS POSITION, rd.CANCEL_TIME, TIMESTAMPDIFF( MINUTE, rd.ALARM_TIME, rd.CANCEL_TIME ) AS cancelDuration, lr.DEPTID, - rd.REAL_ALARM + rd.REAL_ALARM, + ay.ALARM_CATEGORY, + ac.ALARM_LEVEL as alarmLevelName FROM alarm_records rd LEFT JOIN bus_device bd ON rd.DEVCODE = bd.DEVCODE @@ -271,6 +273,7 @@ AND lr.VALID = 1 LEFT JOIN base_product bp ON bp.id = bd.PRODUCT_ID left join alarm_type ay on ay.id=rd.ALARM_TYPE_ID + LEFT JOIN alarm_level_control ac ON ac.id = rd.ALARM_LEVEL WHERE rd.STATUS = 0 AND rd.EXCEPTION_TYPE = 1 @@ -412,7 +415,13 @@ and rd.ALARM_TYPE_ID =#{request.alarmTypeId} - and rd.REAL_ALARM =#{request.realAlarm} + + + and rd.REAL_ALARM in ('1','2') + + + and rd.REAL_ALARM =#{request.realAlarm} + and rd.POSITION like concat('%', #{request.position}, '%') 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 ba47bca..6e25903 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 @@ -25,31 +25,31 @@ - SELECT - ay.id, - IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), - IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, - ay.alarm_type, - bt.WATCH_OBJECT + WITH alarm_type_group AS ( + SELECT + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + FROM + alarm_type_devicetype ad + LEFT JOIN base_device_type bt ON bt.id = ad.device_type + GROUP BY + ad.ALARM_TYPE_ID, + bt.WATCH_OBJECT + ) SELECT + ay.id, + IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), + IF( bt.WATCH_OBJECT = 3, CONCAT( '管线', ay.alarm_type ), ay.alarm_type ))) as alarm_name, + ay.alarm_type, + bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_type_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3) + WITH alarm_temp as(SELECT - count( 1 ) AS alarmSum, + count(1) AS alarmSum, alarmTypeId AS alarmType, av.watchObject, DEPTID @@ -217,7 +230,7 @@ av.alarmTypeId, av.watchObject, av.DEPTID), - + alarm_group as(SELECT ad.ALARM_TYPE_ID,bt.WATCH_OBJECT FROM alarm_type_devicetype ad LEFT JOIN base_device_type bt ON bt.id = ad.device_type GROUP BY ad.ALARM_TYPE_ID,bt.WATCH_OBJECT), alarm_type_tmp as( SELECT ay.id, IF(bt.WATCH_OBJECT = 1,CONCAT( '闸井', ay.alarm_type ),IF(bt.WATCH_OBJECT = 2,CONCAT( '场站', ay.alarm_type ), @@ -226,8 +239,7 @@ bt.WATCH_OBJECT FROM alarm_type ay - LEFT JOIN alarm_type_devicetype ad ON ay.id = ad.alarm_type_id - LEFT JOIN base_device_type bt ON bt.id = ad.device_type + LEFT JOIN alarm_group bt ON ay.id = bt.alarm_type_id WHERE ay.ALARM_CATEGORY IN (2,3)) 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 5b3c63d..2a5f8b4 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,12 +25,12 @@ - WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd - LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID - LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type + WITH device_temp AS (SELECT bd.VALID,bd.ONLINE_STATE FROM `bus_device` bd + LEFT join bus_device_ledger lr on lr.DEVICE_ID=bd.ID + LEFT join bus_ledger_all_view bv on lr.LEDGER_ID=bv.ID and lr.type = bv.type - - and bv.DEPTID in (${deptStrs}) - - ) + + and bv.DEPTID in (${deptStrs}) + + + ) 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 bt.ONLINE_STATE + SELECT count(1) as `value`, bt.ONLINE_STATE as `name` FROM device_temp bt where bt.VALID>0 GROUP BY + bt.ONLINE_STATE - WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av + WITH alarms AS ( SELECT count(1) as sum,alarmType from alarm_records_view av - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') @@ -131,10 +134,10 @@ - and av.alarmTime >= CURDATE() + and av.alarmTime >= CURDATE() - and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY + and av.alarmTime >= CURDATE() - INTERVAL DAYOFWEEK(CURDATE()) - 2 DAY and av.alarmTime >= DATE_FORMAT(NOW(),'%Y-%m-01') diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java index 06fc85e..aa55b0d 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmDeviceHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,42 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmDeviceHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(20) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(25) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 7) private String realAlarm; + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 8) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 9) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 10) private Date alarmTime; + @ColumnWidth(20) @ExcelProperty(value = "解除时间", order = 11) private Date cancelTime; + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 12) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java index 2d01026..e5efad1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmHistoryRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,49 +11,58 @@ @ExcelIgnoreUnannotated public class AlarmHistoryRecordExportDTO { + @ColumnWidth(15) @ExcelProperty(value = "报警类别", order = 1) private String alarmCategory; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(15) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 6) private String deptName; + @ColumnWidth(15) @ExcelProperty(value = "安装位号", order = 7) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 8) private String ledgerName; - + @ColumnWidth(35) @ExcelProperty(value = "位置", order = 5) private String position; + @ColumnWidth(15) @ExcelProperty(value = "是否误报", order = 9) private String realAlarm; - + @ColumnWidth(15) @ExcelProperty(value = "设备编号", order = 10) private String devcode; + @ColumnWidth(15) @ExcelProperty(value = "设备类型", order = 11) private String devTypeName; - + @ColumnWidth(18) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; - + @ColumnWidth(18) @ExcelProperty(value = "解除时间", order = 13) private Date cancelTime; - + @ColumnWidth(15) @ExcelProperty(value = "解除时长", order = 14) private String cancelDuration; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java index 7503100..821069a 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmPositionResponseDTO.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.alarm.dto; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ExcelIgnoreUnannotated public class AlarmPositionResponseDTO { @ExcelProperty(value = "报警次数", order = 7) diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java index 5fb26f3..329fe9e 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/AlarmRecordExportDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.Data; import java.util.Date; @@ -10,45 +11,54 @@ @ExcelIgnoreUnannotated public class AlarmRecordExportDTO { - @ExcelProperty(value = "报警类别", order = 1) + @ExcelProperty(value = "报警类别",order = 1) + @ColumnWidth(20) private String alarmCategory; + @ColumnWidth(20) @ExcelProperty(value = "报警类型", order = 2) private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警等级", order = 3) private String alarmLevelName; + @ColumnWidth(30) @ExcelProperty(value = "报警原因", order = 4) private String alarmContent; - + @ColumnWidth(20) @ExcelProperty(value = "安装位号", order = 5) private String tagNumber; + @ColumnWidth(20) @ExcelProperty(value = "名称", order = 6) private String ledgerName; - + @ColumnWidth(40) @ExcelProperty(value = "详细位置", order = 7) private String position; + @ColumnWidth(40) @ExcelProperty(value = "管理单位", order = 8) private String deptName; + @ColumnWidth(20) @ExcelProperty(value = "设备编号", order = 9) private String devcode; - + @ColumnWidth(20) @ExcelProperty(value = "设备类型", order = 10) private String devTypeName; + @ColumnWidth(20) @ExcelProperty(value = "报警状态", order = 11) private String processStatus; + @ColumnWidth(30) @ExcelProperty(value = "报警时间", order = 12) private Date alarmTime; diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java index 083ce6a..a04515c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/dto/DeviceAlarmResponseDTO.java @@ -2,6 +2,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -14,12 +15,15 @@ @ExcelProperty(value = "设备编号", order = 1) @ApiModelProperty("设备编号") + @ColumnWidth(15) private String devCode; + @ColumnWidth(15) @ExcelProperty(value = "报警类型", order = 2) @ApiModelProperty("报警类型") private String alarmType; + @ColumnWidth(20) @ExcelProperty(value = "报警原因", order = 3) @ApiModelProperty("报警原因") private String alarmContent; @@ -30,6 +34,7 @@ @ApiModelProperty("位置") private String position; + @ColumnWidth(30) @ExcelProperty(value = "管理单位", order = 4) @ApiModelProperty("管理单位") private String deptName; @@ -37,10 +42,12 @@ @ApiModelProperty("厂商") private String manufactureName; + @ColumnWidth(15) @ExcelProperty(value = "状态", order = 5) @ApiModelProperty("状态") private String processStatus; + @ColumnWidth(20) @ExcelProperty(value = "报警时间", order = 6) @ApiModelProperty("报警时间") private String alarmTime; 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 61588e3..d0c1ac8 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 @@ -19,9 +19,9 @@ */ public interface IAlarmStaticsService extends IService { - List overall(String alarmType ,List deptIds); + List overall(String alarmType ); - List alarmPosition(String alarmType , List deptIds,AlarmPositionRequestDTO alarmPositionRequestDTO); + List alarmPosition(String alarmType ,AlarmPositionRequestDTO alarmPositionRequestDTO); List alarmType(String alarmType ,AlarmTypeRequestDTO alarmTypeRequestDTO); 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 819fead..71c6606 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 @@ -185,6 +185,8 @@ exportDTOList.forEach(deviceAlarm -> { deviceAlarm.setDeptName(getDeptNamesByDeptId(deviceAlarm.getDeptid())); deviceAlarm.setCancelDuration(TimeConverter(deviceAlarm.getCancelDuration())); + deviceAlarm.setAlarmCategory(abstractDictService.getDictNameByCode("alarmCategory", deviceAlarm.getAlarmCategory())); + deviceAlarm.setRealAlarm(DictEnum.REAL_ALARM.equals(deviceAlarm.getRealAlarm()) ? "是" : "否"); }); return exportDTOList; } 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 98d41f0..a5b4e81 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 @@ -37,17 +37,15 @@ private final AbstractPermissionContext permissionContext; @Override - public List overall(String alarmType, List deptIds) { - String deptStrs = deptIds.stream().map(id -> Convert.toStr(id)).collect(Collectors.joining(",")); + public List overall(String alarmType) { //Todo:加入报警类型 - return this.baseMapper.overall(alarmType, deptStrs); + return this.baseMapper.overall(alarmType, getDeptIds(null)); } @Override - public List alarmPosition(String alarmType, List deptIds, AlarmPositionRequestDTO request) { + public List alarmPosition(String alarmType, AlarmPositionRequestDTO request) { //Todo:加入报警类型 - String deptStrs = deptIds.stream().map(id -> Convert.toStr(id)).collect(Collectors.joining(",")); - List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, deptStrs, request); + List alarmPositionResponseDTOList = this.baseMapper.alarmPosition(alarmType, getDeptIds(null), request); alarmPositionResponseDTOList.forEach(alarmPositionResponseDTO -> { alarmPositionResponseDTO.setType("1".equals(alarmPositionResponseDTO.getType()) ? "闸井" : ("2".equals(alarmPositionResponseDTO.getType()) ? "场站" : "管线")); alarmPositionResponseDTO.setDeptName(getDeptNamesByDeptId(alarmPositionResponseDTO.getDeptid())); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java index d6f388c..8fa11d3 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmTypeServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.alarm.dao.AlarmStaticsMapper; import com.casic.missiles.modular.alarm.dao.AlarmTypeMapper; import com.casic.missiles.modular.alarm.dto.AlarmDeviceTypeDTO; @@ -10,6 +11,7 @@ import com.casic.missiles.modular.alarm.service.IAlarmTypeDevicetypeService; import com.casic.missiles.modular.alarm.service.IAlarmTypeService; import lombok.RequiredArgsConstructor; +import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -36,8 +38,14 @@ @Transactional @Override public boolean saveAlarmType(AlarmType alarmType) { - this.save(alarmType); - return iAlarmTypeDevicetypeService.saveDevicetypes(alarmType.getId(), alarmType.getDeviceTypeIds()); + try { + this.save(alarmType); + return iAlarmTypeDevicetypeService.saveDevicetypes(alarmType.getId(), alarmType.getDeviceTypeIds()); + }catch (DataAccessException dax){ + throw new BusinessException(2011, dax.getMessage().contains("Duplicate entry") && dax.getMessage().contains("name") ? "报警类型已存在" : "报警类型已存在"); + + } + } @Transactional 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 d9d669c..436db91 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 @@ -107,7 +107,7 @@ where blp.VALID = 1 and blp.id = ${id} - and bd.DEVCODE = ${devcode} + and bd.DEVCODE = #{devcode} and bd.DEVCODE is not null