|
|
|
@@ -63,32 +63,44 @@ public class KwMeterDataController extends BaseController { |
|
|
|
|
|
|
|
List<KwMeterDataVo> 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<KwMeterDataVo> 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<KwMeterDataVo> 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); |
|
|
|
} |
|
|
|
|
|
|
|
|