From 7722d9782d843c2f36c5a94d3a295251c025b37b Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 12 Oct 2021 10:08:44 +0800
Subject: [PATCH] 1.山洪

---
 src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml |  504 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 485 insertions(+), 19 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 b358fe6..a6976b9 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
@@ -255,17 +255,27 @@
     </select>
 
 
-    <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
-    </select>
+        <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
+        </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,
@@ -342,7 +352,7 @@
                    gthours
             FROM blade_mountain
         ) cs ON cs.cenconding = a.STCD
-                 LEFT JOIN (
+                 inner JOIN (
             SELECT stcd, soilval
             FROM sys_soleval
         ) so ON so.stcd = a.STCD
@@ -388,7 +398,7 @@
               AND strs.STCD IN (${code})
             GROUP BY STCD
         ) c ON a.STCD = c.STCD
-                 LEFT JOIN (
+                 INNER JOIN (
             SELECT STCD,
                    st.STNM,
                    st.ADDVCD,
@@ -429,23 +439,479 @@
 
 
     <!--通过行政区编码查询站点-->
-    <select id="selectAddvcd" resultType="java.util.Map" >
+    <select id="selectAddvcd" resultType="java.util.Map">
         SELECT STCD
         FROM dbo.ST_STBPRP_B
-        WHERE STTP='RR' AND ADDVCD=#{addvcd}
+        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 id="insertYuc" parameterType="java.util.List">
         insert into sys_yucpptn
         (STCD,TM,DRP,INTV)
         values
-        <foreach collection ="list" item="item" index= "index" separator =",">
+        <foreach collection="list" item="item" index="index" separator=",">
             (
             #{item.STCD},#{item.TM},
             #{item.DRP},
             #{item.INTV}
             )
-        </foreach >
-    </insert >
+        </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,
+                   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>
+
+    <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
+        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 FROM ST_STBPRP_B) st ON st.STCD = cs1.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
+        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 FROM ST_STBPRP_B) st ON st.STCD = cs1.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
+        ) 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
+        ) 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
+        ) so ON so.stcd = a.STCD
+    </select>
+
+    <!--第一种预警一小时-->
+    <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>
+
+
+    <!--土壤色斑图-->
+    <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
+    </select>
 </mapper>

--
Gitblit v1.9.3