diff --git a/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java b/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java index bd5d519..1d7e5e5 100644 --- a/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java +++ b/src/main/java/com/gunshi/project/hsz/controller/StZqrlBController.java @@ -74,15 +74,15 @@ public class StZqrlBController { @Operation(summary = "新增") @PostMapping("/insert") public R insert(@Validated(Insert.class) @RequestBody StZqrlB dto) { - if (StringUtils.isNotBlank(dto.getResCode())){ - AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); - if (Objects.isNull(one)){ - throw new IllegalArgumentException("水库编码不存在"); - } - if (StringUtils.isBlank(dto.getStcd())){ - dto.setStcd(one.getStcd()); - } - } +// if (StringUtils.isNotBlank(dto.getResCode())){ +// AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); +// if (Objects.isNull(one)){ +// throw new IllegalArgumentException("水库编码不存在"); +// } +// if (StringUtils.isBlank(dto.getStcd())){ +// dto.setStcd(one.getStcd()); +// } +// } if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ throw new IllegalArgumentException("测站编码不存在"); } diff --git a/src/main/java/com/gunshi/project/hsz/model/AttResBuilding.java b/src/main/java/com/gunshi/project/hsz/model/AttResBuilding.java index f24b8d0..129302d 100644 --- a/src/main/java/com/gunshi/project/hsz/model/AttResBuilding.java +++ b/src/main/java/com/gunshi/project/hsz/model/AttResBuilding.java @@ -99,7 +99,7 @@ public class AttResBuilding implements Serializable { private String waterConveyanceWaterIntakeType;//输水建筑物-取水方式 private String waterConveyanceFoundation;//输水建筑物-地基特性 private BigDecimal waterConveyanceInletBottomHigh;//输水建筑物-进口底槛高程 - private BigDecimal waterConveyanceOrificeSize;//输水建筑物-孔口尺寸 + private String waterConveyanceOrificeSize;//输水建筑物-孔口尺寸 private String waterConveyanceGateType;//输水建筑物-闸门型式 private Integer waterConveyanceHoistNum;//输水建筑物-启闭机型式容量及数量 private String waterConveyanceTunnelType;//输水建筑物-引水隧洞型式 diff --git a/src/main/java/com/gunshi/project/hsz/service/IcWaterForecastService.java b/src/main/java/com/gunshi/project/hsz/service/IcWaterForecastService.java index 5b74d7c..9fc9848 100644 --- a/src/main/java/com/gunshi/project/hsz/service/IcWaterForecastService.java +++ b/src/main/java/com/gunshi/project/hsz/service/IcWaterForecastService.java @@ -143,18 +143,32 @@ public class IcWaterForecastService extends ServiceImpl shortForecast(ForecastTask forecastTask) { //进行洪水预测 List humanForecastResult = forecastResultsService.getHumanForecastResult(forecastTask); - List collect = humanForecastResult.stream().filter(o -> { - return o.getIspreDrp().equals("1"); - }).collect(Collectors.toList()); + List collect = new ArrayList<>(); + for (int i = 0; i < humanForecastResult.size(); i++) { + if(i + 1 < humanForecastResult.size() + && humanForecastResult.get(i).getIspreDrp().equals("0") + && humanForecastResult.get(i + 1).getIspreDrp().equals("1") + ) { + collect.add(humanForecastResult.get(i)); + } + if(humanForecastResult.get(i).getIspreDrp().equals("1")) { + collect.add(humanForecastResult.get(i)); + } + } List res = new ArrayList<>(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if(humanForecastResult.size() > 0){ - for (ForecastResultVo forecastResultVo : collect) { + + for (int i = 0; i < collect.size(); i++) { IcWaterForecastDetail entity = new IcWaterForecastDetail(); //设置预测时间 - entity.setForecastTime(LocalDateTime.parse(forecastResultVo.getTm(),formatter)); - //设置来水量 - entity.setForecastWater(forecastResultVo.getYcRkQValue().multiply(new BigDecimal(3600))); + entity.setForecastTime(LocalDateTime.parse(collect.get(i).getTm(),formatter)); + if(i == 0){ + entity.setForecastWater(BigDecimal.ZERO); + }else{ + BigDecimal water = collect.get(i).getNowCap().subtract(collect.get(i - 1).getNowCap()); + entity.setForecastWater(water.multiply(new BigDecimal("10000")));//由万m³转为m³ + } res.add(entity); } }