修改一些BUG

master
yangzhe123 2025-11-29 16:04:54 +08:00
parent 1913d30300
commit 2fd41ec73c
3 changed files with 31 additions and 17 deletions

View File

@ -74,15 +74,15 @@ public class StZqrlBController {
@Operation(summary = "新增") @Operation(summary = "新增")
@PostMapping("/insert") @PostMapping("/insert")
public R<StZqrlB> insert(@Validated(Insert.class) @RequestBody StZqrlB dto) { public R<StZqrlB> insert(@Validated(Insert.class) @RequestBody StZqrlB dto) {
if (StringUtils.isNotBlank(dto.getResCode())){ // if (StringUtils.isNotBlank(dto.getResCode())){
AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one(); // AttResBase one = resBaseService.lambdaQuery().eq(AttResBase::getResCode, dto.getResCode()).one();
if (Objects.isNull(one)){ // if (Objects.isNull(one)){
throw new IllegalArgumentException("水库编码不存在"); // throw new IllegalArgumentException("水库编码不存在");
} // }
if (StringUtils.isBlank(dto.getStcd())){ // if (StringUtils.isBlank(dto.getStcd())){
dto.setStcd(one.getStcd()); // dto.setStcd(one.getStcd());
} // }
} // }
if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){ if (StringUtils.isNotBlank(dto.getStcd()) && Objects.isNull(stStbprpBService.getById(dto.getStcd()))){
throw new IllegalArgumentException("测站编码不存在"); throw new IllegalArgumentException("测站编码不存在");
} }

View File

@ -99,7 +99,7 @@ public class AttResBuilding implements Serializable {
private String waterConveyanceWaterIntakeType;//输水建筑物-取水方式 private String waterConveyanceWaterIntakeType;//输水建筑物-取水方式
private String waterConveyanceFoundation;//输水建筑物-地基特性 private String waterConveyanceFoundation;//输水建筑物-地基特性
private BigDecimal waterConveyanceInletBottomHigh;//输水建筑物-进口底槛高程 private BigDecimal waterConveyanceInletBottomHigh;//输水建筑物-进口底槛高程
private BigDecimal waterConveyanceOrificeSize;//输水建筑物-孔口尺寸 private String waterConveyanceOrificeSize;//输水建筑物-孔口尺寸
private String waterConveyanceGateType;//输水建筑物-闸门型式 private String waterConveyanceGateType;//输水建筑物-闸门型式
private Integer waterConveyanceHoistNum;//输水建筑物-启闭机型式容量及数量 private Integer waterConveyanceHoistNum;//输水建筑物-启闭机型式容量及数量
private String waterConveyanceTunnelType;//输水建筑物-引水隧洞型式 private String waterConveyanceTunnelType;//输水建筑物-引水隧洞型式

View File

@ -143,18 +143,32 @@ public class IcWaterForecastService extends ServiceImpl<IcWaterForecastMapper, I
private List<IcWaterForecastDetail> shortForecast(ForecastTask forecastTask) { private List<IcWaterForecastDetail> shortForecast(ForecastTask forecastTask) {
//进行洪水预测 //进行洪水预测
List<ForecastResultVo> humanForecastResult = forecastResultsService.getHumanForecastResult(forecastTask); List<ForecastResultVo> humanForecastResult = forecastResultsService.getHumanForecastResult(forecastTask);
List<ForecastResultVo> collect = humanForecastResult.stream().filter(o -> { List<ForecastResultVo> collect = new ArrayList<>();
return o.getIspreDrp().equals("1"); for (int i = 0; i < humanForecastResult.size(); i++) {
}).collect(Collectors.toList()); 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<IcWaterForecastDetail> res = new ArrayList<>(); List<IcWaterForecastDetail> res = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if(humanForecastResult.size() > 0){ if(humanForecastResult.size() > 0){
for (ForecastResultVo forecastResultVo : collect) {
for (int i = 0; i < collect.size(); i++) {
IcWaterForecastDetail entity = new IcWaterForecastDetail(); IcWaterForecastDetail entity = new IcWaterForecastDetail();
//设置预测时间 //设置预测时间
entity.setForecastTime(LocalDateTime.parse(forecastResultVo.getTm(),formatter)); entity.setForecastTime(LocalDateTime.parse(collect.get(i).getTm(),formatter));
//设置来水量 if(i == 0){
entity.setForecastWater(forecastResultVo.getYcRkQValue().multiply(new BigDecimal(3600))); 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); res.add(entity);
} }
} }