From 39caebba35fc84824f5cd51d189fe322d5145803 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 09 Nov 2021 16:15:14 +0800
Subject: [PATCH] 1.山洪

---
 src/main/java/org/springblade/modules/rsvr/mapper/RsvrRMapper.xml |  185 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 151 insertions(+), 34 deletions(-)

diff --git a/src/main/java/org/springblade/modules/rsvr/mapper/RsvrRMapper.xml b/src/main/java/org/springblade/modules/rsvr/mapper/RsvrRMapper.xml
index bbf9a4b..4f35d87 100644
--- a/src/main/java/org/springblade/modules/rsvr/mapper/RsvrRMapper.xml
+++ b/src/main/java/org/springblade/modules/rsvr/mapper/RsvrRMapper.xml
@@ -58,22 +58,65 @@
                rsv.FSLTDZ,
                st.STNM,
                st.LGTD,
+               st.FDL,
                rs.INQ,
-               rs.W,
+               isnull(rs.W, 0)  as W,
                rs.OTQ,
                st.LTTD,
-               st.ADDVNM
+               st.ADDVNM,
+               cs3.maxZ,
+               cs4.minZ
         FROM dbo.ST_RSVR_R rs
+                 INNER JOIN sys_rsvr st ON st.STCD = rs.STCD
                  LEFT JOIN (SELECT FSLTDZ, STCD
                             FROM dbo.ST_RSVRFSR_B
                             WHERE BGMD = #{egmd}
                               AND EDMD = #{edmd}
                               and FSLTDZ is not null) rsv ON rsv.STCD = rs.STCD
-                 INNER JOIN sys_rsvr st ON st.STCD = rs.STCD
-                 INNER JOIN dbo.ST_RSVRFCCH_B rst ON rst.STCD = rs.STCD
+                 LEFT JOIN dbo.ST_RSVRFCCH_B rst ON rst.STCD = rs.STCD
+                 LEFT JOIN (SELECT STCD, MAX(RZ) AS maxZ
+                            FROM dbo.ST_RSVR_R
+                            WHERE TM &gt; #{beginTime}
+                              AND TM &lt;= #{endTime}
+                              AND STCD IN (${code})
+                            GROUP BY STCD) cs3 ON cs3.STCD = rs.STCD
+                 LEFT JOIN (SELECT STCD, MIN(RZ) AS minZ
+                            FROM dbo.ST_RSVR_R
+                            WHERE TM &gt; #{beginTime}
+                              AND TM &lt;= #{endTime}
+                              AND STCD IN (${code})
+                            GROUP BY STCD) cs4 ON cs4.STCD = rs.STCD
         WHERE rs.TM &gt; #{beginTime}
           AND rs.TM &lt;= #{endTime}
         ORDER BY rs.TM DESC
+    </select>
+
+    <select id="selectyjcd" resultType="java.util.HashMap">
+        SELECT rs.STCD,
+               rs.TM,
+               isnull(rs.RZ, 0) as RZ,
+               rsv.FSLTDZ,
+               st.STNM,
+               st.LGTD,
+               st.FDL,
+               rs.INQ,
+               isnull(rs.W, 0)  as W,
+               rs.OTQ,
+               st.LTTD,
+               st.ADDVNM,
+               rs.RZ            as maxZ,
+               rs.RZ            as minZ
+        FROM dbo.ST_RSVR_R rs
+                 INNER JOIN sys_rsvr st ON st.STCD = rs.STCD
+                 LEFT JOIN (SELECT FSLTDZ, STCD
+                            FROM dbo.ST_RSVRFSR_B
+                            WHERE BGMD = #{egmd}
+                              AND EDMD = #{edmd}
+                              and FSLTDZ is not null) rsv ON rsv.STCD = rs.STCD
+                 LEFT JOIN dbo.ST_RSVRFCCH_B rst ON rst.STCD = rs.STCD
+        WHERE rs.TM &gt;= #{beginTime}
+          AND rs.TM &lt;= #{endTime}
+          AND rs.STCD IN (${code})
     </select>
 
     <!--水库最新信息-->
@@ -128,17 +171,18 @@
                isnull(rsvr.RZS, 0) AS RZS,
                cs2.STNM,
                cs3.INQ,
-               cs1.W,
+               isnull(cs1.W, 0)    as W,
                cs3.OTQ,
                cs2.LGTD,
                cs2.LTTD,
                cs2.ADDVNM,
+               cs2.FDL,
                rsv.FSLTDZ
         FROM (
                  SELECT A.STCD,
                         MAX(A.TM) TM
                  FROM (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) AS A
-                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr) s ON A.STCD = s.STCD
+                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) s ON A.STCD = s.STCD
                           LEFT JOIN (SELECT FSLTDZ, STCD
                                      FROM dbo.ST_RSVRFSR_B
                                      WHERE BGMD = #{egmd}
@@ -153,7 +197,7 @@
                  INNER JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1
                             ON cs.STCD = cs1.STCD
                                 AND cs.TM = cs1.TM
-                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
+                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
                  LEFT JOIN (SELECT FSLTDZ, STCD
                             FROM dbo.ST_RSVRFSR_B
                             WHERE BGMD = #{egmd}
@@ -173,6 +217,7 @@
                  cs2.ADDVNM,
                  cs2.LGTD,
                  cs2.LTTD,
+                 cs2.FDL,
                  rsv.FSLTDZ
     </select>
 
@@ -281,14 +326,8 @@
 
 
     <select id="selectCode" resultType="java.lang.String">
-        SELECT stuff((SELECT ',' + CONVERT(VARCHAR (25), rs.STCD)
-                      FROM ST_RSVR_R r
-                               INNER JOIN sys_rsvr rs ON
-                          rs.STCD = r.STCD
-                      WHERE r.TM &gt;= #{beginTime}
-                        AND r.TM &lt;= #{endTime}
-                      GROUP BY rs.STCD
-            FOR XML PATH ('')),
+        SELECT stuff((SELECT ',' + CONVERT(VARCHAR (25), STCD)
+                      FROM sys_rsvr FOR XML PATH ('')),
                      1,
                      1,
                      ''
@@ -303,46 +342,74 @@
     <!--                     ''-->
     <!--                   ) AS stcd-->
     <!--    </select>-->
+    <!--    <select id="sel" resultType="java.util.HashMap">-->
+    <!--        SELECT cs.STCD,-->
+    <!--               cs.TM,-->
+    <!--               isnull(cs1.RZ, 0) as RZ,-->
+    <!--               cs2.STNM,-->
+    <!--               cs1.INQ,-->
+    <!--               isnull(cs1.W, 0)  as W,-->
+    <!--               cs1.OTQ,-->
+    <!--               cs2.LGTD,-->
+    <!--               cs2.LTTD,-->
+    <!--               cs2.ADDVNM,-->
+    <!--               rsv.FSLTDZ-->
+    <!--        FROM (-->
+    <!--                 SELECT A.STCD,-->
+    <!--                        MAX(A.TM) TM-->
+    <!--                 FROM (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) AS A-->
+    <!--                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) s-->
+    <!--                                     ON A.STCD = s.STCD-->
+    <!--                 GROUP BY A.STCD-->
+    <!--             ) cs-->
+    <!--                 INNER JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD-->
+    <!--            AND cs.TM = cs1.TM-->
+    <!--                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) cs2-->
+    <!--                            ON cs.STCD = cs2.STCD-->
+    <!--                 LEFT JOIN (SELECT FSLTDZ, STCD-->
+    <!--                            FROM dbo.ST_RSVRFSR_B-->
+    <!--                            WHERE BGMD = #{egmd}-->
+    <!--                              AND EDMD = #{edmd}-->
+    <!--                              AND FSLTDZ IS NOT NULL) rsv ON rsv.STCD = cs.STCD-->
+    <!--        GROUP BY cs.STCD,-->
+    <!--                 cs.TM,-->
+    <!--                 cs1.RZ,-->
+    <!--                 cs1.INQ,-->
+    <!--                 cs1.W,-->
+    <!--                 cs1.OTQ,-->
+    <!--                 cs2.STNM,-->
+    <!--                 cs2.ADDVNM,-->
+    <!--                 cs2.LGTD,-->
+    <!--                 cs2.LTTD,-->
+    <!--                 rsv.FSLTDZ-->
+    <!--    </select> -->
     <select id="sel" resultType="java.util.HashMap">
         SELECT cs.STCD,
                cs.TM,
-               isnull(cs1.RZ, 0) as RZ,
+               isnull(cs1.RZ, 0) AS RZ,
                cs2.STNM,
-               cs1.INQ,
-               cs1.W,
-               cs1.OTQ,
+               isnull(cs1.W, 0)  AS W,
                cs2.LGTD,
                cs2.LTTD,
                cs2.ADDVNM,
+               cs2.FDL,
                rsv.FSLTDZ
         FROM (
                  SELECT A.STCD,
                         MAX(A.TM) TM
                  FROM (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) AS A
-                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) s
+                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) s
                                      ON A.STCD = s.STCD
                  GROUP BY A.STCD
              ) cs
-                 INNER JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD
+                 LEFT JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD
             AND cs.TM = cs1.TM
-                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) cs2
-                            ON cs.STCD = cs2.STCD
+                 LEFT JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
                  LEFT JOIN (SELECT FSLTDZ, STCD
                             FROM dbo.ST_RSVRFSR_B
                             WHERE BGMD = #{egmd}
                               AND EDMD = #{edmd}
                               AND FSLTDZ IS NOT NULL) rsv ON rsv.STCD = cs.STCD
-        GROUP BY cs.STCD,
-                 cs.TM,
-                 cs1.RZ,
-                 cs1.INQ,
-                 cs1.W,
-                 cs1.OTQ,
-                 cs2.STNM,
-                 cs2.ADDVNM,
-                 cs2.LGTD,
-                 cs2.LTTD,
-                 rsv.FSLTDZ
     </select>
 
     <!--水库实时预警-->
@@ -379,4 +446,54 @@
                  LEFT JOIN (SELECT STCD, NORMZ, DSFLZ FROM ST_RSVRFCCH_B WHERE NORMZ IS NOT NULL) cs4
                            ON cs.STCD = cs4.STCD
     </select>
+
+
+    <select id="selectskshi" resultType="java.util.HashMap">
+        SELECT D.*,
+        isnull(rsvr.RZS, 0) AS RZS
+        FROM (
+        SELECT cs.STCD,
+        cs.TM,
+        isnull(cs.RZ, 0) AS RZ,
+        cs.INQ,
+        cs.OTQ,
+        cs2.STNM,
+        isnull(cs.W, 0) AS W,
+        cs2.LGTD,
+        cs2.LTTD,
+        cs2.ADDVNM,
+        cs2.FDL,
+        rsv.FSLTDZ
+        FROM (
+        SELECT
+        STCD,
+        TM,
+        RZ,
+        INQ,
+        W,
+        OTQ
+        FROM
+        dbo.ST_RSVR_R
+        WHERE
+        TM &gt;=#{beginTime}
+        AND TM&lt;=#{endTime}
+        AND STCD IN (${code})
+        ) cs
+        LEFT JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD
+        AND cs.TM = cs1.TM
+        LEFT JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
+        LEFT JOIN (SELECT FSLTDZ, STCD
+        FROM dbo.ST_RSVRFSR_B
+        WHERE BGMD = #{egmd}
+        AND EDMD = #{edmd}
+        AND FSLTDZ IS NOT NULL) rsv ON rsv.STCD = cs.STCD
+        ) D
+        LEFT JOIN (
+        SELECT isnull(RZ, 0) AS RZS,
+        STCD
+        FROM ST_RSVR_R
+        WHERE TM = #{tm}
+        AND STCD IN (${code})
+        ) rsvr ON rsvr.STCD = D.STCD
+    </select>
 </mapper>

--
Gitblit v1.9.3