瀏覽代碼

预测发电量调整

fanxiaoyu 7 月之前
父節點
當前提交
b528f8b3e6

+ 22 - 9
cpp-admin/src/main/java/com/cpp/web/controller/dayPowerGeneration/DayPowerGenerationController.java

@@ -22,23 +22,36 @@ public class DayPowerGenerationController {
 
     private final DayPowerGenerationService dayPowerGenerationService;
 
+    private final Long oneDay = 86400000L;
+
+    private final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+
     @ApiOperation(value = "根据场站编号查询预测发电量", notes = "根据场站编号查询预测发电量")
     @GetMapping(value = "/getList")
     public R getList(String stationCode,Long genDate,String predictionDataSource) {
-        String useDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date(genDate));
+        String useDate = simpleDateFormat.format(new Date(genDate));
         List<DayPowerGeneration> dayPowerGenerationList = dayPowerGenerationService.findByStationCodeAndGenDateAndPredictionDataSource(stationCode,useDate,predictionDataSource);
         List<DayPowerGeneration> ydList = dayPowerGenerationList.stream().filter(f -> f.getPredictionDataSource().equals("云端下发")).collect(Collectors.toList());
         List<DayPowerGeneration> zdList = dayPowerGenerationList.stream().filter(f -> f.getPredictionDataSource().equals("站端上传")).collect(Collectors.toList());
         List<PowerGenerationDto> generationDtoList = new ArrayList<>();
-        for (DayPowerGeneration dayPowerGeneration : ydList){
+        Long startTime = genDate + oneDay;
+        Long endTime = genDate + oneDay * 10;
+        for (long i = startTime; i <= endTime; i = i + oneDay) {
+            long finalI = i;
             PowerGenerationDto powerGenerationDto = new PowerGenerationDto();
-            powerGenerationDto.setTime(dayPowerGeneration.getTime());
-            powerGenerationDto.setStationCode(dayPowerGeneration.getStationCode());
-            powerGenerationDto.setForecastPowerGenerationYd(dayPowerGeneration.getForecastPowerGeneration());
-            for (int i = 0; i < zdList.size(); i++) {
-                if (dayPowerGeneration.getTime().equals(zdList.get(i).getTime())){
-                    powerGenerationDto.setForecastPowerGenerationZd(zdList.get(i).getForecastPowerGeneration());
-                }
+            powerGenerationDto.setTime(simpleDateFormat.format(new Date(finalI)));
+            powerGenerationDto.setStationCode(stationCode);
+            List<DayPowerGeneration> ydCollectList = ydList.stream().filter(f -> f.getTime().equals(simpleDateFormat.format(new Date(finalI)))).collect(Collectors.toList());
+            if (ydCollectList.size() > 0){
+                powerGenerationDto.setForecastPowerGenerationYd(ydCollectList.get(0).getForecastPowerGeneration());
+            }else {
+                powerGenerationDto.setForecastPowerGenerationYd(null);
+            }
+            List<DayPowerGeneration> zdCollectList = zdList.stream().filter(f -> f.getTime().equals(simpleDateFormat.format(new Date(finalI)))).collect(Collectors.toList());
+            if (zdCollectList.size() > 0){
+                powerGenerationDto.setForecastPowerGenerationYd(zdCollectList.get(0).getForecastPowerGeneration());
+            }else {
+                powerGenerationDto.setForecastPowerGenerationYd(null);
             }
             generationDtoList.add(powerGenerationDto);
         }

+ 1 - 1
cpp-admin/src/main/java/com/cpp/web/service/powerGeneation/impl/DayPowerGenerationServiceImpl.java

@@ -124,7 +124,7 @@ public class DayPowerGenerationServiceImpl extends ServiceImpl<DayPowerGeneratio
     @Override
     public void generateZdPower(String stationCode) {
 
-        Date genDate = DateTimeUtil.getDayStartTime(new Date().getTime() + 24 * 1000 * 60 * 60);
+        Date genDate = DateTimeUtil.getDayStartTime(new Date().getTime());
 
         Date startTime = DateTimeUtil.getDayStartTime(System.currentTimeMillis() + 24 * 60 * 60 * 1000L);