From a98b1db4392c357304036e8b3cdd01646920300d Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Thu, 21 Jul 2022 15:41:23 +0800
Subject: [PATCH] 1.山洪
---
src/main/java/org/springblade/modules/mountainrain/mapper/BigriverMapper.xml | 153 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 146 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/springblade/modules/mountainrain/mapper/BigriverMapper.xml b/src/main/java/org/springblade/modules/mountainrain/mapper/BigriverMapper.xml
index e266341..b8b5db1 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/BigriverMapper.xml
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/BigriverMapper.xml
@@ -2,12 +2,30 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.mountainrain.mapper.BigriverMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="Forecast" type="org.springblade.modules.mountainrain.vo.BigriverVO">
+ <result column="stcd" property="stcd"/>
+ <result column="ftime" property="ftime"/>
+ <result column="ytime" property="ytime"/>
+ <result column="ybsw" property="ybsw"/>
+ <result column="yq" property="yq"/>
+ <result column="river" property="river"/>
+ <result column="stname" property="stname"/>
+ <result column="yjsw" property="yjsw"/>
+ <result column="addvnm" property="addvnm"/>
+ <result column="fbsw" property="fbsw"/>
+ <result column="fbll" property="fbll"/>
+ <result column="qzsw" property="qzsw"/>
+ <result column="qztime" property="qztime"/>
+ <result column="qzll" property="qzll"/>
+ </resultMap>
<!--大江大河-->
<select id="selctbgriver" resultType="java.util.Map">
- SELECT cs1.stcd as STCD,
+ SELECT cs1.stcd as STCD,
cs1.ftime,
cs1.ytime,
- cs1.yuz as Z,
+ cs1.yuz as Z,
cs1.yjsw,
cs1.stname,
cs1.qzsw,
@@ -16,7 +34,7 @@
cs1.qztime,
cs1.drp,
cs1.qzll,
- cs1. fbsw,
+ cs1.fbsw,
cs1.fbll,
cs1.dbi,
ad.ADDVNM as addvnm,
@@ -30,15 +48,136 @@
FROM (SELECT stcd, ftime FROM sys_Yucbig) AS A
GROUP BY A.stcd
) cs
- INNER JOIN (SELECT stcd, stname, ftime, ytime, yuz, yjsw, river,qzsw,yq,drptime,qztime,drp,qzll,fbsw,fbll,dbi FROM sys_Yucbig) cs1
- ON cs.stcd = cs1.stcd and cs.ftime=cs1.ftime
- INNER JOIN (SELECT LGTD, LTTD, STCD,ADDVCD,HNNM FROM ST_STBPRP_B) st ON st.STCD = cs1.stcd
+ INNER JOIN (SELECT stcd,
+ stname,
+ ftime,
+ ytime,
+ yuz,
+ yjsw,
+ river,
+ qzsw,
+ yq,
+ drptime,
+ qztime,
+ drp,
+ qzll,
+ fbsw,
+ fbll,
+ dbi
+ FROM sys_Yucbig) cs1
+ ON cs.stcd = cs1.stcd and cs.ftime = cs1.ftime
+ INNER JOIN (SELECT LGTD, LTTD, STCD, ADDVCD, HNNM FROM ST_STBPRP_B) st ON st.STCD = cs1.stcd
INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
</select>
<select id="selectINfo" resultType="java.lang.String">
SELECT STCD
from dbo.ST_STBPRP_B
- where STNM =#{stnm}
+ where STNM = #{stnm}
+ </select>
+
+ <select id="selectYb" resultMap="Forecast">
+ SELECT A.STCD AS stcd,
+ CONVERT(VARCHAR (100), A.IYMDH, 120) AS ftime,
+ CONVERT(VARCHAR (100), A.YMDH, 120) AS ytime,
+ ISNULL(A.Z, 0) AS ybsw,
+ ISNULL(A.Q, 0) AS yq,
+ B.river,
+ B.stname,
+ B.yjsw,
+ B.addvnm
+ FROM (SELECT STCD, IYMDH, YMDH, Z, Q FROM dbo.ST_FORECAST_F WHERE YMDH = #{time} AND STCD IN (${code})) A
+ LEFT JOIN (SELECT stcd, river, stname, yjsw, addvnm
+ FROM sys_bigriver
+ GROUP BY stcd, river, stname, yjsw, addvnm) B ON A.STCD = B.stcd order by A.IYMDH desc
+ </select>
+
+ <select id="selectCode" resultType="java.lang.String">
+ SELECT stuff((
+ SELECT ',' + CONVERT(VARCHAR (25), stcd)
+ FROM sys_bigriver
+ GROUP BY stcd
+ FOR XML PATH ('')),
+ 1,
+ 1,
+ ''
+ ) AS siteids
+ </select>
+
+ <!-- <select id="selecF" resultType="java.util.Map">-->
+ <!-- SELECT ISNULL(Z, 0) as Z,-->
+ <!-- ISNULL(Q, 0) as Q-->
+ <!-- FROM dbo.ST_RIVER_R-->
+ <!-- WHERE STCD = #{stcd}-->
+ <!-- AND TM = #{times}-->
+ <!-- </select>-->
+
+ <select id="selecF" resultType="java.util.Map">
+ SELECT CONVERT(VARCHAR (100), A.minTM, 120) as qztime,
+ A.minZ AS qzsw,
+ ISNULL(B.Q, 0) AS qzll,
+ ISNULL(C.Z, 0) as fbsw,
+ ISNULL(C.Q, 0) as fbll
+ FROM (
+ SELECT DISTINCT s.STCD,
+ isnull(s.minZ, 0) AS minZ,
+ MAX(CASE s.minAgeNum WHEN 1 THEN s.TM ELSE '' END) OVER ( partition BY s.STCD ) minTM
+ FROM (
+ SELECT STCD,
+ TM,
+ MIN(Z) OVER ( partition BY STCD ) minZ,
+ RANK() OVER ( partition BY STCD ORDER BY Z ) minAgeNum
+ FROM dbo.ST_RIVER_R
+ WHERE TM >= #{beginTime}
+ AND TM <= #{endTime}
+ AND STCD = #{stcd}
+ ) s
+ ) A
+ LEFT JOIN (SELECT Q, TM, STCD FROM dbo.ST_RIVER_R WHERE STCD = #{stcd}) B ON A.minTM = B.TM
+ AND B.STCD = A.STCD
+ LEFT JOIN (
+ SELECT STCD,
+ ISNULL(Z, 0) AS Z,
+ ISNULL(Q, 0) AS Q
+ FROM dbo.ST_RIVER_R
+ WHERE STCD = #{stcd}
+ AND TM = #{times}
+ ) C ON C.STCD = A.STCD
+ </select>
+
+ <select id="selectStation" resultType="java.util.Map">
+ <foreach collection="list" item="item" open="" close="" separator="union ALL" index="index">
+ SELECT CONVERT(VARCHAR (100), A.minTM, 120) as qztime,
+ A.minZ AS qzsw,
+ ISNULL(B.Q, 0) AS qzll,
+ ISNULL(C.Z, 0) as fbsw,
+ ISNULL(C.Q, 0) as fbll,
+ A.STCD
+ FROM (
+ SELECT DISTINCT s.STCD,
+ isnull(s.minZ, 0) AS minZ,
+ MAX(CASE s.minAgeNum WHEN 1 THEN s.TM ELSE '' END) OVER ( partition BY s.STCD ) minTM
+ FROM (
+ SELECT STCD,
+ TM,
+ MIN(Z) OVER ( partition BY STCD ) minZ,
+ RANK() OVER ( partition BY STCD ORDER BY Z ) minAgeNum
+ FROM dbo.ST_RIVER_R
+ WHERE TM >= #{item.beginTime}
+ AND TM <= #{item.endTime}
+ AND STCD =#{item.stcd}
+ ) s
+ ) A
+ LEFT JOIN (SELECT Q, TM, STCD FROM dbo.ST_RIVER_R WHERE STCD = #{item.stcd}) B ON A.minTM = B.TM
+ AND B.STCD = A.STCD
+ LEFT JOIN (
+ SELECT STCD,
+ ISNULL(Z, 0) AS Z,
+ ISNULL(Q, 0) AS Q
+ FROM dbo.ST_RIVER_R
+ WHERE STCD =#{item.stcd}
+ AND TM =#{item.times}
+ ) C ON C.STCD = A.STCD
+ </foreach>
</select>
</mapper>
--
Gitblit v1.9.3