From 2a5305bd2dbee1ae0f817c7fcedf4a44594e5bac Mon Sep 17 00:00:00 2001 From: yangzhe123 <2824096059@qq.com> Date: Thu, 22 Jan 2026 16:55:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=AA=E6=B0=B4-=E8=B0=83=E5=BA=A6=E6=BC=94?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ForecastProjectController.java | 5 +++-- .../ForecastDispatchCommandAndResultVo.java | 16 ++++++++++++++ .../ss/service/ForecastProjectService.java | 21 +++++++++++++++---- 3 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/gunshi/project/ss/entity/vo/ForecastDispatchCommandAndResultVo.java diff --git a/src/main/java/com/gunshi/project/ss/controller/ForecastProjectController.java b/src/main/java/com/gunshi/project/ss/controller/ForecastProjectController.java index 6ed254f..dbab039 100644 --- a/src/main/java/com/gunshi/project/ss/controller/ForecastProjectController.java +++ b/src/main/java/com/gunshi/project/ss/controller/ForecastProjectController.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; import com.gunshi.project.ss.entity.dto.DispatchResultDto; +import com.gunshi.project.ss.entity.vo.ForecastDispatchCommandAndResultVo; import com.gunshi.project.ss.entity.vo.ForecastResultVo; import com.gunshi.project.ss.model.*; import com.gunshi.project.ss.service.ForecastProjectService; @@ -148,8 +149,8 @@ public class ForecastProjectController { @Operation(summary = "调度计算-闸门开放关闭时间") @GetMapping("/caculate/{id}/{waterLevel}") - public R> caculate(@PathVariable("id") String id,@PathVariable("waterLevel") String waterLevel) { - List res = service.caculate(id,waterLevel); + public R caculate(@PathVariable("id") String id, @PathVariable("waterLevel") String waterLevel) { + ForecastDispatchCommandAndResultVo res = service.caculate(id,waterLevel); return R.ok(res); } diff --git a/src/main/java/com/gunshi/project/ss/entity/vo/ForecastDispatchCommandAndResultVo.java b/src/main/java/com/gunshi/project/ss/entity/vo/ForecastDispatchCommandAndResultVo.java new file mode 100644 index 0000000..6fb7064 --- /dev/null +++ b/src/main/java/com/gunshi/project/ss/entity/vo/ForecastDispatchCommandAndResultVo.java @@ -0,0 +1,16 @@ +package com.gunshi.project.ss.entity.vo; + +import com.gunshi.project.ss.model.ForecastDispatchCommand; +import com.gunshi.project.ss.model.ForecastDispatchResult; +import lombok.Data; + +import java.util.List; + +@Data +public class ForecastDispatchCommandAndResultVo { + + + private List forecastDispatchCommands; + + private ForecastDispatchResult forecastDispatchResult; +} diff --git a/src/main/java/com/gunshi/project/ss/service/ForecastProjectService.java b/src/main/java/com/gunshi/project/ss/service/ForecastProjectService.java index a823811..6246553 100644 --- a/src/main/java/com/gunshi/project/ss/service/ForecastProjectService.java +++ b/src/main/java/com/gunshi/project/ss/service/ForecastProjectService.java @@ -9,6 +9,7 @@ import com.gunshi.project.ss.common.util.LocalDateTimeConverter; import com.gunshi.project.ss.entity.TimeCapacity; import com.gunshi.project.ss.entity.TimeNetWater; import com.gunshi.project.ss.entity.dto.DispatchResultDto; +import com.gunshi.project.ss.entity.vo.ForecastDispatchCommandAndResultVo; import com.gunshi.project.ss.entity.vo.ForecastResultVo; import com.gunshi.project.ss.mapper.ForecastProjectMapper; import com.gunshi.project.ss.model.*; @@ -173,7 +174,8 @@ public class ForecastProjectService extends ServiceImpl caculate(String id, String rz) { + public ForecastDispatchCommandAndResultVo caculate(String id, String rz) { + ForecastDispatchCommandAndResultVo result = new ForecastDispatchCommandAndResultVo(); BigDecimal openDoorFlow = new BigDecimal("5");//开闸门放水流量 5立方米/秒 ForecastProject forecastProjectResults = getForecastProjectResults(id); List humanForecastResult = forecastProjectResults.getVoList(); @@ -910,8 +912,14 @@ public class ForecastProjectService extends ServiceImpl res = new ArrayList<>(); + result.setForecastDispatchCommands(res); + DispatchResultDto dto = new DispatchResultDto(); + dto.setProjectId(id); if(start == null || end == null){ - return new ArrayList<>(); + ForecastDispatchResult dispatchResult = getDispatchResult(dto); + result.setForecastDispatchResult(dispatchResult); + return result; } ForecastDispatchCommand open = new ForecastDispatchCommand(); open.setCommandTime(start); @@ -921,10 +929,15 @@ public class ForecastProjectService extends ServiceImpl res = new ArrayList<>(); res.add(open); res.add(close); - return res; + DateTimeRangeSo dateTimeRangeSo = new DateTimeRangeSo(); + dateTimeRangeSo.setStart(LocalDateTimeConverter.toDate(start)); + dateTimeRangeSo.setEnd(LocalDateTimeConverter.toDate(end)); + dto.setDateTimeRangeSo(dateTimeRangeSo); + ForecastDispatchResult dispatchResult = getDispatchResult(dto); + result.setForecastDispatchResult(dispatchResult); + return result; } @Autowired