diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterDataController.java b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterDataController.java index 07e2306c4..5ef9e575c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterDataController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterDataController.java @@ -46,8 +46,8 @@ public class KwMeterDataController extends BaseController { @ApiOperation("获取电量") - @GetMapping("getMeterUsedPower") - public Result getMeterUsedPower(@ModelAttribute KwMeterDataDto kwMeterDataDto) { + @GetMapping("getPower") + public Result getMeterPower(@ModelAttribute KwMeterDataDto kwMeterDataDto) { if (kwMeterDataDto == null) return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); @@ -60,7 +60,7 @@ public class KwMeterDataController extends BaseController { if (kwMeterDataDto.getEndTime() == null && kwMeterDataDto.getEndNumber() == null) return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); - return new ResultData(kwMeterDataService.getMeterUsedPower(kwMeterDataDto)); + return new ResultData(kwMeterDataService.getPower(kwMeterDataDto)); } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java index d694266b5..fa400f659 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java @@ -64,7 +64,7 @@ public enum EnumChart { BUSINESS(54,"业态分析"), - POWER_SUMMERY(54,"电能分析"), + POWER_SUMMERY(55,"电能分析"), ; public static EnumChart getEnum(Integer code) { diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumMeterDataReportType.java b/mallinkService/src/main/java/com/iformall/enums/EnumMeterDataReportType.java index 3bd4e6c2d..80529073a 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumMeterDataReportType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumMeterDataReportType.java @@ -8,7 +8,8 @@ public enum EnumMeterDataReportType { VALID(0, "全量"), HOUR(1, "时"), DAY(2, "日"), - MONTH(3, "月"); + MONTH(3, "月"), + BY_HOUR(4, "时分"); public static EnumMeterDataReportType getEnum(Integer code) { for (EnumMeterDataReportType value : values()) { if (value.getCode().equals(code)) { 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 6717fe502..01a19c19b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -16,7 +16,9 @@ import com.iformall.service.MarkingDataReportService; import com.iformall.service.WxBusinessService; import com.iformall.service.WxChartDataService; import com.iformall.service.WxCouponService; +import com.iformall.service.kw.KwMerchantMeterService; import com.iformall.service.kw.KwMeterDataService; +import com.iformall.service.kw.KwMeterService; import com.iformall.utils.DateUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.map.HashedMap; @@ -84,6 +86,11 @@ public class WxChartServiceImpl implements WxChartDataService { @Autowired KwMeterDataService kwMeterDataService; + @Autowired + KwMerchantMeterService kwMerchantMeterService; + @Autowired + KwMeterService kwMeterService; + @Override public ResultData queryData(Map paramsMap) { @@ -347,26 +354,66 @@ public class WxChartServiceImpl implements WxChartDataService { * @return */ private ResultData getPowerSummery(String tenantId,Map paramsMap){ - /* - Map resultMap = new LinkedMap(); + + Map resultMap = new LinkedMap(); KwMeterDataDto kwMeterDataDto = new KwMeterDataDto(); - kwMeterDataDto.setStartTime(); - kwMeterDataDto.setEndTime(); + kwMeterDataDto.setStartTime(addDay(-29)); + kwMeterDataDto.setEndTime(addDay(1)); kwMeterDataDto.setTenantId(tenantId); kwMeterDataDto.setReportType(EnumMeterDataReportType.DAY.getCode()); - List kwMeterDataVos = kwMeterDataService.findVoList(new WxBusiness()); - - Map query = new HashedMap(); - query.put("tenantId",tenantId); - query.put("id",paramsMap.get("id")); - query.put("buildingId",paramsMap.get("buildingId")); - List> mapList = wxMerchantMapper.findBusByFloorId(query); - for (Map map:mapList) { - resultMap.put((String)map.get("btitle"),(Long)map.get("count")); + List kwMeterDataVos = kwMeterDataService.findVoList(kwMeterDataDto); + + List monthDailyPower = new ArrayList<>(); + + for (int i = 30; i >= 0; i--) { + String date = new SimpleDateFormat("yyyy-MM-dd").format(addDay(-i)); + Optional optionalKwMeterDataVo = kwMeterDataVos.stream().filter(md->md.getReportTime().equals(date)).findFirst(); + if (optionalKwMeterDataVo.isPresent()) + monthDailyPower.add(optionalKwMeterDataVo.get()); + else { + KwMeterDataVo kwMeterDataVo = new KwMeterDataVo(); + kwMeterDataVo.setReportTime(date); + monthDailyPower.add(kwMeterDataVo); + } } - */ - return new ResultData(); + + resultMap.put("monthDailyPower",monthDailyPower); + + kwMeterDataDto.setReportType(EnumMeterDataReportType.BY_HOUR.getCode()); + List monthHoursPower = kwMeterDataService.findVoList(kwMeterDataDto); + + resultMap.put("monthHoursPower",monthHoursPower); + + kwMeterDataDto = new KwMeterDataDto(); + kwMeterDataDto.setStartTime(addDay(-29)); + kwMeterDataDto.setEndTime(addDay(1)); + kwMeterDataDto.setTenantId(tenantId); + KwMeterDataVo currentPower = kwMeterDataService.getPower(kwMeterDataDto); + resultMap.put("currentPower",currentPower); + + KwMeter kwMeter = new KwMeter(); + kwMeter.setTenantId(tenantId); + kwMeter.setStatus(EnumMeterStatus.VALID.getCode()); + int meterCount = kwMeterService.selectCount(kwMeter); + + kwMeter.setBindStatus(EnumMeterBindStatus.BIND.getCode()); + int meterBindCount = kwMeterService.selectCount(kwMeter); + + resultMap.put("meterCount",meterCount); + resultMap.put("meterBindCount",meterBindCount); + + KwMerchantMeter kwMerchantMeter = new KwMerchantMeter(); + kwMerchantMeter.setTenantId(tenantId); + kwMerchantMeter.setStatus(EnumMerchantMeterStatus.VALID.getCode()); + int meterMerchantCount = kwMerchantMeterService.selectCount(kwMerchantMeter); + resultMap.put("meterMerchantCount",meterMerchantCount); + + + + + + return new ResultData(resultMap); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 770fbab6d..83307c967 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1533,7 +1533,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { Integer receivePeriod = wxRentContract.getReceivePeriod(); result.put("lease", lease); result.put("receivePeriod", receivePeriod); - result.put("payAccount", wxRentContract.getPayAccount().equals("") ? " " : wxRentContract.getPayAccount()); + String payAccountStr = " "; + if(wxRentContract.getPayAccount() != null && !wxRentContract.getPayAccount().equals("")) { + payAccountStr = wxRentContract.getPayAccount(); + } + result.put("payAccount", payAccountStr); result.put("signDate", DateUtils.date2String(wxRentContract.getSignDate(), "yyyy-MM-dd")); //主体名称-乙方 if (StringUtils.isNotEmpty(wxRentContract.getSubjectName())) { diff --git a/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java b/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java index b4043066a..dcf8a29e5 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/KwMeterDataService.java @@ -19,5 +19,5 @@ public interface KwMeterDataService { int save(List recordList); - KwMeterDataVo getMeterUsedPower(KwMeterDataDto dto); + KwMeterDataVo getPower(KwMeterDataDto dto); } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/kw/KwMeterService.java b/mallinkService/src/main/java/com/iformall/service/kw/KwMeterService.java index 737225750..f52183d48 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/KwMeterService.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/KwMeterService.java @@ -55,5 +55,5 @@ public interface KwMeterService { */ List findList(KwMeter record); - + int selectCount(KwMeter record); } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java index d1873fb18..2c7ca4460 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMerchantMeterServiceImpl.java @@ -86,5 +86,4 @@ public class KwMerchantMeterServiceImpl implements KwMerchantMeterService { return kwMerchantMeterMapper.unbindBatch(record); } - } 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 9903f1719..09190b5c3 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 @@ -56,7 +56,7 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { } @Override - public KwMeterDataVo getMeterUsedPower(KwMeterDataDto dto) + public KwMeterDataVo getPower(KwMeterDataDto dto) { KwMeterDataVo usedPower = new KwMeterDataVo(); usedPower.setMeterId(dto.getMeterId()); @@ -100,5 +100,4 @@ public class KwMeterDataServiceImpl implements KwMeterDataService { return usedPower; } - } diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterServiceImpl.java index 94a2bc165..0df254ed9 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwMeterServiceImpl.java @@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.po.KwMeter; +import com.iformall.domain.po.KwMeterData; import com.iformall.mapper.KwMeterMapper; import com.iformall.service.kw.KwMeterService; import org.slf4j.Logger; @@ -60,5 +61,8 @@ public class KwMeterServiceImpl implements KwMeterService { return kwMeterMapper.findList(record); } - + @Override + public int selectCount(KwMeter record) { + return kwMeterMapper.selectCount(record); + } } diff --git a/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml b/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml index 850c0d916..9bffbd5fc 100644 --- a/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml +++ b/mallinkService/src/main/resources/mapper/KwMeterDataMapper.xml @@ -95,19 +95,22 @@ and `create_time` between #{startTime} and #{endTime} - and date_format(`create_time`, '%Y-%m-%d %H:00') = #{reportTime} - + and date_format(`create_time`, '%Y-%m-%d') = #{reportTime} - + and date_format(`create_time`, '%Y-%m') = #{reportTime} - + and date_format(`create_time`, '%Y') = #{reportTime} + + and date_format(`create_time`, '%Y-%m') = #{reportTime} + + @@ -115,10 +118,12 @@ select temp.tenant_id, temp.reportTime, - min(temp.recordStartTime) as recordStartTime, - max(temp.recordEndTime) as recordEndTime, - sum(temp.totalPower) as totalPower, - sum(temp.lastTotalPower) as lastTotalPower, + + min(temp.recordStartTime) as recordStartTime, + max(temp.recordEndTime) as recordEndTime, + sum(temp.totalPower) as totalPower, + sum(temp.lastTotalPower) as lastTotalPower, + sum(temp.usedPower) as usedPower from (SELECT @@ -126,19 +131,24 @@ create_time as reportTime, - + date_format(create_time, '%Y-%m-%d %H:00') as reportTime, - + date_format(create_time, '%Y-%m-%d') as reportTime, - + date_format(create_time, '%Y-%m') as reportTime, - min(last_device_time) as recordStartTime, - min(last_total_power) as lastTotalPower, - max(device_time) as recordEndTime, - max(total_power) as totalPower, + + date_format(create_time, '%H:00') as reportTime, + + + min(last_device_time) as recordStartTime, + min(last_total_power) as lastTotalPower, + max(device_time) as recordEndTime, + max(total_power) as totalPower, + sum(used_power) as usedPower FROM kw_meter_data @@ -158,27 +168,27 @@