diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBMapper.java index 984447a..2f39ae3 100644 --- a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBMapper.java +++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StStbprpBMapper.java @@ -29,4 +29,5 @@ public interface StStbprpBMapper extends BaseMapper { where b.sttp='RR' """) List getRsvrStations(); + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java b/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java index 5b08260..75e30e8 100644 --- a/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java +++ b/src/main/java/com/gunshi/project/hsz/controller/ReservoirWaterController.java @@ -62,6 +62,9 @@ public class ReservoirWaterController { @Autowired private StPptnRService stPptnRService; + @Autowired + private RiverWaterService riverWaterService; + @Post(path = "/rz", summary = "水库水位") public R rz(@RequestBody ReservoirWaterCommonSo reservoirWaterCommonSo) { return R.ok(reservoirWaterService.rz(reservoirWaterCommonSo)); @@ -146,6 +149,13 @@ public class ReservoirWaterController { @Get(path = "/detail", summary = "监测详细数据(下方表格)") public R detail(@Schema(name = "stcd") @RequestParam("stcd") String stcd) { - return R.ok(reservoirWaterService.detail(stcd)); + AttRvMonitorDetailVo detail; + List riverStcd = riverWaterService.getRiverStcd(); + if(riverStcd.contains(stcd)){ + detail = riverWaterService.detail(stcd); + }else{ + detail = reservoirWaterService.detail(stcd); + } + return R.ok(detail); } } diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvBaseVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvBaseVo.java index f745ad7..15fe04a 100644 --- a/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvBaseVo.java +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/AttRvBaseVo.java @@ -102,13 +102,13 @@ public class AttRvBaseVo { * 监测水位 */ @Schema(description="监测水位") - private BigDecimal rz; + private BigDecimal z; @Schema(description="警戒水位") - private BigDecimal warnWaterLevel; + private BigDecimal wrz; @Schema(description="保证水位") - private BigDecimal promiseWaterLevel; + private BigDecimal grz; /** * 图片路径 diff --git a/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusListVo.java b/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusListVo.java index 2a81f6e..f816e66 100644 --- a/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusListVo.java +++ b/src/main/java/com/gunshi/project/hsz/entity/vo/StStatusListVo.java @@ -1,5 +1,6 @@ package com.gunshi.project.hsz.entity.vo; +import com.gunshi.project.hsz.entity.vo.StStatusVo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; diff --git a/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java index 84cdec9..0512d19 100644 --- a/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java +++ b/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java @@ -269,8 +269,8 @@ public interface AttResBaseMapper extends BaseMapper { @Select(""" select t.stcd,t.stnm,t.lgtd as lgtd, - t.lttd as lttd,t.sttp,t.adcd,t.rvnm,t.stlc,t.source,t.esstym,s.tm,s.z as rz,s.q,sad.adnm, - srb.warn_water_level as warnWaterLevel,srb.promise_water_level as promiseWaterLevel,sprr.h1,sprr.h3,sprr.h6,sprr.h12,sprr.h24,sprr.today + t.lttd as lttd,t.sttp,t.adcd,t.rvnm,t.stlc,t.source,t.esstym,s.tm,s.z as z,s.q,sad.adnm, + srb.warn_water_level as wrz,srb.promise_water_level as grz,sprr.h1,sprr.h3,sprr.h6,sprr.h12,sprr.h24,sprr.today from public.st_stbprp_b t left join public.st_river_r_real s on t.stcd = s.stcd left join public.st_addvcd_d sad on t.adcd = sad.adcd @@ -283,8 +283,8 @@ public interface AttResBaseMapper extends BaseMapper { @Select(""" select t.stcd,t.stnm,t.lgtd as lgtd, - t.lttd as lttd,t.sttp,t.adcd,t.rvnm,t.stlc,t.source,t.esstym,s.tm,s.z as rz,s.q,sad.adnm, - srb.warn_water_level as warnWaterLevel,srb.promise_water_level as promiseWaterLevel,sprr.h1,sprr.h3,sprr.h6,sprr.h12,sprr.h24, + t.lttd as lttd,t.sttp,t.adcd,t.rvnm,t.stlc,t.source,t.esstym,s.tm,s.z as z,s.q,sad.adnm, + srb.warn_water_level as wrz,srb.promise_water_level as grz,sprr.h1,sprr.h3,sprr.h6,sprr.h12,sprr.h24, sprr.today,arb.dead_lev as deadLev from public.st_stbprp_b t left join public.st_river_r_real s on t.stcd = s.stcd @@ -298,4 +298,12 @@ public interface AttResBaseMapper extends BaseMapper { //TODO 站点需要更改 List queryWaterListUpAndLow(); + @Select(""" + select t1.stcd from st_stbprp_b t1 + join st_stbprp_b_elem t2 + on t1.stcd = t2.stcd + where t2.elem = 'z' +""") + List getRiverStcd(); + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressRMapper.java index 5aca79b..b1e275a 100644 --- a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressRMapper.java +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticPressRMapper.java @@ -194,4 +194,24 @@ public interface OsmoticPressRMapper extends BaseMapper { """) List detailValue(@Param("obj") OsmoticDetailQuerySo so); + + @Select(""" + + """) + List listValue2(); + + @Select(""" + + """) + List flowListValue2(); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftRMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftRMapper.java index 930dd1b..2fa6af1 100644 --- a/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftRMapper.java +++ b/src/main/java/com/gunshi/project/hsz/mapper/OsmoticShiftRMapper.java @@ -3,6 +3,7 @@ package com.gunshi.project.hsz.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gunshi.project.hsz.common.model.so.OsmoticDetailQuerySo; import com.gunshi.project.hsz.common.model.so.OsmoticQuerySo; +import com.gunshi.project.hsz.common.model.vo.OsmoticShiftListVo2; import com.gunshi.project.hsz.entity.vo.OsmoticShiftListVo; import com.gunshi.project.hsz.entity.vo.OsmoticShiftValueVo; import com.gunshi.project.hsz.model.OsmoticShiftR; @@ -83,4 +84,15 @@ public interface OsmoticShiftRMapper extends BaseMapper { """) List detailValue(@Param("obj") OsmoticDetailQuerySo so); + + @Select(""" + + """) + List listValue2(); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/hsz/mapper/StbprpBVoMapper.java b/src/main/java/com/gunshi/project/hsz/mapper/StbprpBVoMapper.java index be713b6..25e1a63 100644 --- a/src/main/java/com/gunshi/project/hsz/mapper/StbprpBVoMapper.java +++ b/src/main/java/com/gunshi/project/hsz/mapper/StbprpBVoMapper.java @@ -1,12 +1,11 @@ package com.gunshi.project.hsz.mapper; - +import com.gunshi.project.hsz.entity.vo.StStatusVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import com.gunshi.project.hsz.entity.dto.StZqrlBDto; import com.gunshi.project.hsz.entity.so.HomeStStbprpBSo; import com.gunshi.project.hsz.entity.vo.HomeStStbprpBVo; -import com.gunshi.project.hsz.entity.vo.StStatusVo; import com.gunshi.project.hsz.entity.vo.StZqrlBVo; import java.util.List; @@ -116,4 +115,14 @@ public interface StbprpBVoMapper { """) List flowList(@Param("obj") StZqrlBDto obj); + + @Select(""" + + """) + List zList(); + } diff --git a/src/main/java/com/gunshi/project/hsz/service/RiverWaterService.java b/src/main/java/com/gunshi/project/hsz/service/RiverWaterService.java index 8d68680..7c11f36 100644 --- a/src/main/java/com/gunshi/project/hsz/service/RiverWaterService.java +++ b/src/main/java/com/gunshi/project/hsz/service/RiverWaterService.java @@ -56,6 +56,10 @@ public class RiverWaterService { private StZqRMapper stZqRMapper;//水位-流量关系 + public List getRiverStcd(){ + return attRvBaseMapper.getRiverStcd(); + } + public List list() { List attRvBaseVos = attRvBaseMapper.queryWaterListUpAndLow(); diff --git a/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java b/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java index d1dfe4a..8a2c45e 100644 --- a/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java +++ b/src/main/java/com/gunshi/project/hsz/service/StStbprpBService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.hsz.common.mapper.StStbprpBMapper; import com.gunshi.project.hsz.common.model.StStbprpB; +import com.gunshi.project.hsz.common.model.vo.OsmoticShiftListVo2; import com.gunshi.project.hsz.entity.dto.StZqrlBDto; import com.gunshi.project.hsz.entity.so.HomeStStbprpBSo; import com.gunshi.project.hsz.entity.vo.*; @@ -26,7 +27,6 @@ import java.io.Serializable; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.Duration; -import java.time.Instant; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -85,8 +85,11 @@ public class StStbprpBService extends ServiceImpl { List rzList = stbprpBVoMapper.rzList(); //图像站 List imgList = stbprpBVoMapper.imgList(); + //水库水情 + List zList = stbprpBVoMapper.zList(); rainList.addAll(rzList); rainList.addAll(imgList); + rainList.addAll(zList); rainList.stream().collect(Collectors.toMap(obj -> obj.getStcd(), obj -> obj, (obj1, obj2) -> DateUtil.convertStringToDate(obj1.getTm()).after(DateUtil.convertStringToDate(obj2.getTm())) ? obj1 : obj2 )).values().stream().collect(Collectors.toList()); @@ -99,7 +102,7 @@ public class StStbprpBService extends ServiceImpl { } } //渗压 - List pressList = pressRMapper.listValue(); + List pressList = pressRMapper.listValue2(); list.addAll(pressList.stream().map(o -> { StStatusVo vo = new StStatusVo(); vo.setStnm(o.getStationCode()); @@ -107,7 +110,7 @@ public class StStbprpBService extends ServiceImpl { return vo; }).collect(Collectors.toList())); //渗流 - List flowList = pressRMapper.flowListValue(); + List flowList = pressRMapper.flowListValue2(); list.addAll(flowList.stream().map(o -> { StStatusVo vo = new StStatusVo(); vo.setStnm(o.getStationCode()); @@ -115,10 +118,10 @@ public class StStbprpBService extends ServiceImpl { return vo; }).collect(Collectors.toList())); //位移 - List shiftList = shiftRMapper.listValue(); + List shiftList = shiftRMapper.listValue2(); list.addAll(shiftList.stream().map(o -> { StStatusVo vo = new StStatusVo(); - vo.setStnm(o.getStationCode()); + vo.setStnm(o.getCdNm()); vo.setTm(o.getTm()); return vo; }).collect(Collectors.toList())); @@ -396,7 +399,11 @@ public class StStbprpBService extends ServiceImpl { List rsvrList = rsvrRService.lambdaQuery().ge(StRsvrR::getTm, before24).le(StRsvrR::getTm, now).orderByAsc(StRsvrR::getTm).list(); //TODO 这个溢洪流量汇总的计算也需要进行公式计算 List rsvrComplexVos = stZqrlBService.calculateSpilledVolumeList(rsvrList); - vo.setSum24(rsvrComplexVos.getLast().getTotalSv()); + if(rsvrComplexVos.isEmpty()){ + vo.setSum24(BigDecimal.ZERO); + }else{ + vo.setSum24(rsvrComplexVos.getLast().getTotalSv()); + } return vo; }