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 > #{dateEnd3}
+ WHERE s.TM > #{dateEnd2}
AND s.TM <= #{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 > #{dateEnd6}
+ WHERE strs.TM > #{dateEnd3}
AND strs.TM <= #{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 > #{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 > #{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 > #{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 > #{time3}
+ AND TM <= #{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 > #{dateEnd} AND TM <= #{time}) AS A
+ GROUP BY A.STCD
+ ) cs
+ INNER JOIN (SELECT STCD, TM, Z FROM dbo.ST_RIVER_R where TM > #{dateEnd} AND TM <= #{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 > #{begintime24} AND TM <= #{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 > #{dateEnd} AND TM <= #{time}) AS A
+ GROUP BY A.STCD
+ ) cs
+ INNER JOIN (SELECT STCD, TM, Z FROM dbo.ST_RIVER_R where TM > #{dateEnd} AND TM <= #{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 > #{begintime24} AND TM <= #{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 > #{dateEnd1}
+ AND str.TM <= #{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 > #{dateEnd2}
+ AND str.TM <= #{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 > #{dateEnd3}
+ AND str.TM <= #{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 > #{time3}
- AND TM <= #{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 > #{dateEnd1}
+ AND str.TM <= #{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 > #{dateEnd2}
+ AND str.TM <= #{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 > #{dateEnd3}
+ AND str.TM <= #{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>
+
+
+<!-- <!–土壤湿度优化–>-->
+<!-- <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