diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java index 2685c0a..e2308f7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java @@ -21,7 +21,7 @@ @ApiOperation("气体用气量统计") @RequestMapping("/statistics/used") - public Object statisticsUsed(@RequestParam(required = false) String deviceType, + public Object statisticsUsed(@RequestParam(required = true) String deviceType, @RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime) { return gasFlowHomeService.statisticsUsed(deviceType, beginTime, endTime); @@ -29,7 +29,7 @@ @ApiOperation("气体用气量走势图") @RequestMapping("/statistics/trend") - public Object statisticsTrend(@RequestParam(required = false) String deviceType, + public Object statisticsTrend(@RequestParam(required = true) String deviceType, @RequestParam(required = true) Integer intervalDay) { return gasFlowHomeService.statisticsTrend(deviceType,intervalDay); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java index 2685c0a..e2308f7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java @@ -21,7 +21,7 @@ @ApiOperation("气体用气量统计") @RequestMapping("/statistics/used") - public Object statisticsUsed(@RequestParam(required = false) String deviceType, + public Object statisticsUsed(@RequestParam(required = true) String deviceType, @RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime) { return gasFlowHomeService.statisticsUsed(deviceType, beginTime, endTime); @@ -29,7 +29,7 @@ @ApiOperation("气体用气量走势图") @RequestMapping("/statistics/trend") - public Object statisticsTrend(@RequestParam(required = false) String deviceType, + public Object statisticsTrend(@RequestParam(required = true) String deviceType, @RequestParam(required = true) Integer intervalDay) { return gasFlowHomeService.statisticsTrend(deviceType,intervalDay); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java index e5118df..c846a76 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dao; -import com.casic.missiles.core.datascope.DataScope; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,11 +12,11 @@ /** * 气体用气量统计 */ - Double gasTotalUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType); + Double gasTotalUsed( @Param("deviceType") Long deviceType); - Double gasMonthUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasMonthUsed( @Param("deviceType") Long deviceType, @Param("month") String month); - Double gasDayUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasDayUsed( @Param("deviceType") Long deviceType, @Param("day") String dayTime); /** @@ -25,29 +24,29 @@ */ List getDevice(@Param("deviceType") Long deviceType); - List> countGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> countGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); - List> totalGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> totalGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); /** * 设备用气量统计 */ - List> gasUsedByDevice(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> gasUsedByDevice( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 气体泄露监测 */ - Integer countRecData(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecData( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); - Integer countRecAlarm(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecAlarm( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); /* 用气量超量报警统计占比 */ - List> statisticsRate(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> statisticsRate( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 用气量超量报警统计 */ - List> countAlarmByDay(@Param("scope") DataScope dataScope,@Param("IntervalDay") Integer IntervalDay); + List> countAlarmByDay(@Param("IntervalDay") Integer IntervalDay); - List getGasFlowDevType(@Param("scope") DataScope dataScope); + List getGasFlowDevType(); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java index 2685c0a..e2308f7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java @@ -21,7 +21,7 @@ @ApiOperation("气体用气量统计") @RequestMapping("/statistics/used") - public Object statisticsUsed(@RequestParam(required = false) String deviceType, + public Object statisticsUsed(@RequestParam(required = true) String deviceType, @RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime) { return gasFlowHomeService.statisticsUsed(deviceType, beginTime, endTime); @@ -29,7 +29,7 @@ @ApiOperation("气体用气量走势图") @RequestMapping("/statistics/trend") - public Object statisticsTrend(@RequestParam(required = false) String deviceType, + public Object statisticsTrend(@RequestParam(required = true) String deviceType, @RequestParam(required = true) Integer intervalDay) { return gasFlowHomeService.statisticsTrend(deviceType,intervalDay); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java index e5118df..c846a76 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dao; -import com.casic.missiles.core.datascope.DataScope; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,11 +12,11 @@ /** * 气体用气量统计 */ - Double gasTotalUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType); + Double gasTotalUsed( @Param("deviceType") Long deviceType); - Double gasMonthUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasMonthUsed( @Param("deviceType") Long deviceType, @Param("month") String month); - Double gasDayUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasDayUsed( @Param("deviceType") Long deviceType, @Param("day") String dayTime); /** @@ -25,29 +24,29 @@ */ List getDevice(@Param("deviceType") Long deviceType); - List> countGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> countGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); - List> totalGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> totalGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); /** * 设备用气量统计 */ - List> gasUsedByDevice(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> gasUsedByDevice( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 气体泄露监测 */ - Integer countRecData(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecData( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); - Integer countRecAlarm(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecAlarm( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); /* 用气量超量报警统计占比 */ - List> statisticsRate(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> statisticsRate( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 用气量超量报警统计 */ - List> countAlarmByDay(@Param("scope") DataScope dataScope,@Param("IntervalDay") Integer IntervalDay); + List> countAlarmByDay(@Param("IntervalDay") Integer IntervalDay); - List getGasFlowDevType(@Param("scope") DataScope dataScope); + List getGasFlowDevType(); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml index d0bd58c..72174d6 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml @@ -28,10 +28,13 @@ FROM ( SELECT total_Flow, - MAX( UPTIME ) + MAX(UPTIME ), + deptid FROM data_gasflow dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -46,10 +49,13 @@ FROM ( SELECT - TOTAL_FLOW_MONTH + TOTAL_FLOW_MONTH, + deptid FROM data_gasflow_month dg - JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} @@ -63,10 +69,12 @@ FROM ( SELECT - TOTAL_FLOW_DATE + TOTAL_FLOW_DATE,deptid FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -75,7 +83,7 @@ - + SELECT cast( SUM( TOTAL_FLOW_DATE ) AS DECIMAL ( 10, 2 ) ) AS "dayTotal",DATE as date,"total" AS devcode FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode WHERE bd.VALID = '1' @@ -100,33 +108,33 @@ AND VALID = '1' - SELECT bd.devcode,MAX(TOTAL_FLOW)-MIN(TOTAL_FLOW) AS count FROM ( - SELECT DISTINCT dg.devcode - FROM data_gasflow dg - JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE - WHERE bd.VALID='1' + SELECT DISTINCT dg.devcode + FROM data_gasflow dg + JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE + WHERE bd.VALID='1' )bd - LEFT JOIN (SELECT * - FROM data_gasflow - JOIN bus_device bd ON bd.devcode = dg.devcode - WHERE bd.VALID = '1' - - AND UPTIME = ]]> - TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - - - AND UPTIME - TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') - + LEFT JOIN (SELECT TOTAL_FLOW,bd.DEVCODE + FROM data_gasflow dg + JOIN bus_device bd ON bd.devcode = dg.devcode + WHERE bd.VALID = '1' + + AND UPTIME = ]]> + TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') + + + AND UPTIME + TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') + ) dg on bd.DEVCODE=dg.DEVCODE GROUP BY bd.devcode SELECT COUNT(*) - FROM alarm_records - JOIN bus_device bd ON bd.devcode = dg.devcode + FROM alarm_records ar + JOIN bus_device bd ON bd.devcode = ar.devcode WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} - AND UPTIME = ]]> + AND alarm_time = ]]> TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - AND UPTIME + AND alarm_time TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java index 2685c0a..e2308f7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java @@ -21,7 +21,7 @@ @ApiOperation("气体用气量统计") @RequestMapping("/statistics/used") - public Object statisticsUsed(@RequestParam(required = false) String deviceType, + public Object statisticsUsed(@RequestParam(required = true) String deviceType, @RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime) { return gasFlowHomeService.statisticsUsed(deviceType, beginTime, endTime); @@ -29,7 +29,7 @@ @ApiOperation("气体用气量走势图") @RequestMapping("/statistics/trend") - public Object statisticsTrend(@RequestParam(required = false) String deviceType, + public Object statisticsTrend(@RequestParam(required = true) String deviceType, @RequestParam(required = true) Integer intervalDay) { return gasFlowHomeService.statisticsTrend(deviceType,intervalDay); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java index e5118df..c846a76 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dao; -import com.casic.missiles.core.datascope.DataScope; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,11 +12,11 @@ /** * 气体用气量统计 */ - Double gasTotalUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType); + Double gasTotalUsed( @Param("deviceType") Long deviceType); - Double gasMonthUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasMonthUsed( @Param("deviceType") Long deviceType, @Param("month") String month); - Double gasDayUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasDayUsed( @Param("deviceType") Long deviceType, @Param("day") String dayTime); /** @@ -25,29 +24,29 @@ */ List getDevice(@Param("deviceType") Long deviceType); - List> countGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> countGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); - List> totalGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> totalGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); /** * 设备用气量统计 */ - List> gasUsedByDevice(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> gasUsedByDevice( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 气体泄露监测 */ - Integer countRecData(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecData( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); - Integer countRecAlarm(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecAlarm( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); /* 用气量超量报警统计占比 */ - List> statisticsRate(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> statisticsRate( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 用气量超量报警统计 */ - List> countAlarmByDay(@Param("scope") DataScope dataScope,@Param("IntervalDay") Integer IntervalDay); + List> countAlarmByDay(@Param("IntervalDay") Integer IntervalDay); - List getGasFlowDevType(@Param("scope") DataScope dataScope); + List getGasFlowDevType(); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml index d0bd58c..72174d6 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml @@ -28,10 +28,13 @@ FROM ( SELECT total_Flow, - MAX( UPTIME ) + MAX(UPTIME ), + deptid FROM data_gasflow dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -46,10 +49,13 @@ FROM ( SELECT - TOTAL_FLOW_MONTH + TOTAL_FLOW_MONTH, + deptid FROM data_gasflow_month dg - JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} @@ -63,10 +69,12 @@ FROM ( SELECT - TOTAL_FLOW_DATE + TOTAL_FLOW_DATE,deptid FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -75,7 +83,7 @@ - + SELECT cast( SUM( TOTAL_FLOW_DATE ) AS DECIMAL ( 10, 2 ) ) AS "dayTotal",DATE as date,"total" AS devcode FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode WHERE bd.VALID = '1' @@ -100,33 +108,33 @@ AND VALID = '1' - SELECT bd.devcode,MAX(TOTAL_FLOW)-MIN(TOTAL_FLOW) AS count FROM ( - SELECT DISTINCT dg.devcode - FROM data_gasflow dg - JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE - WHERE bd.VALID='1' + SELECT DISTINCT dg.devcode + FROM data_gasflow dg + JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE + WHERE bd.VALID='1' )bd - LEFT JOIN (SELECT * - FROM data_gasflow - JOIN bus_device bd ON bd.devcode = dg.devcode - WHERE bd.VALID = '1' - - AND UPTIME = ]]> - TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - - - AND UPTIME - TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') - + LEFT JOIN (SELECT TOTAL_FLOW,bd.DEVCODE + FROM data_gasflow dg + JOIN bus_device bd ON bd.devcode = dg.devcode + WHERE bd.VALID = '1' + + AND UPTIME = ]]> + TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') + + + AND UPTIME + TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') + ) dg on bd.DEVCODE=dg.DEVCODE GROUP BY bd.devcode SELECT COUNT(*) - FROM alarm_records - JOIN bus_device bd ON bd.devcode = dg.devcode + FROM alarm_records ar + JOIN bus_device bd ON bd.devcode = ar.devcode WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} - AND UPTIME = ]]> + AND alarm_time = ]]> TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - AND UPTIME + AND alarm_time TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java index 6d18616..1a0f5b3 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java @@ -1,10 +1,9 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.GasFlowHomeMapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; @@ -16,15 +15,12 @@ private SimpleDateFormat dayFormate = new SimpleDateFormat("yyyy-MM-dd"); private SimpleDateFormat dayFormate2 = new SimpleDateFormat("yyyy/MM/dd"); private SimpleDateFormat monthFormate = new SimpleDateFormat("yyyy-MM"); - @Autowired - private ICommonPermissionService permissionService; @Resource private GasFlowHomeMapper gasFlowHomeMapper; public List>> gasFlowAlarmBuilder(Integer intervalDays) { - DataScope scope = permissionService.getCurrUserDataScope(); - List deviceList = gasFlowHomeMapper.getGasFlowDevType(scope); - List> alarmByDayList = gasFlowHomeMapper.countAlarmByDay(scope, intervalDays); + List deviceList = gasFlowHomeMapper.getGasFlowDevType(); + List> alarmByDayList = gasFlowHomeMapper.countAlarmByDay(intervalDays); List>> gasFlowAlarmList = alarmDayBuilder(deviceList, alarmByDayList, intervalDays); return gasFlowAlarmList; } @@ -32,12 +28,12 @@ private List>> alarmDayBuilder(List deviceList, List> gasDayList, Integer intervalDay) { Map> gasDayMap = gasDayList.stream().collect( Collectors.groupingBy(e -> e.get("typeName"), - Collectors.toMap(e -> String.valueOf(e.get("date")), e -> String.valueOf(e.get("count"))) + Collectors.toMap(e -> String.valueOf(e.get("alarmTime")), e -> String.valueOf(e.get("count"))) )); List>> devcodeTrendList = new ArrayList<>(); Calendar beginDate = Calendar.getInstance(); beginDate.setTime(new Date()); - beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay+1); Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); deviceList.stream().forEach( @@ -47,11 +43,12 @@ while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { Map dataMap = new HashMap(); dataMap.put("date", dayFormate2.format(beginDate.getTime())); - dataMap.put("count", gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0"); + dataMap.put("count", !ObjectUtils.isEmpty(gasDayDeviceMap)&&gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0.00"); dataMap.put("typeTime", devcode); mapList.add(dataMap); beginDate.add(Calendar.DAY_OF_MONTH, 1); } + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); devcodeTrendList.add(mapList); } ); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java index 2685c0a..e2308f7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java @@ -21,7 +21,7 @@ @ApiOperation("气体用气量统计") @RequestMapping("/statistics/used") - public Object statisticsUsed(@RequestParam(required = false) String deviceType, + public Object statisticsUsed(@RequestParam(required = true) String deviceType, @RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime) { return gasFlowHomeService.statisticsUsed(deviceType, beginTime, endTime); @@ -29,7 +29,7 @@ @ApiOperation("气体用气量走势图") @RequestMapping("/statistics/trend") - public Object statisticsTrend(@RequestParam(required = false) String deviceType, + public Object statisticsTrend(@RequestParam(required = true) String deviceType, @RequestParam(required = true) Integer intervalDay) { return gasFlowHomeService.statisticsTrend(deviceType,intervalDay); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java index e5118df..c846a76 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dao; -import com.casic.missiles.core.datascope.DataScope; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,11 +12,11 @@ /** * 气体用气量统计 */ - Double gasTotalUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType); + Double gasTotalUsed( @Param("deviceType") Long deviceType); - Double gasMonthUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasMonthUsed( @Param("deviceType") Long deviceType, @Param("month") String month); - Double gasDayUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasDayUsed( @Param("deviceType") Long deviceType, @Param("day") String dayTime); /** @@ -25,29 +24,29 @@ */ List getDevice(@Param("deviceType") Long deviceType); - List> countGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> countGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); - List> totalGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> totalGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); /** * 设备用气量统计 */ - List> gasUsedByDevice(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> gasUsedByDevice( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 气体泄露监测 */ - Integer countRecData(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecData( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); - Integer countRecAlarm(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecAlarm( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); /* 用气量超量报警统计占比 */ - List> statisticsRate(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> statisticsRate( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 用气量超量报警统计 */ - List> countAlarmByDay(@Param("scope") DataScope dataScope,@Param("IntervalDay") Integer IntervalDay); + List> countAlarmByDay(@Param("IntervalDay") Integer IntervalDay); - List getGasFlowDevType(@Param("scope") DataScope dataScope); + List getGasFlowDevType(); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml index d0bd58c..72174d6 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml @@ -28,10 +28,13 @@ FROM ( SELECT total_Flow, - MAX( UPTIME ) + MAX(UPTIME ), + deptid FROM data_gasflow dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -46,10 +49,13 @@ FROM ( SELECT - TOTAL_FLOW_MONTH + TOTAL_FLOW_MONTH, + deptid FROM data_gasflow_month dg - JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} @@ -63,10 +69,12 @@ FROM ( SELECT - TOTAL_FLOW_DATE + TOTAL_FLOW_DATE,deptid FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -75,7 +83,7 @@ - + SELECT cast( SUM( TOTAL_FLOW_DATE ) AS DECIMAL ( 10, 2 ) ) AS "dayTotal",DATE as date,"total" AS devcode FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode WHERE bd.VALID = '1' @@ -100,33 +108,33 @@ AND VALID = '1' - SELECT bd.devcode,MAX(TOTAL_FLOW)-MIN(TOTAL_FLOW) AS count FROM ( - SELECT DISTINCT dg.devcode - FROM data_gasflow dg - JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE - WHERE bd.VALID='1' + SELECT DISTINCT dg.devcode + FROM data_gasflow dg + JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE + WHERE bd.VALID='1' )bd - LEFT JOIN (SELECT * - FROM data_gasflow - JOIN bus_device bd ON bd.devcode = dg.devcode - WHERE bd.VALID = '1' - - AND UPTIME = ]]> - TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - - - AND UPTIME - TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') - + LEFT JOIN (SELECT TOTAL_FLOW,bd.DEVCODE + FROM data_gasflow dg + JOIN bus_device bd ON bd.devcode = dg.devcode + WHERE bd.VALID = '1' + + AND UPTIME = ]]> + TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') + + + AND UPTIME + TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') + ) dg on bd.DEVCODE=dg.DEVCODE GROUP BY bd.devcode SELECT COUNT(*) - FROM alarm_records - JOIN bus_device bd ON bd.devcode = dg.devcode + FROM alarm_records ar + JOIN bus_device bd ON bd.devcode = ar.devcode WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} - AND UPTIME = ]]> + AND alarm_time = ]]> TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - AND UPTIME + AND alarm_time TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java index 6d18616..1a0f5b3 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java @@ -1,10 +1,9 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.GasFlowHomeMapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; @@ -16,15 +15,12 @@ private SimpleDateFormat dayFormate = new SimpleDateFormat("yyyy-MM-dd"); private SimpleDateFormat dayFormate2 = new SimpleDateFormat("yyyy/MM/dd"); private SimpleDateFormat monthFormate = new SimpleDateFormat("yyyy-MM"); - @Autowired - private ICommonPermissionService permissionService; @Resource private GasFlowHomeMapper gasFlowHomeMapper; public List>> gasFlowAlarmBuilder(Integer intervalDays) { - DataScope scope = permissionService.getCurrUserDataScope(); - List deviceList = gasFlowHomeMapper.getGasFlowDevType(scope); - List> alarmByDayList = gasFlowHomeMapper.countAlarmByDay(scope, intervalDays); + List deviceList = gasFlowHomeMapper.getGasFlowDevType(); + List> alarmByDayList = gasFlowHomeMapper.countAlarmByDay(intervalDays); List>> gasFlowAlarmList = alarmDayBuilder(deviceList, alarmByDayList, intervalDays); return gasFlowAlarmList; } @@ -32,12 +28,12 @@ private List>> alarmDayBuilder(List deviceList, List> gasDayList, Integer intervalDay) { Map> gasDayMap = gasDayList.stream().collect( Collectors.groupingBy(e -> e.get("typeName"), - Collectors.toMap(e -> String.valueOf(e.get("date")), e -> String.valueOf(e.get("count"))) + Collectors.toMap(e -> String.valueOf(e.get("alarmTime")), e -> String.valueOf(e.get("count"))) )); List>> devcodeTrendList = new ArrayList<>(); Calendar beginDate = Calendar.getInstance(); beginDate.setTime(new Date()); - beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay+1); Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); deviceList.stream().forEach( @@ -47,11 +43,12 @@ while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { Map dataMap = new HashMap(); dataMap.put("date", dayFormate2.format(beginDate.getTime())); - dataMap.put("count", gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0"); + dataMap.put("count", !ObjectUtils.isEmpty(gasDayDeviceMap)&&gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0.00"); dataMap.put("typeTime", devcode); mapList.add(dataMap); beginDate.add(Calendar.DAY_OF_MONTH, 1); } + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); devcodeTrendList.add(mapList); } ); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java index 4dd12de..af6ff01 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java @@ -3,9 +3,11 @@ import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.GasFlowHomeMapper; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; @@ -17,20 +19,17 @@ private SimpleDateFormat dayFormate = new SimpleDateFormat("yyyy-MM-dd"); private SimpleDateFormat dayFormate2 = new SimpleDateFormat("yyyy/MM/dd"); private SimpleDateFormat monthFormate = new SimpleDateFormat("yyyy-MM"); - @Autowired - private ICommonPermissionService permissionService; @Resource private GasFlowHomeMapper gasFlowHomeMapper; /* 1、去当前日期格式 2、构建相应的结构 * */ public Map dateBuilder(String deviceType) throws DataAccessException { - DataScope dataScope = permissionService.getCurrUserDataScope(); Map dateMap = dateBuilder(); Map dataMap = new HashMap<>(); - dataMap.put("total", gasFlowHomeMapper.gasTotalUsed(dataScope, Long.valueOf(deviceType))); - dataMap.put("month", gasFlowHomeMapper.gasMonthUsed(dataScope, Long.valueOf(deviceType), dateMap.get("month"))); - dataMap.put("day", gasFlowHomeMapper.gasDayUsed(dataScope, Long.valueOf(deviceType), dateMap.get("day"))); + dataMap.put("total", gasFlowHomeMapper.gasTotalUsed( Long.valueOf(deviceType))); + dataMap.put("month", gasFlowHomeMapper.gasMonthUsed(Long.valueOf(deviceType), dateMap.get("month"))); + dataMap.put("day", gasFlowHomeMapper.gasDayUsed(Long.valueOf(deviceType), dateMap.get("day"))); return dataMap; } @@ -38,11 +37,10 @@ * 1、取设备基础数据 2、取各设备近七日数据、总数据 3、构建返回结构 */ public List>> trendBuilder(String deviceType, Integer intervalDay) { - DataScope dataScope = permissionService.getCurrUserDataScope(); List deviceList = gasFlowHomeMapper.getDevice(Long.valueOf(deviceType)); deviceList.add("total"); - List> gasDayList = gasFlowHomeMapper.countGasByDay(dataScope, Long.valueOf(deviceType), intervalDay); - List> totalGasDayList = gasFlowHomeMapper.totalGasByDay(dataScope, Long.valueOf(deviceType), intervalDay); + List> gasDayList = gasFlowHomeMapper.countGasByDay(Long.valueOf(deviceType), intervalDay); + List> totalGasDayList = gasFlowHomeMapper.totalGasByDay(Long.valueOf(deviceType), intervalDay); gasDayList.addAll(totalGasDayList); List>> devcodeTrendList = devcodeDataBuilder(deviceList, gasDayList, intervalDay); return devcodeTrendList; @@ -58,14 +56,15 @@ } private List>> devcodeDataBuilder(List deviceList, List> gasDayList, Integer intervalDay) { - Map> gasDayMap = gasDayList.stream().collect( - Collectors.groupingBy(e -> e.get("devcode"), - Collectors.toMap(e -> String.valueOf(e.get("date")), e -> String.valueOf(e.get("dayTotal"))) + Map> gasDayMap = gasDayList.stream(). + filter(e-> StringUtils.isNotBlank(e.get("devcode"))) + .collect(Collectors.groupingBy(e -> e.get("devcode"), + Collectors.toMap(e -> String.valueOf(e.get("date")), e -> String.valueOf(e.get("dayTotal"))) )); List>> devcodeTrendList = new ArrayList<>(); Calendar beginDate = Calendar.getInstance(); beginDate.setTime(new Date()); - beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay+1); Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); deviceList.stream().forEach( @@ -75,11 +74,12 @@ while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { Map dataMap = new HashMap(); dataMap.put("date", dayFormate2.format(beginDate.getTime())); - dataMap.put("count", gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0"); + dataMap.put("count", !ObjectUtils.isEmpty(gasDayDeviceMap)&&gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0.00"); dataMap.put("typeTime", devcode); mapList.add(dataMap); beginDate.add(Calendar.DAY_OF_MONTH, 1); } + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); devcodeTrendList.add(mapList); } ); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java index 2685c0a..e2308f7 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/GasFlowHomeController.java @@ -21,7 +21,7 @@ @ApiOperation("气体用气量统计") @RequestMapping("/statistics/used") - public Object statisticsUsed(@RequestParam(required = false) String deviceType, + public Object statisticsUsed(@RequestParam(required = true) String deviceType, @RequestParam(required = false) String beginTime, @RequestParam(required = false) String endTime) { return gasFlowHomeService.statisticsUsed(deviceType, beginTime, endTime); @@ -29,7 +29,7 @@ @ApiOperation("气体用气量走势图") @RequestMapping("/statistics/trend") - public Object statisticsTrend(@RequestParam(required = false) String deviceType, + public Object statisticsTrend(@RequestParam(required = true) String deviceType, @RequestParam(required = true) Integer intervalDay) { return gasFlowHomeService.statisticsTrend(deviceType,intervalDay); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java index e5118df..c846a76 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/GasFlowHomeMapper.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.system.dao; -import com.casic.missiles.core.datascope.DataScope; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -13,11 +12,11 @@ /** * 气体用气量统计 */ - Double gasTotalUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType); + Double gasTotalUsed( @Param("deviceType") Long deviceType); - Double gasMonthUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasMonthUsed( @Param("deviceType") Long deviceType, @Param("month") String month); - Double gasDayUsed(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, + Double gasDayUsed( @Param("deviceType") Long deviceType, @Param("day") String dayTime); /** @@ -25,29 +24,29 @@ */ List getDevice(@Param("deviceType") Long deviceType); - List> countGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> countGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); - List> totalGasByDay(@Param("scope") DataScope dataScope, @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); + List> totalGasByDay( @Param("deviceType") Long deviceType, @Param("IntervalDay") Integer IntervalDay); /** * 设备用气量统计 */ - List> gasUsedByDevice(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> gasUsedByDevice( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 气体泄露监测 */ - Integer countRecData(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecData( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); - Integer countRecAlarm(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); + Integer countRecAlarm( @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("deviceType") Long deviceType); /* 用气量超量报警统计占比 */ - List> statisticsRate(@Param("scope") DataScope dataScope, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + List> statisticsRate( @Param("beginTime") String beginTime, @Param("endTime") String endTime); /** * 用气量超量报警统计 */ - List> countAlarmByDay(@Param("scope") DataScope dataScope,@Param("IntervalDay") Integer IntervalDay); + List> countAlarmByDay(@Param("IntervalDay") Integer IntervalDay); - List getGasFlowDevType(@Param("scope") DataScope dataScope); + List getGasFlowDevType(); } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml index d0bd58c..72174d6 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/DataGasHomeMapper.xml @@ -28,10 +28,13 @@ FROM ( SELECT total_Flow, - MAX( UPTIME ) + MAX(UPTIME ), + deptid FROM data_gasflow dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -46,10 +49,13 @@ FROM ( SELECT - TOTAL_FLOW_MONTH + TOTAL_FLOW_MONTH, + deptid FROM data_gasflow_month dg - JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} @@ -63,10 +69,12 @@ FROM ( SELECT - TOTAL_FLOW_DATE + TOTAL_FLOW_DATE,deptid FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode + JOIN bus_device_well bdw ON bdw.device_id=bd.id + JOIN bus_well_info bwi ON bwi.id=bdw.well_id WHERE bd.VALID = '1' AND bd.device_type =#{deviceType} @@ -75,7 +83,7 @@ - + SELECT cast( SUM( TOTAL_FLOW_DATE ) AS DECIMAL ( 10, 2 ) ) AS "dayTotal",DATE as date,"total" AS devcode FROM data_gasflow_day dg JOIN bus_device bd ON bd.devcode = dg.devcode WHERE bd.VALID = '1' @@ -100,33 +108,33 @@ AND VALID = '1' - SELECT bd.devcode,MAX(TOTAL_FLOW)-MIN(TOTAL_FLOW) AS count FROM ( - SELECT DISTINCT dg.devcode - FROM data_gasflow dg - JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE - WHERE bd.VALID='1' + SELECT DISTINCT dg.devcode + FROM data_gasflow dg + JOIN bus_device bd ON bd.DEVCODE=dg.DEVCODE + WHERE bd.VALID='1' )bd - LEFT JOIN (SELECT * - FROM data_gasflow - JOIN bus_device bd ON bd.devcode = dg.devcode - WHERE bd.VALID = '1' - - AND UPTIME = ]]> - TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - - - AND UPTIME - TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') - + LEFT JOIN (SELECT TOTAL_FLOW,bd.DEVCODE + FROM data_gasflow dg + JOIN bus_device bd ON bd.devcode = dg.devcode + WHERE bd.VALID = '1' + + AND UPTIME = ]]> + TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') + + + AND UPTIME + TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') + ) dg on bd.DEVCODE=dg.DEVCODE GROUP BY bd.devcode SELECT COUNT(*) - FROM alarm_records - JOIN bus_device bd ON bd.devcode = dg.devcode + FROM alarm_records ar + JOIN bus_device bd ON bd.devcode = ar.devcode WHERE bd.VALID = '1' AND bd.device_type = #{deviceType} - AND UPTIME = ]]> + AND alarm_time = ]]> TO_CHAR(#{beginTime},'yyyy-MM-dd HH24:mi:ss') - AND UPTIME + AND alarm_time TO_CHAR(#{endTime},'yyyy-MM-dd HH24:mi:ss') diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java index 6d18616..1a0f5b3 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowAlarmProvider.java @@ -1,10 +1,9 @@ package com.casic.missiles.modular.system.service.impl; -import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.GasFlowHomeMapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; @@ -16,15 +15,12 @@ private SimpleDateFormat dayFormate = new SimpleDateFormat("yyyy-MM-dd"); private SimpleDateFormat dayFormate2 = new SimpleDateFormat("yyyy/MM/dd"); private SimpleDateFormat monthFormate = new SimpleDateFormat("yyyy-MM"); - @Autowired - private ICommonPermissionService permissionService; @Resource private GasFlowHomeMapper gasFlowHomeMapper; public List>> gasFlowAlarmBuilder(Integer intervalDays) { - DataScope scope = permissionService.getCurrUserDataScope(); - List deviceList = gasFlowHomeMapper.getGasFlowDevType(scope); - List> alarmByDayList = gasFlowHomeMapper.countAlarmByDay(scope, intervalDays); + List deviceList = gasFlowHomeMapper.getGasFlowDevType(); + List> alarmByDayList = gasFlowHomeMapper.countAlarmByDay(intervalDays); List>> gasFlowAlarmList = alarmDayBuilder(deviceList, alarmByDayList, intervalDays); return gasFlowAlarmList; } @@ -32,12 +28,12 @@ private List>> alarmDayBuilder(List deviceList, List> gasDayList, Integer intervalDay) { Map> gasDayMap = gasDayList.stream().collect( Collectors.groupingBy(e -> e.get("typeName"), - Collectors.toMap(e -> String.valueOf(e.get("date")), e -> String.valueOf(e.get("count"))) + Collectors.toMap(e -> String.valueOf(e.get("alarmTime")), e -> String.valueOf(e.get("count"))) )); List>> devcodeTrendList = new ArrayList<>(); Calendar beginDate = Calendar.getInstance(); beginDate.setTime(new Date()); - beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay+1); Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); deviceList.stream().forEach( @@ -47,11 +43,12 @@ while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { Map dataMap = new HashMap(); dataMap.put("date", dayFormate2.format(beginDate.getTime())); - dataMap.put("count", gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0"); + dataMap.put("count", !ObjectUtils.isEmpty(gasDayDeviceMap)&&gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0.00"); dataMap.put("typeTime", devcode); mapList.add(dataMap); beginDate.add(Calendar.DAY_OF_MONTH, 1); } + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); devcodeTrendList.add(mapList); } ); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java index 4dd12de..af6ff01 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataProvider.java @@ -3,9 +3,11 @@ import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dao.GasFlowHomeMapper; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.text.SimpleDateFormat; @@ -17,20 +19,17 @@ private SimpleDateFormat dayFormate = new SimpleDateFormat("yyyy-MM-dd"); private SimpleDateFormat dayFormate2 = new SimpleDateFormat("yyyy/MM/dd"); private SimpleDateFormat monthFormate = new SimpleDateFormat("yyyy-MM"); - @Autowired - private ICommonPermissionService permissionService; @Resource private GasFlowHomeMapper gasFlowHomeMapper; /* 1、去当前日期格式 2、构建相应的结构 * */ public Map dateBuilder(String deviceType) throws DataAccessException { - DataScope dataScope = permissionService.getCurrUserDataScope(); Map dateMap = dateBuilder(); Map dataMap = new HashMap<>(); - dataMap.put("total", gasFlowHomeMapper.gasTotalUsed(dataScope, Long.valueOf(deviceType))); - dataMap.put("month", gasFlowHomeMapper.gasMonthUsed(dataScope, Long.valueOf(deviceType), dateMap.get("month"))); - dataMap.put("day", gasFlowHomeMapper.gasDayUsed(dataScope, Long.valueOf(deviceType), dateMap.get("day"))); + dataMap.put("total", gasFlowHomeMapper.gasTotalUsed( Long.valueOf(deviceType))); + dataMap.put("month", gasFlowHomeMapper.gasMonthUsed(Long.valueOf(deviceType), dateMap.get("month"))); + dataMap.put("day", gasFlowHomeMapper.gasDayUsed(Long.valueOf(deviceType), dateMap.get("day"))); return dataMap; } @@ -38,11 +37,10 @@ * 1、取设备基础数据 2、取各设备近七日数据、总数据 3、构建返回结构 */ public List>> trendBuilder(String deviceType, Integer intervalDay) { - DataScope dataScope = permissionService.getCurrUserDataScope(); List deviceList = gasFlowHomeMapper.getDevice(Long.valueOf(deviceType)); deviceList.add("total"); - List> gasDayList = gasFlowHomeMapper.countGasByDay(dataScope, Long.valueOf(deviceType), intervalDay); - List> totalGasDayList = gasFlowHomeMapper.totalGasByDay(dataScope, Long.valueOf(deviceType), intervalDay); + List> gasDayList = gasFlowHomeMapper.countGasByDay(Long.valueOf(deviceType), intervalDay); + List> totalGasDayList = gasFlowHomeMapper.totalGasByDay(Long.valueOf(deviceType), intervalDay); gasDayList.addAll(totalGasDayList); List>> devcodeTrendList = devcodeDataBuilder(deviceList, gasDayList, intervalDay); return devcodeTrendList; @@ -58,14 +56,15 @@ } private List>> devcodeDataBuilder(List deviceList, List> gasDayList, Integer intervalDay) { - Map> gasDayMap = gasDayList.stream().collect( - Collectors.groupingBy(e -> e.get("devcode"), - Collectors.toMap(e -> String.valueOf(e.get("date")), e -> String.valueOf(e.get("dayTotal"))) + Map> gasDayMap = gasDayList.stream(). + filter(e-> StringUtils.isNotBlank(e.get("devcode"))) + .collect(Collectors.groupingBy(e -> e.get("devcode"), + Collectors.toMap(e -> String.valueOf(e.get("date")), e -> String.valueOf(e.get("dayTotal"))) )); List>> devcodeTrendList = new ArrayList<>(); Calendar beginDate = Calendar.getInstance(); beginDate.setTime(new Date()); - beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay+1); Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); deviceList.stream().forEach( @@ -75,11 +74,12 @@ while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { Map dataMap = new HashMap(); dataMap.put("date", dayFormate2.format(beginDate.getTime())); - dataMap.put("count", gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0"); + dataMap.put("count", !ObjectUtils.isEmpty(gasDayDeviceMap)&&gasDayDeviceMap.containsKey(dayFormate.format(beginDate.getTime())) ? gasDayDeviceMap.get(dayFormate.format(beginDate.getTime())) : "0.00"); dataMap.put("typeTime", devcode); mapList.add(dataMap); beginDate.add(Calendar.DAY_OF_MONTH, 1); } + beginDate.add(Calendar.DAY_OF_MONTH, 0 - intervalDay); devcodeTrendList.add(mapList); } ); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowHomeServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowHomeServiceImpl.java index 3ad57f6..bc2e80c 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowHomeServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowHomeServiceImpl.java @@ -1,12 +1,10 @@ package com.casic.missiles.modular.system.service.impl; import com.casic.missiles.core.base.response.ResponseData; -import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.modular.system.dao.GasFlowHomeMapper; import com.casic.missiles.modular.system.service.GasFlowHomeService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; @@ -22,7 +20,6 @@ private final GasFlowHomeMapper gasFlowHomeMapper; private final GasFlowDataProvider gasFlowDataProvider; - private final ICommonPermissionService permissionService; private final GasFlowAlarmProvider gasFlowAlarmProvider; public Object statisticsUsed(String deviceType, String beginTime, String endTime) { @@ -33,6 +30,7 @@ responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage("查询成功"); responseData.setData(dataMap); + responseData.setSuccess(true); } catch (DataAccessException dae) { responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); log.error("主题:气体用气量统计查询异常,设备类型{},异常信息{}", deviceType, dae.getMessage()); @@ -52,6 +50,7 @@ responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage("查询成功"); responseData.setData(dataMap); + responseData.setSuccess(true); } catch (DataAccessException dae) { responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); responseData.setMessage(ResponseData.DEFAULT_ERROR_MESSAGE); @@ -75,13 +74,14 @@ public Object gasUsed(String beginTime, String endTime) { ResponseData responseData = new ResponseData(); try { - List> dataList = gasFlowHomeMapper.gasUsedByDevice(permissionService.getCurrUserDataScope(), beginTime, endTime); + List> dataList = gasFlowHomeMapper.gasUsedByDevice(beginTime, endTime); Map dataMap = dataList.stream().collect( - Collectors.toMap(e -> e.get("devcode"), e -> e.get("count")) + Collectors.toMap(e -> String.valueOf(e.get("devcode")), e -> String.valueOf(e.get("count"))) ); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage("查询成功"); responseData.setData(dataMap); + responseData.setSuccess(true); } catch (DataAccessException dae) { responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); responseData.setMessage(ResponseData.DEFAULT_ERROR_MESSAGE); @@ -98,6 +98,7 @@ responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage("查询成功"); responseData.setData(dataMap); + responseData.setSuccess(true); } catch (DataAccessException dae) { responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); responseData.setMessage(ResponseData.DEFAULT_ERROR_MESSAGE); @@ -111,13 +112,14 @@ if (CheckType(deviceType)) { try { Map resultMap = new HashMap<>(); - Integer total = gasFlowHomeMapper.countRecData(permissionService.getCurrUserDataScope(), beginTime, endTime, Long.valueOf(deviceType)); - Integer leakNum = gasFlowHomeMapper.countRecAlarm(permissionService.getCurrUserDataScope(), beginTime, endTime, Long.valueOf(deviceType)); + Integer total = gasFlowHomeMapper.countRecData(beginTime, endTime, Long.valueOf(deviceType)); + Integer leakNum = gasFlowHomeMapper.countRecAlarm(beginTime, endTime, Long.valueOf(deviceType)); resultMap.put("leakage", leakNum); resultMap.put("normal", total - leakNum); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage("查询成功"); responseData.setData(resultMap); + responseData.setSuccess(true); } catch (DataAccessException dae) { responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); responseData.setMessage(ResponseData.DEFAULT_ERROR_MESSAGE); @@ -133,13 +135,11 @@ public Object statisticsRate(String beginTime, String endTime) { ResponseData responseData = new ResponseData(); try { - List> alarmList = gasFlowHomeMapper.statisticsRate(permissionService.getCurrUserDataScope(), beginTime, endTime); - Map resultMap = alarmList.stream().collect( - Collectors.toMap(e -> e.get("deviceName"), e -> e.get("count")) - ); + List> resultList = gasFlowHomeMapper.statisticsRate(beginTime, endTime); responseData.setCode(ResponseData.DEFAULT_SUCCESS_CODE); responseData.setMessage("查询成功"); - responseData.setData(resultMap); + responseData.setData(resultList); + responseData.setSuccess(true); } catch (DataAccessException dae) { responseData.setCode(ResponseData.DEFAULT_ERROR_CODE); responseData.setMessage(ResponseData.DEFAULT_ERROR_MESSAGE);