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 0cc98f259..04a066e83 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterDataController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/device/KwMeterDataController.java @@ -63,32 +63,44 @@ public class KwMeterDataController extends BaseController { List monthDailyPower = new ArrayList<>(); - if (kwMeterDataDto.getReportTime() != null - && kwMeterDataDto.getReportType().equals(EnumMeterDataReportType.DAY.getCode())) { - Date date = null; - try { - date = new SimpleDateFormat("yyyy-MM").parse(kwMeterDataDto.getReportTime()); - } catch (Exception e) { - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); - } + if (kwMeterDataDto.getReportTime() != null){ + + if (kwMeterDataDto.getReportType().equals(EnumMeterDataReportType.DAY.getCode())) { + Date date = null; + try { + date = new SimpleDateFormat("yyyy-MM").parse(kwMeterDataDto.getReportTime()); + } catch (Exception e) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + } - LocalDate localDate= LocalDateTime.ofInstant(date.toInstant(),ZoneId.systemDefault()).toLocalDate(); - int days = localDate.lengthOfMonth(); - LocalDate firstDate = localDate.with(TemporalAdjusters.firstDayOfMonth()); - for (int i = 0; i < days; i++) { - String dateStr = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(firstDate.plusDays(i)); - Optional optionalKwMeterDataVo = kwMeterDataVos.stream().filter(md -> md.getReportTime().equals(dateStr)).findFirst(); - if (optionalKwMeterDataVo.isPresent()) - monthDailyPower.add(optionalKwMeterDataVo.get()); - else { - KwMeterDataVo kwMeterDataVo = new KwMeterDataVo(); - kwMeterDataVo.setReportTime(dateStr); - monthDailyPower.add(kwMeterDataVo); + LocalDate localDate= LocalDateTime.ofInstant(date.toInstant(),ZoneId.systemDefault()).toLocalDate(); + int days = localDate.lengthOfMonth(); + LocalDate firstDate = localDate.with(TemporalAdjusters.firstDayOfMonth()); + for (int i = 0; i < days; i++) { + String dateStr = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(firstDate.plusDays(i)); + Optional optionalKwMeterDataVo = kwMeterDataVos.stream().filter(md -> md.getReportTime().equals(dateStr)).findFirst(); + if (optionalKwMeterDataVo.isPresent()) + monthDailyPower.add(optionalKwMeterDataVo.get()); + else { + KwMeterDataVo kwMeterDataVo = new KwMeterDataVo(); + kwMeterDataVo.setReportTime(dateStr); + monthDailyPower.add(kwMeterDataVo); + } } + return new ResultData(monthDailyPower); } - return new ResultData(monthDailyPower); - } + if (kwMeterDataDto.getReportType().equals(EnumMeterDataReportType.HOUR.getCode())){ + + } + if (kwMeterDataDto.getReportType().equals(EnumMeterDataReportType.MONTH.getCode())){ + + } + if (kwMeterDataDto.getReportType().equals(EnumMeterDataReportType.BY_HOUR.getCode())){ + + } + + } return new ResultData(kwMeterDataVos); } diff --git a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java index 1f3c953f1..03356252b 100644 --- a/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/kw/impl/KwBoxServiceImpl.java @@ -146,7 +146,7 @@ public class KwBoxServiceImpl implements KwBoxService { List offlines = kwMeterDataList.stream().filter(md->md.getTotalPower()==null).map(KwMeterData::getMeterId).collect(Collectors.toList()); if (offlines.size() > 0) { KwMeter kwMeter = new KwMeter(); - kwMeter.setIds(onlines); + kwMeter.setIds(offlines); kwMeter.setOnlineStatus(EnumMeterOnlineStatus.OFFLINE.getCode()); kwMeter.setUpdateTime(new Date()); kwMeterService.updateBatch(kwMeter); diff --git a/mallinkService/src/main/resources/mapper/KwMeterMapper.xml b/mallinkService/src/main/resources/mapper/KwMeterMapper.xml index aed8965a2..947a4f79b 100644 --- a/mallinkService/src/main/resources/mapper/KwMeterMapper.xml +++ b/mallinkService/src/main/resources/mapper/KwMeterMapper.xml @@ -89,6 +89,12 @@ #{idItem} + + and `online_status` = 0 + + + and `online_status` = 1 +