diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml index 091145c..174f95f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml @@ -44,8 +44,8 @@ SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(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/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml index 091145c..174f95f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml @@ -44,8 +44,8 @@ SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml index 091145c..174f95f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml @@ -44,8 +44,8 @@ + + + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml index 091145c..174f95f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml @@ -44,8 +44,8 @@ + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml index 51fdaf0..60977e3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml @@ -86,4 +86,13 @@ ORDER BY dg.UPTIME DESC + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml index 51fdaf0..60977e3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml @@ -86,4 +86,13 @@ ORDER BY dg.UPTIME DESC + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml index 51fdaf0..60977e3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml @@ -86,4 +86,13 @@ ORDER BY dg.UPTIME DESC + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml index 51fdaf0..60977e3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml @@ -86,4 +86,13 @@ ORDER BY dg.UPTIME DESC + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml index 51fdaf0..60977e3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml @@ -86,4 +86,13 @@ ORDER BY dg.UPTIME DESC + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml index 51fdaf0..60977e3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml @@ -86,4 +86,13 @@ ORDER BY dg.UPTIME DESC + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 SELECT - COUNT(*) AS alarmTimes, - COUNT(DISTINCT wellCode) AS alarmWells + COUNT(1) AS alarmTimes, + COUNT(DISTINCT wellCode) AS alarmWells FROM alarm_now_view WHERE diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java index 5e9c2e4..36c8384 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/CorrodeDataController.java @@ -87,4 +87,22 @@ super.exportExcel(DeviceExportEnum.CORRODEDATA_EXPORT, list, httpServletResponse); } + + /** + * 统计每天每个设备的腐蚀速率变化 + * + */ + @RequestMapping("/corrRateByDevice") + @ResponseBody + public Object corrRateByDevice(String beginTime, String endTime) { + DataScope dataScope = permissionService.getCurrUserDataScope(); + try { + List> res = corrodeDataService.corrRateByDevice(beginTime, endTime, dataScope); + return ResponseData.success(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error("faliure"); + } + } + } 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 9677abd..561ec83 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 @@ -25,10 +25,7 @@ import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author cz @@ -51,18 +48,22 @@ DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public GasFlowDataController(ICommonPermissionService permissionService, - IGasFlowService gasFlowService,IDeviceService iDeviceService) { + IGasFlowService gasFlowService, IDeviceService iDeviceService) { this.permissionService = permissionService; this.gasFlowService = gasFlowService; - this.deviceService=iDeviceService; + this.deviceService = iDeviceService; } + @ApiOperation(value = "获取某气体流量计数据列表") @RequestMapping(value = "/listByDevice") @ResponseBody - public Object listByDevice(String devcode, String beginTime,String endTime) { - List lists = gasFlowService.listByDevice(devcode,beginTime,endTime); + public Object listByDevice(String devcode, String beginTime, String endTime) { + Page page = new PageFactory().defaultPage(); + List lists = gasFlowService.listByDevice(page,devcode, beginTime, endTime); + page.setRecords(lists); return ResponseData.success(lists); } + @ApiOperation(value = "获取气体流量计数据列表") @RequestMapping(value = "/list") @ResponseBody @@ -72,56 +73,60 @@ DataScope dataScope = permissionService.getCurrUserDataScope(); List list = deviceService.selectDataScopePage(dataScope, page, "15", "", "", "", keywords, "", areaId); String date = sdf.format(new Date()); + List> viewList = new ArrayList<>(); list.forEach(deviceDto -> { + Map viewMap = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); + if (viewMap == null) { + viewMap = new HashMap<>(); + viewMap.put("yearCount", "0"); + viewMap.put("upTime", sdf4.format(new Date())); + viewMap.put("totalFlow", ""); + viewMap.put("instantFlow", ""); + viewMap.put("instantVelocity", ""); + viewMap.put("ambocetorTemperture", ""); + viewMap.put("LogTime", sdf4.format(new Date())); + } + viewMap.put("devcode", deviceDto.getDevcode()); + viewMap.put("wellCode", deviceDto.getWellCode()); + viewMap.put("deviceTypeName", deviceDto.getDeviceTypeName()); // 获取日月年用水量和最近的读数 Map dayGasFlowDay = gasFlowService.selectGasFlowDay(deviceDto.getDevcode(), date); if (dayGasFlowDay == null) { deviceDto.setDayCount("0"); } else { - deviceDto.setDayCount(dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); + viewMap.put("dayCount", dayGasFlowDay.get("TOTAL_FLOW_DATE") == null ? "0" : dayGasFlowDay.get("TOTAL_FLOW_DATE").toString()); } - Map monthGasFlow = gasFlowService.selectGasFlowMonth(deviceDto.getDevcode(), date.substring(0, 7)); if (monthGasFlow == null) { deviceDto.setMonthCount("0"); } else { - deviceDto.setMonthCount(monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); + viewMap.put("monthCount", monthGasFlow.get("TOTAL_FLOW_MONTH") == null ? "0" : monthGasFlow.get("TOTAL_FLOW_MONTH").toString()); } - Map gasFlowYear = gasFlowService.selectGasFlowTotal(deviceDto.getDevcode(), date.substring(0, 4)); if (gasFlowYear == null) { deviceDto.setTotalCount("0"); } else { - deviceDto.setTotalCount(gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); + viewMap.put("yearCount", gasFlowYear.get("TOTAL_FLOW_YEAR") == null ? "0" : gasFlowYear.get("TOTAL_FLOW_YEAR").toString()); } - - Map flowRec = gasFlowService.selectLatestGasFlow(deviceDto.getDevcode()); - if (flowRec == null) { - deviceDto.setWatchNum("0"); - deviceDto.setUptime(sdf4.format(new Date())); - } else { - deviceDto.setWatchNum(flowRec.get("TOTAL_FLOW") == null ? "0" : flowRec.get("TOTAL_FLOW").toString()); - deviceDto.setUptime(sdf4.format((Date) flowRec.get("UPTIME"))); - } - deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + viewMap.put("areaFullName", deviceService.getAreaFullNameById(deviceDto.getArea())); + viewList.add(viewMap); }); - page.setRecords(list); - return new SuccessResponseData(super.packForBT(page)); + HashMap dataMap = new HashMap<>(); + dataMap.put("rows", viewList); + dataMap.put("total", page.getTotal()); + return new SuccessResponseData(dataMap); } @ApiOperation(value = "导出气体设备数据列表") @RequestMapping(value = "/data/export") public void export(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { Page> page = new PageFactory>().defaultPage(); - String keywords = httpServletRequest.getParameter("keywords"); String areaId = httpServletRequest.getParameter("areaId"); - page.setLimit(maxRowsExcel); page.setSize(maxRowsExcel); page.setOffset(0); page.setSearchCount(false); - //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); List> list = deviceService.selectDataScopePage(dataScope, page, "15", "", keywords, areaId); diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java index 4eb8abb..8fe72f2 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/CorrodeDataMapper.java @@ -16,5 +16,5 @@ List> getCorrodelistScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - + List> corrRateByDevice(@Param("date")String date); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml index 51fdaf0..60977e3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/CorrodeDataMapper.xml @@ -86,4 +86,13 @@ ORDER BY dg.UPTIME DESC + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 - SELECT + SELECT + FROM data_gasflow WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime}) ORDER BY uptime DESC @@ -38,30 +39,10 @@ - - INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE) - VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate}, - #{dataDay.totalFlow}, #{dataDay.date}) - - - - - INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH) - VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth}, - #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month}) - - - - UPDATE data_gasflow_month - SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth}, - END_FLOW = #{dataMonth.endTotal} - WHERE ID = #{id} - - diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml index 091145c..174f95f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml @@ -44,8 +44,8 @@ + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 - SELECT + SELECT + FROM data_gasflow WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime}) ORDER BY uptime DESC @@ -38,30 +39,10 @@ - - INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE) - VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate}, - #{dataDay.totalFlow}, #{dataDay.date}) - - - - - INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH) - VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth}, - #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month}) - - - - UPDATE data_gasflow_month - SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth}, - END_FLOW = #{dataMonth.endTotal} - WHERE ID = #{id} - - diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java index 6d68b47..3c393fa 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java @@ -33,13 +33,13 @@ /** * 井编号 */ - @NotEmpty(message="井编号不能为空") + @NotEmpty(message = "井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 设备编号 */ - @NotEmpty(message="设备编号不能为空") + @NotEmpty(message = "设备编号不能为空") @TableField("DEVCODE") private String devcode; /** @@ -50,7 +50,7 @@ /** * 累计用水量 */ - @NotEmpty(message="累计用水量不能为空") + @NotEmpty(message = "累计用水量不能为空") @TableField("FLOW_ACC") private String flowAcc; /** @@ -66,7 +66,7 @@ /** * 记录时间 */ - @NotEmpty(message="记录时间不能为空") + @NotEmpty(message = "记录时间不能为空") @TableField("LOGTIME") private Date logtime; /** @@ -74,6 +74,9 @@ */ @TableField("DESCN") private String descn; + + @TableId(value = "PRESSURE") + private Integer pressure; /** * 状态 */ diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml index 091145c..174f95f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml @@ -44,8 +44,8 @@ + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 - SELECT + SELECT + FROM data_gasflow WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime}) ORDER BY uptime DESC @@ -38,30 +39,10 @@ - - INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE) - VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate}, - #{dataDay.totalFlow}, #{dataDay.date}) - - - - - INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH) - VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth}, - #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month}) - - - - UPDATE data_gasflow_month - SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth}, - END_FLOW = #{dataMonth.endTotal} - WHERE ID = #{id} - - diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java index 6d68b47..3c393fa 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java @@ -33,13 +33,13 @@ /** * 井编号 */ - @NotEmpty(message="井编号不能为空") + @NotEmpty(message = "井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 设备编号 */ - @NotEmpty(message="设备编号不能为空") + @NotEmpty(message = "设备编号不能为空") @TableField("DEVCODE") private String devcode; /** @@ -50,7 +50,7 @@ /** * 累计用水量 */ - @NotEmpty(message="累计用水量不能为空") + @NotEmpty(message = "累计用水量不能为空") @TableField("FLOW_ACC") private String flowAcc; /** @@ -66,7 +66,7 @@ /** * 记录时间 */ - @NotEmpty(message="记录时间不能为空") + @NotEmpty(message = "记录时间不能为空") @TableField("LOGTIME") private Date logtime; /** @@ -74,6 +74,9 @@ */ @TableField("DESCN") private String descn; + + @TableId(value = "PRESSURE") + private Integer pressure; /** * 状态 */ diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java index 36c530b..850a8f0 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java @@ -7,16 +7,17 @@ import com.casic.missiles.modular.system.model.DataGasFlow; import com.casic.missiles.modular.system.model.DataGasFlowDay; import com.casic.missiles.modular.system.model.DataGasFlowMonth; +import com.casic.missiles.modular.system.model.DataWaterMeter; import com.casic.missiles.modular.system.service.IGasFlowDataService; import lombok.extern.java.Log; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Calendar; -import java.util.HashMap; import java.util.Map; @Service @@ -64,83 +65,31 @@ try { Calendar lastDay = Calendar.getInstance(); lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString())); - // 计算间隔天数 long delta = today.getTimeInMillis() - lastDay.getTimeInMillis(); int dateDelta = (int) (delta / (3600 * 24 * 1000)); - + long delhour = delta / (3600 * 1000); // 计算与上一条日用气量的差值 Double totalFlowDelta = Double.parseDouble(dataGasFlow.getTotalFlow()) - Double.parseDouble(lastDayAcc.get("totalFlow").toString()); - + //如果间隔为0,可能是同一天,或者是间隔一天,进行天的进一步判断 + if (dateDelta == 0) { + long dayDel = today.get(Calendar.DATE) - lastDay.get(Calendar.DATE); + if (dayDel == 1) { + // 间隔一天 日用水量=差值 + totalFlowDayRet = totalFlowDelta / delhour * 24; + gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta)); + intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow); + } + } // 时间间隔为1天 if (dateDelta == 1) { - gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow()); - // 当日用气量 = 当日气表读数 - 昨日气表读数 - gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta)); - dataGasFlowDayMapper.insert(gasFlowDay); - // 间隔一天 日用气量=差值 - totalFlowDayRet = totalFlowDelta; - - if (today.get(Calendar.DATE) == 1) { - // 是每月的第一天 则新增月用气量 - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值 - gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } else { - // 更新月用气量 - Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); - if (null != monthExist) { - gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) - + Double.parseDouble(gasFlowDay.getTotalFlowDate()))); - gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); - gasFlowMonth.setId((Long) monthExist.get("id")); - dataGasFlowMonthMapper.updateById(gasFlowMonth); - } else { - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal("0"); - gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } - } + totalFlowDayRet = totalFlowDelta / delhour * 24; + // 当日用气量 = 当日气表读数 - 昨日气表读数 + gasFlowDay.setTotalFlowDate(df2.format(totalFlowDayRet)); + intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow); } else { - // 间隔多天 - double avgFlowDay = totalFlowDelta / dateDelta; - // 间隔多天 日用气量=平均值 - totalFlowDayRet = avgFlowDay; - for (int i = 0; i < dateDelta; i++) { - Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1); - gasFlowDay.setTotalFlow(totalFlow.toString()); - // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数 - gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay)); - lastDay.add(Calendar.DATE, 1); - gasFlowDay.setDate(sdfDate.format(lastDay.getTime())); - dataGasFlowDayMapper.insert(gasFlowDay); - gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7)); - if (lastDay.get(Calendar.DATE) == 1) { - // 是每月的第一天 则新增月用气量 - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i)); - gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } else { - // 更新月用气量 - Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); - if (null != monthExist) { - gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay)); - gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); - gasFlowMonth.setId((Long) monthExist.get("id")); - dataGasFlowMonthMapper.updateById(gasFlowMonth); - } else { - - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal("0"); - gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } - } - } + intervalManyDayGasFlow(gasFlowDay, lastDay, lastDayAcc, gasFlowMonth, totalFlowDelta, delhour, dateDelta); } } catch (Exception ex) { ex.printStackTrace(); @@ -164,4 +113,69 @@ public Map selectLatestDayAccByDevice(String devcode, String date) { return this.baseMapper.selectLatestDayAccByDevice(devcode, date); } + + private void intervalOfDayGasFlow(DataGasFlowDay gasFlowDay, + Calendar today, Map lastDayAcc, + DataGasFlowMonth gasFlowMonth, DataGasFlow dataGasFlow) { + gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow()); + dataGasFlowDayMapper.insert(gasFlowDay); + if (today.get(Calendar.DATE) == 1) { + // 是每月的第一天 则新增月用气量 + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值 + gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } else { + // 更新月用气量 + Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); + if (null != monthExist) { + gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + + Double.parseDouble(gasFlowDay.getTotalFlowDate()))); + gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); + gasFlowMonth.setId((Long) monthExist.get("id")); + dataGasFlowMonthMapper.updateById(gasFlowMonth); + } else { + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal("0"); + gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } + } + } + + private void intervalManyDayGasFlow(DataGasFlowDay gasFlowDay, Calendar lastDay, Map lastDayAcc, DataGasFlowMonth gasFlowMonth, double flowAccDelta, long delhour, int dayDelta) { + // 间隔多天平均值 + double avgFlowDay = flowAccDelta / delhour * 24; + for (int i = 0; i < dayDelta; i++) { + Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1); + gasFlowDay.setTotalFlow(df2.format(totalFlow.toString())); + // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数 + gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay)); + lastDay.add(Calendar.DATE, 1); + gasFlowDay.setDate(sdfDate.format(lastDay.getTime())); + dataGasFlowDayMapper.insert(gasFlowDay); + gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7)); + if (lastDay.get(Calendar.DATE) == 1) { + // 是每月的第一天 则新增月用气量 + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i)); + gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } else { + // 更新月用气量 + Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); + if (null != monthExist) { + gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay)); + gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); + gasFlowMonth.setId((Long) monthExist.get("id")); + dataGasFlowMonthMapper.updateById(gasFlowMonth); + } else { + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal("0"); + gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } + } + } + } } \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml index 091145c..174f95f 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmNowViewMapper.xml @@ -44,8 +44,8 @@ + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml index 62882cb..0527ba3 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/mapping/DeviceMapper.xml @@ -15,7 +15,8 @@ - ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X AS LONGITUDE, COORDINATE_Y AS LATITUDE, + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION,CONCENID,CONCENCODE,ONLINESTATE,VALID,TS,BFZT,AREA,AREAFULLNAME,wellId,COORDINATE_X + AS LONGITUDE, COORDINATE_Y AS LATITUDE, as INSTALLDATE @@ -111,11 +112,12 @@ - and (DEVCODE LIKE - OR wellCode LIKE ) + and (DEVCODE LIKE + + OR wellCode LIKE) - and area IN (${areaId}) + and area IN (${areaId}) ORDER BY INSTALLDATE DESC @@ -129,10 +131,13 @@ and deviceType = #{devType} - and (DEVCODE LIKE - OR wellCode LIKE - OR POSITION LIKE - OR AREAFULLNAME like ) + and (DEVCODE LIKE + + OR wellCode LIKE + + OR POSITION LIKE + + OR AREAFULLNAME like) @@ -957,7 +962,8 @@ @@ -992,7 +999,8 @@ WHERE dv.VALID = '1' AND dv.DEVCODE = #{devcode} AND dwm.MONTH = #{month} - + ORDER BY dwm.FLOW_ACC_MONTH DESC + LIMIT 1 - SELECT + SELECT + FROM data_gasflow WHERE devcode = #{devcode} and unix_timestamp(uptime) < unix_timestamp(#{uptime}) ORDER BY uptime DESC @@ -38,30 +39,10 @@ - - INSERT INTO data_gasflow_day (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_DATE,TOTAL_FLOW, DATE) - VALUES (#{dataDay.id},#{dataDay.wellCode}, #{dataDay.devCode}, #{dataDay.totalFlowDate}, - #{dataDay.totalFlow}, #{dataDay.date}) - - - - - INSERT INTO data_gasflow_month (ID,WELL_CODE, DEVCODE, TOTAL_FLOW_MONTH, FIRST_TOTAL, END_TOTAL, MONTH) - VALUES (#{dataDay.id},#{dataMonth.wellCode}, #{dataMonth.devCode}, #{dataMonth.totalFlowMonth}, - #{dataMonth.firstTotal}, #{dataMonth.endTotal}, #{dataMonth.month}) - - - - UPDATE data_gasflow_month - SET TOTAL_FLOW_MONTH = #{dataMonth.totalFlowMonth}, - END_FLOW = #{dataMonth.endTotal} - WHERE ID = #{id} - - diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java index 6d68b47..3c393fa 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/model/DataWaterMeter.java @@ -33,13 +33,13 @@ /** * 井编号 */ - @NotEmpty(message="井编号不能为空") + @NotEmpty(message = "井编号不能为空") @TableField("WELL_CODE") private String wellCode; /** * 设备编号 */ - @NotEmpty(message="设备编号不能为空") + @NotEmpty(message = "设备编号不能为空") @TableField("DEVCODE") private String devcode; /** @@ -50,7 +50,7 @@ /** * 累计用水量 */ - @NotEmpty(message="累计用水量不能为空") + @NotEmpty(message = "累计用水量不能为空") @TableField("FLOW_ACC") private String flowAcc; /** @@ -66,7 +66,7 @@ /** * 记录时间 */ - @NotEmpty(message="记录时间不能为空") + @NotEmpty(message = "记录时间不能为空") @TableField("LOGTIME") private Date logtime; /** @@ -74,6 +74,9 @@ */ @TableField("DESCN") private String descn; + + @TableId(value = "PRESSURE") + private Integer pressure; /** * 状态 */ diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java index 36c530b..850a8f0 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/GasFlowDataServiceImpl.java @@ -7,16 +7,17 @@ import com.casic.missiles.modular.system.model.DataGasFlow; import com.casic.missiles.modular.system.model.DataGasFlowDay; import com.casic.missiles.modular.system.model.DataGasFlowMonth; +import com.casic.missiles.modular.system.model.DataWaterMeter; import com.casic.missiles.modular.system.service.IGasFlowDataService; import lombok.extern.java.Log; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Calendar; -import java.util.HashMap; import java.util.Map; @Service @@ -64,83 +65,31 @@ try { Calendar lastDay = Calendar.getInstance(); lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString())); - // 计算间隔天数 long delta = today.getTimeInMillis() - lastDay.getTimeInMillis(); int dateDelta = (int) (delta / (3600 * 24 * 1000)); - + long delhour = delta / (3600 * 1000); // 计算与上一条日用气量的差值 Double totalFlowDelta = Double.parseDouble(dataGasFlow.getTotalFlow()) - Double.parseDouble(lastDayAcc.get("totalFlow").toString()); - + //如果间隔为0,可能是同一天,或者是间隔一天,进行天的进一步判断 + if (dateDelta == 0) { + long dayDel = today.get(Calendar.DATE) - lastDay.get(Calendar.DATE); + if (dayDel == 1) { + // 间隔一天 日用水量=差值 + totalFlowDayRet = totalFlowDelta / delhour * 24; + gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta)); + intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow); + } + } // 时间间隔为1天 if (dateDelta == 1) { - gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow()); - // 当日用气量 = 当日气表读数 - 昨日气表读数 - gasFlowDay.setTotalFlowDate(df2.format(totalFlowDelta)); - dataGasFlowDayMapper.insert(gasFlowDay); - // 间隔一天 日用气量=差值 - totalFlowDayRet = totalFlowDelta; - - if (today.get(Calendar.DATE) == 1) { - // 是每月的第一天 则新增月用气量 - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值 - gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } else { - // 更新月用气量 - Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); - if (null != monthExist) { - gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) - + Double.parseDouble(gasFlowDay.getTotalFlowDate()))); - gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); - gasFlowMonth.setId((Long) monthExist.get("id")); - dataGasFlowMonthMapper.updateById(gasFlowMonth); - } else { - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal("0"); - gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } - } + totalFlowDayRet = totalFlowDelta / delhour * 24; + // 当日用气量 = 当日气表读数 - 昨日气表读数 + gasFlowDay.setTotalFlowDate(df2.format(totalFlowDayRet)); + intervalOfDayGasFlow(gasFlowDay, today, lastDayAcc, gasFlowMonth, dataGasFlow); } else { - // 间隔多天 - double avgFlowDay = totalFlowDelta / dateDelta; - // 间隔多天 日用气量=平均值 - totalFlowDayRet = avgFlowDay; - for (int i = 0; i < dateDelta; i++) { - Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1); - gasFlowDay.setTotalFlow(totalFlow.toString()); - // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数 - gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay)); - lastDay.add(Calendar.DATE, 1); - gasFlowDay.setDate(sdfDate.format(lastDay.getTime())); - dataGasFlowDayMapper.insert(gasFlowDay); - gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7)); - if (lastDay.get(Calendar.DATE) == 1) { - // 是每月的第一天 则新增月用气量 - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i)); - gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } else { - // 更新月用气量 - Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); - if (null != monthExist) { - gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay)); - gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); - gasFlowMonth.setId((Long) monthExist.get("id")); - dataGasFlowMonthMapper.updateById(gasFlowMonth); - } else { - - gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); - gasFlowMonth.setFirstTotal("0"); - gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); - dataGasFlowMonthMapper.insert(gasFlowMonth); - } - } - } + intervalManyDayGasFlow(gasFlowDay, lastDay, lastDayAcc, gasFlowMonth, totalFlowDelta, delhour, dateDelta); } } catch (Exception ex) { ex.printStackTrace(); @@ -164,4 +113,69 @@ public Map selectLatestDayAccByDevice(String devcode, String date) { return this.baseMapper.selectLatestDayAccByDevice(devcode, date); } + + private void intervalOfDayGasFlow(DataGasFlowDay gasFlowDay, + Calendar today, Map lastDayAcc, + DataGasFlowMonth gasFlowMonth, DataGasFlow dataGasFlow) { + gasFlowDay.setTotalFlow(dataGasFlow.getTotalFlow()); + dataGasFlowDayMapper.insert(gasFlowDay); + if (today.get(Calendar.DATE) == 1) { + // 是每月的第一天 则新增月用气量 + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal(lastDayAcc.get("totalFlow").toString());// 初始累积值为上个月的最后一个累积值 + gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } else { + // 更新月用气量 + Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); + if (null != monthExist) { + gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + + Double.parseDouble(gasFlowDay.getTotalFlowDate()))); + gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); + gasFlowMonth.setId((Long) monthExist.get("id")); + dataGasFlowMonthMapper.updateById(gasFlowMonth); + } else { + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal("0"); + gasFlowMonth.setEndTotal(dataGasFlow.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } + } + } + + private void intervalManyDayGasFlow(DataGasFlowDay gasFlowDay, Calendar lastDay, Map lastDayAcc, DataGasFlowMonth gasFlowMonth, double flowAccDelta, long delhour, int dayDelta) { + // 间隔多天平均值 + double avgFlowDay = flowAccDelta / delhour * 24; + for (int i = 0; i < dayDelta; i++) { + Double totalFlow = Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * (i + 1); + gasFlowDay.setTotalFlow(df2.format(totalFlow.toString())); + // 当日用气量 = (当日气表读数 - 昨日气表读数) / 天数 + gasFlowDay.setTotalFlowDate(df2.format(avgFlowDay)); + lastDay.add(Calendar.DATE, 1); + gasFlowDay.setDate(sdfDate.format(lastDay.getTime())); + dataGasFlowDayMapper.insert(gasFlowDay); + gasFlowMonth.setMonth(sdfDate.format(lastDay.getTime()).substring(0, 7)); + if (lastDay.get(Calendar.DATE) == 1) { + // 是每月的第一天 则新增月用气量 + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal(df2.format(Double.parseDouble(lastDayAcc.get("totalFlow").toString()) + avgFlowDay * i)); + gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } else { + // 更新月用气量 + Map monthExist = this.baseMapper.isExistDataGasFlowMonth(gasFlowMonth.getDevcode(), gasFlowMonth.getMonth()); + if (null != monthExist) { + gasFlowMonth.setTotalFlowMonth(df2.format(Double.parseDouble(monthExist.get("totalFlowMonth").toString()) + avgFlowDay)); + gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); + gasFlowMonth.setId((Long) monthExist.get("id")); + dataGasFlowMonthMapper.updateById(gasFlowMonth); + } else { + gasFlowMonth.setTotalFlowMonth(gasFlowDay.getTotalFlowDate()); + gasFlowMonth.setFirstTotal("0"); + gasFlowMonth.setEndTotal(gasFlowDay.getTotalFlow()); + dataGasFlowMonthMapper.insert(gasFlowMonth); + } + } + } + } } \ No newline at end of file diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java index 1fe2cac..bc53621 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/service/impl/WaterMeterDataServiceImpl.java @@ -5,17 +5,20 @@ import com.casic.missiles.modular.system.model.DataWaterMeter; import com.casic.missiles.modular.system.service.IWaterMeterDataService; import lombok.extern.java.Log; +import lombok.extern.log4j.Log4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.DecimalFormat; import java.text.SimpleDateFormat; +import java.time.DateTimeException; import java.util.Calendar; import java.util.HashMap; import java.util.Map; +import java.util.Random; @Service -@Log +@Log4j public class WaterMeterDataServiceImpl extends ServiceImpl implements IWaterMeterDataService { private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -25,9 +28,10 @@ @Override @Transactional public double saveWaterMeterData(DataWaterMeter dataWaterMeter) { + + dataWaterMeter.setPressure(new Random(System.currentTimeMillis()).nextInt(15)); // 1. 保存原始记录 this.baseMapper.insert(dataWaterMeter); - // 用于返回的日用水量 double flowAccDayRet = 0.0; @@ -36,118 +40,65 @@ waterMeterDay.put("wellCode", dataWaterMeter.getWellCode()); waterMeterDay.put("devCode", dataWaterMeter.getDevcode()); waterMeterDay.put("date", sdfDate.format(dataWaterMeter.getUptime())); - // 月用水量 Map waterMeterMonth = new HashMap<>(); waterMeterMonth.put("wellCode", dataWaterMeter.getWellCode()); waterMeterMonth.put("devCode", dataWaterMeter.getDevcode()); waterMeterMonth.put("month", sdfDate.format(dataWaterMeter.getUptime()).substring(0, 7)); - // 2. 查询上一个最近的日用水量记录 Map lastDayAcc = this.selectLatestDayAccByDevice(dataWaterMeter.getDevcode(), sdfDate.format(dataWaterMeter.getUptime())); + Calendar lastDay = Calendar.getInstance(); + try { + lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString())); + } catch (Exception ex) { + log.error("主题:水表列表展示,日期转换出错,异常信息{}", ex); + } + waterMeterDay.put("date", sdfDate.format(lastDay.getTime())); + waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7)); if (null != lastDayAcc) { Calendar today = Calendar.getInstance(); today.setTime(dataWaterMeter.getUptime()); today.set(Calendar.HOUR, 0); today.set(Calendar.MINUTE, 0); today.set(Calendar.SECOND, 0); - try { - Calendar lastDay = Calendar.getInstance(); - lastDay.setTime(sdfDate.parse(lastDayAcc.get("DATE").toString())); - - // 计算间隔天数 - long delta = today.getTimeInMillis() - lastDay.getTimeInMillis(); - int dateDelta = (int) (delta / (3600 * 24 * 1000)); - - // 计算与上一条日用水量的差值 - Double flowAccDelta = Double.parseDouble(dataWaterMeter.getFlowAcc()) - Double.parseDouble(lastDayAcc.get("flowAcc").toString()); - - // 时间间隔为1天 - if (dateDelta == 1) { - waterMeterDay.put("flowAcc", dataWaterMeter.getFlowAcc()); // 当日水表读数 - // 当日用水量 = 当日水表读数 - 昨日水表读数 - waterMeterDay.put("flowAccDate", df2.format(flowAccDelta)); - this.baseMapper.insertDataWatermeterDay(waterMeterDay); - + // 计算间隔天数 + long delta = today.getTimeInMillis() - lastDay.getTimeInMillis(); + int dateDelta = (int) (delta / (3600 * 24 * 1000)); + // 计算与上一条日用水量的差值 + Double flowAccDelta = Double.parseDouble(dataWaterMeter.getFlowAcc()) - Double.parseDouble(lastDayAcc.get("flowAcc").toString()); + long delhour = delta / (3600 * 1000); + //如果间隔为0,可能是同一天,或者是间隔一天,进行天的进一步判断 + if (dateDelta == 0) { + long dayDel = today.get(Calendar.DATE) - lastDay.get(Calendar.DATE); + if (dayDel == 1) { // 间隔一天 日用水量=差值 - flowAccDayRet = flowAccDelta; - - if (today.get(Calendar.DATE) == 1) { - // 是每月的第一天 则新增月用水量 - waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate")); - waterMeterMonth.put("firstAcc", lastDayAcc.get("flowAcc").toString()); // 初始累积值为上个月的最后一个累积值 - waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc()); - this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); - } else { - // 更新月用水量 - Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString()); - if (null != monthExist) { - waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + Double.parseDouble(waterMeterDay.get("flowAccDate").toString()))); - waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc()); - - this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id")); - } else { - waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate")); - waterMeterMonth.put("firstAcc", 0); - waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc()); - this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); - } - } - } else { - // 间隔多天 - double avgFlowAccDay = flowAccDelta / dateDelta; - // 间隔多天 日用水量=平均值 - flowAccDayRet = avgFlowAccDay; - for (int i = 0; i < dateDelta; i++) { - waterMeterDay.put("flowAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * (i+1))); // 当日水表读数 - // 当日用水量 = (当日水表读数 - 昨日水表读数) / 天数 - waterMeterDay.put("flowAccDate", df2.format(avgFlowAccDay)); - lastDay.add(Calendar.DATE, 1); - waterMeterDay.put("date", sdfDate.format(lastDay.getTime())); - this.baseMapper.insertDataWatermeterDay(waterMeterDay); - - waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7)); - if (lastDay.get(Calendar.DATE) == 1) { - // 是每月的第一天 则新增月用水量 - waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate")); - waterMeterMonth.put("firstAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * i)); - waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc")); - this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); - } else { - // 更新月用水量 - Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString()); - if (null != monthExist) { - waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + avgFlowAccDay)); - waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc")); - - this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id")); - } else { - waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate")); - waterMeterMonth.put("firstAcc", 0); - waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc")); - this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); - } - } - } + flowAccDayRet = flowAccDelta / delhour * 24; + waterMeterDay.put("flowAccDate", df2.format(flowAccDayRet)); + intervalOfDayWaterMeter(waterMeterDay, lastDayAcc, waterMeterMonth, dataWaterMeter); } - } catch (Exception ex) { - ex.printStackTrace(); + } + // 时间间隔为1天 + if (dateDelta == 1) { + // 间隔一天 日用水量=差值 + flowAccDayRet = flowAccDelta / delhour * 24; + waterMeterDay.put("flowAccDate", df2.format(flowAccDayRet)); + intervalOfDayWaterMeter(waterMeterDay, lastDayAcc, waterMeterMonth, dataWaterMeter); + } else { + intervalManyDayWaterMeter(waterMeterDay, lastDay, lastDayAcc, waterMeterMonth, flowAccDelta, delhour, dateDelta); } } else { + waterMeterDay.put("date", sdfDate.format(lastDay.getTime())); + waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7)); // 没有找到最近的日用水量记录 则新增日及月用水量 waterMeterDay.put("flowAcc", dataWaterMeter.getFlowAcc()); waterMeterDay.put("flowAccDate", dataWaterMeter.getFlowAcc()); this.baseMapper.insertDataWatermeterDay(waterMeterDay); - - // 没有上一条记录 日用水量 = 当前读数 flowAccDayRet = Double.parseDouble(dataWaterMeter.getFlowAcc()); - waterMeterMonth.put("flowAccMonth", dataWaterMeter.getFlowAcc()); waterMeterMonth.put("firstAcc", 0); waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc()); this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); } - return flowAccDayRet; } @@ -155,4 +106,68 @@ public Map selectLatestDayAccByDevice(String devcode, String date) { return this.baseMapper.selectLatestDayAccByDevice(devcode, date); } + + /** + * @param waterMeterDay + * @param lastDayAcc + * @param waterMeterMonth + * @param dataWaterMeter + */ + private void intervalOfDayWaterMeter(Map waterMeterDay, + Map lastDayAcc, + Map waterMeterMonth, DataWaterMeter dataWaterMeter) { + waterMeterDay.put("flowAcc", dataWaterMeter.getFlowAcc()); // 当日水表读数 + // 当日用水量 = 当日水表读数 - 昨日水表读数 + this.baseMapper.insertDataWatermeterDay(waterMeterDay); + // 更新月用水量 + Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString()); + if (null != monthExist) { + waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + Double.parseDouble(waterMeterDay.get("flowAccDate").toString()))); + waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc()); + this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id")); + } else { + waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate")); + waterMeterMonth.put("firstAcc", lastDayAcc.get("flowAcc").toString()); // 初始累积值为上个月的最后一个累积值 + waterMeterMonth.put("lastAcc", dataWaterMeter.getFlowAcc()); + this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); + } + } + + private void intervalManyDayWaterMeter(Map waterMeterDay, + Calendar lastDay, Map lastDayAcc, + Map waterMeterMonth, Double flowAccDelta, Long dateHour, int dayDelta) { + // 间隔多天平均值 + double avgFlowAccDay = flowAccDelta / dateHour * 24; + for (int i = 0; i < dayDelta; i++) { + waterMeterDay.put("flowAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * (i + 1))); // 当日水表读数 + // 当日用水量 = (当日水表读数 - 昨日水表读数) / 天数 + waterMeterDay.put("flowAccDate", df2.format(avgFlowAccDay)); + waterMeterDay.put("date", sdfDate.format(lastDay.getTime())); + lastDay.add(Calendar.DATE, 1); + this.baseMapper.insertDataWatermeterDay(waterMeterDay); + waterMeterMonth.put("month", sdfDate.format(lastDay.getTime()).substring(0, 7)); + if (lastDay.get(Calendar.DATE) == 1) { + // 是每月的第一天 则新增月用水量 + waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate")); + waterMeterMonth.put("firstAcc", df2.format(Double.parseDouble(lastDayAcc.get("flowAcc").toString()) + avgFlowAccDay * i)); + waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc")); + this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); + } else { + // 更新月用水量 + Map monthExist = this.baseMapper.isExistDataWatermeterMonth(waterMeterMonth.get("devCode").toString(), waterMeterMonth.get("month").toString()); + if (null != monthExist) { + waterMeterMonth.put("flowAccMonth", df2.format(Double.parseDouble(monthExist.get("flowAccMonth").toString()) + avgFlowAccDay)); + waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc")); + this.baseMapper.updateDataWatermeterMonth(waterMeterMonth, (Long) monthExist.get("id")); + } else { + waterMeterMonth.put("flowAccMonth", waterMeterDay.get("flowAccDate")); + waterMeterMonth.put("firstAcc", 0); + waterMeterMonth.put("lastAcc", waterMeterDay.get("flowAcc")); + this.baseMapper.insertDataWatermeterMonth(waterMeterMonth); + } + } + } + + } + }