diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java index 66a4d88..24b5141 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java @@ -18,4 +18,13 @@ List> alarmCountByDay(String startTime,String endTime); Map alarmBySecondArea(String startTime,String endTime,String areaIds); Long countByFirstArea(String startTime,String endTime,String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + Map gasAlarmBySecondArea(String areaId, String startTime, String endTime,String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java index 66a4d88..24b5141 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java @@ -18,4 +18,13 @@ List> alarmCountByDay(String startTime,String endTime); Map alarmBySecondArea(String startTime,String endTime,String areaIds); Long countByFirstArea(String startTime,String endTime,String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + Map gasAlarmBySecondArea(String areaId, String startTime, String endTime,String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java index fd41de5..c95d886 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java @@ -1,17 +1,21 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.AlarmNowViewMapper; import com.casic.missiles.modular.system.dao.StatisticMapper; import com.casic.missiles.modular.system.dao.SysDictMapper; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IStatisticsService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -26,29 +30,31 @@ private AlarmNowViewMapper alarmNowViewMapper; @Autowired private ICommonPermissionService permissionService; + @Resource + private IAreaService areaService; @Override public List> wellStaticsByDept(DataScope dataScope) { List> mapList = statisticMapper.wellStaticsByDept(dataScope); for (Map map : mapList) { - map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); + map.put("pidName", permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); } return mapList; } @Override public List> wellStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.wellStaticsByType(deptIds); for (Map map : mapList) { - map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); + map.put("wellTypeName", permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); } return mapList; } @Override public List> deviceStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.deviceStaticsByType(deptIds); // for (Map map : mapList) { // map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString())); @@ -57,51 +63,51 @@ } @Override - public List> deviceStaticsByDept(DataScope dataScope,String deviceType) { - List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType); + public List> deviceStaticsByDept(DataScope dataScope, String deviceType) { + List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public Map deviceStaticsByStatus(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); Map map = statisticMapper.deviceStaticsByStatus(deptIds); - for(String s:map.keySet()){ //value都转为string - map.replace(s,map.get(s).toString()); + for (String s : map.keySet()) { //value都转为string + map.replace(s, map.get(s).toString()); } return map; } @Override - public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException { + public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException { List> mapList = new ArrayList<>(); List deptIds = dataScope.getDeptIds(); for (Long deptId : deptIds) { - if(deptId==0){ // 顶级不统计 + if (deptId == 0) { // 顶级不统计 continue; } Dept dept = permissionService.getDeptById(deptId); - if( ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计 + if (ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) { // 小组不统计 continue; } Map map = new HashMap<>(); - List subDeptIds = permissionService.getSubDepts(deptId,null); + List subDeptIds = permissionService.getSubDepts(deptId, null); subDeptIds.add(deptId); - String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]"); + String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]"); map.put("deptId", deptId); - map.put("deptName",permissionService.getDeptName(deptId)); - Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime); - if(ToolUtil.isNotEmpty(countMap)){ + map.put("deptName", permissionService.getDeptName(deptId)); + Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime); + if (ToolUtil.isNotEmpty(countMap)) { map.putAll(countMap); - }else{ - map.put("beforeGet",0); - map.put("beforeConfirm",0); - map.put("inHandle",0); - map.put("over",0); - map.put("cancel",0); + } else { + map.put("beforeGet", 0); + map.put("beforeConfirm", 0); + map.put("inHandle", 0); + map.put("over", 0); + map.put("cancel", 0); } mapList.add(map); } @@ -110,41 +116,69 @@ @Override public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); List> mapList = new ArrayList<>(); - try{ + try { Date beginDate = sdf1.parse(beginTime); Date endDate = sdf1.parse(endTime); Calendar date = Calendar.getInstance(); date.setTime(beginDate); while (date.getTime().compareTo(endDate) <= 0) { String tmp = sdf1.format(date.getTime()); - Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds); - map.put("date",sdf2.format(date.getTime())); + Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds); + map.put("date", sdf2.format(date.getTime())); mapList.add(map); - date.add(Calendar.DAY_OF_MONTH,1); + date.add(Calendar.DAY_OF_MONTH, 1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return mapList; } @Override - public List> countByDayFirst(String startTime, String endTime,String areaIds) { - return statisticMapper.countByDayFirst(startTime,endTime,areaIds); + public List> countByDayFirst(String startTime, String endTime, String areaIds) { + return statisticMapper.countByDayFirst(startTime, endTime, areaIds); } @Override - public Long countByFirstArea(String startTime, String endTime,String areaIds) { - return statisticMapper.countByFirstArea(startTime,endTime,areaIds); + public Long countByFirstArea(String startTime, String endTime, String areaIds) { + return statisticMapper.countByFirstArea(startTime, endTime, areaIds); + } + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + @Override + public Map gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { + EntityWrapper query = new EntityWrapper(); + query.eq("PID", areaId); + List areas = areaService.selectList(query); + Map resMap = new HashMap<>(); + areas.stream().forEach(area -> { + // 二级区域报警数据 + resMap.put("areaId", area.getId()); + resMap.put("areaName", area.getAreaName()); + List> maps = statisticMapper.gasAlarmBySecondArea(area.getId().toString().replaceAll("00", ""), startTime, endTime, deviceType); + if (ToolUtil.isNotEmpty(maps)) { + resMap.put("alarm", maps.get(0).get("num")); + } else { + resMap.put("alarm", "0"); + } + }); + return resMap; } @Override public Map alarmBySecondArea(String startTime, String endTime, String areaIds) { - Map alarm = statisticMapper.alarmBySecondArea(startTime,endTime,areaIds); + Map alarm = statisticMapper.alarmBySecondArea(startTime, endTime, areaIds); Map warning = statisticMapper.warningBySecondArea(startTime, endTime, areaIds); alarm.put("warning", warning.get("warning")); return alarm; @@ -152,6 +186,6 @@ @Override public List> alarmCountByDay(String startTime, String endTime) { - return statisticMapper.alarmCountByDay( startTime, endTime); + return statisticMapper.alarmCountByDay(startTime, endTime); } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java index 66a4d88..24b5141 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java @@ -18,4 +18,13 @@ List> alarmCountByDay(String startTime,String endTime); Map alarmBySecondArea(String startTime,String endTime,String areaIds); Long countByFirstArea(String startTime,String endTime,String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + Map gasAlarmBySecondArea(String areaId, String startTime, String endTime,String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java index fd41de5..c95d886 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java @@ -1,17 +1,21 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.AlarmNowViewMapper; import com.casic.missiles.modular.system.dao.StatisticMapper; import com.casic.missiles.modular.system.dao.SysDictMapper; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IStatisticsService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -26,29 +30,31 @@ private AlarmNowViewMapper alarmNowViewMapper; @Autowired private ICommonPermissionService permissionService; + @Resource + private IAreaService areaService; @Override public List> wellStaticsByDept(DataScope dataScope) { List> mapList = statisticMapper.wellStaticsByDept(dataScope); for (Map map : mapList) { - map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); + map.put("pidName", permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); } return mapList; } @Override public List> wellStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.wellStaticsByType(deptIds); for (Map map : mapList) { - map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); + map.put("wellTypeName", permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); } return mapList; } @Override public List> deviceStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.deviceStaticsByType(deptIds); // for (Map map : mapList) { // map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString())); @@ -57,51 +63,51 @@ } @Override - public List> deviceStaticsByDept(DataScope dataScope,String deviceType) { - List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType); + public List> deviceStaticsByDept(DataScope dataScope, String deviceType) { + List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public Map deviceStaticsByStatus(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); Map map = statisticMapper.deviceStaticsByStatus(deptIds); - for(String s:map.keySet()){ //value都转为string - map.replace(s,map.get(s).toString()); + for (String s : map.keySet()) { //value都转为string + map.replace(s, map.get(s).toString()); } return map; } @Override - public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException { + public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException { List> mapList = new ArrayList<>(); List deptIds = dataScope.getDeptIds(); for (Long deptId : deptIds) { - if(deptId==0){ // 顶级不统计 + if (deptId == 0) { // 顶级不统计 continue; } Dept dept = permissionService.getDeptById(deptId); - if( ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计 + if (ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) { // 小组不统计 continue; } Map map = new HashMap<>(); - List subDeptIds = permissionService.getSubDepts(deptId,null); + List subDeptIds = permissionService.getSubDepts(deptId, null); subDeptIds.add(deptId); - String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]"); + String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]"); map.put("deptId", deptId); - map.put("deptName",permissionService.getDeptName(deptId)); - Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime); - if(ToolUtil.isNotEmpty(countMap)){ + map.put("deptName", permissionService.getDeptName(deptId)); + Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime); + if (ToolUtil.isNotEmpty(countMap)) { map.putAll(countMap); - }else{ - map.put("beforeGet",0); - map.put("beforeConfirm",0); - map.put("inHandle",0); - map.put("over",0); - map.put("cancel",0); + } else { + map.put("beforeGet", 0); + map.put("beforeConfirm", 0); + map.put("inHandle", 0); + map.put("over", 0); + map.put("cancel", 0); } mapList.add(map); } @@ -110,41 +116,69 @@ @Override public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); List> mapList = new ArrayList<>(); - try{ + try { Date beginDate = sdf1.parse(beginTime); Date endDate = sdf1.parse(endTime); Calendar date = Calendar.getInstance(); date.setTime(beginDate); while (date.getTime().compareTo(endDate) <= 0) { String tmp = sdf1.format(date.getTime()); - Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds); - map.put("date",sdf2.format(date.getTime())); + Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds); + map.put("date", sdf2.format(date.getTime())); mapList.add(map); - date.add(Calendar.DAY_OF_MONTH,1); + date.add(Calendar.DAY_OF_MONTH, 1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return mapList; } @Override - public List> countByDayFirst(String startTime, String endTime,String areaIds) { - return statisticMapper.countByDayFirst(startTime,endTime,areaIds); + public List> countByDayFirst(String startTime, String endTime, String areaIds) { + return statisticMapper.countByDayFirst(startTime, endTime, areaIds); } @Override - public Long countByFirstArea(String startTime, String endTime,String areaIds) { - return statisticMapper.countByFirstArea(startTime,endTime,areaIds); + public Long countByFirstArea(String startTime, String endTime, String areaIds) { + return statisticMapper.countByFirstArea(startTime, endTime, areaIds); + } + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + @Override + public Map gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { + EntityWrapper query = new EntityWrapper(); + query.eq("PID", areaId); + List areas = areaService.selectList(query); + Map resMap = new HashMap<>(); + areas.stream().forEach(area -> { + // 二级区域报警数据 + resMap.put("areaId", area.getId()); + resMap.put("areaName", area.getAreaName()); + List> maps = statisticMapper.gasAlarmBySecondArea(area.getId().toString().replaceAll("00", ""), startTime, endTime, deviceType); + if (ToolUtil.isNotEmpty(maps)) { + resMap.put("alarm", maps.get(0).get("num")); + } else { + resMap.put("alarm", "0"); + } + }); + return resMap; } @Override public Map alarmBySecondArea(String startTime, String endTime, String areaIds) { - Map alarm = statisticMapper.alarmBySecondArea(startTime,endTime,areaIds); + Map alarm = statisticMapper.alarmBySecondArea(startTime, endTime, areaIds); Map warning = statisticMapper.warningBySecondArea(startTime, endTime, areaIds); alarm.put("warning", warning.get("warning")); return alarm; @@ -152,6 +186,6 @@ @Override public List> alarmCountByDay(String startTime, String endTime) { - return statisticMapper.alarmCountByDay( startTime, endTime); + return statisticMapper.alarmCountByDay(startTime, endTime); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java index ac3e52c..9677abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java @@ -2,12 +2,14 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.base.response.SuccessResponseData; import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.model.DataGasFlow; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import io.swagger.annotations.ApiOperation; @@ -55,6 +57,12 @@ this.deviceService=iDeviceService; } + @RequestMapping(value = "/listByDevice") + @ResponseBody + public Object listByDevice(String devcode, String beginTime,String endTime) { + List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + return ResponseData.success(lists); + } @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -102,7 +110,7 @@ } @ApiOperation(value = "导出气体设备数据列表") - @RequestMapping(value = "/export") + @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java index 66a4d88..24b5141 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java @@ -18,4 +18,13 @@ List> alarmCountByDay(String startTime,String endTime); Map alarmBySecondArea(String startTime,String endTime,String areaIds); Long countByFirstArea(String startTime,String endTime,String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + Map gasAlarmBySecondArea(String areaId, String startTime, String endTime,String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java index fd41de5..c95d886 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java @@ -1,17 +1,21 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.AlarmNowViewMapper; import com.casic.missiles.modular.system.dao.StatisticMapper; import com.casic.missiles.modular.system.dao.SysDictMapper; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IStatisticsService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -26,29 +30,31 @@ private AlarmNowViewMapper alarmNowViewMapper; @Autowired private ICommonPermissionService permissionService; + @Resource + private IAreaService areaService; @Override public List> wellStaticsByDept(DataScope dataScope) { List> mapList = statisticMapper.wellStaticsByDept(dataScope); for (Map map : mapList) { - map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); + map.put("pidName", permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); } return mapList; } @Override public List> wellStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.wellStaticsByType(deptIds); for (Map map : mapList) { - map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); + map.put("wellTypeName", permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); } return mapList; } @Override public List> deviceStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.deviceStaticsByType(deptIds); // for (Map map : mapList) { // map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString())); @@ -57,51 +63,51 @@ } @Override - public List> deviceStaticsByDept(DataScope dataScope,String deviceType) { - List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType); + public List> deviceStaticsByDept(DataScope dataScope, String deviceType) { + List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public Map deviceStaticsByStatus(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); Map map = statisticMapper.deviceStaticsByStatus(deptIds); - for(String s:map.keySet()){ //value都转为string - map.replace(s,map.get(s).toString()); + for (String s : map.keySet()) { //value都转为string + map.replace(s, map.get(s).toString()); } return map; } @Override - public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException { + public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException { List> mapList = new ArrayList<>(); List deptIds = dataScope.getDeptIds(); for (Long deptId : deptIds) { - if(deptId==0){ // 顶级不统计 + if (deptId == 0) { // 顶级不统计 continue; } Dept dept = permissionService.getDeptById(deptId); - if( ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计 + if (ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) { // 小组不统计 continue; } Map map = new HashMap<>(); - List subDeptIds = permissionService.getSubDepts(deptId,null); + List subDeptIds = permissionService.getSubDepts(deptId, null); subDeptIds.add(deptId); - String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]"); + String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]"); map.put("deptId", deptId); - map.put("deptName",permissionService.getDeptName(deptId)); - Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime); - if(ToolUtil.isNotEmpty(countMap)){ + map.put("deptName", permissionService.getDeptName(deptId)); + Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime); + if (ToolUtil.isNotEmpty(countMap)) { map.putAll(countMap); - }else{ - map.put("beforeGet",0); - map.put("beforeConfirm",0); - map.put("inHandle",0); - map.put("over",0); - map.put("cancel",0); + } else { + map.put("beforeGet", 0); + map.put("beforeConfirm", 0); + map.put("inHandle", 0); + map.put("over", 0); + map.put("cancel", 0); } mapList.add(map); } @@ -110,41 +116,69 @@ @Override public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); List> mapList = new ArrayList<>(); - try{ + try { Date beginDate = sdf1.parse(beginTime); Date endDate = sdf1.parse(endTime); Calendar date = Calendar.getInstance(); date.setTime(beginDate); while (date.getTime().compareTo(endDate) <= 0) { String tmp = sdf1.format(date.getTime()); - Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds); - map.put("date",sdf2.format(date.getTime())); + Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds); + map.put("date", sdf2.format(date.getTime())); mapList.add(map); - date.add(Calendar.DAY_OF_MONTH,1); + date.add(Calendar.DAY_OF_MONTH, 1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return mapList; } @Override - public List> countByDayFirst(String startTime, String endTime,String areaIds) { - return statisticMapper.countByDayFirst(startTime,endTime,areaIds); + public List> countByDayFirst(String startTime, String endTime, String areaIds) { + return statisticMapper.countByDayFirst(startTime, endTime, areaIds); } @Override - public Long countByFirstArea(String startTime, String endTime,String areaIds) { - return statisticMapper.countByFirstArea(startTime,endTime,areaIds); + public Long countByFirstArea(String startTime, String endTime, String areaIds) { + return statisticMapper.countByFirstArea(startTime, endTime, areaIds); + } + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + @Override + public Map gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { + EntityWrapper query = new EntityWrapper(); + query.eq("PID", areaId); + List areas = areaService.selectList(query); + Map resMap = new HashMap<>(); + areas.stream().forEach(area -> { + // 二级区域报警数据 + resMap.put("areaId", area.getId()); + resMap.put("areaName", area.getAreaName()); + List> maps = statisticMapper.gasAlarmBySecondArea(area.getId().toString().replaceAll("00", ""), startTime, endTime, deviceType); + if (ToolUtil.isNotEmpty(maps)) { + resMap.put("alarm", maps.get(0).get("num")); + } else { + resMap.put("alarm", "0"); + } + }); + return resMap; } @Override public Map alarmBySecondArea(String startTime, String endTime, String areaIds) { - Map alarm = statisticMapper.alarmBySecondArea(startTime,endTime,areaIds); + Map alarm = statisticMapper.alarmBySecondArea(startTime, endTime, areaIds); Map warning = statisticMapper.warningBySecondArea(startTime, endTime, areaIds); alarm.put("warning", warning.get("warning")); return alarm; @@ -152,6 +186,6 @@ @Override public List> alarmCountByDay(String startTime, String endTime) { - return statisticMapper.alarmCountByDay( startTime, endTime); + return statisticMapper.alarmCountByDay(startTime, endTime); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java index ac3e52c..9677abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java @@ -2,12 +2,14 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.base.response.SuccessResponseData; import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.model.DataGasFlow; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import io.swagger.annotations.ApiOperation; @@ -55,6 +57,12 @@ this.deviceService=iDeviceService; } + @RequestMapping(value = "/listByDevice") + @ResponseBody + public Object listByDevice(String devcode, String beginTime,String endTime) { + List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + return ResponseData.success(lists); + } @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -102,7 +110,7 @@ } @ApiOperation(value = "导出气体设备数据列表") - @RequestMapping(value = "/export") + @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java index c676ed1..bb56b46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.casic.missiles.modular.system.dao.GasFlowMapper; +import com.casic.missiles.modular.system.model.DataGasFlow; + +import java.util.List; import java.util.Map; public interface IGasFlowService { @@ -25,4 +29,13 @@ * @return {@link String} */ String getGasFlowCount(); + + /** + * 气体流量计数据列表查询 + * @param devcode 设备编码 + * @param beginTime 开始时间 + * @param endTime 结束时间 + * @return + */ + List listByDevice(String devcode, String beginTime, String endTime); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java index 66a4d88..24b5141 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java @@ -18,4 +18,13 @@ List> alarmCountByDay(String startTime,String endTime); Map alarmBySecondArea(String startTime,String endTime,String areaIds); Long countByFirstArea(String startTime,String endTime,String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + Map gasAlarmBySecondArea(String areaId, String startTime, String endTime,String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java index fd41de5..c95d886 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java @@ -1,17 +1,21 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.AlarmNowViewMapper; import com.casic.missiles.modular.system.dao.StatisticMapper; import com.casic.missiles.modular.system.dao.SysDictMapper; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IStatisticsService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -26,29 +30,31 @@ private AlarmNowViewMapper alarmNowViewMapper; @Autowired private ICommonPermissionService permissionService; + @Resource + private IAreaService areaService; @Override public List> wellStaticsByDept(DataScope dataScope) { List> mapList = statisticMapper.wellStaticsByDept(dataScope); for (Map map : mapList) { - map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); + map.put("pidName", permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); } return mapList; } @Override public List> wellStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.wellStaticsByType(deptIds); for (Map map : mapList) { - map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); + map.put("wellTypeName", permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); } return mapList; } @Override public List> deviceStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.deviceStaticsByType(deptIds); // for (Map map : mapList) { // map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString())); @@ -57,51 +63,51 @@ } @Override - public List> deviceStaticsByDept(DataScope dataScope,String deviceType) { - List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType); + public List> deviceStaticsByDept(DataScope dataScope, String deviceType) { + List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public Map deviceStaticsByStatus(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); Map map = statisticMapper.deviceStaticsByStatus(deptIds); - for(String s:map.keySet()){ //value都转为string - map.replace(s,map.get(s).toString()); + for (String s : map.keySet()) { //value都转为string + map.replace(s, map.get(s).toString()); } return map; } @Override - public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException { + public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException { List> mapList = new ArrayList<>(); List deptIds = dataScope.getDeptIds(); for (Long deptId : deptIds) { - if(deptId==0){ // 顶级不统计 + if (deptId == 0) { // 顶级不统计 continue; } Dept dept = permissionService.getDeptById(deptId); - if( ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计 + if (ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) { // 小组不统计 continue; } Map map = new HashMap<>(); - List subDeptIds = permissionService.getSubDepts(deptId,null); + List subDeptIds = permissionService.getSubDepts(deptId, null); subDeptIds.add(deptId); - String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]"); + String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]"); map.put("deptId", deptId); - map.put("deptName",permissionService.getDeptName(deptId)); - Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime); - if(ToolUtil.isNotEmpty(countMap)){ + map.put("deptName", permissionService.getDeptName(deptId)); + Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime); + if (ToolUtil.isNotEmpty(countMap)) { map.putAll(countMap); - }else{ - map.put("beforeGet",0); - map.put("beforeConfirm",0); - map.put("inHandle",0); - map.put("over",0); - map.put("cancel",0); + } else { + map.put("beforeGet", 0); + map.put("beforeConfirm", 0); + map.put("inHandle", 0); + map.put("over", 0); + map.put("cancel", 0); } mapList.add(map); } @@ -110,41 +116,69 @@ @Override public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); List> mapList = new ArrayList<>(); - try{ + try { Date beginDate = sdf1.parse(beginTime); Date endDate = sdf1.parse(endTime); Calendar date = Calendar.getInstance(); date.setTime(beginDate); while (date.getTime().compareTo(endDate) <= 0) { String tmp = sdf1.format(date.getTime()); - Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds); - map.put("date",sdf2.format(date.getTime())); + Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds); + map.put("date", sdf2.format(date.getTime())); mapList.add(map); - date.add(Calendar.DAY_OF_MONTH,1); + date.add(Calendar.DAY_OF_MONTH, 1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return mapList; } @Override - public List> countByDayFirst(String startTime, String endTime,String areaIds) { - return statisticMapper.countByDayFirst(startTime,endTime,areaIds); + public List> countByDayFirst(String startTime, String endTime, String areaIds) { + return statisticMapper.countByDayFirst(startTime, endTime, areaIds); } @Override - public Long countByFirstArea(String startTime, String endTime,String areaIds) { - return statisticMapper.countByFirstArea(startTime,endTime,areaIds); + public Long countByFirstArea(String startTime, String endTime, String areaIds) { + return statisticMapper.countByFirstArea(startTime, endTime, areaIds); + } + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + @Override + public Map gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { + EntityWrapper query = new EntityWrapper(); + query.eq("PID", areaId); + List areas = areaService.selectList(query); + Map resMap = new HashMap<>(); + areas.stream().forEach(area -> { + // 二级区域报警数据 + resMap.put("areaId", area.getId()); + resMap.put("areaName", area.getAreaName()); + List> maps = statisticMapper.gasAlarmBySecondArea(area.getId().toString().replaceAll("00", ""), startTime, endTime, deviceType); + if (ToolUtil.isNotEmpty(maps)) { + resMap.put("alarm", maps.get(0).get("num")); + } else { + resMap.put("alarm", "0"); + } + }); + return resMap; } @Override public Map alarmBySecondArea(String startTime, String endTime, String areaIds) { - Map alarm = statisticMapper.alarmBySecondArea(startTime,endTime,areaIds); + Map alarm = statisticMapper.alarmBySecondArea(startTime, endTime, areaIds); Map warning = statisticMapper.warningBySecondArea(startTime, endTime, areaIds); alarm.put("warning", warning.get("warning")); return alarm; @@ -152,6 +186,6 @@ @Override public List> alarmCountByDay(String startTime, String endTime) { - return statisticMapper.alarmCountByDay( startTime, endTime); + return statisticMapper.alarmCountByDay(startTime, endTime); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java index ac3e52c..9677abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java @@ -2,12 +2,14 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.base.response.SuccessResponseData; import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.model.DataGasFlow; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import io.swagger.annotations.ApiOperation; @@ -55,6 +57,12 @@ this.deviceService=iDeviceService; } + @RequestMapping(value = "/listByDevice") + @ResponseBody + public Object listByDevice(String devcode, String beginTime,String endTime) { + List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + return ResponseData.success(lists); + } @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -102,7 +110,7 @@ } @ApiOperation(value = "导出气体设备数据列表") - @RequestMapping(value = "/export") + @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java index c676ed1..bb56b46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.casic.missiles.modular.system.dao.GasFlowMapper; +import com.casic.missiles.modular.system.model.DataGasFlow; + +import java.util.List; import java.util.Map; public interface IGasFlowService { @@ -25,4 +29,13 @@ * @return {@link String} */ String getGasFlowCount(); + + /** + * 气体流量计数据列表查询 + * @param devcode 设备编码 + * @param beginTime 开始时间 + * @param endTime 结束时间 + * @return + */ + List listByDevice(String devcode, String beginTime, String endTime); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java index c4b2c8a..20d46f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java @@ -1,17 +1,20 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.DeviceMapper; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.GasFlowMapper; import com.casic.missiles.modular.system.model.DataGasFlow; -import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -29,6 +32,8 @@ private SimpleDateFormat sdfM = new SimpleDateFormat("yyyy-MM"); private SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); private DecimalFormat df2 = new DecimalFormat("0.00"); + @Resource + private IDeviceService deviceService; @Override public Map selectGasFlowDay(String devcode, String date) { @@ -84,4 +89,15 @@ public String getGasFlowCount() { return this.baseMapper.getGasFlowCount(); } + + @Override + public List listByDevice(String devcode, String beginTime, String endTime) { + EntityWrapper query = new EntityWrapper(); + query.eq("DEVCODE", devcode); + if (!ToolUtil.isAllEmpty(beginTime, endTime)) { + query.between("UPTIME", beginTime, endTime); + } + List list = deviceService.selectList(query); + return list; + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java index 66a4d88..24b5141 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java @@ -18,4 +18,13 @@ List> alarmCountByDay(String startTime,String endTime); Map alarmBySecondArea(String startTime,String endTime,String areaIds); Long countByFirstArea(String startTime,String endTime,String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + Map gasAlarmBySecondArea(String areaId, String startTime, String endTime,String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java index fd41de5..c95d886 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java @@ -1,17 +1,21 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.AlarmNowViewMapper; import com.casic.missiles.modular.system.dao.StatisticMapper; import com.casic.missiles.modular.system.dao.SysDictMapper; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IStatisticsService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -26,29 +30,31 @@ private AlarmNowViewMapper alarmNowViewMapper; @Autowired private ICommonPermissionService permissionService; + @Resource + private IAreaService areaService; @Override public List> wellStaticsByDept(DataScope dataScope) { List> mapList = statisticMapper.wellStaticsByDept(dataScope); for (Map map : mapList) { - map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); + map.put("pidName", permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); } return mapList; } @Override public List> wellStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.wellStaticsByType(deptIds); for (Map map : mapList) { - map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); + map.put("wellTypeName", permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); } return mapList; } @Override public List> deviceStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.deviceStaticsByType(deptIds); // for (Map map : mapList) { // map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString())); @@ -57,51 +63,51 @@ } @Override - public List> deviceStaticsByDept(DataScope dataScope,String deviceType) { - List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType); + public List> deviceStaticsByDept(DataScope dataScope, String deviceType) { + List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public Map deviceStaticsByStatus(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); Map map = statisticMapper.deviceStaticsByStatus(deptIds); - for(String s:map.keySet()){ //value都转为string - map.replace(s,map.get(s).toString()); + for (String s : map.keySet()) { //value都转为string + map.replace(s, map.get(s).toString()); } return map; } @Override - public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException { + public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException { List> mapList = new ArrayList<>(); List deptIds = dataScope.getDeptIds(); for (Long deptId : deptIds) { - if(deptId==0){ // 顶级不统计 + if (deptId == 0) { // 顶级不统计 continue; } Dept dept = permissionService.getDeptById(deptId); - if( ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计 + if (ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) { // 小组不统计 continue; } Map map = new HashMap<>(); - List subDeptIds = permissionService.getSubDepts(deptId,null); + List subDeptIds = permissionService.getSubDepts(deptId, null); subDeptIds.add(deptId); - String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]"); + String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]"); map.put("deptId", deptId); - map.put("deptName",permissionService.getDeptName(deptId)); - Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime); - if(ToolUtil.isNotEmpty(countMap)){ + map.put("deptName", permissionService.getDeptName(deptId)); + Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime); + if (ToolUtil.isNotEmpty(countMap)) { map.putAll(countMap); - }else{ - map.put("beforeGet",0); - map.put("beforeConfirm",0); - map.put("inHandle",0); - map.put("over",0); - map.put("cancel",0); + } else { + map.put("beforeGet", 0); + map.put("beforeConfirm", 0); + map.put("inHandle", 0); + map.put("over", 0); + map.put("cancel", 0); } mapList.add(map); } @@ -110,41 +116,69 @@ @Override public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); List> mapList = new ArrayList<>(); - try{ + try { Date beginDate = sdf1.parse(beginTime); Date endDate = sdf1.parse(endTime); Calendar date = Calendar.getInstance(); date.setTime(beginDate); while (date.getTime().compareTo(endDate) <= 0) { String tmp = sdf1.format(date.getTime()); - Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds); - map.put("date",sdf2.format(date.getTime())); + Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds); + map.put("date", sdf2.format(date.getTime())); mapList.add(map); - date.add(Calendar.DAY_OF_MONTH,1); + date.add(Calendar.DAY_OF_MONTH, 1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return mapList; } @Override - public List> countByDayFirst(String startTime, String endTime,String areaIds) { - return statisticMapper.countByDayFirst(startTime,endTime,areaIds); + public List> countByDayFirst(String startTime, String endTime, String areaIds) { + return statisticMapper.countByDayFirst(startTime, endTime, areaIds); } @Override - public Long countByFirstArea(String startTime, String endTime,String areaIds) { - return statisticMapper.countByFirstArea(startTime,endTime,areaIds); + public Long countByFirstArea(String startTime, String endTime, String areaIds) { + return statisticMapper.countByFirstArea(startTime, endTime, areaIds); + } + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + @Override + public Map gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { + EntityWrapper query = new EntityWrapper(); + query.eq("PID", areaId); + List areas = areaService.selectList(query); + Map resMap = new HashMap<>(); + areas.stream().forEach(area -> { + // 二级区域报警数据 + resMap.put("areaId", area.getId()); + resMap.put("areaName", area.getAreaName()); + List> maps = statisticMapper.gasAlarmBySecondArea(area.getId().toString().replaceAll("00", ""), startTime, endTime, deviceType); + if (ToolUtil.isNotEmpty(maps)) { + resMap.put("alarm", maps.get(0).get("num")); + } else { + resMap.put("alarm", "0"); + } + }); + return resMap; } @Override public Map alarmBySecondArea(String startTime, String endTime, String areaIds) { - Map alarm = statisticMapper.alarmBySecondArea(startTime,endTime,areaIds); + Map alarm = statisticMapper.alarmBySecondArea(startTime, endTime, areaIds); Map warning = statisticMapper.warningBySecondArea(startTime, endTime, areaIds); alarm.put("warning", warning.get("warning")); return alarm; @@ -152,6 +186,6 @@ @Override public List> alarmCountByDay(String startTime, String endTime) { - return statisticMapper.alarmCountByDay( startTime, endTime); + return statisticMapper.alarmCountByDay(startTime, endTime); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java index ac3e52c..9677abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java @@ -2,12 +2,14 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.base.response.SuccessResponseData; import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.model.DataGasFlow; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import io.swagger.annotations.ApiOperation; @@ -55,6 +57,12 @@ this.deviceService=iDeviceService; } + @RequestMapping(value = "/listByDevice") + @ResponseBody + public Object listByDevice(String devcode, String beginTime,String endTime) { + List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + return ResponseData.success(lists); + } @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -102,7 +110,7 @@ } @ApiOperation(value = "导出气体设备数据列表") - @RequestMapping(value = "/export") + @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java index c676ed1..bb56b46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.casic.missiles.modular.system.dao.GasFlowMapper; +import com.casic.missiles.modular.system.model.DataGasFlow; + +import java.util.List; import java.util.Map; public interface IGasFlowService { @@ -25,4 +29,13 @@ * @return {@link String} */ String getGasFlowCount(); + + /** + * 气体流量计数据列表查询 + * @param devcode 设备编码 + * @param beginTime 开始时间 + * @param endTime 结束时间 + * @return + */ + List listByDevice(String devcode, String beginTime, String endTime); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java index c4b2c8a..20d46f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java @@ -1,17 +1,20 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.DeviceMapper; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.GasFlowMapper; import com.casic.missiles.modular.system.model.DataGasFlow; -import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -29,6 +32,8 @@ private SimpleDateFormat sdfM = new SimpleDateFormat("yyyy-MM"); private SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); private DecimalFormat df2 = new DecimalFormat("0.00"); + @Resource + private IDeviceService deviceService; @Override public Map selectGasFlowDay(String devcode, String date) { @@ -84,4 +89,15 @@ public String getGasFlowCount() { return this.baseMapper.getGasFlowCount(); } + + @Override + public List listByDevice(String devcode, String beginTime, String endTime) { + EntityWrapper query = new EntityWrapper(); + query.eq("DEVCODE", devcode); + if (!ToolUtil.isAllEmpty(beginTime, endTime)) { + query.between("UPTIME", beginTime, endTime); + } + List list = deviceService.selectList(query); + return list; + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index e7fb806..0b1826d 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -41,10 +41,10 @@ spring-session-open: true #开启spring session smartcity: config: - export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ + export-path: D:\workspace\server\well\smartwell_qd\casic-web\src\main\resources\config\export\ #export-path: D:\export\ image-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\image\ - config-path: /Users/oujing/WorkSpace Java/smartwell_qd/casic-web/src/main/resources/config/temp/ + config-path: D:\workspace\server\well\smartwell_qd\casic-web\src\main\resources\config\temp\ download-path: /Users/oujing/WorkSpace Java/smartwell_qd/casic-web/src/main/resources/config/download/ device: redis: diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java new file mode 100644 index 0000000..d0f7408 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/constants/AlarmConstants.java @@ -0,0 +1,13 @@ +package com.casic.missiles.modular.system.constants; + +/** + * 告警常量配置类 + * + * @author lwh + */ +public class AlarmConstants { + /** + * 区域告警次数 + */ + public static final String DEFAULT_DEVICE_TYPE = "4"; +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java index c62a440..38ff60b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/DataStaticsController.java @@ -4,10 +4,14 @@ import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.constants.AlarmConstants; +import com.casic.missiles.modular.system.service.IStatisticsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -16,7 +20,8 @@ */ @RequestMapping(value = "/dataStatistic") public class DataStaticsController extends BaseController { - + @Resource + private IStatisticsService statisticsService; @Autowired private ICommonPermissionService permissionService; @@ -25,12 +30,15 @@ * * @return */ - @RequestMapping(value = "/wellStaticsByDept") + @RequestMapping(value = "/gasAlarmBySecondArea") @ResponseBody - public Object wellStaticsByDept() { + public Object gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { DataScope dataScope = permissionService.getCurrUserDataScope(); try { - List> res = null; + if (ToolUtil.isEmpty(deviceType)) { + deviceType = AlarmConstants.DEFAULT_DEVICE_TYPE; + } + Map res = statisticsService.gasAlarmBySecondArea(areaId, startTime, endTime,deviceType); return ResponseData.success(res); } catch (Exception e) { e.printStackTrace(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java index 29ca1a4..7b17822 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/StaticsController.java @@ -188,5 +188,20 @@ } } - + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = statisticsService.alarmsByDay(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 310b3c2..9538db4 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -6,17 +6,39 @@ import java.util.List; import java.util.Map; -public interface StatisticMapper{ - List> wellStaticsByDept(@Param("dataScope")DataScope dataScope); - List> wellStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByType(@Param("deptIds")String deptIds); - List> deviceStaticsByDept(@Param("dataScope")DataScope dataScope,@Param("deviceType")String deviceType); - Map deviceStaticsByStatus(@Param("deptIds")String deptIds); - List> jobsByDept(@Param("dataScope")DataScope dataScope,@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("deviceType")String deviceType); - Map jobsByDeptId(@Param("deptIds")String deptIds,@Param("beginTime")String beginTime,@Param("endTime")String endTime); - List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); - Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); - Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); +public interface StatisticMapper { + List> wellStaticsByDept(@Param("dataScope") DataScope dataScope); + + List> wellStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByType(@Param("deptIds") String deptIds); + + List> deviceStaticsByDept(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType); + + Map deviceStaticsByStatus(@Param("deptIds") String deptIds); + + List> jobsByDept(@Param("dataScope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); + + Map jobsByDeptId(@Param("deptIds") String deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> countByDayFirst(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + List> alarmCountByDay(@Param("startTime") String startTime, @Param("endTime") String endTime); + + Map alarmBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Map warningBySecondArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + Long countByFirstArea(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("areaIds") String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪 + * + * @param areaId 区域ID + * @param startTime 起始时间 + * @param endTime 结束时间 + * @param deviceType 设备类型 + * @return 结果集 + */ + List> gasAlarmBySecondArea(@Param("areaId") String areaId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("deviceType") String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index cbcdce2..831a474 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -211,4 +211,21 @@ GROUP BY DATE_FORMAT(dd.`ALARM_TIME`,'%Y-%m-%d') + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java index 66a4d88..24b5141 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IStatisticsService.java @@ -18,4 +18,13 @@ List> alarmCountByDay(String startTime,String endTime); Map alarmBySecondArea(String startTime,String endTime,String areaIds); Long countByFirstArea(String startTime,String endTime,String areaIds); + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + Map gasAlarmBySecondArea(String areaId, String startTime, String endTime,String deviceType); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java index fd41de5..c95d886 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/StatisticServiceImpl.java @@ -1,17 +1,21 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.AlarmNowViewMapper; import com.casic.missiles.modular.system.dao.StatisticMapper; import com.casic.missiles.modular.system.dao.SysDictMapper; +import com.casic.missiles.modular.system.model.Area; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IStatisticsService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -26,29 +30,31 @@ private AlarmNowViewMapper alarmNowViewMapper; @Autowired private ICommonPermissionService permissionService; + @Resource + private IAreaService areaService; @Override public List> wellStaticsByDept(DataScope dataScope) { List> mapList = statisticMapper.wellStaticsByDept(dataScope); for (Map map : mapList) { - map.put("pidName",permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); + map.put("pidName", permissionService.getDeptName(Long.valueOf(map.get("pid").toString()))); } return mapList; } @Override public List> wellStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.wellStaticsByType(deptIds); for (Map map : mapList) { - map.put("wellTypeName",permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); + map.put("wellTypeName", permissionService.getDictNameByCode("sluicewellType", map.get("wellType").toString())); } return mapList; } @Override public List> deviceStaticsByType(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); List> mapList = statisticMapper.deviceStaticsByType(deptIds); // for (Map map : mapList) { // map.replace("deviceType",sysDictMapper.getDeviceTypeNameById(map.get("deviceType").toString())); @@ -57,51 +63,51 @@ } @Override - public List> deviceStaticsByDept(DataScope dataScope,String deviceType) { - List> mapList = statisticMapper.deviceStaticsByDept(dataScope,deviceType); + public List> deviceStaticsByDept(DataScope dataScope, String deviceType) { + List> mapList = statisticMapper.deviceStaticsByDept(dataScope, deviceType); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public Map deviceStaticsByStatus(DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); Map map = statisticMapper.deviceStaticsByStatus(deptIds); - for(String s:map.keySet()){ //value都转为string - map.replace(s,map.get(s).toString()); + for (String s : map.keySet()) { //value都转为string + map.replace(s, map.get(s).toString()); } return map; } @Override - public List> jobsByDept(DataScope dataScope,String beginTime, String endTime, String deviceType) throws ParseException { + public List> jobsByDept(DataScope dataScope, String beginTime, String endTime, String deviceType) throws ParseException { List> mapList = new ArrayList<>(); List deptIds = dataScope.getDeptIds(); for (Long deptId : deptIds) { - if(deptId==0){ // 顶级不统计 + if (deptId == 0) { // 顶级不统计 continue; } Dept dept = permissionService.getDeptById(deptId); - if( ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())){ // 小组不统计 + if (ToolUtil.isEmpty(dept) || "04".equals(dept.getDeptType())) { // 小组不统计 continue; } Map map = new HashMap<>(); - List subDeptIds = permissionService.getSubDepts(deptId,null); + List subDeptIds = permissionService.getSubDepts(deptId, null); subDeptIds.add(deptId); - String subDeptIdstr = StringUtils.strip(subDeptIds.toString(),"[]"); + String subDeptIdstr = StringUtils.strip(subDeptIds.toString(), "[]"); map.put("deptId", deptId); - map.put("deptName",permissionService.getDeptName(deptId)); - Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr,beginTime,endTime); - if(ToolUtil.isNotEmpty(countMap)){ + map.put("deptName", permissionService.getDeptName(deptId)); + Map countMap = statisticMapper.jobsByDeptId(subDeptIdstr, beginTime, endTime); + if (ToolUtil.isNotEmpty(countMap)) { map.putAll(countMap); - }else{ - map.put("beforeGet",0); - map.put("beforeConfirm",0); - map.put("inHandle",0); - map.put("over",0); - map.put("cancel",0); + } else { + map.put("beforeGet", 0); + map.put("beforeConfirm", 0); + map.put("inHandle", 0); + map.put("over", 0); + map.put("cancel", 0); } mapList.add(map); } @@ -110,41 +116,69 @@ @Override public List> alarmsByDay(String beginTime, String endTime, DataScope dataScope) { - String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(),"[]"); + String deptIds = StringUtils.strip(dataScope.getDeptIds().toString(), "[]"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); List> mapList = new ArrayList<>(); - try{ + try { Date beginDate = sdf1.parse(beginTime); Date endDate = sdf1.parse(endTime); Calendar date = Calendar.getInstance(); date.setTime(beginDate); while (date.getTime().compareTo(endDate) <= 0) { String tmp = sdf1.format(date.getTime()); - Map map = alarmNowViewMapper.countAlarmsByDay(tmp,deptIds); - map.put("date",sdf2.format(date.getTime())); + Map map = alarmNowViewMapper.countAlarmsByDay(tmp, deptIds); + map.put("date", sdf2.format(date.getTime())); mapList.add(map); - date.add(Calendar.DAY_OF_MONTH,1); + date.add(Calendar.DAY_OF_MONTH, 1); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return mapList; } @Override - public List> countByDayFirst(String startTime, String endTime,String areaIds) { - return statisticMapper.countByDayFirst(startTime,endTime,areaIds); + public List> countByDayFirst(String startTime, String endTime, String areaIds) { + return statisticMapper.countByDayFirst(startTime, endTime, areaIds); } @Override - public Long countByFirstArea(String startTime, String endTime,String areaIds) { - return statisticMapper.countByFirstArea(startTime,endTime,areaIds); + public Long countByFirstArea(String startTime, String endTime, String areaIds) { + return statisticMapper.countByFirstArea(startTime, endTime, areaIds); + } + + /** + * 查询各二级分区燃气报警数量-气体泄漏监测仪-设备类型为4 + * + * @param areaId 区域主键 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return + */ + @Override + public Map gasAlarmBySecondArea(String areaId, String startTime, String endTime, String deviceType) { + EntityWrapper query = new EntityWrapper(); + query.eq("PID", areaId); + List areas = areaService.selectList(query); + Map resMap = new HashMap<>(); + areas.stream().forEach(area -> { + // 二级区域报警数据 + resMap.put("areaId", area.getId()); + resMap.put("areaName", area.getAreaName()); + List> maps = statisticMapper.gasAlarmBySecondArea(area.getId().toString().replaceAll("00", ""), startTime, endTime, deviceType); + if (ToolUtil.isNotEmpty(maps)) { + resMap.put("alarm", maps.get(0).get("num")); + } else { + resMap.put("alarm", "0"); + } + }); + return resMap; } @Override public Map alarmBySecondArea(String startTime, String endTime, String areaIds) { - Map alarm = statisticMapper.alarmBySecondArea(startTime,endTime,areaIds); + Map alarm = statisticMapper.alarmBySecondArea(startTime, endTime, areaIds); Map warning = statisticMapper.warningBySecondArea(startTime, endTime, areaIds); alarm.put("warning", warning.get("warning")); return alarm; @@ -152,6 +186,6 @@ @Override public List> alarmCountByDay(String startTime, String endTime) { - return statisticMapper.alarmCountByDay( startTime, endTime); + return statisticMapper.alarmCountByDay(startTime, endTime); } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java index ac3e52c..9677abd 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/GasFlowDataController.java @@ -2,12 +2,14 @@ import com.baomidou.mybatisplus.plugins.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.ResponseData; import com.casic.missiles.core.base.response.SuccessResponseData; import com.casic.missiles.core.common.constant.factory.PageFactory; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.model.DataGasFlow; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import io.swagger.annotations.ApiOperation; @@ -55,6 +57,12 @@ this.deviceService=iDeviceService; } + @RequestMapping(value = "/listByDevice") + @ResponseBody + public Object listByDevice(String devcode, String beginTime,String endTime) { + List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + return ResponseData.success(lists); + } @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -102,7 +110,7 @@ } @ApiOperation(value = "导出气体设备数据列表") - @RequestMapping(value = "/export") + @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java index c676ed1..bb56b46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IGasFlowService.java @@ -1,5 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.casic.missiles.modular.system.dao.GasFlowMapper; +import com.casic.missiles.modular.system.model.DataGasFlow; + +import java.util.List; import java.util.Map; public interface IGasFlowService { @@ -25,4 +29,13 @@ * @return {@link String} */ String getGasFlowCount(); + + /** + * 气体流量计数据列表查询 + * @param devcode 设备编码 + * @param beginTime 开始时间 + * @param endTime 结束时间 + * @return + */ + List listByDevice(String devcode, String beginTime, String endTime); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java index c4b2c8a..20d46f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowServiceImpl.java @@ -1,17 +1,20 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.DeviceMapper; +import com.casic.missiles.core.util.ToolUtil; import com.casic.missiles.modular.system.dao.GasFlowMapper; import com.casic.missiles.modular.system.model.DataGasFlow; -import com.casic.missiles.modular.system.model.Device; +import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IGasFlowService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -29,6 +32,8 @@ private SimpleDateFormat sdfM = new SimpleDateFormat("yyyy-MM"); private SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); private DecimalFormat df2 = new DecimalFormat("0.00"); + @Resource + private IDeviceService deviceService; @Override public Map selectGasFlowDay(String devcode, String date) { @@ -84,4 +89,15 @@ public String getGasFlowCount() { return this.baseMapper.getGasFlowCount(); } + + @Override + public List listByDevice(String devcode, String beginTime, String endTime) { + EntityWrapper query = new EntityWrapper(); + query.eq("DEVCODE", devcode); + if (!ToolUtil.isAllEmpty(beginTime, endTime)) { + query.between("UPTIME", beginTime, endTime); + } + List list = deviceService.selectList(query); + return list; + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index e7fb806..0b1826d 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -41,10 +41,10 @@ spring-session-open: true #开启spring session smartcity: config: - export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ + export-path: D:\workspace\server\well\smartwell_qd\casic-web\src\main\resources\config\export\ #export-path: D:\export\ image-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\image\ - config-path: /Users/oujing/WorkSpace Java/smartwell_qd/casic-web/src/main/resources/config/temp/ + config-path: D:\workspace\server\well\smartwell_qd\casic-web\src\main\resources\config\temp\ download-path: /Users/oujing/WorkSpace Java/smartwell_qd/casic-web/src/main/resources/config/download/ device: redis: diff --git a/casic-web/src/main/resources/config/temp/GasFlowListTemplate.xlsx b/casic-web/src/main/resources/config/temp/GasFlowListTemplate.xlsx index a769346..dcd7c78 100644 --- a/casic-web/src/main/resources/config/temp/GasFlowListTemplate.xlsx +++ b/casic-web/src/main/resources/config/temp/GasFlowListTemplate.xlsx Binary files differ