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/MountainrainMapper.xml |  577 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 542 insertions(+), 35 deletions(-)

diff --git a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
index 27d9636..d9c40c1 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
@@ -258,12 +258,24 @@
     <select id="selectCode" resultType="java.lang.String">
         SELECT stuff((
             SELECT ',' + CONVERT(VARCHAR (25), m.cenconding)
-            FROM dbo.blade_mountain m INNER JOIN ST_STBPRP_B s ON  s.STCD=m.cenconding  GROUP BY m.cenconding   FOR XML PATH ('')),
-		1,
-		1,
-	''
-	) AS siteids
+            FROM dbo.blade_mountain m
+                     INNER JOIN ST_STBPRP_B s ON s.STCD = m.cenconding
+            GROUP BY m.cenconding FOR XML PATH ('')),
+    		1,
+    		1,
+    	''
+    	) AS siteids
     </select>
+
+    <!--    <select id="selectCode" resultType="java.lang.String">-->
+    <!--        SELECT stuff((-->
+    <!--            SELECT ',' + CONVERT(VARCHAR (25), cenconding)-->
+    <!--            FROM dbo.blade_mountain FOR XML PATH ('')),-->
+    <!--		1,-->
+    <!--		1,-->
+    <!--	''-->
+    <!--	) AS siteids-->
+    <!--    </select>-->
 
     <select id="Mountains" resultMap="mountainrainResultMapcInfo">
         SELECT cs.id,
@@ -303,7 +315,7 @@
             SELECT ISNULL(SUM(s.DRP), 0) AS drp2,
                    STCD
             FROM dbo.ST_PPTN_R s
-            WHERE s.TM &gt; #{dateEnd3}
+            WHERE s.TM &gt; #{dateEnd2}
               AND s.TM &lt;= #{times}
               AND s.STCD IN (${code})
             GROUP BY s.STCD
@@ -312,7 +324,7 @@
             SELECT ISNULL(SUM(strs.DRP), 0) AS drp3,
                    STCD
             FROM dbo.ST_PPTN_R strs
-            WHERE strs.TM &gt; #{dateEnd6}
+            WHERE strs.TM &gt; #{dateEnd3}
               AND strs.TM &lt;= #{times}
               AND strs.STCD IN (${code})
             GROUP BY STCD
@@ -340,6 +352,10 @@
                    gthours
             FROM blade_mountain
         ) cs ON cs.cenconding = a.STCD
+                 inner JOIN (
+            SELECT stcd, soilval
+            FROM sys_soleval
+        ) so ON so.stcd = a.STCD
     </select>
 
     <!--第一种预警-->
@@ -352,11 +368,11 @@
                cs.HNNM,
                cs.LTTD,
                cs.LGTD,
-               isnull(a.drp1, 0) as drp1
-            isnull(b.drp2,0) as drp2
-            isnull(c.drp3,0) as drp3
+               isnull(a.drp1, 0) as drp1,
+               isnull(b.drp2, 0) as drp2,
+               isnull(c.drp3, 0) as drp3
         FROM (
-                 SELECT ISNULL(SUM(str.DRP), 0) AS drp1,
+                 SELECT SUM(str.DRP) AS drp1,
                         STCD
                  FROM dbo.ST_PPTN_R str
                  WHERE str.TM &gt; #{dateEnd1}
@@ -365,7 +381,7 @@
                  GROUP BY str.STCD
              ) a
                  FULL JOIN (
-            SELECT ISNULL(SUM(s.DRP), 0) AS drp2,
+            SELECT SUM(s.DRP) AS drp2,
                    STCD
             FROM dbo.ST_PPTN_R s
             WHERE s.TM &gt; #{dateEnd2}
@@ -374,7 +390,7 @@
             GROUP BY s.STCD
         ) b ON a.STCD = b.STCD
                  FULL JOIN (
-            SELECT ISNULL(SUM(strs.DRP), 0) AS drp3,
+            SELECT SUM(strs.DRP) AS drp3,
                    STCD
             FROM dbo.ST_PPTN_R strs
             WHERE strs.TM &gt; #{dateEnd3}
@@ -382,6 +398,87 @@
               AND strs.STCD IN (${code})
             GROUP BY STCD
         ) c ON a.STCD = c.STCD
+                 INNER JOIN (
+            SELECT STCD,
+                   st.STNM,
+                   st.ADDVCD,
+                   st.STLC,
+                   st.LTTD,
+                   st.LGTD,
+                   st.RVNM,
+                   st.HNNM,
+                   ad.ADDVNM
+            FROM dbo.ST_STBPRP_B st
+                     INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
+        ) cs ON cs.STCD = a.STCD
+    </select>
+
+    <!--土壤湿度计算-->
+    <select id="selectMtwo" resultType="java.util.Map">
+        SELECT ISNULL(SUM(DRP), 0) AS drp,
+               STCD
+        FROM dbo.ST_PPTN_R
+        WHERE TM &gt; #{time3}
+          AND TM &lt;= #{time}
+          AND STCD IN (${code})
+        GROUP BY STCD
+    </select>
+
+    <insert id="soleInster">
+        insert
+        sys_soleval(stcd,soilval,stime) value (
+        #{stcd},
+        #{soilval},
+        #{stime}
+        )
+    </insert>
+
+    <delete id="soildel">
+        DELETE
+        FROM sys_soleval
+    </delete>
+
+
+    <!--通过行政区编码查询站点-->
+    <select id="selectAddvcd" resultType="java.util.Map">
+        SELECT STCD
+        FROM dbo.ST_STBPRP_B
+        WHERE 1=1
+        <if test="addvcd!=null and addvcd!='' and addvcd!='361000'">
+            and ADDVCD = #{addvcd}
+        </if>
+        AND (STTP = 'PP'
+        OR STTP = 'ZQ'
+        OR STTP = 'ZZ')
+    </select>
+
+    <!-- 批量插入预报信息-->
+    <insert id="insertYuc" parameterType="java.util.List">
+        insert into sys_yucpptn
+        (STCD,TM,DRP,INTV)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (
+            #{item.STCD},#{item.TM},
+            #{item.DRP},
+            #{item.INTV}
+            )
+        </foreach>
+    </insert>
+
+    <!--预报雨量站预警-->
+    <select id="selectYup" resultType="java.util.Map">
+        SELECT cs.STCD,
+               cs.STNM,
+               cs.STLC,
+               cs.ADDVNM,
+               cs.RVNM,
+               cs.HNNM,
+               cs.LTTD,
+               cs.LGTD,
+               isnull(a.drp, 0) AS drp,
+               a.INTV
+        FROM (SELECT str.DRP AS drp, STCD, INTV FROM sys_yucpptn str) a
                  LEFT JOIN (
             SELECT STCD,
                    st.STNM,
@@ -395,34 +492,444 @@
             FROM dbo.ST_STBPRP_B st
                      INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
         ) cs ON cs.STCD = a.STCD
+    </select>
+
+    <delete id="del">
+        delete
+        from sys_yucpptn
+    </delete>
+
+
+    <!--第二种预警-->
+    <select id="selectYum" resultMap="mountainrainResultMapcInfo">
+        SELECT cs.id,
+               cs.cenconding,
+               cs.crainfall,
+               isnull(cs.gohour, 0)     gohour,
+               isnull(cs.gthour, 0)     gthour,
+               isnull(cs.gshour, 0)     gshour,
+               isnull(cs.imohour, 0)    imohour,
+               isnull(cs.imthour, 0)    imthour,
+               isnull(cs.imshour, 0)    imshour,
+               isnull(cs.gohours, 0)    gohours,
+               isnull(cs.gthours, 0)    gthours,
+               a.drp1,
+               cs.township,
+               cs.village,
+               cs.village_group,
+               cs.dj,
+               cs.bw,
+               cs.county,
+               isnull(cs.fyear, 0)   AS fyear,
+               isnull(cs.tyear, 0)   AS tyear,
+               isnull(cs.oyear, 0)   AS oyear,
+               isnull(so.soilval, 0) AS soilval
+        FROM (SELECT DRP AS drp1, STCD FROM sys_yucpptn) a
+                 LEFT JOIN (
+            SELECT id,
+                   cenconding,
+                   crainfall,
+                   township,
+                   village,
+                   village_group,
+                   dj,
+                   bw,
+                   county,
+                   fyear,
+                   tyear,
+                   oyear,
+                   gohour,
+                   gthour,
+                   gshour,
+                   imohour,
+                   imthour,
+                   imshour,
+                   gohours,
+                   gthours
+            FROM blade_mountain
+        ) cs ON cs.cenconding = a.STCD
+                 INNER JOIN (SELECT stcd, soilval FROM sys_soleval) so ON so.stcd = a.STCD
+    </select>
+
+
+    <!--中小河流-->
+    <select id="selctsmriver" resultType="java.util.Map">
+        SELECT cs1.STCD,
+               cs1.TM,
+               cs1.Z,
+               sm.yjsw,
+               sm.stname,
+               sm.river,
+               sm.addvnm,
+               st.LGTD,
+               st.LTTD,
+               st.HNNM,
+               cs2.minz
+        FROM (
+                 SELECT A.STCD,
+                        MAX(A.TM) TM
+                 FROM (SELECT STCD, TM FROM dbo.ST_RIVER_R where TM &gt; #{dateEnd} AND TM &lt;= #{time}) AS A
+                 GROUP BY A.STCD
+             ) cs
+                 INNER JOIN (SELECT STCD, TM, Z FROM dbo.ST_RIVER_R where TM &gt; #{dateEnd} AND TM &lt;= #{time}) cs1
+                            ON cs.STCD = cs1.STCD
+                                AND cs.TM = cs1.TM
+                 INNER JOIN (SELECT stcd, yjsw, stname, river, addvnm
+                             FROM sys_smallriver
+                             GROUP BY stcd, yjsw, stname, river, addvnm) sm ON sm.stcd = cs1.STCD
+                 INNER JOIN (SELECT LGTD, LTTD, STCD,HNNM FROM ST_STBPRP_B) st ON st.STCD = cs1.STCD
+                 INNER JOIN (SELECT MIN(Z) AS minz, STCD
+                             FROM dbo.ST_RIVER_R
+                             where TM &gt; #{begintime24} AND TM &lt;= #{time}
+                             GROUP BY STCD) cs2 ON cs.STCD = cs2.STCD
+    </select>
+    <!--大江大河-->
+    <select id="selctbgriver" resultType="java.util.Map">
+        SELECT cs1.STCD,
+               cs1.TM,
+               cs1.Z,
+               sm.yjsw,
+               sm.stname,
+               sm.river,
+               sm.addvnm,
+               st.LGTD,
+               st.LTTD,
+               st.HNNM,
+               cs2.minz
+        FROM (
+                 SELECT A.STCD,
+                        MAX(A.TM) TM
+                 FROM (SELECT STCD, TM FROM dbo.ST_RIVER_R where TM &gt; #{dateEnd} AND TM &lt;= #{time}) AS A
+                 GROUP BY A.STCD
+             ) cs
+                 INNER JOIN (SELECT STCD, TM, Z FROM dbo.ST_RIVER_R where TM &gt; #{dateEnd} AND TM &lt;= #{time}) cs1
+                            ON cs.STCD = cs1.STCD
+                                AND cs.TM = cs1.TM
+                 INNER JOIN (SELECT stcd, yjsw, stname, river, addvnm
+                             FROM sys_bigriver
+                             GROUP BY stcd, yjsw, stname, river, addvnm) sm ON sm.stcd = cs1.STCD
+                 INNER JOIN (SELECT LGTD, LTTD, STCD, HNNM FROM ST_STBPRP_B) st ON st.STCD = cs1.STCD
+                 INNER JOIN (SELECT MIN(Z) AS minz, STCD
+                             FROM dbo.ST_RIVER_R
+                             where TM &gt; #{begintime24} AND TM &lt;= #{time}
+                             GROUP BY STCD) cs2 ON cs.STCD = cs2.STCD
+    </select>
+
+
+    <select id="selectTu" resultType="java.util.Map">
+        SELECT m.cenconding,
+               m.village_group      as village,
+               m.county,
+               isnull(s.soilval, 0) AS soilval
+        FROM blade_mountain m
+                 LEFT JOIN sys_soleval s ON s.stcd = m.cenconding
+        GROUP BY m.cenconding,
+                 s.soilval,
+                 m.village_group,
+                 m.county
+    </select>
+
+
+    <!--山洪1小时预警-->
+    <select id="MountainYi" resultMap="mountainrainResultMapcInfo">
+        SELECT cs.id,
+               cs.cenconding,
+               cs.crainfall,
+               isnull(cs.gohour, 0)     gohour,
+               isnull(cs.gthour, 0)     gthour,
+               isnull(cs.gshour, 0)     gshour,
+               isnull(cs.imohour, 0)    imohour,
+               isnull(cs.imthour, 0)    imthour,
+               isnull(cs.imshour, 0)    imshour,
+               isnull(cs.gohours, 0)    gohours,
+               isnull(cs.gthours, 0)    gthours,
+               a.drp1,
+               cs.township,
+               cs.village,
+               cs.village_group,
+               cs.dj,
+               cs.bw,
+               cs.county,
+               isnull(cs.fyear, 0)   as fyear,
+               isnull(cs.tyear, 0)   as tyear,
+               isnull(cs.oyear, 0)   as oyear,
+               isnull(so.soilval, 0) as soilval
+        FROM (
+                 SELECT ISNULL(SUM(str.DRP), 0) AS drp1,
+                        STCD
+                 FROM dbo.ST_PPTN_R str
+                 WHERE str.TM &gt; #{dateEnd1}
+                   AND str.TM &lt;= #{times}
+                   AND str.STCD IN (${code})
+                 GROUP BY str.STCD
+             ) a
+                 LEFT JOIN (
+            SELECT id,
+                   cenconding,
+                   crainfall,
+                   township,
+                   village,
+                   village_group,
+                   dj,
+                   bw,
+                   county,
+                   fyear,
+                   tyear,
+                   oyear,
+                   gohour,
+                   gthour,
+                   gshour,
+                   imohour,
+                   imthour,
+                   imshour,
+                   gohours,
+                   gthours
+            FROM blade_mountain
+        ) cs ON cs.cenconding = a.STCD
                  LEFT JOIN (
             SELECT stcd, soilval
-            FROM sys_soleval
+            FROM sys_soleval where datediff(day,stime, #{stime}) = 0
+        ) so ON so.stcd = a.STCD
+    </select>
+    <!--山洪2小时预警-->
+    <select id="MountainTw" resultMap="mountainrainResultMapcInfo">
+        SELECT cs.id,
+               cs.cenconding,
+               cs.crainfall,
+               isnull(cs.gohour, 0)     gohour,
+               isnull(cs.gthour, 0)     gthour,
+               isnull(cs.gshour, 0)     gshour,
+               isnull(cs.imohour, 0)    imohour,
+               isnull(cs.imthour, 0)    imthour,
+               isnull(cs.imshour, 0)    imshour,
+               isnull(cs.gohours, 0)    gohours,
+               isnull(cs.gthours, 0)    gthours,
+               a.drp1,
+               cs.township,
+               cs.village,
+               cs.village_group,
+               cs.dj,
+               cs.bw,
+               cs.county,
+               isnull(cs.fyear, 0)   as fyear,
+               isnull(cs.tyear, 0)   as tyear,
+               isnull(cs.oyear, 0)   as oyear,
+               isnull(so.soilval, 0) as soilval
+        FROM (
+                 SELECT ISNULL(SUM(str.DRP), 0) AS drp1,
+                        STCD
+                 FROM dbo.ST_PPTN_R str
+                 WHERE str.TM &gt; #{dateEnd2}
+                   AND str.TM &lt;= #{times}
+                   AND str.STCD IN (${code})
+                 GROUP BY str.STCD
+             ) a
+                 LEFT JOIN (
+            SELECT id,
+                   cenconding,
+                   crainfall,
+                   township,
+                   village,
+                   village_group,
+                   dj,
+                   bw,
+                   county,
+                   fyear,
+                   tyear,
+                   oyear,
+                   gohour,
+                   gthour,
+                   gshour,
+                   imohour,
+                   imthour,
+                   imshour,
+                   gohours,
+                   gthours
+            FROM blade_mountain
+        ) cs ON cs.cenconding = a.STCD
+                 LEFT JOIN (
+            SELECT stcd, soilval
+            FROM sys_soleval where datediff(day,stime, #{stime}) = 0
+        ) so ON so.stcd = a.STCD
+    </select>
+    <select id="MountainTr" resultMap="mountainrainResultMapcInfo">
+        SELECT cs.id,
+               cs.cenconding,
+               cs.crainfall,
+               isnull(cs.gohour, 0)     gohour,
+               isnull(cs.gthour, 0)     gthour,
+               isnull(cs.gshour, 0)     gshour,
+               isnull(cs.imohour, 0)    imohour,
+               isnull(cs.imthour, 0)    imthour,
+               isnull(cs.imshour, 0)    imshour,
+               isnull(cs.gohours, 0)    gohours,
+               isnull(cs.gthours, 0)    gthours,
+               a.drp1,
+               cs.township,
+               cs.village,
+               cs.village_group,
+               cs.dj,
+               cs.bw,
+               cs.county,
+               isnull(cs.fyear, 0)   as fyear,
+               isnull(cs.tyear, 0)   as tyear,
+               isnull(cs.oyear, 0)   as oyear,
+               isnull(so.soilval, 0) as soilval
+        FROM (
+                 SELECT ISNULL(SUM(str.DRP), 0) AS drp1,
+                        STCD
+                 FROM dbo.ST_PPTN_R str
+                 WHERE str.TM &gt; #{dateEnd3}
+                   AND str.TM &lt;= #{times}
+                   AND str.STCD IN (${code})
+                 GROUP BY str.STCD
+             ) a
+                 LEFT JOIN (
+            SELECT id,
+                   cenconding,
+                   crainfall,
+                   township,
+                   village,
+                   village_group,
+                   dj,
+                   bw,
+                   county,
+                   fyear,
+                   tyear,
+                   oyear,
+                   gohour,
+                   gthour,
+                   gshour,
+                   imohour,
+                   imthour,
+                   imshour,
+                   gohours,
+                   gthours
+            FROM blade_mountain
+        ) cs ON cs.cenconding = a.STCD
+                 LEFT JOIN (
+            SELECT stcd, soilval
+            FROM sys_soleval where datediff(day,stime, #{stime}) = 0
         ) so ON so.stcd = a.STCD
     </select>
 
-    <!--土壤湿度计算-->
-    <select id="selectMtwo" resultType="java.util.Map">
-        SELECT SUM
-                   (DRP) AS drp,
-               STCD
-        FROM dbo.ST_PPTN_R
-        WHERE TM &gt; #{time3}
-          AND TM &lt;= #{time}
-          AND STCD IN (${code})
-        GROUP BY STCD
+    <!--第一种预警一小时-->
+    <select id="selecMoneYi" resultType="java.util.Map">
+        SELECT cs.STCD,
+               cs.STNM,
+               cs.STLC,
+               cs.ADDVNM,
+               cs.RVNM,
+               cs.HNNM,
+               cs.LTTD,
+               cs.LGTD,
+               isnull(a.drp1, 0) as drp1
+        FROM (
+                 SELECT SUM(str.DRP) AS drp1,
+                        STCD
+                 FROM dbo.ST_PPTN_R str
+                 WHERE str.TM &gt; #{dateEnd1}
+                   AND str.TM &lt;= #{times}
+                   AND str.STCD IN (${code})
+                 GROUP BY str.STCD
+             ) a
+                 INNER JOIN (
+            SELECT STCD,
+                   st.STNM,
+                   st.ADDVCD,
+                   st.STLC,
+                   st.LTTD,
+                   st.LGTD,
+                   st.RVNM,
+                   st.HNNM,
+                   ad.ADDVNM
+            FROM dbo.ST_STBPRP_B st
+                     INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
+        ) cs ON cs.STCD = a.STCD
+    </select>
+    <!--第一种预警两小时-->
+    <select id="selecMoneTw" resultType="java.util.Map">
+        SELECT cs.STCD,
+               cs.STNM,
+               cs.STLC,
+               cs.ADDVNM,
+               cs.RVNM,
+               cs.HNNM,
+               cs.LTTD,
+               cs.LGTD,
+               isnull(a.drp1, 0) as drp1
+        FROM (
+                 SELECT SUM(str.DRP) AS drp1,
+                        STCD
+                 FROM dbo.ST_PPTN_R str
+                 WHERE str.TM &gt; #{dateEnd2}
+                   AND str.TM &lt;= #{times}
+                   AND str.STCD IN (${code})
+                 GROUP BY str.STCD
+             ) a
+                 INNER JOIN (
+            SELECT STCD,
+                   st.STNM,
+                   st.ADDVCD,
+                   st.STLC,
+                   st.LTTD,
+                   st.LGTD,
+                   st.RVNM,
+                   st.HNNM,
+                   ad.ADDVNM
+            FROM dbo.ST_STBPRP_B st
+                     INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
+        ) cs ON cs.STCD = a.STCD
+    </select>
+    <select id="selecMoneTr" resultType="java.util.Map">
+        SELECT cs.STCD,
+               cs.STNM,
+               cs.STLC,
+               cs.ADDVNM,
+               cs.RVNM,
+               cs.HNNM,
+               cs.LTTD,
+               cs.LGTD,
+               isnull(a.drp1, 0) as drp1
+        FROM (
+                 SELECT SUM(str.DRP) AS drp1,
+                        STCD
+                 FROM dbo.ST_PPTN_R str
+                 WHERE str.TM &gt; #{dateEnd3}
+                   AND str.TM &lt;= #{times}
+                   AND str.STCD IN (${code})
+                 GROUP BY str.STCD
+             ) a
+                 INNER JOIN (
+            SELECT STCD,
+                   st.STNM,
+                   st.ADDVCD,
+                   st.STLC,
+                   st.LTTD,
+                   st.LGTD,
+                   st.RVNM,
+                   st.HNNM,
+                   ad.ADDVNM
+            FROM dbo.ST_STBPRP_B st
+                     INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
+        ) cs ON cs.STCD = a.STCD
     </select>
 
-    <insert id="soleInster">
-        insert
-        sys_soleval(stcd,soilval) value (
-        #{stcd},
-        #{soilval}
-        )
-    </insert>
 
-    <delete id="soildel">
-        DELETE
-        FROM sys_soleval
-    </delete>
+    <!--土壤色斑图-->
+    <select id="selectS" resultType="java.util.Map">
+        SELECT so.stcd,
+               so.soilval,
+               st.LGTD,
+               st.LTTD
+        FROM sys_soleval so
+                 INNER JOIN dbo.ST_STBPRP_B st ON so.stcd = st.STCD
+        where datediff(day,stime, #{stime}) = 0
+    </select>
+
+
+<!--    &lt;!&ndash;土壤湿度优化&ndash;&gt;-->
+<!--    <select id="ss" resultType="java.util.Map">-->
+<!--        SELECT * FROM ST_PPTN_R WHERE DATEDIFF(dd, TM , '2021-06-29 08:00:00') <= 30 AND RIGHT(CONVERT(varchar(19),TM,120),5)='00:00'-->
+<!--    </select>-->
 </mapper>

--
Gitblit v1.9.3