diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java new file mode 100644 index 0000000..6773e07 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; +import com.casic.missiles.modular.system.service.IDeviceService; +import com.sun.javafx.binding.StringFormatter; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/waterMeterData") +public class WaterMeterDataController extends ExportController { + + private static final Logger logger = LoggerFactory.getLogger(DeviceController.class); + @Autowired + private ICommonPermissionService permissionService; + @Autowired + private IDeviceService deviceService; + + @ApiOperation("获取水表设备列表") + @RequestMapping(value = "/listPage") + @ResponseBody + public Object listPage(String keywords, String deptid, String areaId) { + Page page = new PageFactory().defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getCurrUserDataScope(); + areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); + + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = sdf.format(new Date()); + + list.forEach(deviceDto -> { + // 获取日月年用水量和最近的读数 + Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); + deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + + Map monthMeter = deviceService.selectWaterMeterMonth(deviceDto.getDevcode(), date.substring(0, 7)); + deviceDto.setMonthCount(monthMeter.get("FLOW_ACC_MONTH").toString()); + + Map totalMeter = deviceService.selectWaterMeterTotal(deviceDto.getDevcode(), date.substring(0, 4)); + deviceDto.setTotalCount(totalMeter.get("FLOW_ACC_TOTAL").toString()); + + Map meterRec = deviceService.selectLatestWaterMeter(deviceDto.getDevcode()); + deviceDto.setWatchNum(meterRec.get("FLOW_ACC").toString()); + deviceDto.setUptime(sdf4.format((Date) meterRec.get("UPTIME"))); + + deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + }); + page.setRecords(list); + return new SuccessResponseData(super.packForBT(page)); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java new file mode 100644 index 0000000..6773e07 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; +import com.casic.missiles.modular.system.service.IDeviceService; +import com.sun.javafx.binding.StringFormatter; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/waterMeterData") +public class WaterMeterDataController extends ExportController { + + private static final Logger logger = LoggerFactory.getLogger(DeviceController.class); + @Autowired + private ICommonPermissionService permissionService; + @Autowired + private IDeviceService deviceService; + + @ApiOperation("获取水表设备列表") + @RequestMapping(value = "/listPage") + @ResponseBody + public Object listPage(String keywords, String deptid, String areaId) { + Page page = new PageFactory().defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getCurrUserDataScope(); + areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); + + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = sdf.format(new Date()); + + list.forEach(deviceDto -> { + // 获取日月年用水量和最近的读数 + Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); + deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + + Map monthMeter = deviceService.selectWaterMeterMonth(deviceDto.getDevcode(), date.substring(0, 7)); + deviceDto.setMonthCount(monthMeter.get("FLOW_ACC_MONTH").toString()); + + Map totalMeter = deviceService.selectWaterMeterTotal(deviceDto.getDevcode(), date.substring(0, 4)); + deviceDto.setTotalCount(totalMeter.get("FLOW_ACC_TOTAL").toString()); + + Map meterRec = deviceService.selectLatestWaterMeter(deviceDto.getDevcode()); + deviceDto.setWatchNum(meterRec.get("FLOW_ACC").toString()); + deviceDto.setUptime(sdf4.format((Date) meterRec.get("UPTIME"))); + + deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + }); + page.setRecords(list); + return new SuccessResponseData(super.packForBT(page)); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index 37a59d8..e0818ff 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -64,4 +64,9 @@ List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); List> selectHarmfulDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + + Map selectWaterMeterDay(@Param("devcode")String devcode, @Param("date")String date); + Map selectWaterMeterMonth(@Param("devcode")String devcode, @Param("month")String month); + Map selectWaterMeterYear(@Param("devcode")String devcode, @Param("year")String year); + Map selectLatestWaterMeter(@Param("devcode")String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java new file mode 100644 index 0000000..6773e07 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; +import com.casic.missiles.modular.system.service.IDeviceService; +import com.sun.javafx.binding.StringFormatter; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/waterMeterData") +public class WaterMeterDataController extends ExportController { + + private static final Logger logger = LoggerFactory.getLogger(DeviceController.class); + @Autowired + private ICommonPermissionService permissionService; + @Autowired + private IDeviceService deviceService; + + @ApiOperation("获取水表设备列表") + @RequestMapping(value = "/listPage") + @ResponseBody + public Object listPage(String keywords, String deptid, String areaId) { + Page page = new PageFactory().defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getCurrUserDataScope(); + areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); + + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = sdf.format(new Date()); + + list.forEach(deviceDto -> { + // 获取日月年用水量和最近的读数 + Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); + deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + + Map monthMeter = deviceService.selectWaterMeterMonth(deviceDto.getDevcode(), date.substring(0, 7)); + deviceDto.setMonthCount(monthMeter.get("FLOW_ACC_MONTH").toString()); + + Map totalMeter = deviceService.selectWaterMeterTotal(deviceDto.getDevcode(), date.substring(0, 4)); + deviceDto.setTotalCount(totalMeter.get("FLOW_ACC_TOTAL").toString()); + + Map meterRec = deviceService.selectLatestWaterMeter(deviceDto.getDevcode()); + deviceDto.setWatchNum(meterRec.get("FLOW_ACC").toString()); + deviceDto.setUptime(sdf4.format((Date) meterRec.get("UPTIME"))); + + deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + }); + page.setRecords(list); + return new SuccessResponseData(super.packForBT(page)); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index 37a59d8..e0818ff 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -64,4 +64,9 @@ List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); List> selectHarmfulDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + + Map selectWaterMeterDay(@Param("devcode")String devcode, @Param("date")String date); + Map selectWaterMeterMonth(@Param("devcode")String devcode, @Param("month")String month); + Map selectWaterMeterYear(@Param("devcode")String devcode, @Param("year")String year); + Map selectLatestWaterMeter(@Param("devcode")String devcode); } 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 96c6a71..122b143 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 @@ -920,4 +920,24 @@ ORDER BY uptime asc + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java new file mode 100644 index 0000000..6773e07 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; +import com.casic.missiles.modular.system.service.IDeviceService; +import com.sun.javafx.binding.StringFormatter; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/waterMeterData") +public class WaterMeterDataController extends ExportController { + + private static final Logger logger = LoggerFactory.getLogger(DeviceController.class); + @Autowired + private ICommonPermissionService permissionService; + @Autowired + private IDeviceService deviceService; + + @ApiOperation("获取水表设备列表") + @RequestMapping(value = "/listPage") + @ResponseBody + public Object listPage(String keywords, String deptid, String areaId) { + Page page = new PageFactory().defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getCurrUserDataScope(); + areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); + + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = sdf.format(new Date()); + + list.forEach(deviceDto -> { + // 获取日月年用水量和最近的读数 + Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); + deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + + Map monthMeter = deviceService.selectWaterMeterMonth(deviceDto.getDevcode(), date.substring(0, 7)); + deviceDto.setMonthCount(monthMeter.get("FLOW_ACC_MONTH").toString()); + + Map totalMeter = deviceService.selectWaterMeterTotal(deviceDto.getDevcode(), date.substring(0, 4)); + deviceDto.setTotalCount(totalMeter.get("FLOW_ACC_TOTAL").toString()); + + Map meterRec = deviceService.selectLatestWaterMeter(deviceDto.getDevcode()); + deviceDto.setWatchNum(meterRec.get("FLOW_ACC").toString()); + deviceDto.setUptime(sdf4.format((Date) meterRec.get("UPTIME"))); + + deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + }); + page.setRecords(list); + return new SuccessResponseData(super.packForBT(page)); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index 37a59d8..e0818ff 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -64,4 +64,9 @@ List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); List> selectHarmfulDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + + Map selectWaterMeterDay(@Param("devcode")String devcode, @Param("date")String date); + Map selectWaterMeterMonth(@Param("devcode")String devcode, @Param("month")String month); + Map selectWaterMeterYear(@Param("devcode")String devcode, @Param("year")String year); + Map selectLatestWaterMeter(@Param("devcode")String devcode); } 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 96c6a71..122b143 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 @@ -920,4 +920,24 @@ ORDER BY uptime asc + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java index 4ca24bc..c6050d7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -62,6 +62,13 @@ private String area; private String areaFullName; + private String dayCount; + private String monthCount; + private String totalCount; + private String watchNum; + private String uptime; + private String statusName; + @Override protected Serializable pkVal() { return null; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java new file mode 100644 index 0000000..6773e07 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; +import com.casic.missiles.modular.system.service.IDeviceService; +import com.sun.javafx.binding.StringFormatter; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/waterMeterData") +public class WaterMeterDataController extends ExportController { + + private static final Logger logger = LoggerFactory.getLogger(DeviceController.class); + @Autowired + private ICommonPermissionService permissionService; + @Autowired + private IDeviceService deviceService; + + @ApiOperation("获取水表设备列表") + @RequestMapping(value = "/listPage") + @ResponseBody + public Object listPage(String keywords, String deptid, String areaId) { + Page page = new PageFactory().defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getCurrUserDataScope(); + areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); + + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = sdf.format(new Date()); + + list.forEach(deviceDto -> { + // 获取日月年用水量和最近的读数 + Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); + deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + + Map monthMeter = deviceService.selectWaterMeterMonth(deviceDto.getDevcode(), date.substring(0, 7)); + deviceDto.setMonthCount(monthMeter.get("FLOW_ACC_MONTH").toString()); + + Map totalMeter = deviceService.selectWaterMeterTotal(deviceDto.getDevcode(), date.substring(0, 4)); + deviceDto.setTotalCount(totalMeter.get("FLOW_ACC_TOTAL").toString()); + + Map meterRec = deviceService.selectLatestWaterMeter(deviceDto.getDevcode()); + deviceDto.setWatchNum(meterRec.get("FLOW_ACC").toString()); + deviceDto.setUptime(sdf4.format((Date) meterRec.get("UPTIME"))); + + deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + }); + page.setRecords(list); + return new SuccessResponseData(super.packForBT(page)); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index 37a59d8..e0818ff 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -64,4 +64,9 @@ List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); List> selectHarmfulDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + + Map selectWaterMeterDay(@Param("devcode")String devcode, @Param("date")String date); + Map selectWaterMeterMonth(@Param("devcode")String devcode, @Param("month")String month); + Map selectWaterMeterYear(@Param("devcode")String devcode, @Param("year")String year); + Map selectLatestWaterMeter(@Param("devcode")String devcode); } 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 96c6a71..122b143 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 @@ -920,4 +920,24 @@ ORDER BY uptime asc + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java index 4ca24bc..c6050d7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -62,6 +62,13 @@ private String area; private String areaFullName; + private String dayCount; + private String monthCount; + private String totalCount; + private String watchNum; + private String uptime; + private String statusName; + @Override protected Serializable pkVal() { return null; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java index 6b84904..fc4e911 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java @@ -145,4 +145,9 @@ * 燃气数据查询 */ List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + + Map selectWaterMeterDay(String devcode, String date); + Map selectWaterMeterMonth(String devcode, String month); + Map selectWaterMeterTotal(String devcode, String year); + Map selectLatestWaterMeter(String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java new file mode 100644 index 0000000..6773e07 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; +import com.casic.missiles.modular.system.service.IDeviceService; +import com.sun.javafx.binding.StringFormatter; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/waterMeterData") +public class WaterMeterDataController extends ExportController { + + private static final Logger logger = LoggerFactory.getLogger(DeviceController.class); + @Autowired + private ICommonPermissionService permissionService; + @Autowired + private IDeviceService deviceService; + + @ApiOperation("获取水表设备列表") + @RequestMapping(value = "/listPage") + @ResponseBody + public Object listPage(String keywords, String deptid, String areaId) { + Page page = new PageFactory().defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getCurrUserDataScope(); + areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); + + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = sdf.format(new Date()); + + list.forEach(deviceDto -> { + // 获取日月年用水量和最近的读数 + Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); + deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + + Map monthMeter = deviceService.selectWaterMeterMonth(deviceDto.getDevcode(), date.substring(0, 7)); + deviceDto.setMonthCount(monthMeter.get("FLOW_ACC_MONTH").toString()); + + Map totalMeter = deviceService.selectWaterMeterTotal(deviceDto.getDevcode(), date.substring(0, 4)); + deviceDto.setTotalCount(totalMeter.get("FLOW_ACC_TOTAL").toString()); + + Map meterRec = deviceService.selectLatestWaterMeter(deviceDto.getDevcode()); + deviceDto.setWatchNum(meterRec.get("FLOW_ACC").toString()); + deviceDto.setUptime(sdf4.format((Date) meterRec.get("UPTIME"))); + + deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + }); + page.setRecords(list); + return new SuccessResponseData(super.packForBT(page)); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index 37a59d8..e0818ff 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -64,4 +64,9 @@ List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); List> selectHarmfulDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + + Map selectWaterMeterDay(@Param("devcode")String devcode, @Param("date")String date); + Map selectWaterMeterMonth(@Param("devcode")String devcode, @Param("month")String month); + Map selectWaterMeterYear(@Param("devcode")String devcode, @Param("year")String year); + Map selectLatestWaterMeter(@Param("devcode")String devcode); } 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 96c6a71..122b143 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 @@ -920,4 +920,24 @@ ORDER BY uptime asc + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java index 4ca24bc..c6050d7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -62,6 +62,13 @@ private String area; private String areaFullName; + private String dayCount; + private String monthCount; + private String totalCount; + private String watchNum; + private String uptime; + private String statusName; + @Override protected Serializable pkVal() { return null; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java index 6b84904..fc4e911 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java @@ -145,4 +145,9 @@ * 燃气数据查询 */ List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + + Map selectWaterMeterDay(String devcode, String date); + Map selectWaterMeterMonth(String devcode, String month); + Map selectWaterMeterTotal(String devcode, String year); + Map selectLatestWaterMeter(String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java index 1298635..fa39434 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java @@ -513,4 +513,32 @@ } return list; } + + @Override + public Map selectWaterMeterDay(String devcode, String date) { + Map map = this.baseMapper.selectWaterMeterDay(devcode, date); + + return map; + } + + @Override + public Map selectWaterMeterMonth(String devcode, String month) { + Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); + + return map; + } + + @Override + public Map selectWaterMeterTotal(String devcode, String year){ + Map map = this.baseMapper.selectWaterMeterYear(devcode, year); + + return map; + } + + @Override + public Map selectLatestWaterMeter(String devcode){ + Map map = this.baseMapper.selectLatestWaterMeter(devcode); + + return map; + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java new file mode 100644 index 0000000..6773e07 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterMeterDataController.java @@ -0,0 +1,72 @@ +package com.casic.missiles.modular.system.controller; + +import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.common.constant.factory.PageFactory; +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceTypeEnum; +import com.casic.missiles.modular.system.service.IDeviceService; +import com.sun.javafx.binding.StringFormatter; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/waterMeterData") +public class WaterMeterDataController extends ExportController { + + private static final Logger logger = LoggerFactory.getLogger(DeviceController.class); + @Autowired + private ICommonPermissionService permissionService; + @Autowired + private IDeviceService deviceService; + + @ApiOperation("获取水表设备列表") + @RequestMapping(value = "/listPage") + @ResponseBody + public Object listPage(String keywords, String deptid, String areaId) { + Page page = new PageFactory().defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getCurrUserDataScope(); + areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); + + DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = sdf.format(new Date()); + + list.forEach(deviceDto -> { + // 获取日月年用水量和最近的读数 + Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); + deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + + Map monthMeter = deviceService.selectWaterMeterMonth(deviceDto.getDevcode(), date.substring(0, 7)); + deviceDto.setMonthCount(monthMeter.get("FLOW_ACC_MONTH").toString()); + + Map totalMeter = deviceService.selectWaterMeterTotal(deviceDto.getDevcode(), date.substring(0, 4)); + deviceDto.setTotalCount(totalMeter.get("FLOW_ACC_TOTAL").toString()); + + Map meterRec = deviceService.selectLatestWaterMeter(deviceDto.getDevcode()); + deviceDto.setWatchNum(meterRec.get("FLOW_ACC").toString()); + deviceDto.setUptime(sdf4.format((Date) meterRec.get("UPTIME"))); + + deviceDto.setAreaFullName(deviceService.getAreaFullNameById(deviceDto.getArea())); + }); + page.setRecords(list); + return new SuccessResponseData(super.packForBT(page)); + } +} diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java index 37a59d8..e0818ff 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dao/DeviceMapper.java @@ -64,4 +64,9 @@ List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); List> selectHarmfulDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + + Map selectWaterMeterDay(@Param("devcode")String devcode, @Param("date")String date); + Map selectWaterMeterMonth(@Param("devcode")String devcode, @Param("month")String month); + Map selectWaterMeterYear(@Param("devcode")String devcode, @Param("year")String year); + Map selectLatestWaterMeter(@Param("devcode")String devcode); } 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 96c6a71..122b143 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 @@ -920,4 +920,24 @@ ORDER BY uptime asc + + + + + + + + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java index 4ca24bc..c6050d7 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -62,6 +62,13 @@ private String area; private String areaFullName; + private String dayCount; + private String monthCount; + private String totalCount; + private String watchNum; + private String uptime; + private String statusName; + @Override protected Serializable pkVal() { return null; diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java index 6b84904..fc4e911 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/IDeviceService.java @@ -145,4 +145,9 @@ * 燃气数据查询 */ List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + + Map selectWaterMeterDay(String devcode, String date); + Map selectWaterMeterMonth(String devcode, String month); + Map selectWaterMeterTotal(String devcode, String year); + Map selectLatestWaterMeter(String devcode); } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java index 1298635..fa39434 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/service/impl/DeviceServiceImpl.java @@ -513,4 +513,32 @@ } return list; } + + @Override + public Map selectWaterMeterDay(String devcode, String date) { + Map map = this.baseMapper.selectWaterMeterDay(devcode, date); + + return map; + } + + @Override + public Map selectWaterMeterMonth(String devcode, String month) { + Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); + + return map; + } + + @Override + public Map selectWaterMeterTotal(String devcode, String year){ + Map map = this.baseMapper.selectWaterMeterYear(devcode, year); + + return map; + } + + @Override + public Map selectLatestWaterMeter(String devcode){ + Map map = this.baseMapper.selectLatestWaterMeter(devcode); + + return map; + } } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index d028e07..f4ba118 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -5,7 +5,7 @@ resources: static-locations: file:D:\java\boot\guns-web-1.0.0-SNAPSHOT\image\,file:D:\java\boot\guns-web-1.0.0-SNAPSHOT\download\ datasource: - url: jdbc:mysql://111.198.10.15:11102/smartwell?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false + url: jdbc:mysql://111.198.10.15:11102/smartwell_qd?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: Casic203! initial-size: 2