diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataIEexcel.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataIEexcel.java index 464a151d4..2f1589f54 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataIEexcel.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataIEexcel.java @@ -331,7 +331,7 @@ public class CarryCapcityDataIEexcel { DataI dataI = new DataI(); BeanUtils.copyProperties(carryCapcityDataIEexcel,dataI); dataI.setPhaseType(phase); - dataI.setTime(carryCapcityDataIEexcel.getTime().plusSeconds(8*60*60)); + dataI.setTime(carryCapcityDataIEexcel.getTime()); if (phase.equals("A")) { diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataPEexcel.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataPEexcel.java index 6cff56f89..4fe234b56 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataPEexcel.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataPEexcel.java @@ -47,7 +47,7 @@ public class CarryCapcityDataPEexcel { CarryCapcityData carryCapcityData = new CarryCapcityData(); BeanUtils.copyProperties(carryCapcityDataPEexcel,carryCapcityData); carryCapcityData.setPhaseType(phase); - carryCapcityData.setTime(carryCapcityDataPEexcel.getTime().plusSeconds(8*60*60)); + carryCapcityData.setTime(carryCapcityDataPEexcel.getTime()); if (phase.equals("A")) { carryCapcityData.setValue(carryCapcityDataPEexcel.getValue_a()); diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataQEexcel.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataQEexcel.java index 291241e8f..cfe751783 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataQEexcel.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataQEexcel.java @@ -49,7 +49,7 @@ public class CarryCapcityDataQEexcel { CarryCapcityData carryCapcityData = new CarryCapcityData(); BeanUtils.copyProperties(carryCapcityDataQEexcel,carryCapcityData); carryCapcityData.setPhaseType(phase); - carryCapcityData.setTime(carryCapcityDataQEexcel.getTime().plusSeconds(8*60*60)); + carryCapcityData.setTime(carryCapcityDataQEexcel.getTime()); if (phase.equals("A")) { carryCapcityData.setValue(carryCapcityDataQEexcel.getValue_a()); diff --git a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataVEexcel.java b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataVEexcel.java index aadac7ee1..ef5662654 100644 --- a/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataVEexcel.java +++ b/pqs-advance/advance-api/src/main/java/com/njcn/advance/pojo/carrycapacity/excel/CarryCapcityDataVEexcel.java @@ -48,7 +48,7 @@ public class CarryCapcityDataVEexcel { CarryCapcityData carryCapcityData = new CarryCapcityData(); BeanUtils.copyProperties(carryCapcityDataVEexcel,carryCapcityData); carryCapcityData.setPhaseType(phase); - carryCapcityData.setTime(carryCapcityDataVEexcel.getTime().plusSeconds(8*60*60)); + carryCapcityData.setTime(carryCapcityDataVEexcel.getTime()); if (phase.equals("A")) { carryCapcityData.setValue(carryCapcityDataVEexcel.getValue_a()); diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java index 22711bac8..026f1ae30 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapacityServiceImpl.java @@ -266,10 +266,10 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { } - dataHarmPowerpList = dataHarmPowerpList.stream().map(temp -> { - temp.setTime(temp.getTime().plusMillis(TimeUnit.HOURS.toMillis(8))); - return temp; - }).collect(Collectors.toList()); +// dataHarmPowerpList = dataHarmPowerpList.stream().map(temp -> { +// temp.setTime(temp.getTime().plusMillis(TimeUnit.HOURS.toMillis(8))); +// return temp; +// }).collect(Collectors.toList()); carryCapacityDataVO.setData(dataHarmPowerpList); @@ -336,10 +336,10 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { redisUtil.saveByKey(lineId + "#" + LocalDateTimeUtil.format(startDate, formatter) + "#" + LocalDateTimeUtil.format(endDate, formatter) + "#" + "Q", dataHarmPowerqList); } - dataHarmPowerqList = dataHarmPowerqList.stream().map(temp -> { - temp.setTime(temp.getTime().plusMillis(TimeUnit.HOURS.toMillis(8))); - return temp; - }).collect(Collectors.toList()); +// dataHarmPowerqList = dataHarmPowerqList.stream().map(temp -> { +// temp.setTime(temp.getTime().plusMillis(TimeUnit.HOURS.toMillis(8))); +// return temp; +// }).collect(Collectors.toList()); carryCapacityDataqVO.setData(dataHarmPowerqList); @@ -394,13 +394,17 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { stringBuilder2.append("line_id='").append(lineId).append("' and ").append(InfluxDbSqlConstant.TIME + " >= '").append(startTime).append("' and ").append(InfluxDbSqlConstant.TIME).append(" <= '").append(endTime).append("' group by time(").append(timeInterval).append("m),* fill(3.1415926) ").append(InfluxDbSqlConstant.TZ); String sqlI1 = "select " + stringBuilder1 + " from " + InfluxDBTableConstant.DATA_I + " where value_type='CP95' and phasic_type!='T' and " + stringBuilder2; dataI = dataiMapper.getSqlResult(sqlI1); + //此处查询influxdb少8个小时 + dataI = dataI.stream().map(temp -> { + temp.setTime(temp.getTime().plusMillis(TimeUnit.HOURS.toMillis(8))); + return temp; + }).collect(Collectors.toList()); if (CollectionUtil.isEmpty(dataI)) { throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); } else { List iList = dataI.stream().map(temp -> { CarryCapcityData carryCapcityData = new CarryCapcityData(); BeanUtils.copyProperties(temp, carryCapcityData); - carryCapcityData.setTime(temp.getTime().plusMillis(TimeUnit.HOURS.toMillis(8))); carryCapcityData.setValue(temp.getI2()); return carryCapcityData; }).collect(Collectors.toList()); @@ -419,7 +423,6 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { List iList = dataI.stream().map(temp -> { CarryCapcityData carryCapcityData = new CarryCapcityData(); BeanUtils.copyProperties(temp, carryCapcityData); - carryCapcityData.setTime(temp.getTime().plusMillis(TimeUnit.HOURS.toMillis(8))); carryCapcityData.setValue(Utils.getAttributeValueByPropertyName(temp, "i" + queryParam.getTime())); return carryCapcityData; }).collect(Collectors.toList()); @@ -624,81 +627,81 @@ public class CarryCapacityServiceImpl implements CarryCapacityService { List dataHarmPowerq2List = excelDataDTO.getDataHarmPowerQ2List(); List dataHarmPoweruList = excelDataDTO.getDataHarmPowerU2List(); -// //数据校验 -// if (CollectionUtil.isEmpty(dataHarmPowerpList)) { -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } else { -// -// if (checkData(dataHarmPowerpList, startDate, endDate, timeInterval)) { -// -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } -// } -// linearInterpolation(dataHarmPowerpList); -// -// //数据校验 -// if (CollectionUtil.isEmpty(dataHarmPowerp2List)) { -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } else { -// -// if (checkData(dataHarmPowerp2List, startDate2, endDate2, timeInterval)) { -// -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } -// } -// linearInterpolation(dataHarmPowerp2List); -// -// //数据校验 -// if (CollectionUtil.isEmpty(dataHarmPowerqList)) { -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } else { -// -// if (checkData(dataHarmPowerqList, startDate, endDate, timeInterval)) { -// -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } -// } -// linearInterpolation(dataHarmPowerqList); -// -// //数据校验 -// if (CollectionUtil.isEmpty(dataHarmPowerq2List)) { -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } else { -// -// if (checkData(dataHarmPowerq2List, startDate2, endDate2, timeInterval)) { -// -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } -// } -// linearInterpolation(dataHarmPowerq2List); -// -// //数据校验 -// if (CollectionUtil.isEmpty(dataHarmPoweruList)) { -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } else { -// -// if (checkData(dataHarmPoweruList, startDate2, endDate2, timeInterval)) { -// -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } -// } -// linearInterpolation(dataHarmPoweruList); -// -// if (CollectionUtil.isEmpty(dataiList)) { -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } else { -// List iList = dataiList.stream().map(temp -> { -// CarryCapcityData carryCapcityData = new CarryCapcityData(); -// BeanUtils.copyProperties(temp, carryCapcityData); -// carryCapcityData.setValue(temp.getI2()); -// return carryCapcityData; -// }).collect(Collectors.toList()); -// if (checkData(iList, startDate, endDate, timeInterval)) { -// -// throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); -// } -// } -// linearInterpolationI(dataiList); + //数据校验 + if (CollectionUtil.isEmpty(dataHarmPowerpList)) { + throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); + } else { + + if (checkData(dataHarmPowerpList, startDate, endDate, timeInterval)) { + + throw new BusinessException("数据量过少,请查看上传数据集的数据集时间与页面选择时间"+startDate+"-"+endDate+"的本周数据是否充足"); + } + } + linearInterpolation(dataHarmPowerpList); + + //数据校验 + if (CollectionUtil.isEmpty(dataHarmPowerp2List)) { + throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); + } else { + + if (checkData(dataHarmPowerp2List, startDate2, endDate2, timeInterval)) { + + throw new BusinessException("数据量过少,请查看上传数据集的数据集时间与页面选择时间"+startDate+"-"+endDate+"的前一周数据量是否充足"); + } + } + linearInterpolation(dataHarmPowerp2List); + + //数据校验 + if (CollectionUtil.isEmpty(dataHarmPowerqList)) { + throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); + } else { + + if (checkData(dataHarmPowerqList, startDate, endDate, timeInterval)) { + + throw new BusinessException("数据量过少,请查看上传数据集的数据集时间与页面选择时间"+startDate+"-"+endDate+"的本周数据是否充足"); + } + } + linearInterpolation(dataHarmPowerqList); + + //数据校验 + if (CollectionUtil.isEmpty(dataHarmPowerq2List)) { + throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); + } else { + + if (checkData(dataHarmPowerq2List, startDate2, endDate2, timeInterval)) { + + throw new BusinessException("数据量过少,请查看上传数据集的数据集时间与页面选择时间"+startDate+"-"+endDate+"的前一周数据量是否充足"); + } + } + linearInterpolation(dataHarmPowerq2List); + + //数据校验 + if (CollectionUtil.isEmpty(dataHarmPoweruList)) { + throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); + } else { + + if (checkData(dataHarmPoweruList, startDate2, endDate2, timeInterval)) { + + throw new BusinessException("数据量过少,请查看上传数据集的数据集时间与页面选择时间"+startDate+"-"+endDate+"的前一周数据量是否充足"); + } + } + linearInterpolation(dataHarmPoweruList); + + if (CollectionUtil.isEmpty(dataiList)) { + throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND); + } else { + List iList = dataiList.stream().map(temp -> { + CarryCapcityData carryCapcityData = new CarryCapcityData(); + BeanUtils.copyProperties(temp, carryCapcityData); + carryCapcityData.setValue(temp.getI2()); + return carryCapcityData; + }).collect(Collectors.toList()); + if (checkData(iList, startDate, endDate, timeInterval)) { + + throw new BusinessException("数据量过少,请查看上传数据集的数据集时间与页面选择时间"+startDate+"-"+endDate+"的本周数据量是否充足"); + } + } + linearInterpolationI(dataiList); // 存入redis redisUtil.saveByKey(lineId + "#" + LocalDateTimeUtil.format(startDate, formatter) + "#" + LocalDateTimeUtil.format(endDate, formatter) + "#" + "P", diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/Utils.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/Utils.java index 1cff32182..f83d395a9 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/Utils.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/Utils.java @@ -15,6 +15,7 @@ import java.time.*; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.TimeUnit; /***************************************************************** * 字符串转基础类型,可能转换不成功,封装该方法 @@ -113,16 +114,16 @@ public class Utils { public static boolean isTimeInRange(Instant instant, LocalDate startTime, LocalDate endTime) { // 将Instant对象转换为LocalDateTime对象 LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); - + Instant instant1 = startTime.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant().plusMillis(TimeUnit.HOURS.toMillis(8)); + Instant instant2 = endTime.plusDays(1).atStartOfDay(ZoneId.systemDefault()).toInstant().plusMillis(TimeUnit.HOURS.toMillis(8)); // 检查LocalDateTime对象是否在startTime和endTime之间 - boolean isInRange = !localDateTime.toLocalDate().isBefore(startTime) && !localDateTime.toLocalDate().isAfter(endTime.plus(1, ChronoUnit.DAYS)); + boolean isInRange = instant1.isBefore(instant) && instant2.isAfter(instant); // 返回结果 return isInRange; } - public static List getAttributeValueByPropertyName(List list, String propertyName) { List resultList = new ArrayList<>(); for (T item : list) {