diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(null)); + } } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} 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 e0818ff..a376ba8 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 @@ -20,11 +20,12 @@ */ public interface DeviceMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords,@Param("isOnline") String isOnline, @Param("areaId") String areaId); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords, @Param("isOnline") String isOnline, @Param("areaId") String areaId); DeviceWellDto selectWellIdByCode(@Param("wellCode") String wellCode); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); DeviceConcentratorDto selectDeviceConcentorByCode(@Param("concenCode") String concenCode); @@ -33,40 +34,80 @@ List selectLiquidDataScopePage(@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> selectGasDataScopePage(@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> selectGasDataScopePage(@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> selectTubeDataScopePage(@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> selectTubeDataScopePage(@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> selectHarmfulDataScopePage(@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> selectHarmfulDataScopePage(@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> selectTempDataScopePage(@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> selectTempDataScopePage(@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> selectTempPressDataScopePage(@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> selectTempPressDataScopePage(@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> selectDigDataScopePage(@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> selectDigDataScopePage(@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> selectWellLocDataScopePage(@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> selectWellLocDataScopePage(@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> selectNoiseDataScopePage(@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> selectNoiseDataScopePage(@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 alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId")Long deptId, @Param("searchCurr")Boolean searchCurr); + List alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId") Long deptId, @Param("searchCurr") Boolean searchCurr); List selectDevicesByConfig(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType, @Param("configStatus") String configStatus); - List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,@Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectGasLiquidDataLiquidScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - List> selectLiquidDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectLiquidDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectGasDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectGasDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + 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); + 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); + 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); + + List> selectDeviceData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> selectDeviceTotalData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + String getWaterMeterCount(); + +// List> selectAlarmCountByDay(@Param("beginTime") String beginTime, @Param("endTime") String endTime); + + /** + * 总用水量和瞬时流量 + */ + Map getWaterMeter(); + + /** + * 本月总用水量 + */ + String getWaterMeterMonth(); + + /** + * 今日用水量 + */ + String getWaterMeterDay(); + + /** + * 昨日用水量 + */ + String getWaterMeterYesterday(); + + /** + * 噪声 + */ + String getNoiseData(); + +// List> countByFirstArea(@Param("devType") String devType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> getAreas(); } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} 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 e0818ff..a376ba8 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 @@ -20,11 +20,12 @@ */ public interface DeviceMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords,@Param("isOnline") String isOnline, @Param("areaId") String areaId); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords, @Param("isOnline") String isOnline, @Param("areaId") String areaId); DeviceWellDto selectWellIdByCode(@Param("wellCode") String wellCode); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); DeviceConcentratorDto selectDeviceConcentorByCode(@Param("concenCode") String concenCode); @@ -33,40 +34,80 @@ List selectLiquidDataScopePage(@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> selectGasDataScopePage(@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> selectGasDataScopePage(@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> selectTubeDataScopePage(@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> selectTubeDataScopePage(@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> selectHarmfulDataScopePage(@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> selectHarmfulDataScopePage(@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> selectTempDataScopePage(@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> selectTempDataScopePage(@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> selectTempPressDataScopePage(@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> selectTempPressDataScopePage(@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> selectDigDataScopePage(@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> selectDigDataScopePage(@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> selectWellLocDataScopePage(@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> selectWellLocDataScopePage(@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> selectNoiseDataScopePage(@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> selectNoiseDataScopePage(@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 alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId")Long deptId, @Param("searchCurr")Boolean searchCurr); + List alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId") Long deptId, @Param("searchCurr") Boolean searchCurr); List selectDevicesByConfig(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType, @Param("configStatus") String configStatus); - List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,@Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectGasLiquidDataLiquidScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - List> selectLiquidDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectLiquidDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectGasDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectGasDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + 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); + 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); + 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); + + List> selectDeviceData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> selectDeviceTotalData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + String getWaterMeterCount(); + +// List> selectAlarmCountByDay(@Param("beginTime") String beginTime, @Param("endTime") String endTime); + + /** + * 总用水量和瞬时流量 + */ + Map getWaterMeter(); + + /** + * 本月总用水量 + */ + String getWaterMeterMonth(); + + /** + * 今日用水量 + */ + String getWaterMeterDay(); + + /** + * 昨日用水量 + */ + String getWaterMeterYesterday(); + + /** + * 噪声 + */ + String getNoiseData(); + +// List> countByFirstArea(@Param("devType") String devType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> getAreas(); } 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 122b143..eee62f1 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 @@ -20,21 +20,30 @@ as INSTALLDATE - DATE_FORMAT(INSTALLDATE,'%Y-%m-%d') + DATE_FORMAT + (INSTALLDATE,'%Y-%m-%d') - to_char(INSTALLDATE,'yyyy-MM-dd') + to_char + (INSTALLDATE,'yyyy-MM-dd') - ID AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version + ID + AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} 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 e0818ff..a376ba8 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 @@ -20,11 +20,12 @@ */ public interface DeviceMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords,@Param("isOnline") String isOnline, @Param("areaId") String areaId); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords, @Param("isOnline") String isOnline, @Param("areaId") String areaId); DeviceWellDto selectWellIdByCode(@Param("wellCode") String wellCode); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); DeviceConcentratorDto selectDeviceConcentorByCode(@Param("concenCode") String concenCode); @@ -33,40 +34,80 @@ List selectLiquidDataScopePage(@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> selectGasDataScopePage(@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> selectGasDataScopePage(@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> selectTubeDataScopePage(@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> selectTubeDataScopePage(@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> selectHarmfulDataScopePage(@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> selectHarmfulDataScopePage(@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> selectTempDataScopePage(@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> selectTempDataScopePage(@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> selectTempPressDataScopePage(@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> selectTempPressDataScopePage(@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> selectDigDataScopePage(@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> selectDigDataScopePage(@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> selectWellLocDataScopePage(@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> selectWellLocDataScopePage(@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> selectNoiseDataScopePage(@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> selectNoiseDataScopePage(@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 alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId")Long deptId, @Param("searchCurr")Boolean searchCurr); + List alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId") Long deptId, @Param("searchCurr") Boolean searchCurr); List selectDevicesByConfig(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType, @Param("configStatus") String configStatus); - List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,@Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectGasLiquidDataLiquidScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - List> selectLiquidDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectLiquidDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectGasDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectGasDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + 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); + 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); + 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); + + List> selectDeviceData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> selectDeviceTotalData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + String getWaterMeterCount(); + +// List> selectAlarmCountByDay(@Param("beginTime") String beginTime, @Param("endTime") String endTime); + + /** + * 总用水量和瞬时流量 + */ + Map getWaterMeter(); + + /** + * 本月总用水量 + */ + String getWaterMeterMonth(); + + /** + * 今日用水量 + */ + String getWaterMeterDay(); + + /** + * 昨日用水量 + */ + String getWaterMeterYesterday(); + + /** + * 噪声 + */ + String getNoiseData(); + +// List> countByFirstArea(@Param("devType") String devType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> getAreas(); } 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 122b143..eee62f1 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 @@ -20,21 +20,30 @@ as INSTALLDATE - DATE_FORMAT(INSTALLDATE,'%Y-%m-%d') + DATE_FORMAT + (INSTALLDATE,'%Y-%m-%d') - to_char(INSTALLDATE,'yyyy-MM-dd') + to_char + (INSTALLDATE,'yyyy-MM-dd') - ID AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version + ID + AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} 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 e0818ff..a376ba8 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 @@ -20,11 +20,12 @@ */ public interface DeviceMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords,@Param("isOnline") String isOnline, @Param("areaId") String areaId); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords, @Param("isOnline") String isOnline, @Param("areaId") String areaId); DeviceWellDto selectWellIdByCode(@Param("wellCode") String wellCode); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); DeviceConcentratorDto selectDeviceConcentorByCode(@Param("concenCode") String concenCode); @@ -33,40 +34,80 @@ List selectLiquidDataScopePage(@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> selectGasDataScopePage(@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> selectGasDataScopePage(@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> selectTubeDataScopePage(@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> selectTubeDataScopePage(@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> selectHarmfulDataScopePage(@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> selectHarmfulDataScopePage(@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> selectTempDataScopePage(@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> selectTempDataScopePage(@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> selectTempPressDataScopePage(@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> selectTempPressDataScopePage(@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> selectDigDataScopePage(@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> selectDigDataScopePage(@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> selectWellLocDataScopePage(@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> selectWellLocDataScopePage(@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> selectNoiseDataScopePage(@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> selectNoiseDataScopePage(@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 alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId")Long deptId, @Param("searchCurr")Boolean searchCurr); + List alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId") Long deptId, @Param("searchCurr") Boolean searchCurr); List selectDevicesByConfig(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType, @Param("configStatus") String configStatus); - List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,@Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectGasLiquidDataLiquidScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - List> selectLiquidDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectLiquidDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectGasDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectGasDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + 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); + 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); + 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); + + List> selectDeviceData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> selectDeviceTotalData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + String getWaterMeterCount(); + +// List> selectAlarmCountByDay(@Param("beginTime") String beginTime, @Param("endTime") String endTime); + + /** + * 总用水量和瞬时流量 + */ + Map getWaterMeter(); + + /** + * 本月总用水量 + */ + String getWaterMeterMonth(); + + /** + * 今日用水量 + */ + String getWaterMeterDay(); + + /** + * 昨日用水量 + */ + String getWaterMeterYesterday(); + + /** + * 噪声 + */ + String getNoiseData(); + +// List> countByFirstArea(@Param("devType") String devType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> getAreas(); } 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 122b143..eee62f1 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 @@ -20,21 +20,30 @@ as INSTALLDATE - DATE_FORMAT(INSTALLDATE,'%Y-%m-%d') + DATE_FORMAT + (INSTALLDATE,'%Y-%m-%d') - to_char(INSTALLDATE,'yyyy-MM-dd') + to_char + (INSTALLDATE,'yyyy-MM-dd') - ID AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version + ID + AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } 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 fa39434..bf94a23 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 @@ -16,7 +16,6 @@ import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.*; import com.casic.missiles.modular.system.service.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BeanPropertyBindingResult; @@ -37,29 +36,32 @@ @Service public class DeviceServiceImpl extends ServiceImpl implements IDeviceService { - @Autowired - private IDeviceTypeService deviceTypeService; + private final IDeviceTypeService deviceTypeService; + private final IDeviceModelsService deviceModelsService; + private final IDeviceConcentratorService deviceConcentratorService; + private final IDeviceWellService deviceWellService; + private final ICommonPermissionService permissionService; + private final Validator validator; - @Autowired - private IDeviceModelsService deviceModelsService; - - @Autowired - private IDeviceConcentratorService deviceConcentratorService; - - @Autowired - private IDeviceWellService deviceWellService; - - @Autowired - private ICommonPermissionService permissionService; - - @Autowired - private Validator validator; + public DeviceServiceImpl(IDeviceTypeService deviceTypeService, + IDeviceModelsService deviceModelsService, + IDeviceConcentratorService deviceConcentratorService, + IDeviceWellService deviceWellService, + ICommonPermissionService permissionService, + Validator validator) { + this.deviceTypeService = deviceTypeService; + this.deviceModelsService = deviceModelsService; + this.deviceConcentratorService = deviceConcentratorService; + this.deviceWellService = deviceWellService; + this.permissionService = permissionService; + this.validator = validator; + } /** * 判断设备是否关联集中器 * * @param entity 设备类型 - * @return + * @return Boolean */ private Boolean isAddConcentrator(Device entity) { DeviceModels deviceModels = deviceModelsService.selectById(entity.getModelId()); @@ -83,7 +85,7 @@ throw gunsException; } - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); //根据集中器编号查询集中器信息 DeviceConcentratorDto concentratorDto = null; if (isAddConcentrator) { @@ -136,8 +138,7 @@ throw gunsException; } //判断设备是否不需要关联集中器 - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); - + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); if (isAddConcentrator) { GunsException gunsException = new GunsException(GunsExceptionEnum.REQUEST_NULL); gunsException.setMessage("集中器编号不存在"); @@ -159,12 +160,11 @@ } else { deviceConcentratorService.deleteByDeviceId(entity.getId()); } - return super.updateById(entity); } @Override - public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId) { + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId) { return this.baseMapper.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline, areaId); } @@ -189,7 +189,6 @@ @Transactional @Override public List addDeviceBatch(List results) { - BeanPropertyBindingResult beanPropertyBindingResult = new BeanPropertyBindingResult(Device.class, "设备类型导入校验"); Map isAddConcentrator = new HashMap<>(); List list = new ArrayList<>(); @@ -201,11 +200,7 @@ validator.validate(device, beanPropertyBindingResult); if (beanPropertyBindingResult.hasErrors()) { List errors = beanPropertyBindingResult.getFieldErrors(); - errors.forEach(error -> { - list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage())); - return; - } - ); + errors.forEach(error -> list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage()))); return; } @@ -216,7 +211,6 @@ return; } - //设备型号校验 DeviceModels deviceModels = deviceModelsService.selectDeviceModelsBymodelName(device.getModelName()); if (ToolUtil.isEmpty(deviceModels)) { @@ -228,7 +222,6 @@ return; } - DeviceWellDto wellDto = this.selectWellIdByCode(device.getWellCode()); if (ToolUtil.isOneEmpty(wellDto)) { list.add("第" + index[0] + "行,编号不存在"); @@ -238,7 +231,7 @@ //如果非NB则判断集中器 即设备类型包含1 List communis = Arrays.asList(deviceModels.getCommunication().split(",")); //优先判断设备类型配置 - boolean isAdd = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : communis.contains(DeviceConst.YES); + boolean isAdd = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && communis.contains(DeviceConst.YES); if (isAdd) { DeviceConcentratorDto concentratorDto = this.selectDeviceConcentorByCode(device.getConcenCode()); isAddConcentrator.put(device.getDevcode(), true); @@ -280,26 +273,26 @@ deviceWells.add(createDeviceWell(device.getId(), device.getWellId())); //判断是否关联集中器 - if (isAddConcentrator.get(device.getDevcode())) + if (isAddConcentrator.get(device.getDevcode())) { deviceConcentrators.add(createConcentrator(device.getId(), device.getConcenId())); + } }); //设备闸井关联表 设备集中器关联表 - if (ToolUtil.isNotEmpty(deviceConcentrators)) + if (ToolUtil.isNotEmpty(deviceConcentrators)) { this.deviceConcentratorService.insertBatch(deviceConcentrators); - if (ToolUtil.isNotEmpty(deviceWells)) + } + if (ToolUtil.isNotEmpty(deviceWells)) { this.deviceWellService.insertBatch(deviceWells); - + } } else { list.add("导入数据不能为空"); } - return list; } @Override public List selectWellDataScopePage(DataScope dataScope, Page page, String deptid, String beginTime, String endTime, String keywords) { - return this.baseMapper.selectWellDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); } @@ -309,36 +302,37 @@ } @Override - public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectGasDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectGasDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); - } - return mapList; - } - @Override - public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); - for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + } + return mapList; + } + + @Override + public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTempDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); + for (Map map : mapList) { + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -346,36 +340,36 @@ @Override public List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectDigDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectDigDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -410,15 +404,14 @@ SqlRunner.db().insert("INSERT INTO SYS_USER_CLIENT (ID, USERID, CLIENTID,LOGTIME) VALUES ({0}, {1},{2},SYSDATE())", IdWorker.getId(), id, clientid); } + @Override public String getAreaFullNameById(String area) { String fullName = this.baseMapper.getArea(area); String pid = this.baseMapper.getAreaPId(area); - if (pid.equals("0")) { - return fullName; - } else { + if (!pid.equals("0")) { fullName = getAreaFullNameById(pid) + "/" + fullName; - return fullName; } + return fullName; } /** @@ -426,7 +419,7 @@ * * @param deviceId * @param concenId - * @return + * @return {@link DeviceConcentrator} */ private DeviceConcentrator createConcentrator(Long deviceId, Long concenId) { return new DeviceConcentrator(deviceId, concenId, 0, 1, new Date()); @@ -437,7 +430,7 @@ * * @param deviceId * @param wellId - * @return + * @return {@link DeviceWell} */ private DeviceWell createDeviceWell(Long deviceId, Long wellId) { return new DeviceWell(deviceId, wellId, new Date(), "1"); @@ -452,17 +445,17 @@ deptIds.add(Long.valueOf(deptid)); } List> mapList = new ArrayList<>(); - if("liquid".equals(sensorType)){ + if ("liquid".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataLiquidScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } - if("gas".equals(sensorType)){ + if ("gas".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataGasScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } for (Map map : mapList) { map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); setCompany(map); if ("liquid".equals(sensorType)) { - float liquiddata = Float.valueOf(String.valueOf(map.get("data"))); + float liquiddata = Float.parseFloat(String.valueOf(map.get("data"))); if (liquiddata <= 0) { map.put("data", "正常水位"); } @@ -516,29 +509,69 @@ @Override public Map selectWaterMeterDay(String devcode, String date) { - Map map = this.baseMapper.selectWaterMeterDay(devcode, date); - - return map; + return this.baseMapper.selectWaterMeterDay(devcode, date); } @Override - public Map selectWaterMeterMonth(String devcode, String month) { - Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); - - return map; + public Map selectWaterMeterMonth(String devcode, String month) { + return this.baseMapper.selectWaterMeterMonth(devcode, month); } @Override - public Map selectWaterMeterTotal(String devcode, String year){ - Map map = this.baseMapper.selectWaterMeterYear(devcode, year); - - return map; + public Map selectWaterMeterTotal(String devcode, String year) { + return this.baseMapper.selectWaterMeterYear(devcode, year); } @Override - public Map selectLatestWaterMeter(String devcode){ - Map map = this.baseMapper.selectLatestWaterMeter(devcode); + public Map selectLatestWaterMeter(String devcode) { + return this.baseMapper.selectLatestWaterMeter(devcode); + } - return map; + @Override + public List> selectDeviceData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceData(devCode, beginTime, endTime); + } + + @Override + public List> selectDeviceTotalData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceTotalData(devCode, beginTime, endTime); + } + + @Override + public String getWaterMeterCount() { + return this.baseMapper.getWaterMeterCount(); + } + +// @Override +// public List> selectAlarmCountByDay(String beginTime, String endTime) { +// return this.baseMapper.selectAlarmCountByDay(beginTime, endTime); +// } + + @Override + public Map getOverview() { + Map waterMeter = this.baseMapper.getWaterMeter(); + String month = this.baseMapper.getWaterMeterMonth(); + String today = this.baseMapper.getWaterMeterDay(); + String yesterday = this.baseMapper.getWaterMeterYesterday(); + String sound = this.baseMapper.getNoiseData(); + + Map resultMap = new HashMap<>(); + resultMap.put("total", String.valueOf(waterMeter.get("total"))); + resultMap.put("month", month); + resultMap.put("today", today); + resultMap.put("yesterday", yesterday); + resultMap.put("now", String.valueOf(waterMeter.get("now"))); + resultMap.put("sound", sound); + return resultMap; + } + +// @Override +// public List> countByFirstArea(String devType, String startTime, String endTime) { +// return this.baseMapper.countByFirstArea(devType, startTime, endTime); +// } + + @Override + public List> getAreas() { + return this.baseMapper.getAreas(); } } diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} 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 e0818ff..a376ba8 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 @@ -20,11 +20,12 @@ */ public interface DeviceMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords,@Param("isOnline") String isOnline, @Param("areaId") String areaId); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords, @Param("isOnline") String isOnline, @Param("areaId") String areaId); DeviceWellDto selectWellIdByCode(@Param("wellCode") String wellCode); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); DeviceConcentratorDto selectDeviceConcentorByCode(@Param("concenCode") String concenCode); @@ -33,40 +34,80 @@ List selectLiquidDataScopePage(@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> selectGasDataScopePage(@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> selectGasDataScopePage(@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> selectTubeDataScopePage(@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> selectTubeDataScopePage(@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> selectHarmfulDataScopePage(@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> selectHarmfulDataScopePage(@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> selectTempDataScopePage(@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> selectTempDataScopePage(@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> selectTempPressDataScopePage(@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> selectTempPressDataScopePage(@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> selectDigDataScopePage(@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> selectDigDataScopePage(@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> selectWellLocDataScopePage(@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> selectWellLocDataScopePage(@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> selectNoiseDataScopePage(@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> selectNoiseDataScopePage(@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 alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId")Long deptId, @Param("searchCurr")Boolean searchCurr); + List alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId") Long deptId, @Param("searchCurr") Boolean searchCurr); List selectDevicesByConfig(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType, @Param("configStatus") String configStatus); - List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,@Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectGasLiquidDataLiquidScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - List> selectLiquidDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectLiquidDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectGasDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectGasDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + 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); + 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); + 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); + + List> selectDeviceData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> selectDeviceTotalData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + String getWaterMeterCount(); + +// List> selectAlarmCountByDay(@Param("beginTime") String beginTime, @Param("endTime") String endTime); + + /** + * 总用水量和瞬时流量 + */ + Map getWaterMeter(); + + /** + * 本月总用水量 + */ + String getWaterMeterMonth(); + + /** + * 今日用水量 + */ + String getWaterMeterDay(); + + /** + * 昨日用水量 + */ + String getWaterMeterYesterday(); + + /** + * 噪声 + */ + String getNoiseData(); + +// List> countByFirstArea(@Param("devType") String devType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> getAreas(); } 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 122b143..eee62f1 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 @@ -20,21 +20,30 @@ as INSTALLDATE - DATE_FORMAT(INSTALLDATE,'%Y-%m-%d') + DATE_FORMAT + (INSTALLDATE,'%Y-%m-%d') - to_char(INSTALLDATE,'yyyy-MM-dd') + to_char + (INSTALLDATE,'yyyy-MM-dd') - ID AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version + ID + AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } 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 fa39434..bf94a23 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 @@ -16,7 +16,6 @@ import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.*; import com.casic.missiles.modular.system.service.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BeanPropertyBindingResult; @@ -37,29 +36,32 @@ @Service public class DeviceServiceImpl extends ServiceImpl implements IDeviceService { - @Autowired - private IDeviceTypeService deviceTypeService; + private final IDeviceTypeService deviceTypeService; + private final IDeviceModelsService deviceModelsService; + private final IDeviceConcentratorService deviceConcentratorService; + private final IDeviceWellService deviceWellService; + private final ICommonPermissionService permissionService; + private final Validator validator; - @Autowired - private IDeviceModelsService deviceModelsService; - - @Autowired - private IDeviceConcentratorService deviceConcentratorService; - - @Autowired - private IDeviceWellService deviceWellService; - - @Autowired - private ICommonPermissionService permissionService; - - @Autowired - private Validator validator; + public DeviceServiceImpl(IDeviceTypeService deviceTypeService, + IDeviceModelsService deviceModelsService, + IDeviceConcentratorService deviceConcentratorService, + IDeviceWellService deviceWellService, + ICommonPermissionService permissionService, + Validator validator) { + this.deviceTypeService = deviceTypeService; + this.deviceModelsService = deviceModelsService; + this.deviceConcentratorService = deviceConcentratorService; + this.deviceWellService = deviceWellService; + this.permissionService = permissionService; + this.validator = validator; + } /** * 判断设备是否关联集中器 * * @param entity 设备类型 - * @return + * @return Boolean */ private Boolean isAddConcentrator(Device entity) { DeviceModels deviceModels = deviceModelsService.selectById(entity.getModelId()); @@ -83,7 +85,7 @@ throw gunsException; } - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); //根据集中器编号查询集中器信息 DeviceConcentratorDto concentratorDto = null; if (isAddConcentrator) { @@ -136,8 +138,7 @@ throw gunsException; } //判断设备是否不需要关联集中器 - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); - + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); if (isAddConcentrator) { GunsException gunsException = new GunsException(GunsExceptionEnum.REQUEST_NULL); gunsException.setMessage("集中器编号不存在"); @@ -159,12 +160,11 @@ } else { deviceConcentratorService.deleteByDeviceId(entity.getId()); } - return super.updateById(entity); } @Override - public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId) { + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId) { return this.baseMapper.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline, areaId); } @@ -189,7 +189,6 @@ @Transactional @Override public List addDeviceBatch(List results) { - BeanPropertyBindingResult beanPropertyBindingResult = new BeanPropertyBindingResult(Device.class, "设备类型导入校验"); Map isAddConcentrator = new HashMap<>(); List list = new ArrayList<>(); @@ -201,11 +200,7 @@ validator.validate(device, beanPropertyBindingResult); if (beanPropertyBindingResult.hasErrors()) { List errors = beanPropertyBindingResult.getFieldErrors(); - errors.forEach(error -> { - list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage())); - return; - } - ); + errors.forEach(error -> list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage()))); return; } @@ -216,7 +211,6 @@ return; } - //设备型号校验 DeviceModels deviceModels = deviceModelsService.selectDeviceModelsBymodelName(device.getModelName()); if (ToolUtil.isEmpty(deviceModels)) { @@ -228,7 +222,6 @@ return; } - DeviceWellDto wellDto = this.selectWellIdByCode(device.getWellCode()); if (ToolUtil.isOneEmpty(wellDto)) { list.add("第" + index[0] + "行,编号不存在"); @@ -238,7 +231,7 @@ //如果非NB则判断集中器 即设备类型包含1 List communis = Arrays.asList(deviceModels.getCommunication().split(",")); //优先判断设备类型配置 - boolean isAdd = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : communis.contains(DeviceConst.YES); + boolean isAdd = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && communis.contains(DeviceConst.YES); if (isAdd) { DeviceConcentratorDto concentratorDto = this.selectDeviceConcentorByCode(device.getConcenCode()); isAddConcentrator.put(device.getDevcode(), true); @@ -280,26 +273,26 @@ deviceWells.add(createDeviceWell(device.getId(), device.getWellId())); //判断是否关联集中器 - if (isAddConcentrator.get(device.getDevcode())) + if (isAddConcentrator.get(device.getDevcode())) { deviceConcentrators.add(createConcentrator(device.getId(), device.getConcenId())); + } }); //设备闸井关联表 设备集中器关联表 - if (ToolUtil.isNotEmpty(deviceConcentrators)) + if (ToolUtil.isNotEmpty(deviceConcentrators)) { this.deviceConcentratorService.insertBatch(deviceConcentrators); - if (ToolUtil.isNotEmpty(deviceWells)) + } + if (ToolUtil.isNotEmpty(deviceWells)) { this.deviceWellService.insertBatch(deviceWells); - + } } else { list.add("导入数据不能为空"); } - return list; } @Override public List selectWellDataScopePage(DataScope dataScope, Page page, String deptid, String beginTime, String endTime, String keywords) { - return this.baseMapper.selectWellDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); } @@ -309,36 +302,37 @@ } @Override - public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectGasDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectGasDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); - } - return mapList; - } - @Override - public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); - for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + } + return mapList; + } + + @Override + public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTempDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); + for (Map map : mapList) { + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -346,36 +340,36 @@ @Override public List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectDigDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectDigDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -410,15 +404,14 @@ SqlRunner.db().insert("INSERT INTO SYS_USER_CLIENT (ID, USERID, CLIENTID,LOGTIME) VALUES ({0}, {1},{2},SYSDATE())", IdWorker.getId(), id, clientid); } + @Override public String getAreaFullNameById(String area) { String fullName = this.baseMapper.getArea(area); String pid = this.baseMapper.getAreaPId(area); - if (pid.equals("0")) { - return fullName; - } else { + if (!pid.equals("0")) { fullName = getAreaFullNameById(pid) + "/" + fullName; - return fullName; } + return fullName; } /** @@ -426,7 +419,7 @@ * * @param deviceId * @param concenId - * @return + * @return {@link DeviceConcentrator} */ private DeviceConcentrator createConcentrator(Long deviceId, Long concenId) { return new DeviceConcentrator(deviceId, concenId, 0, 1, new Date()); @@ -437,7 +430,7 @@ * * @param deviceId * @param wellId - * @return + * @return {@link DeviceWell} */ private DeviceWell createDeviceWell(Long deviceId, Long wellId) { return new DeviceWell(deviceId, wellId, new Date(), "1"); @@ -452,17 +445,17 @@ deptIds.add(Long.valueOf(deptid)); } List> mapList = new ArrayList<>(); - if("liquid".equals(sensorType)){ + if ("liquid".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataLiquidScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } - if("gas".equals(sensorType)){ + if ("gas".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataGasScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } for (Map map : mapList) { map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); setCompany(map); if ("liquid".equals(sensorType)) { - float liquiddata = Float.valueOf(String.valueOf(map.get("data"))); + float liquiddata = Float.parseFloat(String.valueOf(map.get("data"))); if (liquiddata <= 0) { map.put("data", "正常水位"); } @@ -516,29 +509,69 @@ @Override public Map selectWaterMeterDay(String devcode, String date) { - Map map = this.baseMapper.selectWaterMeterDay(devcode, date); - - return map; + return this.baseMapper.selectWaterMeterDay(devcode, date); } @Override - public Map selectWaterMeterMonth(String devcode, String month) { - Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); - - return map; + public Map selectWaterMeterMonth(String devcode, String month) { + return this.baseMapper.selectWaterMeterMonth(devcode, month); } @Override - public Map selectWaterMeterTotal(String devcode, String year){ - Map map = this.baseMapper.selectWaterMeterYear(devcode, year); - - return map; + public Map selectWaterMeterTotal(String devcode, String year) { + return this.baseMapper.selectWaterMeterYear(devcode, year); } @Override - public Map selectLatestWaterMeter(String devcode){ - Map map = this.baseMapper.selectLatestWaterMeter(devcode); + public Map selectLatestWaterMeter(String devcode) { + return this.baseMapper.selectLatestWaterMeter(devcode); + } - return map; + @Override + public List> selectDeviceData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceData(devCode, beginTime, endTime); + } + + @Override + public List> selectDeviceTotalData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceTotalData(devCode, beginTime, endTime); + } + + @Override + public String getWaterMeterCount() { + return this.baseMapper.getWaterMeterCount(); + } + +// @Override +// public List> selectAlarmCountByDay(String beginTime, String endTime) { +// return this.baseMapper.selectAlarmCountByDay(beginTime, endTime); +// } + + @Override + public Map getOverview() { + Map waterMeter = this.baseMapper.getWaterMeter(); + String month = this.baseMapper.getWaterMeterMonth(); + String today = this.baseMapper.getWaterMeterDay(); + String yesterday = this.baseMapper.getWaterMeterYesterday(); + String sound = this.baseMapper.getNoiseData(); + + Map resultMap = new HashMap<>(); + resultMap.put("total", String.valueOf(waterMeter.get("total"))); + resultMap.put("month", month); + resultMap.put("today", today); + resultMap.put("yesterday", yesterday); + resultMap.put("now", String.valueOf(waterMeter.get("now"))); + resultMap.put("sound", sound); + return resultMap; + } + +// @Override +// public List> countByFirstArea(String devType, String startTime, String endTime) { +// return this.baseMapper.countByFirstArea(devType, startTime, endTime); +// } + + @Override + public List> getAreas() { + return this.baseMapper.getAreas(); } } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 5c2ada9..b6acdee 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -85,7 +85,7 @@ responsibleDeptIds.add(permissionService.getCurrLoginUser().getDeptId()); dataScope.setDeptIds(responsibleDeptIds); } - areaId += "%"; +// areaId += "%"; List list = busWellInfoService.selectDataScopePage(dataScope, page, keywords, wellType, deptid, bfzt, areaId); page.setRecords(list); return new SuccessResponseData(super.packForBT(page)); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} 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 e0818ff..a376ba8 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 @@ -20,11 +20,12 @@ */ public interface DeviceMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords,@Param("isOnline") String isOnline, @Param("areaId") String areaId); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords, @Param("isOnline") String isOnline, @Param("areaId") String areaId); DeviceWellDto selectWellIdByCode(@Param("wellCode") String wellCode); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); DeviceConcentratorDto selectDeviceConcentorByCode(@Param("concenCode") String concenCode); @@ -33,40 +34,80 @@ List selectLiquidDataScopePage(@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> selectGasDataScopePage(@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> selectGasDataScopePage(@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> selectTubeDataScopePage(@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> selectTubeDataScopePage(@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> selectHarmfulDataScopePage(@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> selectHarmfulDataScopePage(@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> selectTempDataScopePage(@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> selectTempDataScopePage(@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> selectTempPressDataScopePage(@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> selectTempPressDataScopePage(@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> selectDigDataScopePage(@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> selectDigDataScopePage(@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> selectWellLocDataScopePage(@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> selectWellLocDataScopePage(@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> selectNoiseDataScopePage(@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> selectNoiseDataScopePage(@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 alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId")Long deptId, @Param("searchCurr")Boolean searchCurr); + List alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId") Long deptId, @Param("searchCurr") Boolean searchCurr); List selectDevicesByConfig(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType, @Param("configStatus") String configStatus); - List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,@Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectGasLiquidDataLiquidScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - List> selectLiquidDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectLiquidDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectGasDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectGasDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + 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); + 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); + 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); + + List> selectDeviceData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> selectDeviceTotalData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + String getWaterMeterCount(); + +// List> selectAlarmCountByDay(@Param("beginTime") String beginTime, @Param("endTime") String endTime); + + /** + * 总用水量和瞬时流量 + */ + Map getWaterMeter(); + + /** + * 本月总用水量 + */ + String getWaterMeterMonth(); + + /** + * 今日用水量 + */ + String getWaterMeterDay(); + + /** + * 昨日用水量 + */ + String getWaterMeterYesterday(); + + /** + * 噪声 + */ + String getNoiseData(); + +// List> countByFirstArea(@Param("devType") String devType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> getAreas(); } 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 122b143..eee62f1 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 @@ -20,21 +20,30 @@ as INSTALLDATE - DATE_FORMAT(INSTALLDATE,'%Y-%m-%d') + DATE_FORMAT + (INSTALLDATE,'%Y-%m-%d') - to_char(INSTALLDATE,'yyyy-MM-dd') + to_char + (INSTALLDATE,'yyyy-MM-dd') - ID AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version + ID + AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } 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 fa39434..bf94a23 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 @@ -16,7 +16,6 @@ import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.*; import com.casic.missiles.modular.system.service.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BeanPropertyBindingResult; @@ -37,29 +36,32 @@ @Service public class DeviceServiceImpl extends ServiceImpl implements IDeviceService { - @Autowired - private IDeviceTypeService deviceTypeService; + private final IDeviceTypeService deviceTypeService; + private final IDeviceModelsService deviceModelsService; + private final IDeviceConcentratorService deviceConcentratorService; + private final IDeviceWellService deviceWellService; + private final ICommonPermissionService permissionService; + private final Validator validator; - @Autowired - private IDeviceModelsService deviceModelsService; - - @Autowired - private IDeviceConcentratorService deviceConcentratorService; - - @Autowired - private IDeviceWellService deviceWellService; - - @Autowired - private ICommonPermissionService permissionService; - - @Autowired - private Validator validator; + public DeviceServiceImpl(IDeviceTypeService deviceTypeService, + IDeviceModelsService deviceModelsService, + IDeviceConcentratorService deviceConcentratorService, + IDeviceWellService deviceWellService, + ICommonPermissionService permissionService, + Validator validator) { + this.deviceTypeService = deviceTypeService; + this.deviceModelsService = deviceModelsService; + this.deviceConcentratorService = deviceConcentratorService; + this.deviceWellService = deviceWellService; + this.permissionService = permissionService; + this.validator = validator; + } /** * 判断设备是否关联集中器 * * @param entity 设备类型 - * @return + * @return Boolean */ private Boolean isAddConcentrator(Device entity) { DeviceModels deviceModels = deviceModelsService.selectById(entity.getModelId()); @@ -83,7 +85,7 @@ throw gunsException; } - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); //根据集中器编号查询集中器信息 DeviceConcentratorDto concentratorDto = null; if (isAddConcentrator) { @@ -136,8 +138,7 @@ throw gunsException; } //判断设备是否不需要关联集中器 - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); - + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); if (isAddConcentrator) { GunsException gunsException = new GunsException(GunsExceptionEnum.REQUEST_NULL); gunsException.setMessage("集中器编号不存在"); @@ -159,12 +160,11 @@ } else { deviceConcentratorService.deleteByDeviceId(entity.getId()); } - return super.updateById(entity); } @Override - public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId) { + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId) { return this.baseMapper.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline, areaId); } @@ -189,7 +189,6 @@ @Transactional @Override public List addDeviceBatch(List results) { - BeanPropertyBindingResult beanPropertyBindingResult = new BeanPropertyBindingResult(Device.class, "设备类型导入校验"); Map isAddConcentrator = new HashMap<>(); List list = new ArrayList<>(); @@ -201,11 +200,7 @@ validator.validate(device, beanPropertyBindingResult); if (beanPropertyBindingResult.hasErrors()) { List errors = beanPropertyBindingResult.getFieldErrors(); - errors.forEach(error -> { - list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage())); - return; - } - ); + errors.forEach(error -> list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage()))); return; } @@ -216,7 +211,6 @@ return; } - //设备型号校验 DeviceModels deviceModels = deviceModelsService.selectDeviceModelsBymodelName(device.getModelName()); if (ToolUtil.isEmpty(deviceModels)) { @@ -228,7 +222,6 @@ return; } - DeviceWellDto wellDto = this.selectWellIdByCode(device.getWellCode()); if (ToolUtil.isOneEmpty(wellDto)) { list.add("第" + index[0] + "行,编号不存在"); @@ -238,7 +231,7 @@ //如果非NB则判断集中器 即设备类型包含1 List communis = Arrays.asList(deviceModels.getCommunication().split(",")); //优先判断设备类型配置 - boolean isAdd = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : communis.contains(DeviceConst.YES); + boolean isAdd = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && communis.contains(DeviceConst.YES); if (isAdd) { DeviceConcentratorDto concentratorDto = this.selectDeviceConcentorByCode(device.getConcenCode()); isAddConcentrator.put(device.getDevcode(), true); @@ -280,26 +273,26 @@ deviceWells.add(createDeviceWell(device.getId(), device.getWellId())); //判断是否关联集中器 - if (isAddConcentrator.get(device.getDevcode())) + if (isAddConcentrator.get(device.getDevcode())) { deviceConcentrators.add(createConcentrator(device.getId(), device.getConcenId())); + } }); //设备闸井关联表 设备集中器关联表 - if (ToolUtil.isNotEmpty(deviceConcentrators)) + if (ToolUtil.isNotEmpty(deviceConcentrators)) { this.deviceConcentratorService.insertBatch(deviceConcentrators); - if (ToolUtil.isNotEmpty(deviceWells)) + } + if (ToolUtil.isNotEmpty(deviceWells)) { this.deviceWellService.insertBatch(deviceWells); - + } } else { list.add("导入数据不能为空"); } - return list; } @Override public List selectWellDataScopePage(DataScope dataScope, Page page, String deptid, String beginTime, String endTime, String keywords) { - return this.baseMapper.selectWellDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); } @@ -309,36 +302,37 @@ } @Override - public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectGasDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectGasDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); - } - return mapList; - } - @Override - public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); - for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + } + return mapList; + } + + @Override + public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTempDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); + for (Map map : mapList) { + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -346,36 +340,36 @@ @Override public List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectDigDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectDigDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -410,15 +404,14 @@ SqlRunner.db().insert("INSERT INTO SYS_USER_CLIENT (ID, USERID, CLIENTID,LOGTIME) VALUES ({0}, {1},{2},SYSDATE())", IdWorker.getId(), id, clientid); } + @Override public String getAreaFullNameById(String area) { String fullName = this.baseMapper.getArea(area); String pid = this.baseMapper.getAreaPId(area); - if (pid.equals("0")) { - return fullName; - } else { + if (!pid.equals("0")) { fullName = getAreaFullNameById(pid) + "/" + fullName; - return fullName; } + return fullName; } /** @@ -426,7 +419,7 @@ * * @param deviceId * @param concenId - * @return + * @return {@link DeviceConcentrator} */ private DeviceConcentrator createConcentrator(Long deviceId, Long concenId) { return new DeviceConcentrator(deviceId, concenId, 0, 1, new Date()); @@ -437,7 +430,7 @@ * * @param deviceId * @param wellId - * @return + * @return {@link DeviceWell} */ private DeviceWell createDeviceWell(Long deviceId, Long wellId) { return new DeviceWell(deviceId, wellId, new Date(), "1"); @@ -452,17 +445,17 @@ deptIds.add(Long.valueOf(deptid)); } List> mapList = new ArrayList<>(); - if("liquid".equals(sensorType)){ + if ("liquid".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataLiquidScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } - if("gas".equals(sensorType)){ + if ("gas".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataGasScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } for (Map map : mapList) { map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); setCompany(map); if ("liquid".equals(sensorType)) { - float liquiddata = Float.valueOf(String.valueOf(map.get("data"))); + float liquiddata = Float.parseFloat(String.valueOf(map.get("data"))); if (liquiddata <= 0) { map.put("data", "正常水位"); } @@ -516,29 +509,69 @@ @Override public Map selectWaterMeterDay(String devcode, String date) { - Map map = this.baseMapper.selectWaterMeterDay(devcode, date); - - return map; + return this.baseMapper.selectWaterMeterDay(devcode, date); } @Override - public Map selectWaterMeterMonth(String devcode, String month) { - Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); - - return map; + public Map selectWaterMeterMonth(String devcode, String month) { + return this.baseMapper.selectWaterMeterMonth(devcode, month); } @Override - public Map selectWaterMeterTotal(String devcode, String year){ - Map map = this.baseMapper.selectWaterMeterYear(devcode, year); - - return map; + public Map selectWaterMeterTotal(String devcode, String year) { + return this.baseMapper.selectWaterMeterYear(devcode, year); } @Override - public Map selectLatestWaterMeter(String devcode){ - Map map = this.baseMapper.selectLatestWaterMeter(devcode); + public Map selectLatestWaterMeter(String devcode) { + return this.baseMapper.selectLatestWaterMeter(devcode); + } - return map; + @Override + public List> selectDeviceData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceData(devCode, beginTime, endTime); + } + + @Override + public List> selectDeviceTotalData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceTotalData(devCode, beginTime, endTime); + } + + @Override + public String getWaterMeterCount() { + return this.baseMapper.getWaterMeterCount(); + } + +// @Override +// public List> selectAlarmCountByDay(String beginTime, String endTime) { +// return this.baseMapper.selectAlarmCountByDay(beginTime, endTime); +// } + + @Override + public Map getOverview() { + Map waterMeter = this.baseMapper.getWaterMeter(); + String month = this.baseMapper.getWaterMeterMonth(); + String today = this.baseMapper.getWaterMeterDay(); + String yesterday = this.baseMapper.getWaterMeterYesterday(); + String sound = this.baseMapper.getNoiseData(); + + Map resultMap = new HashMap<>(); + resultMap.put("total", String.valueOf(waterMeter.get("total"))); + resultMap.put("month", month); + resultMap.put("today", today); + resultMap.put("yesterday", yesterday); + resultMap.put("now", String.valueOf(waterMeter.get("now"))); + resultMap.put("sound", sound); + return resultMap; + } + +// @Override +// public List> countByFirstArea(String devType, String startTime, String endTime) { +// return this.baseMapper.countByFirstArea(devType, startTime, endTime); +// } + + @Override + public List> getAreas() { + return this.baseMapper.getAreas(); } } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 5c2ada9..b6acdee 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -85,7 +85,7 @@ responsibleDeptIds.add(permissionService.getCurrLoginUser().getDeptId()); dataScope.setDeptIds(responsibleDeptIds); } - areaId += "%"; +// areaId += "%"; List list = busWellInfoService.selectDataScopePage(dataScope, page, keywords, wellType, deptid, bfzt, areaId); page.setRecords(list); return new SuccessResponseData(super.packForBT(page)); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index f7a64c7..d007a4a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -1,10 +1,10 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; -import com.casic.missiles.core.datascope.DataScope; -import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -60,6 +60,7 @@ String getAreaId(@Param("qu") String qu, @Param("area") String area); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); List getWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); diff --git a/casic-device/pom.xml b/casic-device/pom.xml index 2f74cd0..8f02469 100644 --- a/casic-device/pom.xml +++ b/casic-device/pom.xml @@ -133,6 +133,11 @@ org.springframework.boot spring-boot-starter-activemq + + com.casic + casic-admin-area + 1.0.1.alpha + diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java index 21ffcec..8316f46 100644 --- a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/DeviceController.java @@ -27,6 +27,7 @@ import com.casic.missiles.modular.system.model.Device; import com.casic.missiles.modular.system.model.DeviceModels; import com.casic.missiles.modular.system.model.DeviceType; +import com.casic.missiles.modular.system.service.IAreaService; import com.casic.missiles.modular.system.service.IDeviceModelsService; import com.casic.missiles.modular.system.service.IDeviceService; import com.casic.missiles.modular.system.service.IDeviceTypeService; @@ -77,6 +78,9 @@ @Autowired private IDeviceModelsService deviceModelsService; + @Autowired + private IAreaService iAreaService; + @ApiOperation("获取设备列表") @RequestMapping(value = "/list") @ResponseBody @@ -98,9 +102,8 @@ @RequestMapping(value = "/listByConfig") @ResponseBody public ResponseData listByConfig(String deviceType, String configStatus) { - DataScope dataScope = permissionService.getCurrUserDataScope(); - List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); + List list = deviceService.selectDevicesByConfig(dataScope, deviceType, configStatus); if (ToolUtil.isNotEmpty(list)) { list.forEach(deviceCodeSelectDto -> { deviceCodeSelectDto.setDeptName(permissionService.getDeptName(deviceCodeSelectDto.getDeptId())); @@ -109,7 +112,6 @@ return new SuccessResponseData(list); } - @ApiOperation("获取设备类型列表") @GetMapping(value = "/type") @ResponseBody @@ -131,8 +133,9 @@ public Object model(String deviceType) { //设备类型列表查询 EntityWrapper query = new EntityWrapper<>(); - if (ToolUtil.isNotEmpty(deviceType)) + if (ToolUtil.isNotEmpty(deviceType)) { query.eq(DEVICE_QUERY_DEVICE_TYPE, deviceType); + } List list = deviceModelsService.selectList(query); List selectDtos = new ArrayList<>(); @@ -293,5 +296,41 @@ return ResponseData.success(); } + @ApiOperation("设备历史数据") + @RequestMapping(value = "/sevenDayData") + @ResponseBody + public Object sevenDayData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceData(devCode, beginTime, endTime)); + } + @ApiOperation("设备总用水数据") + @RequestMapping(value = "/totalData") + @ResponseBody + public Object totalData(String devCode, String beginTime, String endTime) { + if (ToolUtil.isEmpty(devCode)) { + throw new GunsException(GunsExceptionEnum.REQUEST_NULL); + } + return new SuccessResponseData(deviceService.selectDeviceTotalData(devCode, beginTime, endTime)); + } + + // @ApiOperation("统计设备在一定时间段内报警数") +// @RequestMapping(value = "/alarmCountByDay") +// @ResponseBody +// public Object alarmCountByDay(String beginTime, String endTime) { +// if (ToolUtil.isEmpty(beginTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.selectAlarmCountByDay(beginTime, endTime)); +// } + + + @RequestMapping(value = "/getAreas") + @ResponseBody + public Object getAreas() { + //设备类型列表查询 + return ResponseData.success(iAreaService.selectList(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 index 6773e07..17556c7 100644 --- 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 @@ -6,15 +6,10 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -25,25 +20,31 @@ import java.util.List; import java.util.Map; +/** + * @author a203 + */ @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; + private final ICommonPermissionService permissionService; + private final IDeviceService deviceService; + + public WaterMeterDataController(ICommonPermissionService permissionService, + IDeviceService deviceService) { + this.permissionService = permissionService; + this.deviceService = deviceService; + } @ApiOperation("获取水表设备列表") @RequestMapping(value = "/listPage") @ResponseBody - public Object listPage(String keywords, String deptid, String areaId) { + public Object listPage(String keywords, String areaId) { Page page = new PageFactory().defaultPage(); //查询数据权限 使用默认DEPTID 字段 DataScope dataScope = permissionService.getCurrUserDataScope(); - areaId += "%"; - List list = deviceService.selectDataScopePage(dataScope, page, "13", deptid, "", "", keywords, "", areaId); +// areaId += "%"; + List list = deviceService.selectDataScopePage(dataScope, page, "13", "", "", "", keywords, "", areaId); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); DateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -52,21 +53,45 @@ list.forEach(deviceDto -> { // 获取日月年用水量和最近的读数 Map dayMeter = deviceService.selectWaterMeterDay(deviceDto.getDevcode(), date); - deviceDto.setDayCount(dayMeter.get("FLOW_ACC_DATE").toString()); + if (dayMeter == null) { + deviceDto.setDayCount("0"); + } else { + 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()); + if (monthMeter == null) { + deviceDto.setMonthCount("0"); + } else { + 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()); + if (totalMeter == null) { + deviceDto.setTotalCount("0"); + } else { + 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"))); + if (meterRec == null) { + deviceDto.setWatchNum("0"); + deviceDto.setUptime(sdf4.format(new Date())); + } else { + 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)); } + + @ApiOperation("统计水表数量") + @RequestMapping(value = "/count") + @ResponseBody + public Object waterMeterCount() { + return new SuccessResponseData(deviceService.getWaterMeterCount()); + } } diff --git a/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java new file mode 100644 index 0000000..eaa2073 --- /dev/null +++ b/casic-device/src/main/java/com/casic/missiles/modular/system/controller/WaterStatisticController.java @@ -0,0 +1,40 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.modular.system.service.IDeviceService; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @author a203 + */ +@Controller +@RequestMapping("/waterStatistic") +public class WaterStatisticController extends BaseController { + + private final IDeviceService deviceService; + + public WaterStatisticController(IDeviceService deviceService) { + this.deviceService = deviceService; + } + + @ApiOperation("总览查询用水量") + @RequestMapping(value = "/overview") + @ResponseBody + public Object overview() { + return new SuccessResponseData(deviceService.getOverview()); + } + +// @ApiOperation("一级分区各区用水量") +// @RequestMapping(value = "/countByFirstArea") +// @ResponseBody +// public Object countByFirstArea(String devType, String startTime, String endTime) { +// if (ToolUtil.isEmpty(startTime) || ToolUtil.isEmpty(endTime)) { +// throw new GunsException(GunsExceptionEnum.REQUEST_NULL); +// } +// return new SuccessResponseData(deviceService.countByFirstArea(devType, startTime, endTime)); +// } +} 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 e0818ff..a376ba8 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 @@ -20,11 +20,12 @@ */ public interface DeviceMapper extends BaseMapper { - List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords,@Param("isOnline") String isOnline, @Param("areaId") String areaId); + List selectDataScopePage(@Param("scope") DataScope dataScope, @Param("page") Page page, @Param("deviceType") String deviceType, @Param("deptid") String deptid, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords, @Param("isOnline") String isOnline, @Param("areaId") String areaId); DeviceWellDto selectWellIdByCode(@Param("wellCode") String wellCode); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); DeviceConcentratorDto selectDeviceConcentorByCode(@Param("concenCode") String concenCode); @@ -33,40 +34,80 @@ List selectLiquidDataScopePage(@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> selectGasDataScopePage(@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> selectGasDataScopePage(@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> selectTubeDataScopePage(@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> selectTubeDataScopePage(@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> selectHarmfulDataScopePage(@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> selectHarmfulDataScopePage(@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> selectTempDataScopePage(@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> selectTempDataScopePage(@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> selectTempPressDataScopePage(@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> selectTempPressDataScopePage(@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> selectDigDataScopePage(@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> selectDigDataScopePage(@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> selectWellLocDataScopePage(@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> selectWellLocDataScopePage(@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> selectNoiseDataScopePage(@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> selectNoiseDataScopePage(@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 alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId")Long deptId, @Param("searchCurr")Boolean searchCurr); + List alarmsStaticsByDept(@Param("deviceType") Long deviceType, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("dataScope") DataScope dataScope, @Param("deptId") Long deptId, @Param("searchCurr") Boolean searchCurr); List selectDevicesByConfig(@Param("dataScope") DataScope dataScope, @Param("deviceType") String deviceType, @Param("configStatus") String configStatus); - List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page,@Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); + List> selectGasLiquidDataGasScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); List> selectGasLiquidDataLiquidScopePage(@Param("dataScope") DataScope dataScope, @Param("page") Page> page, @Param("deptIds") List deptIds, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("keywords") String keywords); - List> selectLiquidDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectLiquidDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectGasDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + List> selectGasDataList(@Param("dataScope") DataScope dataScope, @Param("wellCode") String wellCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); - List> selectTempDataList(@Param("dataScope")DataScope dataScope, @Param("wellCode")String wellCode, @Param("beginTime")String beginTime, @Param("endTime")String endTime); + 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); + 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); + 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); + + List> selectDeviceData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + List> selectDeviceTotalData(@Param("devCode") String devCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + String getWaterMeterCount(); + +// List> selectAlarmCountByDay(@Param("beginTime") String beginTime, @Param("endTime") String endTime); + + /** + * 总用水量和瞬时流量 + */ + Map getWaterMeter(); + + /** + * 本月总用水量 + */ + String getWaterMeterMonth(); + + /** + * 今日用水量 + */ + String getWaterMeterDay(); + + /** + * 昨日用水量 + */ + String getWaterMeterYesterday(); + + /** + * 噪声 + */ + String getNoiseData(); + +// List> countByFirstArea(@Param("devType") String devType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> getAreas(); } 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 122b143..eee62f1 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 @@ -20,21 +20,30 @@ as INSTALLDATE - DATE_FORMAT(INSTALLDATE,'%Y-%m-%d') + DATE_FORMAT + (INSTALLDATE,'%Y-%m-%d') - to_char(INSTALLDATE,'yyyy-MM-dd') + to_char + (INSTALLDATE,'yyyy-MM-dd') - ID AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version + ID + AS id, DEVCODE AS devcode, DEVICE_NAME AS deviceName, ONLINE_STATE AS onlineState, DEVICE_TYPE AS deviceType, VALID AS valid, INSTALL_DATE AS installDate, LOGTIME AS logtime, VERSION AS version - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } 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 fa39434..bf94a23 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 @@ -16,7 +16,6 @@ import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.*; import com.casic.missiles.modular.system.service.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BeanPropertyBindingResult; @@ -37,29 +36,32 @@ @Service public class DeviceServiceImpl extends ServiceImpl implements IDeviceService { - @Autowired - private IDeviceTypeService deviceTypeService; + private final IDeviceTypeService deviceTypeService; + private final IDeviceModelsService deviceModelsService; + private final IDeviceConcentratorService deviceConcentratorService; + private final IDeviceWellService deviceWellService; + private final ICommonPermissionService permissionService; + private final Validator validator; - @Autowired - private IDeviceModelsService deviceModelsService; - - @Autowired - private IDeviceConcentratorService deviceConcentratorService; - - @Autowired - private IDeviceWellService deviceWellService; - - @Autowired - private ICommonPermissionService permissionService; - - @Autowired - private Validator validator; + public DeviceServiceImpl(IDeviceTypeService deviceTypeService, + IDeviceModelsService deviceModelsService, + IDeviceConcentratorService deviceConcentratorService, + IDeviceWellService deviceWellService, + ICommonPermissionService permissionService, + Validator validator) { + this.deviceTypeService = deviceTypeService; + this.deviceModelsService = deviceModelsService; + this.deviceConcentratorService = deviceConcentratorService; + this.deviceWellService = deviceWellService; + this.permissionService = permissionService; + this.validator = validator; + } /** * 判断设备是否关联集中器 * * @param entity 设备类型 - * @return + * @return Boolean */ private Boolean isAddConcentrator(Device entity) { DeviceModels deviceModels = deviceModelsService.selectById(entity.getModelId()); @@ -83,7 +85,7 @@ throw gunsException; } - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); //根据集中器编号查询集中器信息 DeviceConcentratorDto concentratorDto = null; if (isAddConcentrator) { @@ -136,8 +138,7 @@ throw gunsException; } //判断设备是否不需要关联集中器 - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); - + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); if (isAddConcentrator) { GunsException gunsException = new GunsException(GunsExceptionEnum.REQUEST_NULL); gunsException.setMessage("集中器编号不存在"); @@ -159,12 +160,11 @@ } else { deviceConcentratorService.deleteByDeviceId(entity.getId()); } - return super.updateById(entity); } @Override - public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId) { + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId) { return this.baseMapper.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline, areaId); } @@ -189,7 +189,6 @@ @Transactional @Override public List addDeviceBatch(List results) { - BeanPropertyBindingResult beanPropertyBindingResult = new BeanPropertyBindingResult(Device.class, "设备类型导入校验"); Map isAddConcentrator = new HashMap<>(); List list = new ArrayList<>(); @@ -201,11 +200,7 @@ validator.validate(device, beanPropertyBindingResult); if (beanPropertyBindingResult.hasErrors()) { List errors = beanPropertyBindingResult.getFieldErrors(); - errors.forEach(error -> { - list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage())); - return; - } - ); + errors.forEach(error -> list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage()))); return; } @@ -216,7 +211,6 @@ return; } - //设备型号校验 DeviceModels deviceModels = deviceModelsService.selectDeviceModelsBymodelName(device.getModelName()); if (ToolUtil.isEmpty(deviceModels)) { @@ -228,7 +222,6 @@ return; } - DeviceWellDto wellDto = this.selectWellIdByCode(device.getWellCode()); if (ToolUtil.isOneEmpty(wellDto)) { list.add("第" + index[0] + "行,编号不存在"); @@ -238,7 +231,7 @@ //如果非NB则判断集中器 即设备类型包含1 List communis = Arrays.asList(deviceModels.getCommunication().split(",")); //优先判断设备类型配置 - boolean isAdd = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : communis.contains(DeviceConst.YES); + boolean isAdd = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && communis.contains(DeviceConst.YES); if (isAdd) { DeviceConcentratorDto concentratorDto = this.selectDeviceConcentorByCode(device.getConcenCode()); isAddConcentrator.put(device.getDevcode(), true); @@ -280,26 +273,26 @@ deviceWells.add(createDeviceWell(device.getId(), device.getWellId())); //判断是否关联集中器 - if (isAddConcentrator.get(device.getDevcode())) + if (isAddConcentrator.get(device.getDevcode())) { deviceConcentrators.add(createConcentrator(device.getId(), device.getConcenId())); + } }); //设备闸井关联表 设备集中器关联表 - if (ToolUtil.isNotEmpty(deviceConcentrators)) + if (ToolUtil.isNotEmpty(deviceConcentrators)) { this.deviceConcentratorService.insertBatch(deviceConcentrators); - if (ToolUtil.isNotEmpty(deviceWells)) + } + if (ToolUtil.isNotEmpty(deviceWells)) { this.deviceWellService.insertBatch(deviceWells); - + } } else { list.add("导入数据不能为空"); } - return list; } @Override public List selectWellDataScopePage(DataScope dataScope, Page page, String deptid, String beginTime, String endTime, String keywords) { - return this.baseMapper.selectWellDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); } @@ -309,36 +302,37 @@ } @Override - public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectGasDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectGasDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); - } - return mapList; - } - @Override - public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); - for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + } + return mapList; + } + + @Override + public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTempDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); + for (Map map : mapList) { + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -346,36 +340,36 @@ @Override public List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectDigDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectDigDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -410,15 +404,14 @@ SqlRunner.db().insert("INSERT INTO SYS_USER_CLIENT (ID, USERID, CLIENTID,LOGTIME) VALUES ({0}, {1},{2},SYSDATE())", IdWorker.getId(), id, clientid); } + @Override public String getAreaFullNameById(String area) { String fullName = this.baseMapper.getArea(area); String pid = this.baseMapper.getAreaPId(area); - if (pid.equals("0")) { - return fullName; - } else { + if (!pid.equals("0")) { fullName = getAreaFullNameById(pid) + "/" + fullName; - return fullName; } + return fullName; } /** @@ -426,7 +419,7 @@ * * @param deviceId * @param concenId - * @return + * @return {@link DeviceConcentrator} */ private DeviceConcentrator createConcentrator(Long deviceId, Long concenId) { return new DeviceConcentrator(deviceId, concenId, 0, 1, new Date()); @@ -437,7 +430,7 @@ * * @param deviceId * @param wellId - * @return + * @return {@link DeviceWell} */ private DeviceWell createDeviceWell(Long deviceId, Long wellId) { return new DeviceWell(deviceId, wellId, new Date(), "1"); @@ -452,17 +445,17 @@ deptIds.add(Long.valueOf(deptid)); } List> mapList = new ArrayList<>(); - if("liquid".equals(sensorType)){ + if ("liquid".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataLiquidScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } - if("gas".equals(sensorType)){ + if ("gas".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataGasScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } for (Map map : mapList) { map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); setCompany(map); if ("liquid".equals(sensorType)) { - float liquiddata = Float.valueOf(String.valueOf(map.get("data"))); + float liquiddata = Float.parseFloat(String.valueOf(map.get("data"))); if (liquiddata <= 0) { map.put("data", "正常水位"); } @@ -516,29 +509,69 @@ @Override public Map selectWaterMeterDay(String devcode, String date) { - Map map = this.baseMapper.selectWaterMeterDay(devcode, date); - - return map; + return this.baseMapper.selectWaterMeterDay(devcode, date); } @Override - public Map selectWaterMeterMonth(String devcode, String month) { - Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); - - return map; + public Map selectWaterMeterMonth(String devcode, String month) { + return this.baseMapper.selectWaterMeterMonth(devcode, month); } @Override - public Map selectWaterMeterTotal(String devcode, String year){ - Map map = this.baseMapper.selectWaterMeterYear(devcode, year); - - return map; + public Map selectWaterMeterTotal(String devcode, String year) { + return this.baseMapper.selectWaterMeterYear(devcode, year); } @Override - public Map selectLatestWaterMeter(String devcode){ - Map map = this.baseMapper.selectLatestWaterMeter(devcode); + public Map selectLatestWaterMeter(String devcode) { + return this.baseMapper.selectLatestWaterMeter(devcode); + } - return map; + @Override + public List> selectDeviceData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceData(devCode, beginTime, endTime); + } + + @Override + public List> selectDeviceTotalData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceTotalData(devCode, beginTime, endTime); + } + + @Override + public String getWaterMeterCount() { + return this.baseMapper.getWaterMeterCount(); + } + +// @Override +// public List> selectAlarmCountByDay(String beginTime, String endTime) { +// return this.baseMapper.selectAlarmCountByDay(beginTime, endTime); +// } + + @Override + public Map getOverview() { + Map waterMeter = this.baseMapper.getWaterMeter(); + String month = this.baseMapper.getWaterMeterMonth(); + String today = this.baseMapper.getWaterMeterDay(); + String yesterday = this.baseMapper.getWaterMeterYesterday(); + String sound = this.baseMapper.getNoiseData(); + + Map resultMap = new HashMap<>(); + resultMap.put("total", String.valueOf(waterMeter.get("total"))); + resultMap.put("month", month); + resultMap.put("today", today); + resultMap.put("yesterday", yesterday); + resultMap.put("now", String.valueOf(waterMeter.get("now"))); + resultMap.put("sound", sound); + return resultMap; + } + +// @Override +// public List> countByFirstArea(String devType, String startTime, String endTime) { +// return this.baseMapper.countByFirstArea(devType, startTime, endTime); +// } + + @Override + public List> getAreas() { + return this.baseMapper.getAreas(); } } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 5c2ada9..b6acdee 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -85,7 +85,7 @@ responsibleDeptIds.add(permissionService.getCurrLoginUser().getDeptId()); dataScope.setDeptIds(responsibleDeptIds); } - areaId += "%"; +// areaId += "%"; List list = busWellInfoService.selectDataScopePage(dataScope, page, keywords, wellType, deptid, bfzt, areaId); page.setRecords(list); return new SuccessResponseData(super.packForBT(page)); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index f7a64c7..d007a4a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -1,10 +1,10 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; -import com.casic.missiles.core.datascope.DataScope; -import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -60,6 +60,7 @@ String getAreaId(@Param("qu") String qu, @Param("area") String area); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); List getWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index b884b6a..70f5325 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -73,32 +73,21 @@ and (w.WELL_CODE like or w.POSITION like - - ) + ) - and w.AREA like #{areaId} + and w.AREA like - '%' || - #{keywords} - || - '%' + '%' || #{keywords} || '%' - CONCAT - ('%', - #{keywords}, - '%' - ) + CONCAT('%',#{keywords},'%') - d - . - ID - AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT id as wellId,WELL_CODE as WELLCODE,DEPTID FROM bus_well_info WHERE VALID = '1' AND WELL_CODE = #{wellCode} + SELECT id as wellId, WELL_CODE as WELLCODE, DEPTID + FROM bus_well_info + WHERE VALID = '1' + AND WELL_CODE = #{wellCode} - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } 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 fa39434..bf94a23 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 @@ -16,7 +16,6 @@ import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.*; import com.casic.missiles.modular.system.service.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BeanPropertyBindingResult; @@ -37,29 +36,32 @@ @Service public class DeviceServiceImpl extends ServiceImpl implements IDeviceService { - @Autowired - private IDeviceTypeService deviceTypeService; + private final IDeviceTypeService deviceTypeService; + private final IDeviceModelsService deviceModelsService; + private final IDeviceConcentratorService deviceConcentratorService; + private final IDeviceWellService deviceWellService; + private final ICommonPermissionService permissionService; + private final Validator validator; - @Autowired - private IDeviceModelsService deviceModelsService; - - @Autowired - private IDeviceConcentratorService deviceConcentratorService; - - @Autowired - private IDeviceWellService deviceWellService; - - @Autowired - private ICommonPermissionService permissionService; - - @Autowired - private Validator validator; + public DeviceServiceImpl(IDeviceTypeService deviceTypeService, + IDeviceModelsService deviceModelsService, + IDeviceConcentratorService deviceConcentratorService, + IDeviceWellService deviceWellService, + ICommonPermissionService permissionService, + Validator validator) { + this.deviceTypeService = deviceTypeService; + this.deviceModelsService = deviceModelsService; + this.deviceConcentratorService = deviceConcentratorService; + this.deviceWellService = deviceWellService; + this.permissionService = permissionService; + this.validator = validator; + } /** * 判断设备是否关联集中器 * * @param entity 设备类型 - * @return + * @return Boolean */ private Boolean isAddConcentrator(Device entity) { DeviceModels deviceModels = deviceModelsService.selectById(entity.getModelId()); @@ -83,7 +85,7 @@ throw gunsException; } - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); //根据集中器编号查询集中器信息 DeviceConcentratorDto concentratorDto = null; if (isAddConcentrator) { @@ -136,8 +138,7 @@ throw gunsException; } //判断设备是否不需要关联集中器 - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); - + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); if (isAddConcentrator) { GunsException gunsException = new GunsException(GunsExceptionEnum.REQUEST_NULL); gunsException.setMessage("集中器编号不存在"); @@ -159,12 +160,11 @@ } else { deviceConcentratorService.deleteByDeviceId(entity.getId()); } - return super.updateById(entity); } @Override - public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId) { + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId) { return this.baseMapper.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline, areaId); } @@ -189,7 +189,6 @@ @Transactional @Override public List addDeviceBatch(List results) { - BeanPropertyBindingResult beanPropertyBindingResult = new BeanPropertyBindingResult(Device.class, "设备类型导入校验"); Map isAddConcentrator = new HashMap<>(); List list = new ArrayList<>(); @@ -201,11 +200,7 @@ validator.validate(device, beanPropertyBindingResult); if (beanPropertyBindingResult.hasErrors()) { List errors = beanPropertyBindingResult.getFieldErrors(); - errors.forEach(error -> { - list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage())); - return; - } - ); + errors.forEach(error -> list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage()))); return; } @@ -216,7 +211,6 @@ return; } - //设备型号校验 DeviceModels deviceModels = deviceModelsService.selectDeviceModelsBymodelName(device.getModelName()); if (ToolUtil.isEmpty(deviceModels)) { @@ -228,7 +222,6 @@ return; } - DeviceWellDto wellDto = this.selectWellIdByCode(device.getWellCode()); if (ToolUtil.isOneEmpty(wellDto)) { list.add("第" + index[0] + "行,编号不存在"); @@ -238,7 +231,7 @@ //如果非NB则判断集中器 即设备类型包含1 List communis = Arrays.asList(deviceModels.getCommunication().split(",")); //优先判断设备类型配置 - boolean isAdd = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : communis.contains(DeviceConst.YES); + boolean isAdd = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && communis.contains(DeviceConst.YES); if (isAdd) { DeviceConcentratorDto concentratorDto = this.selectDeviceConcentorByCode(device.getConcenCode()); isAddConcentrator.put(device.getDevcode(), true); @@ -280,26 +273,26 @@ deviceWells.add(createDeviceWell(device.getId(), device.getWellId())); //判断是否关联集中器 - if (isAddConcentrator.get(device.getDevcode())) + if (isAddConcentrator.get(device.getDevcode())) { deviceConcentrators.add(createConcentrator(device.getId(), device.getConcenId())); + } }); //设备闸井关联表 设备集中器关联表 - if (ToolUtil.isNotEmpty(deviceConcentrators)) + if (ToolUtil.isNotEmpty(deviceConcentrators)) { this.deviceConcentratorService.insertBatch(deviceConcentrators); - if (ToolUtil.isNotEmpty(deviceWells)) + } + if (ToolUtil.isNotEmpty(deviceWells)) { this.deviceWellService.insertBatch(deviceWells); - + } } else { list.add("导入数据不能为空"); } - return list; } @Override public List selectWellDataScopePage(DataScope dataScope, Page page, String deptid, String beginTime, String endTime, String keywords) { - return this.baseMapper.selectWellDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); } @@ -309,36 +302,37 @@ } @Override - public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectGasDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectGasDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); - } - return mapList; - } - @Override - public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); - for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + } + return mapList; + } + + @Override + public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTempDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); + for (Map map : mapList) { + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -346,36 +340,36 @@ @Override public List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectDigDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectDigDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -410,15 +404,14 @@ SqlRunner.db().insert("INSERT INTO SYS_USER_CLIENT (ID, USERID, CLIENTID,LOGTIME) VALUES ({0}, {1},{2},SYSDATE())", IdWorker.getId(), id, clientid); } + @Override public String getAreaFullNameById(String area) { String fullName = this.baseMapper.getArea(area); String pid = this.baseMapper.getAreaPId(area); - if (pid.equals("0")) { - return fullName; - } else { + if (!pid.equals("0")) { fullName = getAreaFullNameById(pid) + "/" + fullName; - return fullName; } + return fullName; } /** @@ -426,7 +419,7 @@ * * @param deviceId * @param concenId - * @return + * @return {@link DeviceConcentrator} */ private DeviceConcentrator createConcentrator(Long deviceId, Long concenId) { return new DeviceConcentrator(deviceId, concenId, 0, 1, new Date()); @@ -437,7 +430,7 @@ * * @param deviceId * @param wellId - * @return + * @return {@link DeviceWell} */ private DeviceWell createDeviceWell(Long deviceId, Long wellId) { return new DeviceWell(deviceId, wellId, new Date(), "1"); @@ -452,17 +445,17 @@ deptIds.add(Long.valueOf(deptid)); } List> mapList = new ArrayList<>(); - if("liquid".equals(sensorType)){ + if ("liquid".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataLiquidScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } - if("gas".equals(sensorType)){ + if ("gas".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataGasScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } for (Map map : mapList) { map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); setCompany(map); if ("liquid".equals(sensorType)) { - float liquiddata = Float.valueOf(String.valueOf(map.get("data"))); + float liquiddata = Float.parseFloat(String.valueOf(map.get("data"))); if (liquiddata <= 0) { map.put("data", "正常水位"); } @@ -516,29 +509,69 @@ @Override public Map selectWaterMeterDay(String devcode, String date) { - Map map = this.baseMapper.selectWaterMeterDay(devcode, date); - - return map; + return this.baseMapper.selectWaterMeterDay(devcode, date); } @Override - public Map selectWaterMeterMonth(String devcode, String month) { - Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); - - return map; + public Map selectWaterMeterMonth(String devcode, String month) { + return this.baseMapper.selectWaterMeterMonth(devcode, month); } @Override - public Map selectWaterMeterTotal(String devcode, String year){ - Map map = this.baseMapper.selectWaterMeterYear(devcode, year); - - return map; + public Map selectWaterMeterTotal(String devcode, String year) { + return this.baseMapper.selectWaterMeterYear(devcode, year); } @Override - public Map selectLatestWaterMeter(String devcode){ - Map map = this.baseMapper.selectLatestWaterMeter(devcode); + public Map selectLatestWaterMeter(String devcode) { + return this.baseMapper.selectLatestWaterMeter(devcode); + } - return map; + @Override + public List> selectDeviceData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceData(devCode, beginTime, endTime); + } + + @Override + public List> selectDeviceTotalData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceTotalData(devCode, beginTime, endTime); + } + + @Override + public String getWaterMeterCount() { + return this.baseMapper.getWaterMeterCount(); + } + +// @Override +// public List> selectAlarmCountByDay(String beginTime, String endTime) { +// return this.baseMapper.selectAlarmCountByDay(beginTime, endTime); +// } + + @Override + public Map getOverview() { + Map waterMeter = this.baseMapper.getWaterMeter(); + String month = this.baseMapper.getWaterMeterMonth(); + String today = this.baseMapper.getWaterMeterDay(); + String yesterday = this.baseMapper.getWaterMeterYesterday(); + String sound = this.baseMapper.getNoiseData(); + + Map resultMap = new HashMap<>(); + resultMap.put("total", String.valueOf(waterMeter.get("total"))); + resultMap.put("month", month); + resultMap.put("today", today); + resultMap.put("yesterday", yesterday); + resultMap.put("now", String.valueOf(waterMeter.get("now"))); + resultMap.put("sound", sound); + return resultMap; + } + +// @Override +// public List> countByFirstArea(String devType, String startTime, String endTime) { +// return this.baseMapper.countByFirstArea(devType, startTime, endTime); +// } + + @Override + public List> getAreas() { + return this.baseMapper.getAreas(); } } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 5c2ada9..b6acdee 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -85,7 +85,7 @@ responsibleDeptIds.add(permissionService.getCurrLoginUser().getDeptId()); dataScope.setDeptIds(responsibleDeptIds); } - areaId += "%"; +// areaId += "%"; List list = busWellInfoService.selectDataScopePage(dataScope, page, keywords, wellType, deptid, bfzt, areaId); page.setRecords(list); return new SuccessResponseData(super.packForBT(page)); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index f7a64c7..d007a4a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -1,10 +1,10 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; -import com.casic.missiles.core.datascope.DataScope; -import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -60,6 +60,7 @@ String getAreaId(@Param("qu") String qu, @Param("area") String area); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); List getWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index b884b6a..70f5325 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -73,32 +73,21 @@ and (w.WELL_CODE like or w.POSITION like - - ) + ) - and w.AREA like #{areaId} + and w.AREA like - '%' || - #{keywords} - || - '%' + '%' || #{keywords} || '%' - CONCAT - ('%', - #{keywords}, - '%' - ) + CONCAT('%',#{keywords},'%') - d - . - ID - AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT id as wellId,WELL_CODE as WELLCODE,DEPTID FROM bus_well_info WHERE VALID = '1' AND WELL_CODE = #{wellCode} + SELECT id as wellId, WELL_CODE as WELLCODE, DEPTID + FROM bus_well_info + WHERE VALID = '1' + AND WELL_CODE = #{wellCode} - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } 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 fa39434..bf94a23 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 @@ -16,7 +16,6 @@ import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.*; import com.casic.missiles.modular.system.service.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BeanPropertyBindingResult; @@ -37,29 +36,32 @@ @Service public class DeviceServiceImpl extends ServiceImpl implements IDeviceService { - @Autowired - private IDeviceTypeService deviceTypeService; + private final IDeviceTypeService deviceTypeService; + private final IDeviceModelsService deviceModelsService; + private final IDeviceConcentratorService deviceConcentratorService; + private final IDeviceWellService deviceWellService; + private final ICommonPermissionService permissionService; + private final Validator validator; - @Autowired - private IDeviceModelsService deviceModelsService; - - @Autowired - private IDeviceConcentratorService deviceConcentratorService; - - @Autowired - private IDeviceWellService deviceWellService; - - @Autowired - private ICommonPermissionService permissionService; - - @Autowired - private Validator validator; + public DeviceServiceImpl(IDeviceTypeService deviceTypeService, + IDeviceModelsService deviceModelsService, + IDeviceConcentratorService deviceConcentratorService, + IDeviceWellService deviceWellService, + ICommonPermissionService permissionService, + Validator validator) { + this.deviceTypeService = deviceTypeService; + this.deviceModelsService = deviceModelsService; + this.deviceConcentratorService = deviceConcentratorService; + this.deviceWellService = deviceWellService; + this.permissionService = permissionService; + this.validator = validator; + } /** * 判断设备是否关联集中器 * * @param entity 设备类型 - * @return + * @return Boolean */ private Boolean isAddConcentrator(Device entity) { DeviceModels deviceModels = deviceModelsService.selectById(entity.getModelId()); @@ -83,7 +85,7 @@ throw gunsException; } - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); //根据集中器编号查询集中器信息 DeviceConcentratorDto concentratorDto = null; if (isAddConcentrator) { @@ -136,8 +138,7 @@ throw gunsException; } //判断设备是否不需要关联集中器 - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); - + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); if (isAddConcentrator) { GunsException gunsException = new GunsException(GunsExceptionEnum.REQUEST_NULL); gunsException.setMessage("集中器编号不存在"); @@ -159,12 +160,11 @@ } else { deviceConcentratorService.deleteByDeviceId(entity.getId()); } - return super.updateById(entity); } @Override - public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId) { + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId) { return this.baseMapper.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline, areaId); } @@ -189,7 +189,6 @@ @Transactional @Override public List addDeviceBatch(List results) { - BeanPropertyBindingResult beanPropertyBindingResult = new BeanPropertyBindingResult(Device.class, "设备类型导入校验"); Map isAddConcentrator = new HashMap<>(); List list = new ArrayList<>(); @@ -201,11 +200,7 @@ validator.validate(device, beanPropertyBindingResult); if (beanPropertyBindingResult.hasErrors()) { List errors = beanPropertyBindingResult.getFieldErrors(); - errors.forEach(error -> { - list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage())); - return; - } - ); + errors.forEach(error -> list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage()))); return; } @@ -216,7 +211,6 @@ return; } - //设备型号校验 DeviceModels deviceModels = deviceModelsService.selectDeviceModelsBymodelName(device.getModelName()); if (ToolUtil.isEmpty(deviceModels)) { @@ -228,7 +222,6 @@ return; } - DeviceWellDto wellDto = this.selectWellIdByCode(device.getWellCode()); if (ToolUtil.isOneEmpty(wellDto)) { list.add("第" + index[0] + "行,编号不存在"); @@ -238,7 +231,7 @@ //如果非NB则判断集中器 即设备类型包含1 List communis = Arrays.asList(deviceModels.getCommunication().split(",")); //优先判断设备类型配置 - boolean isAdd = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : communis.contains(DeviceConst.YES); + boolean isAdd = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && communis.contains(DeviceConst.YES); if (isAdd) { DeviceConcentratorDto concentratorDto = this.selectDeviceConcentorByCode(device.getConcenCode()); isAddConcentrator.put(device.getDevcode(), true); @@ -280,26 +273,26 @@ deviceWells.add(createDeviceWell(device.getId(), device.getWellId())); //判断是否关联集中器 - if (isAddConcentrator.get(device.getDevcode())) + if (isAddConcentrator.get(device.getDevcode())) { deviceConcentrators.add(createConcentrator(device.getId(), device.getConcenId())); + } }); //设备闸井关联表 设备集中器关联表 - if (ToolUtil.isNotEmpty(deviceConcentrators)) + if (ToolUtil.isNotEmpty(deviceConcentrators)) { this.deviceConcentratorService.insertBatch(deviceConcentrators); - if (ToolUtil.isNotEmpty(deviceWells)) + } + if (ToolUtil.isNotEmpty(deviceWells)) { this.deviceWellService.insertBatch(deviceWells); - + } } else { list.add("导入数据不能为空"); } - return list; } @Override public List selectWellDataScopePage(DataScope dataScope, Page page, String deptid, String beginTime, String endTime, String keywords) { - return this.baseMapper.selectWellDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); } @@ -309,36 +302,37 @@ } @Override - public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectGasDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectGasDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); - } - return mapList; - } - @Override - public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); - for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + } + return mapList; + } + + @Override + public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTempDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); + for (Map map : mapList) { + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -346,36 +340,36 @@ @Override public List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectDigDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectDigDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -410,15 +404,14 @@ SqlRunner.db().insert("INSERT INTO SYS_USER_CLIENT (ID, USERID, CLIENTID,LOGTIME) VALUES ({0}, {1},{2},SYSDATE())", IdWorker.getId(), id, clientid); } + @Override public String getAreaFullNameById(String area) { String fullName = this.baseMapper.getArea(area); String pid = this.baseMapper.getAreaPId(area); - if (pid.equals("0")) { - return fullName; - } else { + if (!pid.equals("0")) { fullName = getAreaFullNameById(pid) + "/" + fullName; - return fullName; } + return fullName; } /** @@ -426,7 +419,7 @@ * * @param deviceId * @param concenId - * @return + * @return {@link DeviceConcentrator} */ private DeviceConcentrator createConcentrator(Long deviceId, Long concenId) { return new DeviceConcentrator(deviceId, concenId, 0, 1, new Date()); @@ -437,7 +430,7 @@ * * @param deviceId * @param wellId - * @return + * @return {@link DeviceWell} */ private DeviceWell createDeviceWell(Long deviceId, Long wellId) { return new DeviceWell(deviceId, wellId, new Date(), "1"); @@ -452,17 +445,17 @@ deptIds.add(Long.valueOf(deptid)); } List> mapList = new ArrayList<>(); - if("liquid".equals(sensorType)){ + if ("liquid".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataLiquidScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } - if("gas".equals(sensorType)){ + if ("gas".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataGasScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } for (Map map : mapList) { map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); setCompany(map); if ("liquid".equals(sensorType)) { - float liquiddata = Float.valueOf(String.valueOf(map.get("data"))); + float liquiddata = Float.parseFloat(String.valueOf(map.get("data"))); if (liquiddata <= 0) { map.put("data", "正常水位"); } @@ -516,29 +509,69 @@ @Override public Map selectWaterMeterDay(String devcode, String date) { - Map map = this.baseMapper.selectWaterMeterDay(devcode, date); - - return map; + return this.baseMapper.selectWaterMeterDay(devcode, date); } @Override - public Map selectWaterMeterMonth(String devcode, String month) { - Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); - - return map; + public Map selectWaterMeterMonth(String devcode, String month) { + return this.baseMapper.selectWaterMeterMonth(devcode, month); } @Override - public Map selectWaterMeterTotal(String devcode, String year){ - Map map = this.baseMapper.selectWaterMeterYear(devcode, year); - - return map; + public Map selectWaterMeterTotal(String devcode, String year) { + return this.baseMapper.selectWaterMeterYear(devcode, year); } @Override - public Map selectLatestWaterMeter(String devcode){ - Map map = this.baseMapper.selectLatestWaterMeter(devcode); + public Map selectLatestWaterMeter(String devcode) { + return this.baseMapper.selectLatestWaterMeter(devcode); + } - return map; + @Override + public List> selectDeviceData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceData(devCode, beginTime, endTime); + } + + @Override + public List> selectDeviceTotalData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceTotalData(devCode, beginTime, endTime); + } + + @Override + public String getWaterMeterCount() { + return this.baseMapper.getWaterMeterCount(); + } + +// @Override +// public List> selectAlarmCountByDay(String beginTime, String endTime) { +// return this.baseMapper.selectAlarmCountByDay(beginTime, endTime); +// } + + @Override + public Map getOverview() { + Map waterMeter = this.baseMapper.getWaterMeter(); + String month = this.baseMapper.getWaterMeterMonth(); + String today = this.baseMapper.getWaterMeterDay(); + String yesterday = this.baseMapper.getWaterMeterYesterday(); + String sound = this.baseMapper.getNoiseData(); + + Map resultMap = new HashMap<>(); + resultMap.put("total", String.valueOf(waterMeter.get("total"))); + resultMap.put("month", month); + resultMap.put("today", today); + resultMap.put("yesterday", yesterday); + resultMap.put("now", String.valueOf(waterMeter.get("now"))); + resultMap.put("sound", sound); + return resultMap; + } + +// @Override +// public List> countByFirstArea(String devType, String startTime, String endTime) { +// return this.baseMapper.countByFirstArea(devType, startTime, endTime); +// } + + @Override + public List> getAreas() { + return this.baseMapper.getAreas(); } } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 5c2ada9..b6acdee 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -85,7 +85,7 @@ responsibleDeptIds.add(permissionService.getCurrLoginUser().getDeptId()); dataScope.setDeptIds(responsibleDeptIds); } - areaId += "%"; +// areaId += "%"; List list = busWellInfoService.selectDataScopePage(dataScope, page, keywords, wellType, deptid, bfzt, areaId); page.setRecords(list); return new SuccessResponseData(super.packForBT(page)); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index f7a64c7..d007a4a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -1,10 +1,10 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; -import com.casic.missiles.core.datascope.DataScope; -import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -60,6 +60,7 @@ String getAreaId(@Param("qu") String qu, @Param("area") String area); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); List getWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index b884b6a..70f5325 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -73,32 +73,21 @@ and (w.WELL_CODE like or w.POSITION like - - ) + ) - and w.AREA like #{areaId} + and w.AREA like - '%' || - #{keywords} - || - '%' + '%' || #{keywords} || '%' - CONCAT - ('%', - #{keywords}, - '%' - ) + CONCAT('%',#{keywords},'%') - d - . - ID - AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName - SELECT id as wellId,WELL_CODE as WELLCODE,DEPTID FROM bus_well_info WHERE VALID = '1' AND WELL_CODE = #{wellCode} + SELECT id as wellId, WELL_CODE as WELLCODE, DEPTID + FROM bus_well_info + WHERE VALID = '1' + AND WELL_CODE = #{wellCode} - DATE_FORMAT(LOGTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (LOGTIME,'%Y-%m-%d %H:%i:%S') - to_char(LOGTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (LOGTIME,'yyyy-mm-dd hh24:mi:ss') - DATE_FORMAT(UPTIME,'%Y-%m-%d %H:%i:%S') + DATE_FORMAT + (UPTIME,'%Y-%m-%d %H:%i:%S') - to_char(UPTIME,'yyyy-mm-dd hh24:mi:ss') + to_char + (UPTIME,'yyyy-mm-dd hh24:mi:ss') SELECT - dg.DEVCODE AS devcode , - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dg.WELL_CODE AS wellCode, - dg.DESCN AS descn, - dg.CELL AS cell, - DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, - DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, - dg.STRENGTH AS strength + dg.DEVCODE AS devcode , + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dg.WELL_CODE AS wellCode, + dg.DESCN AS descn, + dg.CELL AS cell, + DATE_FORMAT(dg.UPTIME,'%Y-%m-%d %H:%i:%S') AS uptime, + DATE_FORMAT(dg.LOGTIME,'%Y-%m-%d %H:%i:%S') AS logtime, + dg.STRENGTH AS strength FROM - data_gas dg - INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_gas dg + INNER JOIN bus_device bd ON dg.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dg.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -239,7 +249,6 @@ - - SELECT - dth.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dth.WELL_CODE AS wellCode, - dth.DESCN AS descn, - dth.CELL AS cell, - dth.TEMPERATURE AS temperature, - dth.HUMIDITY AS humidity, - DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dth.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dth.WELL_CODE AS wellCode, + dth.DESCN AS descn, + dth.CELL AS cell, + dth.TEMPERATURE AS temperature, + dth.HUMIDITY AS humidity, + DATE_FORMAT( dth.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dth.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_temp_hum dth - INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_temp_hum dth + INNER JOIN bus_device bd ON dth.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dth.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -367,7 +375,6 @@ - - SELECT - dwl.DEVCODE AS devcode, - bd.DEVICE_TYPE AS deviceType, - bdt.TYPE_NAME AS deviceTypeName, - bwi.DEPTID AS deptid, - dwl.WELL_CODE AS wellCode, - dwl.DESCN AS descn, - dwl.CELL AS cell, - dwl.LAT AS lat, - dwl.LNG AS lng, - DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, - DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime + dwl.DEVCODE AS devcode, + bd.DEVICE_TYPE AS deviceType, + bdt.TYPE_NAME AS deviceTypeName, + bwi.DEPTID AS deptid, + dwl.WELL_CODE AS wellCode, + dwl.DESCN AS descn, + dwl.CELL AS cell, + dwl.LAT AS lat, + dwl.LNG AS lng, + DATE_FORMAT( dwl.UPTIME, '%Y-%m-%d %H:%i:%S' ) AS uptime, + DATE_FORMAT( dwl.LOGTIME, '%Y-%m-%d %H:%i:%S' ) AS logtime FROM - data_wellcover_loca dwl - INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE - INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE - INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID + data_wellcover_loca dwl + INNER JOIN bus_device bd ON dwl.DEVCODE = bd.DEVCODE + INNER JOIN bus_well_info bwi ON dwl.WELL_CODE = bwi.WELL_CODE + INNER JOIN base_device_type bdt ON bd.DEVICE_TYPE = bdt.ID bd.VALID = '1' AND bwi.VALID = '1' @@ -495,22 +501,22 @@ - '%' || #{keywords}|| '%' + '%' || #{keywords} || '%' CONCAT('%',#{keywords},'%') - TO_DATE(#{beginTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{beginTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) - TO_DATE(#{endTime},'yyyy-mm-dd hh24:mi:ss') + TO_DATE + ( + #{endTime}, + 'yyyy-mm-dd hh24:mi:ss' + ) #{endTime} - #{beginTime} + #{beginTime} - - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -653,7 +666,7 @@ ORDER BY glview.UPTIME DESC - SELECT glview.DEVCODE AS devcode , bd.DEVICE_TYPE AS deviceType, @@ -921,23 +934,130 @@ + + + + + + + + + + + + + + + + + + + + + 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 fc4e911..cee784c 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 @@ -30,7 +30,7 @@ * @param endTime 设备安装结束时间 * @return 设备列表 */ - List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId); + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId); /** * 根据闸井编号查询闸井ID @@ -76,42 +76,43 @@ /** * 燃气数据查询 */ - List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + /** * 管盯数据查询 */ - List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 有害气体数据查询 */ - List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温湿度数据查询 */ - List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 温度压力数据查询 */ - List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 开挖监测仪数据查询 */ - List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 井盖定位监测仪数据查询 */ - List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 噪声记录仪数据查询 */ - List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); + List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords); /** * 根据权属单位统计设备数及告警次数 @@ -128,8 +129,9 @@ /** * 根据设备配置状态获取设备选择列表 - * @param dataScope 数据权限 - * @param deviceType 设备类型 + * + * @param dataScope 数据权限 + * @param deviceType 设备类型 * @param configStatus 配置状态 * @return */ @@ -139,15 +141,64 @@ String getAreaFullNameById(String area); - List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); + List> selectDataList(DataScope dataScope, String wellCode, String watchType, String beginTime, String endTime); /** * 燃气数据查询 */ - List> selectGasLiquidDataScopePage(DataScope dataScope, Page> page, String sensorType, String deptid, String beginTime, String endTime, String keywords); + 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); + Map selectWaterMeterDay(String devcode, String date); + + Map selectWaterMeterMonth(String devcode, String month); + + Map selectWaterMeterTotal(String devcode, String year); + + Map selectLatestWaterMeter(String devcode); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceData(String devCode, String beginTime, String endTime); + + /** + * 根据条件分页查询设备历史数据 + * + * @param devCode 设备类型 + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return {@link Map} + */ + List> selectDeviceTotalData(String devCode, String beginTime, String endTime); + + /** + * 统计水表数量 + * + * @return {@link String} + */ + String getWaterMeterCount(); + + +// List> selectAlarmCountByDay(String beginTime, String endTime); + + /** + * 总览查询用水量 + * + * @return {@link String} + */ + Map getOverview(); + + /** + * 一级分区各区用水量 + * + * @return {@link List} + */ +// List> countByFirstArea(String devType, String startTime, String endTime); + + List> getAreas(); } 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 fa39434..bf94a23 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 @@ -16,7 +16,6 @@ import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.*; import com.casic.missiles.modular.system.service.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BeanPropertyBindingResult; @@ -37,29 +36,32 @@ @Service public class DeviceServiceImpl extends ServiceImpl implements IDeviceService { - @Autowired - private IDeviceTypeService deviceTypeService; + private final IDeviceTypeService deviceTypeService; + private final IDeviceModelsService deviceModelsService; + private final IDeviceConcentratorService deviceConcentratorService; + private final IDeviceWellService deviceWellService; + private final ICommonPermissionService permissionService; + private final Validator validator; - @Autowired - private IDeviceModelsService deviceModelsService; - - @Autowired - private IDeviceConcentratorService deviceConcentratorService; - - @Autowired - private IDeviceWellService deviceWellService; - - @Autowired - private ICommonPermissionService permissionService; - - @Autowired - private Validator validator; + public DeviceServiceImpl(IDeviceTypeService deviceTypeService, + IDeviceModelsService deviceModelsService, + IDeviceConcentratorService deviceConcentratorService, + IDeviceWellService deviceWellService, + ICommonPermissionService permissionService, + Validator validator) { + this.deviceTypeService = deviceTypeService; + this.deviceModelsService = deviceModelsService; + this.deviceConcentratorService = deviceConcentratorService; + this.deviceWellService = deviceWellService; + this.permissionService = permissionService; + this.validator = validator; + } /** * 判断设备是否关联集中器 * * @param entity 设备类型 - * @return + * @return Boolean */ private Boolean isAddConcentrator(Device entity) { DeviceModels deviceModels = deviceModelsService.selectById(entity.getModelId()); @@ -83,7 +85,7 @@ throw gunsException; } - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); //根据集中器编号查询集中器信息 DeviceConcentratorDto concentratorDto = null; if (isAddConcentrator) { @@ -136,8 +138,7 @@ throw gunsException; } //判断设备是否不需要关联集中器 - boolean isAddConcentrator = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : isAddConcentrator(entity); - + boolean isAddConcentrator = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && isAddConcentrator(entity); if (isAddConcentrator) { GunsException gunsException = new GunsException(GunsExceptionEnum.REQUEST_NULL); gunsException.setMessage("集中器编号不存在"); @@ -159,12 +160,11 @@ } else { deviceConcentratorService.deleteByDeviceId(entity.getId()); } - return super.updateById(entity); } @Override - public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords,String isOnline, String areaId) { + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline, String areaId) { return this.baseMapper.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline, areaId); } @@ -189,7 +189,6 @@ @Transactional @Override public List addDeviceBatch(List results) { - BeanPropertyBindingResult beanPropertyBindingResult = new BeanPropertyBindingResult(Device.class, "设备类型导入校验"); Map isAddConcentrator = new HashMap<>(); List list = new ArrayList<>(); @@ -201,11 +200,7 @@ validator.validate(device, beanPropertyBindingResult); if (beanPropertyBindingResult.hasErrors()) { List errors = beanPropertyBindingResult.getFieldErrors(); - errors.forEach(error -> { - list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage())); - return; - } - ); + errors.forEach(error -> list.add("第" + index[0] + "行 ,".concat(error.getDefaultMessage()))); return; } @@ -216,7 +211,6 @@ return; } - //设备型号校验 DeviceModels deviceModels = deviceModelsService.selectDeviceModelsBymodelName(device.getModelName()); if (ToolUtil.isEmpty(deviceModels)) { @@ -228,7 +222,6 @@ return; } - DeviceWellDto wellDto = this.selectWellIdByCode(device.getWellCode()); if (ToolUtil.isOneEmpty(wellDto)) { list.add("第" + index[0] + "行,编号不存在"); @@ -238,7 +231,7 @@ //如果非NB则判断集中器 即设备类型包含1 List communis = Arrays.asList(deviceModels.getCommunication().split(",")); //优先判断设备类型配置 - boolean isAdd = DeviceConst.YES.equals(deviceType.getIsNoConcent()) ? false : communis.contains(DeviceConst.YES); + boolean isAdd = !DeviceConst.YES.equals(deviceType.getIsNoConcent()) && communis.contains(DeviceConst.YES); if (isAdd) { DeviceConcentratorDto concentratorDto = this.selectDeviceConcentorByCode(device.getConcenCode()); isAddConcentrator.put(device.getDevcode(), true); @@ -280,26 +273,26 @@ deviceWells.add(createDeviceWell(device.getId(), device.getWellId())); //判断是否关联集中器 - if (isAddConcentrator.get(device.getDevcode())) + if (isAddConcentrator.get(device.getDevcode())) { deviceConcentrators.add(createConcentrator(device.getId(), device.getConcenId())); + } }); //设备闸井关联表 设备集中器关联表 - if (ToolUtil.isNotEmpty(deviceConcentrators)) + if (ToolUtil.isNotEmpty(deviceConcentrators)) { this.deviceConcentratorService.insertBatch(deviceConcentrators); - if (ToolUtil.isNotEmpty(deviceWells)) + } + if (ToolUtil.isNotEmpty(deviceWells)) { this.deviceWellService.insertBatch(deviceWells); - + } } else { list.add("导入数据不能为空"); } - return list; } @Override public List selectWellDataScopePage(DataScope dataScope, Page page, String deptid, String beginTime, String endTime, String keywords) { - return this.baseMapper.selectWellDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); } @@ -309,36 +302,37 @@ } @Override - public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectGasDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectGasDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectGasDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); - } - return mapList; - } - @Override - public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); - for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectTubeDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTubeDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectHarmfulDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectHarmfulDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + } + return mapList; + } + + @Override + public List> selectTempDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectTempDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); + for (Map map : mapList) { + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -346,36 +340,36 @@ @Override public List> selectTempPressDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectTempPressDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override - public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectDigDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + public List> selectDigDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { + List> mapList = this.baseMapper.selectDigDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectWellLocDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectWellLocDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @Override public List> selectNoiseDataScopePage(DataScope dataScope, Page> page, String deptid, String beginTime, String endTime, String keywords) { - List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope,page,deptid,beginTime,endTime,keywords); + List> mapList = this.baseMapper.selectNoiseDataScopePage(dataScope, page, deptid, beginTime, endTime, keywords); for (Map map : mapList) { - map.put("deptName",permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); + map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); } return mapList; } @@ -410,15 +404,14 @@ SqlRunner.db().insert("INSERT INTO SYS_USER_CLIENT (ID, USERID, CLIENTID,LOGTIME) VALUES ({0}, {1},{2},SYSDATE())", IdWorker.getId(), id, clientid); } + @Override public String getAreaFullNameById(String area) { String fullName = this.baseMapper.getArea(area); String pid = this.baseMapper.getAreaPId(area); - if (pid.equals("0")) { - return fullName; - } else { + if (!pid.equals("0")) { fullName = getAreaFullNameById(pid) + "/" + fullName; - return fullName; } + return fullName; } /** @@ -426,7 +419,7 @@ * * @param deviceId * @param concenId - * @return + * @return {@link DeviceConcentrator} */ private DeviceConcentrator createConcentrator(Long deviceId, Long concenId) { return new DeviceConcentrator(deviceId, concenId, 0, 1, new Date()); @@ -437,7 +430,7 @@ * * @param deviceId * @param wellId - * @return + * @return {@link DeviceWell} */ private DeviceWell createDeviceWell(Long deviceId, Long wellId) { return new DeviceWell(deviceId, wellId, new Date(), "1"); @@ -452,17 +445,17 @@ deptIds.add(Long.valueOf(deptid)); } List> mapList = new ArrayList<>(); - if("liquid".equals(sensorType)){ + if ("liquid".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataLiquidScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } - if("gas".equals(sensorType)){ + if ("gas".equals(sensorType)) { mapList = this.baseMapper.selectGasLiquidDataGasScopePage(dataScope, page, deptIds, beginTime, endTime, keywords); } for (Map map : mapList) { map.put("deptName", permissionService.getDeptName(Long.valueOf(map.get("deptid").toString()))); setCompany(map); if ("liquid".equals(sensorType)) { - float liquiddata = Float.valueOf(String.valueOf(map.get("data"))); + float liquiddata = Float.parseFloat(String.valueOf(map.get("data"))); if (liquiddata <= 0) { map.put("data", "正常水位"); } @@ -516,29 +509,69 @@ @Override public Map selectWaterMeterDay(String devcode, String date) { - Map map = this.baseMapper.selectWaterMeterDay(devcode, date); - - return map; + return this.baseMapper.selectWaterMeterDay(devcode, date); } @Override - public Map selectWaterMeterMonth(String devcode, String month) { - Map map = this.baseMapper.selectWaterMeterMonth(devcode, month); - - return map; + public Map selectWaterMeterMonth(String devcode, String month) { + return this.baseMapper.selectWaterMeterMonth(devcode, month); } @Override - public Map selectWaterMeterTotal(String devcode, String year){ - Map map = this.baseMapper.selectWaterMeterYear(devcode, year); - - return map; + public Map selectWaterMeterTotal(String devcode, String year) { + return this.baseMapper.selectWaterMeterYear(devcode, year); } @Override - public Map selectLatestWaterMeter(String devcode){ - Map map = this.baseMapper.selectLatestWaterMeter(devcode); + public Map selectLatestWaterMeter(String devcode) { + return this.baseMapper.selectLatestWaterMeter(devcode); + } - return map; + @Override + public List> selectDeviceData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceData(devCode, beginTime, endTime); + } + + @Override + public List> selectDeviceTotalData(String devCode, String beginTime, String endTime) { + return this.baseMapper.selectDeviceTotalData(devCode, beginTime, endTime); + } + + @Override + public String getWaterMeterCount() { + return this.baseMapper.getWaterMeterCount(); + } + +// @Override +// public List> selectAlarmCountByDay(String beginTime, String endTime) { +// return this.baseMapper.selectAlarmCountByDay(beginTime, endTime); +// } + + @Override + public Map getOverview() { + Map waterMeter = this.baseMapper.getWaterMeter(); + String month = this.baseMapper.getWaterMeterMonth(); + String today = this.baseMapper.getWaterMeterDay(); + String yesterday = this.baseMapper.getWaterMeterYesterday(); + String sound = this.baseMapper.getNoiseData(); + + Map resultMap = new HashMap<>(); + resultMap.put("total", String.valueOf(waterMeter.get("total"))); + resultMap.put("month", month); + resultMap.put("today", today); + resultMap.put("yesterday", yesterday); + resultMap.put("now", String.valueOf(waterMeter.get("now"))); + resultMap.put("sound", sound); + return resultMap; + } + +// @Override +// public List> countByFirstArea(String devType, String startTime, String endTime) { +// return this.baseMapper.countByFirstArea(devType, startTime, endTime); +// } + + @Override + public List> getAreas() { + return this.baseMapper.getAreas(); } } diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 5c2ada9..b6acdee 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -85,7 +85,7 @@ responsibleDeptIds.add(permissionService.getCurrLoginUser().getDeptId()); dataScope.setDeptIds(responsibleDeptIds); } - areaId += "%"; +// areaId += "%"; List list = busWellInfoService.selectDataScopePage(dataScope, page, keywords, wellType, deptid, bfzt, areaId); page.setRecords(list); return new SuccessResponseData(super.packForBT(page)); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java index f7a64c7..d007a4a 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/BusWellInfoMapper.java @@ -1,10 +1,10 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.plugins.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.dto.*; import com.casic.missiles.modular.system.model.BusWellInfo; -import com.casic.missiles.core.datascope.DataScope; -import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -60,6 +60,7 @@ String getAreaId(@Param("qu") String qu, @Param("area") String area); String getArea(@Param("id") String id); + String getAreaPId(@Param("id") String id); List getWellList(@Param("scope") DataScope dataScope, @Param("keywords") String keywords, @Param("wellType") String deviceType, @Param("deptid") String deptid); diff --git a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml index b884b6a..70f5325 100644 --- a/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml +++ b/casic-sluicewell/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellInfoMapper.xml @@ -73,32 +73,21 @@ and (w.WELL_CODE like or w.POSITION like - - ) + ) - and w.AREA like #{areaId} + and w.AREA like - '%' || - #{keywords} - || - '%' + '%' || #{keywords} || '%' - CONCAT - ('%', - #{keywords}, - '%' - ) + CONCAT('%',#{keywords},'%') - d - . - ID - AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName + d.ID AS deviceId, DEVCODE AS devcode, INSTALL_DATE AS installDate, ONLINE_STATE AS onlineState, t.TYPE_NAME AS typeName