From cecaaa90f4a13b82b0933cebeec02ca76f4d1681 Mon Sep 17 00:00:00 2001 From: hupeng Date: Thu, 18 Jul 2019 20:03:50 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=94=B5=E8=A1=A8][=E4=BF=AE=E5=A4=8D]:?= =?UTF-8?q?=E7=94=B5=E9=87=8F=E8=AE=A1=E7=AE=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/mapper/KwMeterDataMapper.java | 2 +- .../service/impl/WxChartServiceImpl.java | 56 ++++++++------- .../kw/impl/KwMeterDataServiceImpl.java | 69 ++++++++++++------- .../resources/mapper/KwMeterDataMapper.xml | 5 +- 4 files changed, 78 insertions(+), 54 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/mapper/KwMeterDataMapper.java b/mallinkService/src/main/java/com/iformall/mapper/KwMeterDataMapper.java index 23fb262ee..0e1748ca8 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/KwMeterDataMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/KwMeterDataMapper.java @@ -16,5 +16,5 @@ public interface KwMeterDataMapper extends CommonMapper { List findVoList(KwMeterDataDto param); - List getPower(KwMeterDataDto param); + KwMeterDataVo getPower(KwMeterDataDto param); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index a0c5e37b0..dc1d50d4b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -436,6 +436,12 @@ public class WxChartServiceImpl implements WxChartDataService { } } + + kwMeterDataDto.setReportType(EnumMeterDataReportType.BY_HOUR.getCode()); + List monthHoursPower = kwMeterDataService.findVoList(kwMeterDataDto); + + resultMap.put("monthHoursPower",monthHoursPower); + resultMap.put("monthDailyPower",monthDailyPower); kwMeterDataDto = new KwMeterDataDto(); @@ -462,35 +468,33 @@ public class WxChartServiceImpl implements WxChartDataService { resultMap.put("yearMonthlyPower",yearMonthlyPower); - kwMeterDataDto.setReportType(EnumMeterDataReportType.BY_HOUR.getCode()); - List monthHoursPower = kwMeterDataService.findVoList(kwMeterDataDto); - - resultMap.put("monthHoursPower",monthHoursPower); kwMeterDataDto = new KwMeterDataDto(); - { - kwMeterDataDto.setStartTime(addDay(0)); - kwMeterDataDto.setEndTime(addDay(new Date(), 0)); - kwMeterDataDto.setTenantId(tenantId); - KwMeterDataVo todayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); - if (todayUsedPower.getUsedPower() != null) - resultMap.put("todayUsedPower", todayUsedPower.getUsedPower()); - - kwMeterDataDto.setStartTime(addDay(-1)); - kwMeterDataDto.setEndTime(addDay(new Date(), -1)); - kwMeterDataDto.setTenantId(tenantId); - KwMeterDataVo yesterdayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); - if (yesterdayUsedPower.getUsedPower() != null) - resultMap.put("yesterdayUsedPower", yesterdayUsedPower.getUsedPower()); - - if (yesterdayUsedPower.getUsedPower() != null && todayUsedPower.getUsedPower() != null && yesterdayUsedPower.getUsedPower() != 0) { - double hbd = (double) (todayUsedPower.getUsedPower() - yesterdayUsedPower.getUsedPower()) / yesterdayUsedPower.getUsedPower() * 100; - double hb = new BigDecimal(hbd).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - resultMap.put("todayUsedPowerRate", hb + "%"); - } else { - resultMap.put("todayUsedPowerRate", "--" + "%"); - } + + kwMeterDataDto.setStartTime(addDay(-1)); + kwMeterDataDto.setEndTime(addDay(new Date(), -1)); + kwMeterDataDto.setTenantId(tenantId); + KwMeterDataVo yesterdayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); + + kwMeterDataDto.setStartTime(addDay(0)); + kwMeterDataDto.setEndTime(addDay(new Date(), 0)); + kwMeterDataDto.setTenantId(tenantId); + KwMeterDataVo todayUsedPower = kwMeterDataService.getPower(kwMeterDataDto); + + if (todayUsedPower.getUsedPower() != null) + resultMap.put("todayUsedPower", todayUsedPower.getUsedPower()); + + if (yesterdayUsedPower.getUsedPower() != null) + resultMap.put("yesterdayUsedPower", yesterdayUsedPower.getUsedPower()); + + if (yesterdayUsedPower.getUsedPower() != null && todayUsedPower.getUsedPower() != null && yesterdayUsedPower.getUsedPower() != 0) { + double hbd = (double) (todayUsedPower.getUsedPower() - yesterdayUsedPower.getUsedPower()) / yesterdayUsedPower.getUsedPower() * 100; + double hb = new BigDecimal(hbd).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + resultMap.put("todayUsedPowerRate", hb + "%"); + } else { + resultMap.put("todayUsedPowerRate", "--" + "%"); } + kwMeterDataDto.setStartTime(addMonth(0)); kwMeterDataDto.setEndTime(addMonth(new Date(),0)); kwMeterDataDto.setTenantId(tenantId); diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java index fc7d567d5..403a88a11 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterDataServiceImpl.java @@ -82,40 +82,57 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { usedPower.setMeterId(dto.getMeterId()); usedPower.setTenantId(dto.getTenantId()); usedPower.setReportTime(new Date().toString()); - if (dto.getStartTime() != null) { + if (dto.getStartTime() != null && dto.getEndTime() != null) { KwMeterDataDto param = new KwMeterDataDto(); param.setTenantId(dto.getTenantId()); param.setMeterId(dto.getMeterId()); param.setReportType(dto.getReportType()); param.setStartTime(dto.getStartTime()); - List startPower = kwMeterDataMapper.getPower(param); - - if (startPower.size() > 0) { - usedPower.setRecordStartTime(startPower.get(0).getRecordStartTime()); - usedPower.setLastTotalPower(startPower.get(0).getTotalPower()); - } - } - if (dto.getEndTime() != null) { - KwMeterDataDto param = new KwMeterDataDto(); - param.setTenantId(dto.getTenantId()); - param.setMeterId(dto.getMeterId()); - param.setReportType(dto.getReportType()); param.setEndTime(dto.getEndTime()); - List endPower = kwMeterDataMapper.getPower(param); - - if (endPower.size() > 0) { - usedPower.setRecordEndTime(endPower.get(0).getRecordEndTime()); - usedPower.setTotalPower(endPower.get(0).getTotalPower()); + KwMeterDataVo usedPowerRes = kwMeterDataMapper.getPower(param); + if (usedPowerRes != null) { + usedPower.setTotalPower(usedPowerRes.getTotalPower()); + usedPower.setLastTotalPower(usedPowerRes.getLastTotalPower()); + usedPower.setRecordStartTime(usedPowerRes.getRecordStartTime()); + usedPower.setRecordEndTime(usedPowerRes.getRecordEndTime()); + usedPower.setUsedPower(usedPowerRes.getUsedPower()); } - } - if (usedPower.getLastTotalPower()==null) - usedPower.setLastTotalPower(dto.getStartNumber()); - if (usedPower.getTotalPower()==null) - usedPower.setTotalPower(dto.getEndNumber()); - - if (usedPower.getLastTotalPower()!=null && usedPower.getTotalPower() != null) - usedPower.setUsedPower(usedPower.getTotalPower() - usedPower.getLastTotalPower()); + } else { + + if (dto.getStartTime() != null) { + KwMeterDataDto param = new KwMeterDataDto(); + param.setTenantId(dto.getTenantId()); + param.setMeterId(dto.getMeterId()); + param.setReportType(dto.getReportType()); + param.setStartTime(dto.getStartTime()); + KwMeterDataVo startPower = kwMeterDataMapper.getPower(param); + + if (startPower != null) { + usedPower.setRecordStartTime(startPower.getRecordStartTime()); + usedPower.setLastTotalPower(startPower.getTotalPower()); + } + } + if (dto.getEndTime() != null) { + KwMeterDataDto param = new KwMeterDataDto(); + param.setTenantId(dto.getTenantId()); + param.setMeterId(dto.getMeterId()); + param.setReportType(dto.getReportType()); + param.setEndTime(dto.getEndTime()); + KwMeterDataVo endPower = kwMeterDataMapper.getPower(param); + + if (endPower != null) { + usedPower.setRecordEndTime(endPower.getRecordEndTime()); + usedPower.setTotalPower(endPower.getTotalPower()); + } + } + if (usedPower.getLastTotalPower() == null) + usedPower.setLastTotalPower(dto.getStartNumber()); + if (usedPower.getTotalPower() == null) + usedPower.setTotalPower(dto.getEndNumber()); + if (usedPower.getLastTotalPower() != null && usedPower.getTotalPower() != null) + usedPower.setUsedPower(usedPower.getTotalPower() - usedPower.getLastTotalPower()); + } return usedPower; } } diff --git a/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml b/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml index 34bc9467a..48886e8cd 100644 --- a/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml +++ b/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml @@ -199,7 +199,7 @@