gunshi-project-ss/src/main/java/com/gunshi/project/hsz/mapper/AttResBaseMapper.java

309 lines
14 KiB
Java
Raw Normal View History

2025-07-17 15:26:39 +08:00
package com.gunshi.project.hsz.mapper;
2024-07-08 17:41:17 +08:00
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
2024-07-15 17:11:36 +08:00
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
2025-11-06 11:35:41 +08:00
import com.gunshi.project.hsz.common.model.StRsvrR;
import com.gunshi.project.hsz.common.model.StStbprpB;
2025-07-17 15:26:39 +08:00
import com.gunshi.project.hsz.entity.so.DataQueryCommonSo;
import com.gunshi.project.hsz.entity.so.PicQuerySo;
import com.gunshi.project.hsz.entity.vo.*;
import com.gunshi.project.hsz.model.*;
2024-07-08 17:41:17 +08:00
import org.apache.ibatis.annotations.Mapper;
2024-07-09 09:39:21 +08:00
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
2024-07-15 16:58:18 +08:00
import java.math.BigDecimal;
import java.util.Date;
2024-07-09 09:39:21 +08:00
import java.util.List;
2024-07-08 17:41:17 +08:00
2024-07-08 17:47:02 +08:00
/**
* :
* author: xusan
* date: 2024-07-08 15:44:07
*/
2024-07-08 17:41:17 +08:00
@Mapper
public interface AttResBaseMapper extends BaseMapper<AttResBase> {
2024-07-09 09:39:21 +08:00
@Select("""
<script>
select t.stcd,t.stnm,t.lgtd lgtd,t.lttd lttd,t.source,t.sttp,t.stlc,t.adcd,t.esstym,s.res_code,s.fl_low_lim_lev,
s.tot_cap,s.ben_res_cap,s.norm_wat_lev,s.crest_elev,s.des_flood_lev,s.dead_lev,s.cal_flood_lev,s.wat_shed_area,s.dead_cap,sad.adnm,
2024-07-09 09:39:21 +08:00
m.tm,m.rz,(m.rz-s.fl_low_lim_lev) as aFsltdz,sprr.tm as drpTm,sprr.h1,sprr.h3,sprr.h6,sprr.h12,sprr.h24,sprr.today,
case when s.cal_flood_lev is not null and m.rz-s.cal_flood_lev >= 0 then 1 else 0 end as calState,
case when s.des_flood_lev is not null and m.rz-s.des_flood_lev >= 0 then 1 else 0 end as desState,
case when s.fl_low_lim_lev is not null and m.rz-s.fl_low_lim_lev >= 0 then 1 else 0 end as flState
2024-07-09 09:39:21 +08:00
from public.st_stbprp_b t
left join public.att_res_base s on 1=1
2024-07-09 09:39:21 +08:00
left join public.st_addvcd_d sad on t.adcd = sad.adcd
left join public.st_rsvr_r_real m on t.stcd = m.stcd
left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
join public.st_stbprp_b_elem stbe on t.stcd = stbe.stcd
where stbe.elem ='rz' and s.res_code = '42118130001' and t.stcd='232'
2024-07-09 09:39:21 +08:00
order by aFsltdz desc nulls last
</script>
""")
List<AttResBaseVo> queryList();
2025-04-01 11:24:38 +08:00
@Select("""
<script>
select t.stcd,t.stnm,t.lgtd lgtd,t.lttd lttd,t.source,t.sttp,t.stlc,t.adcd,t.esstym,s.res_code,s.fl_low_lim_lev,
2025-04-01 11:24:38 +08:00
s.tot_cap,s.ben_res_cap,s.norm_wat_lev,s.crest_elev,s.des_flood_lev,s.dead_lev,s.cal_flood_lev,s.wat_shed_area,s.dead_cap,sad.adnm,
m.tm,m.rz,(m.rz-s.fl_low_lim_lev) as aFsltdz,sprr.tm as drpTm,sprr.h1,sprr.h3,sprr.h6,sprr.h12,sprr.h24,sprr.today,
case when s.cal_flood_lev is not null and m.rz-s.cal_flood_lev &gt; 0 then 1 else 0 end as calState,
case when s.des_flood_lev is not null and m.rz-s.des_flood_lev &gt; 0 then 1 else 0 end as desState,
case when s.fl_low_lim_lev is not null and m.rz-s.fl_low_lim_lev &gt; 0 then 1 else 0 end as flState
from public.st_stbprp_b t
left join public.att_res_base s on 1=1
2025-04-01 11:24:38 +08:00
left join public.st_addvcd_d sad on t.adcd = sad.adcd
left join public.st_rsvr_r_real m on t.stcd = m.stcd
left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
join public.st_stbprp_b_elem stbe on t.stcd = stbe.stcd
where stbe.elem = 'rz'
order by _order asc nulls last
2025-04-01 11:24:38 +08:00
</script>
""")
List<AttResBaseVo> queryListV2();
2024-07-09 09:39:21 +08:00
@Select("""
<script>
select t.stcd,t.tm,t.drp from public.st_pptn_r t
where t.stcd = #{obj.stcd}
and t.tm <![CDATA[>=]]> to_timestamp(#{obj.stm},'YYYY-MM-DD HH24:MI:SS')
and t.tm <![CDATA[<=]]> to_timestamp(#{obj.etm},'YYYY-MM-DD HH24:MI:SS')
order by t.tm desc
</script>
""")
List<AttResMonitorVo> drpData(@Param("obj") DataQueryCommonSo dataQueryCommonSo);
@Select("""
<script>
select t.stcd,t.tm,
t.rz from public.st_rsvr_r t
2024-07-09 09:39:21 +08:00
where t.stcd = #{obj.stcd}
2025-03-28 17:19:17 +08:00
<if test="obj.stm != null ">
2024-07-09 09:39:21 +08:00
and t.tm <![CDATA[>=]]> to_timestamp(#{obj.stm},'YYYY-MM-DD HH24:MI:SS')
2025-03-28 17:19:17 +08:00
</if>
<if test="obj.etm != null ">
2024-07-09 09:39:21 +08:00
and t.tm <![CDATA[<=]]> to_timestamp(#{obj.etm},'YYYY-MM-DD HH24:MI:SS')
2025-03-28 17:19:17 +08:00
</if>
and TRIM(TO_CHAR(t.tm, 'MI:SS')) = '05:00'
2024-07-09 09:39:21 +08:00
order by t.tm desc
</script>
""")
List<AttResMonitorVo> rzData(@Param("obj") DataQueryCommonSo dataQueryCommonSo);
@Select("""
<script>
select t.stcd,t.tm,t.img_path from public.st_img_r_real t
where t.stcd in (select stcd from public.st_stbprp_b where res_code = #{resCode}
and sttp = 'TX')
</script>
""")
List<StImgRReal> realImg(@Param("resCode") String resCode);
2024-07-08 17:41:17 +08:00
2024-07-09 09:39:21 +08:00
@Select("""
<script>
select t.stcd,t.tm,t.rz from public.st_rsvr_r t
where t.stcd = #{stcd}
and t.tm <![CDATA[>=]]> to_timestamp(#{stm},'YYYY-MM-DD HH24:MI:SS')
and t.tm <![CDATA[<=]]> to_timestamp(#{etm},'YYYY-MM-DD HH24:MI:SS')
order by t.tm desc
</script>
""")
List<StRsvrR> queryRzList(@Param("stcd") String stcd, @Param("stm") String startTime, @Param("etm") String endTime);
2024-07-15 16:58:18 +08:00
@Select("""
<script>
select t.tm,t.rz from public.st_rsvr_r_real t
where t.stcd = #{stcd}
order by t.TM desc limit 1
</script>
""")
AttResMonitorVo latestRz(@Param("stcd") String stcd);
2024-09-24 13:33:32 +08:00
2024-07-15 16:58:18 +08:00
@Select("""
<script>
2024-09-24 13:33:32 +08:00
select
2024-09-24 15:23:38 +08:00
<if test="type == 1 ">
2024-09-24 13:33:32 +08:00
t.z from public.st_river_r t
</if>
2024-09-24 15:23:38 +08:00
<if test="type == 2">
2024-09-24 13:33:32 +08:00
t.rz from public.st_rsvr_r t
</if>
2024-07-15 16:58:18 +08:00
where t.stcd = #{stcd} and t.tm = #{dateTime}
</script>
""")
2024-09-24 13:33:32 +08:00
BigDecimal oldRz(@Param("stcd") String stcd,@Param("type") Integer type, @Param("dateTime") Date dateTime);
2024-07-15 16:58:18 +08:00
@Select("""
<script>
select
max(t.rz) from public.st_rsvr_r t
where t.stcd = #{stcd} and t.tm <![CDATA[>=]]> #{startTime} and t.tm <![CDATA[<=]]> #{endTime}
</script>
""")
BigDecimal queryMaxRzByStcdAndTime(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
2024-11-01 11:05:19 +08:00
@Select("""
<script>
select
max(t.z) from public.st_river_r t
where t.stcd = #{stcd} and t.tm <![CDATA[>=]]> #{startTime} and t.tm <![CDATA[<=]]> #{endTime}
</script>
""")
BigDecimal queryRiverMaxRz(@Param("stcd") String stcd, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
2024-07-15 16:58:18 +08:00
@Select("""
<script>
select stcd,stnm from st_stbprp_b where res_code = #{resCode}
and sttp = 'TX'
</script>
""")
List<StStbprpB> channel(@Param("resCode") String resCode);
2024-07-15 17:11:36 +08:00
@Select("""
<script>
select t.stcd,t.tm,t.img_path from public.st_img_r t
where t.tm <![CDATA[>=]]> to_timestamp(#{obj.stm},'YYYY-MM-DD HH24:MI:SS')
and t.tm <![CDATA[<=]]> to_timestamp(#{obj.etm},'YYYY-MM-DD HH24:MI:SS')
<if test="obj.stcd != null and obj.stcd !=''">
AND t.stcd = #{obj.stcd}
</if>
<if test="obj.stcd == null or obj.stcd == ''">
and t.stcd in (select stcd from st_stbprp_b where res_code = #{obj.resCode}
and sttp = 'TX')
</if>
order by t.tm desc
</script>
""")
Page<StImgR> imageInfo(@Param("page") Page<StImgR> page ,@Param("obj") PicQuerySo picQuerySo);
2024-09-24 13:33:32 +08:00
@Select("""
<script>
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,s.q,sad.adnm,
2025-09-09 09:31:32 +08:00
srb.warn_water_level as warnWaterLevel,srb.promise_water_level as promiseWaterLevel,sprr.h1,sprr.h3,sprr.h6,sprr.h12,sprr.h24,sprr.today
2024-09-24 13:33:32 +08:00
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
2025-09-09 09:31:32 +08:00
left join public.alarm_set srb on t.stcd = srb.stcd
left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
2024-09-24 14:28:14 +08:00
where t.sttp = 'ZZ'
2024-09-24 13:33:32 +08:00
</script>
""")
List<AttRvBaseVo> queryWaterList();
@Select("""
<script>
select t.stcd,t.tm,t.drp from public.st_pptn_r t
where t.stcd = #{obj.stcd}
and t.tm <![CDATA[>=]]> to_timestamp(#{obj.stm},'YYYY-MM-DD HH24:MI:SS')
and t.tm <![CDATA[<=]]> to_timestamp(#{obj.etm},'YYYY-MM-DD HH24:MI:SS')
order by t.tm desc
</script>
""")
List<AttRvMonitorVo> drp(@Param("obj") DataQueryCommonSo dataQueryCommonSo);
@Select("""
<script>
select t.stcd,t.tm,t.z,t.q from public.st_river_r t
where t.stcd = #{obj.stcd}
and t.tm <![CDATA[>=]]> to_timestamp(#{obj.stm},'YYYY-MM-DD HH24:MI:SS')
and t.tm <![CDATA[<=]]> to_timestamp(#{obj.etm},'YYYY-MM-DD HH24:MI:SS')
order by t.tm desc
</script>
""")
List<AttRvMonitorVo> rz(@Param("obj") DataQueryCommonSo dataQueryCommonSo);
@Select("""
<script>
2024-09-24 15:23:38 +08:00
select t.tm,t.z from public.st_river_r_real t
2024-09-24 13:33:32 +08:00
where t.stcd = #{stcd}
order by t.TM desc limit 1
</script>
""")
2024-09-24 15:23:38 +08:00
AttRvMonitorVo newRz(@Param("stcd") String stcd);
2024-09-24 13:33:32 +08:00
2024-10-09 15:35:16 +08:00
@Select("""
<script>
select t.stcd,t.tm,t.rz from public.st_rsvr_r t
where t.stcd = #{obj.stcd}
and t.tm <![CDATA[>=]]> to_timestamp(#{obj.stm},'YYYY-MM-DD HH24:MI:SS')
and t.tm <![CDATA[<=]]> to_timestamp(#{obj.etm},'YYYY-MM-DD HH24:MI:SS')
and TRIM(TO_CHAR(t.tm, 'MI:SS')) = '00:00'
order by t.tm desc
</script>
""")
Page<AttResMonitorVo> rzDataPage(Page<AttResMonitorVo> page,@Param("obj") PicQuerySo picQuerySo);
2025-04-25 17:01:53 +08:00
@Select("""
select * from public.dam_brief_r dbr
where 1=1
and date=#{todayStr}
order by date desc
limit 1;
""")
ResBriefVo getBrief(String todayStr);
@Select("""
select * from public.dam_brief_r dbr
where 1=1
and date between #{startDate} and #{endDate}
order by date desc
""")
List<ResBriefVo> getBriefList(String startDate, String endDate);
2025-09-09 09:31:32 +08:00
// @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,s.q,sad.adnm,
// srb.wrz,srb.grz,srb.invrz,srb.invrztm,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
// left join public.st_rvfcch_b srb on t.stcd = srb.stcd
// left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
// where t.sttp = 'ZZ' and t.stcd = #{stcd}
//""")
// List<AttRvBaseVo> queryWaterListByStcd(@Param("stcd") String stcd);
@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 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
2025-09-09 09:31:32 +08:00
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
left join public.alarm_set srb on t.stcd = srb.stcd
left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
where t.stcd = #{stcd}
2025-09-09 09:31:32 +08:00
""")
List<AttRvBaseVo> queryWaterListByStcd(@Param("stcd") String stcd);
@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 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,
2025-10-11 17:58:19 +08:00
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
left join public.st_addvcd_d sad on t.adcd = sad.adcd
left join public.alarm_set srb on t.stcd = srb.stcd
left join public.st_pptn_r_real sprr on t.stcd = sprr.stcd
2025-10-11 17:58:19 +08:00
left join public.att_res_base arb on 1=1
left join public.st_stbprp_b_elem stbe on t.stcd = stbe.stcd
where stbe.elem = 'z'
""")
2025-10-13 11:44:36 +08:00
//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();
2024-07-08 17:41:17 +08:00
}