parent
0c83299627
commit
25902eed5c
|
|
@ -29,4 +29,5 @@ public interface StStbprpBMapper extends BaseMapper<StStbprpB> {
|
|||
where b.sttp='RR'
|
||||
""")
|
||||
List<StStbprpB> getRsvrStations();
|
||||
|
||||
}
|
||||
|
|
@ -62,6 +62,9 @@ public class ReservoirWaterController {
|
|||
@Autowired
|
||||
private StPptnRService stPptnRService;
|
||||
|
||||
@Autowired
|
||||
private RiverWaterService riverWaterService;
|
||||
|
||||
@Post(path = "/rz", summary = "水库水位")
|
||||
public R<StRsvrVo> rz(@RequestBody ReservoirWaterCommonSo reservoirWaterCommonSo) {
|
||||
return R.ok(reservoirWaterService.rz(reservoirWaterCommonSo));
|
||||
|
|
@ -146,6 +149,13 @@ public class ReservoirWaterController {
|
|||
|
||||
@Get(path = "/detail", summary = "监测详细数据(下方表格)")
|
||||
public R<AttRvMonitorDetailVo> detail(@Schema(name = "stcd") @RequestParam("stcd") String stcd) {
|
||||
return R.ok(reservoirWaterService.detail(stcd));
|
||||
AttRvMonitorDetailVo detail;
|
||||
List<String> riverStcd = riverWaterService.getRiverStcd();
|
||||
if(riverStcd.contains(stcd)){
|
||||
detail = riverWaterService.detail(stcd);
|
||||
}else{
|
||||
detail = reservoirWaterService.detail(stcd);
|
||||
}
|
||||
return R.ok(detail);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* 图片路径
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -269,8 +269,8 @@ public interface AttResBaseMapper extends BaseMapper<AttResBase> {
|
|||
|
||||
@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<AttResBase> {
|
|||
|
||||
@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<AttResBase> {
|
|||
//TODO 站点需要更改
|
||||
List<AttRvBaseVo> 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<String> getRiverStcd();
|
||||
|
||||
}
|
||||
|
|
@ -194,4 +194,24 @@ public interface OsmoticPressRMapper extends BaseMapper<OsmoticPressR> {
|
|||
</script>
|
||||
""")
|
||||
List<OsmoticPressDetailVo> detailValue(@Param("obj") OsmoticDetailQuerySo so);
|
||||
|
||||
@Select("""
|
||||
<script>
|
||||
SELECT st.dvcd as stationCode,r.spprwl as value, to_char(r.mstm,'YYYY-MM-DD HH24:MI:SS') as tm,st.dm as profileName FROM jcsk_sy_b st
|
||||
LEFT JOIN (SELECT mpcd,MAX(mstm) tm FROM jcsk_sy_r GROUP BY mpcd) maxr ON st.mpcd = maxr.mpcd
|
||||
LEFT JOIN jcsk_sy_r r ON maxr.mpcd = r.mpcd and maxr.tm = r.mstm
|
||||
</script>
|
||||
""")
|
||||
List<OsmoticPressVo> listValue2();
|
||||
|
||||
@Select("""
|
||||
<script>
|
||||
SELECT st.mpcd,r.spqn as value, to_char(r.mstm,'YYYY-MM-DD HH24:MI:SS') as tm,st.dvcd as stationCode,st.dm as profileName FROM
|
||||
jcsk_sl_b st
|
||||
LEFT JOIN (SELECT mpcd,MAX(mstm) tm FROM jcsk_sl_r GROUP BY mpcd) maxr ON st.mpcd = maxr.mpcd
|
||||
LEFT JOIN jcsk_sl_r r ON maxr.mpcd = r.mpcd AND maxr.tm = r.mstm
|
||||
ORDER BY st.mpcd asc,r.mstm desc
|
||||
</script>
|
||||
""")
|
||||
List<OsmoticPressVo> flowListValue2();
|
||||
}
|
||||
|
|
@ -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<OsmoticShiftR> {
|
|||
</script>
|
||||
""")
|
||||
List<OsmoticShiftValueVo> detailValue(@Param("obj") OsmoticDetailQuerySo so);
|
||||
|
||||
@Select("""
|
||||
<script>
|
||||
SELECT st.cd,st.cd_nm as cdNm ,r.de,r.dn,r.du,to_char(r.tm,'YYYY-MM-DD HH24:MI:SS') as tm FROM
|
||||
jcsk_gnss_b st
|
||||
LEFT JOIN (SELECT cd,MAX(tm) tm FROM jcsk_gnss_r GROUP BY cd) maxr ON st.cd = maxr.cd
|
||||
LEFT JOIN jcsk_gnss_r r ON maxr.cd = r.cd AND maxr.tm = r.tm
|
||||
ORDER BY st.cd asc,r.tm desc;
|
||||
</script>
|
||||
""")
|
||||
List<OsmoticShiftListVo2> listValue2();
|
||||
}
|
||||
|
|
@ -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 {
|
|||
</script>
|
||||
""")
|
||||
List<StZqrlBVo> flowList(@Param("obj") StZqrlBDto obj);
|
||||
|
||||
@Select("""
|
||||
<script>
|
||||
SELECT st.stcd,st.stnm,r.tm FROM st_stbprp_b st
|
||||
JOIN st_rsvr_r_real r ON st.stcd = r.stcd
|
||||
WHERE st.stcd in (select distinct(stcd) from st_stbprp_b_elem where elem ='z')
|
||||
</script>
|
||||
""")
|
||||
List<StStatusVo> zList();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,10 @@ public class RiverWaterService {
|
|||
private StZqRMapper stZqRMapper;//水位-流量关系
|
||||
|
||||
|
||||
public List<String> getRiverStcd(){
|
||||
return attRvBaseMapper.getRiverStcd();
|
||||
}
|
||||
|
||||
|
||||
public List<AttRvBaseVo> list() {
|
||||
List<AttRvBaseVo> attRvBaseVos = attRvBaseMapper.queryWaterListUpAndLow();
|
||||
|
|
|
|||
|
|
@ -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<StStbprpBMapper, StStbprpB> {
|
|||
List<StStatusVo> rzList = stbprpBVoMapper.rzList();
|
||||
//图像站
|
||||
List<StStatusVo> imgList = stbprpBVoMapper.imgList();
|
||||
//水库水情
|
||||
List<StStatusVo> 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<StStbprpBMapper, StStbprpB> {
|
|||
}
|
||||
}
|
||||
//渗压
|
||||
List<OsmoticPressVo> pressList = pressRMapper.listValue();
|
||||
List<OsmoticPressVo> 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<StStbprpBMapper, StStbprpB> {
|
|||
return vo;
|
||||
}).collect(Collectors.toList()));
|
||||
//渗流
|
||||
List<OsmoticPressVo> flowList = pressRMapper.flowListValue();
|
||||
List<OsmoticPressVo> 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<StStbprpBMapper, StStbprpB> {
|
|||
return vo;
|
||||
}).collect(Collectors.toList()));
|
||||
//位移
|
||||
List<OsmoticShiftListVo> shiftList = shiftRMapper.listValue();
|
||||
List<OsmoticShiftListVo2> 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<StStbprpBMapper, StStbprpB> {
|
|||
List<StRsvrR> rsvrList = rsvrRService.lambdaQuery().ge(StRsvrR::getTm, before24).le(StRsvrR::getTm, now).orderByAsc(StRsvrR::getTm).list();
|
||||
//TODO 这个溢洪流量汇总的计算也需要进行公式计算
|
||||
List<RsvrComplexVo> rsvrComplexVos = stZqrlBService.calculateSpilledVolumeList(rsvrList);
|
||||
vo.setSum24(rsvrComplexVos.getLast().getTotalSv());
|
||||
if(rsvrComplexVos.isEmpty()){
|
||||
vo.setSum24(BigDecimal.ZERO);
|
||||
}else{
|
||||
vo.setSum24(rsvrComplexVos.getLast().getTotalSv());
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue