From b8bc64fb57ba906eba17f1fc9d87e5c789e39a0c Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Wed, 08 Sep 2021 10:38:29 +0800
Subject: [PATCH] 1.单位

---
 src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml             |  293 +++++++++++++++++++++++++++--------------
 src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java    |   89 ++++++++++++
 src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java |   10 +
 src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java         |    3 
 src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java            |    2 
 5 files changed, 296 insertions(+), 101 deletions(-)

diff --git a/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java b/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
index d3e3bb2..dc7d8c6 100644
--- a/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
+++ b/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
@@ -449,5 +449,94 @@
 
 	}
 
+
+	/**
+	 * 查询洪水预警
+	 */
+	@ApiLog("查询洪水预警")
+	@GetMapping("/sss")
+	public R selectcInfoss(int type,String time,String dateEnds1,String dateEnds3,String dateEnds6,String dateEnds24,int k,String timei) {
+		if (type == 0 && k==13) {
+			//当前时间
+			String times = time;
+
+			String dateEnd1 = dateEnds1;
+
+			String timess=timei;
+
+			//三个小时前的时间
+			String dateEnd3 =dateEnds3;
+
+			//六个小时前的时间
+			String dateEnd6 =dateEnds6;
+
+			//二十四个小时前的时间
+			String dateEnd24 =dateEnds24;
+
+			//对应雨量站
+			long startTime=System.currentTimeMillis();
+			String s = mountainrainService.selectCode();
+			String[] split = s.split(",");
+			String strArrays = "";
+			for (int i = 0; i < split.length; i++) {
+				strArrays += "'" + split[i] + "',";
+			}
+			String code = strArrays.substring(0, strArrays.length() - 1);
+			List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.Mountains(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess,code);
+			long endTime=System.currentTimeMillis(); //获取结束时间
+			List<Map<String, Object>> lists = new ArrayList<>();
+			for (int i = 0; i < mountainrainsCVOS.size(); i++) {
+				if (mountainrainsCVOS.get(i).getCenconding()==null){
+					continue;
+				}
+				Map<String, Object> map = new HashMap<String, Object>();
+				int Max =mountainrainService .Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(),
+					mountainrainsCVOS.get(i).getGohour(), mountainrainsCVOS.get(i).getGthour());
+				map.put("List", mountainrainsCVOS.get(i));
+				map.put("Max", Max);
+				lists.add(map);
+			}
+			System.out.println("程序运行时间: "+(endTime-startTime)+"ms");
+			return R.data(lists);
+
+		}
+		else {
+			//当前时间
+			String times = time;
+
+			String dateEnd1 = dateEnds1;
+
+			String timess=timei;
+
+			//三个小时前的时间
+			String dateEnd3 =dateEnds3;
+
+			//六个小时前的时间
+			String dateEnd6 =dateEnds6;
+
+			//二十四个小时前的时间
+			String dateEnd24 =dateEnds24;
+
+			//对应雨量站
+			List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.selectcInfo(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess);
+			List<Map<String, Object>> lists = new ArrayList<>();
+			for (int i = 0; i < mountainrainsCVOS.size(); i++) {
+				Map<String, Object> map = new HashMap<String, Object>();
+				int Max = mountainrainService.Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(),
+					mountainrainsCVOS.get(i).getGohour(), mountainrainsCVOS.get(i).getGthour());
+				/*if(Max==0){
+					continue;
+				}*/
+				map.put("List", mountainrainsCVOS.get(i));
+				map.put("Max", Max);
+				lists.add(map);
+
+			}
+			return R.data(lists);
+		}
+
+	}
+
+
 }
 
diff --git a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
index 56156fb..122b5bc 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
@@ -56,6 +56,7 @@
 
 
 	List<MountainrainsCVO> selectcInfos(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
+	List<MountainrainsCVO> Mountains(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess,String code);
 	List<MountainrainsCVO> selectcInfosdx(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String addvnm);
 	List<MountainrainsCVO> selectaInfos(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
 	List<MountainrainsCVO> selectaInfosdx(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String addvnm);
@@ -112,4 +113,5 @@
 									  String fymdh,String s2);
 
 	Integer selectCount(String beginTime,String endTime);
+	String selectCode();
 }
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 cf67c04..654b401 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
@@ -106,7 +106,8 @@
 
 
     <select id="selectMountainrainPage" resultMap="mountainrainResultMap">
-        select * from blade_mountainrain
+        select *
+        from blade_mountainrain
     </select>
     <select id="selectNoticePage" resultMap="ResultMap">
         SELECT
@@ -132,124 +133,216 @@
         dbo.blade_mountain mr
         where 1=1
         <if test="mountainrainSSVO.crainfall!=null">
-            and mr.crainfall like  '%' +  #{mountainrainSSVO.crainfall} + '%'
+            and mr.crainfall like '%' + #{mountainrainSSVO.crainfall} + '%'
         </if>
         <if test="mountainrainSSVO.arainfall!=null">
-            and mr.arainfall like  '%' +  #{mountainrainSSVO.arainfall} + '%'
+            and mr.arainfall like '%' + #{mountainrainSSVO.arainfall} + '%'
         </if>
         <if test="mountainrainSSVO.township!=null">
-            and mr.township like  '%' +  #{mountainrainSSVO.township} + '%'
+            and mr.township like '%' + #{mountainrainSSVO.township} + '%'
         </if>
         <if test="mountainrainSSVO.village_group!=null">
-            and mr.village_group like  '%' +  #{mountainrainSSVO.village_group} + '%'
+            and mr.village_group like '%' + #{mountainrainSSVO.village_group} + '%'
         </if>
         <if test="mountainrainSSVO.county!=null">
-            and mr.county like  '%' +  #{mountainrainSSVO.county} + '%'
+            and mr.county like '%' + #{mountainrainSSVO.county} + '%'
         </if>
         <if test="mountainrainSSVO.village!=null">
-            and mr.village like  '%' +  #{mountainrainSSVO.village} + '%'
+            and mr.village like '%' + #{mountainrainSSVO.village} + '%'
         </if>
         ORDER BY mr.cenconding
     </select>
     <select id="selectInfo" resultMap="ResultMap">
-        SELECT
-            mr.id,
-            mr.cenconding,
-            mr.aconding,
-            mr.township,
-            mr.village,
-            mr.village_group as village_group,
-            mr.dj,
-            mr.bw,
-            mr.fyear,
-            mr.tyear,
-            mr.oyear,
-            mr.county,
-            mr.crainfall,
-            mr.arainfall,
-            isnull(mr.gohour,0) gohour,
-            isnull(mr.gthour,0) gthour,
-            isnull(mr.gshour,0) gshour,
-            isnull(mr.imohour,0) imohour,
-            isnull(mr.imthour,0) imthour,
-            isnull(mr.imshour,0) imshour
-        FROM
-            dbo.blade_mountain mr
-        where mr.id=#{id}
+        SELECT mr.id,
+               mr.cenconding,
+               mr.aconding,
+               mr.township,
+               mr.village,
+               mr.village_group as   village_group,
+               mr.dj,
+               mr.bw,
+               mr.fyear,
+               mr.tyear,
+               mr.oyear,
+               mr.county,
+               mr.crainfall,
+               mr.arainfall,
+               isnull(mr.gohour, 0)  gohour,
+               isnull(mr.gthour, 0)  gthour,
+               isnull(mr.gshour, 0)  gshour,
+               isnull(mr.imohour, 0) imohour,
+               isnull(mr.imthour, 0) imthour,
+               isnull(mr.imshour, 0) imshour
+        FROM dbo.blade_mountain mr
+        where mr.id = #{id}
     </select>
 
 
     <select id="selectcInfos" 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,
+               css.drp1,
+               cs2.drp3,
+               cs6.drp6,
+               isnull(csd.dyp, 0)     dyp,
+               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
+        FROM (SELECT id,
+                     cenconding,
+                     crainfall,
+                     township,
+                     village,
+                     village_group,
+                     dj,
+                     bw,
+                     county,
+                     fyear,
+                     tyear,
+                     oyear,
+                     gohour,
+                     gthour,
+                     gshour,
+                     imohour,
+                     imthour,
+                     imshour
+              FROM blade_mountain) cs
+                 INNER JOIN (
+            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}
+            GROUP BY STCD
+        ) css ON css.STCD = cs.cenconding
+                 FULL JOIN (
+            SELECT ISNULL(SUM(s.DRP), 0) AS drp3,
+                   STCD
+            FROM dbo.ST_PPTN_R s
+            WHERE s.TM &gt; #{dateEnd3}
+              AND s.TM &lt;= #{times}
+            GROUP BY STCD
+        ) cs2 ON cs2.STCD = cs.cenconding
+                 FULL JOIN (
+            SELECT ISNULL(SUM(strs.DRP), 0) AS drp6,
+                   STCD
+            FROM dbo.ST_PPTN_R strs
+            WHERE strs.TM &gt; #{dateEnd6}
+              AND strs.TM &lt;= #{times}
+            GROUP BY STCD
+        ) cs6 ON cs6.STCD = cs.cenconding
+                 FULL JOIN (
+            SELECT SUM(strd.DRP) AS dyp,
+                   STCD
+            FROM dbo.ST_PPTN_R strd
+            WHERE strd.TM &gt; #{timess}
+              AND strd.TM &lt;= #{times}
+            GROUP BY STCD
+        ) csd on csd.STCD = cs.cenconding
+    </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">
         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,
-            css.drp1,
-            cs2.drp3,
-            cs6.drp6,
-            isnull(csd.dyp,0) dyp,
-            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
+        a.drp1,
+        b.drp3,
+        c.drp6,
+        d.dyp,
+        cs.*
         FROM
-            ( SELECT id,cenconding,crainfall,township, village, village_group, dj, bw,county,fyear,tyear,oyear,gohour,gthour,gshour,imohour,imthour,imshour FROM blade_mountain ) cs
-                INNER JOIN (
-                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}
-                GROUP BY
-                    STCD
-            ) css ON css.STCD = cs.cenconding
-                FULL JOIN (
-                SELECT
-                    ISNULL( SUM ( s.DRP ), 0 ) AS drp3,
-                    STCD
-                FROM
-                    dbo.ST_PPTN_R s
-                WHERE
-                    s.TM &gt;#{dateEnd3}
-                  AND s.TM &lt;=#{times}
-                GROUP BY
-                    STCD
-            ) cs2 ON cs2.STCD = cs.cenconding
-                FULL JOIN (
-                SELECT
-                    ISNULL( SUM ( strs.DRP ), 0 ) AS drp6,
-                    STCD
-                FROM
-                    dbo.ST_PPTN_R strs
-                WHERE
-                    strs.TM &gt;#{dateEnd6}
-                  AND strs.TM &lt;=#{times}
-                GROUP BY
-                    STCD
-            ) cs6 ON cs6.STCD = cs.cenconding
-                FULL JOIN (
-                SELECT
-                    SUM( strd.DRP ) AS dyp,STCD
-                FROM
-                    dbo.ST_PPTN_R strd
-                WHERE
-                    strd.TM &gt;#{timess}
-                  AND strd.TM &lt;=#{times}
-                GROUP BY STCD
-            ) csd on csd.STCD=cs.cenconding
+        (
+        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
+        FULL JOIN (
+        SELECT
+        ISNULL( SUM ( s.DRP ), 0 ) AS drp3,
+        STCD
+        FROM
+        dbo.ST_PPTN_R s
+        WHERE
+        s.TM&gt;#{dateEnd3}
+        AND s.TM&lt;= #{times}
+        AND s.STCD IN (${code})
+        GROUP BY
+        s.STCD
+        ) b ON a.STCD= b.STCD
+        FULL JOIN (
+        SELECT
+        ISNULL( SUM ( strs.DRP ), 0 ) AS drp6,
+        STCD
+        FROM
+        dbo.ST_PPTN_R strs
+        WHERE
+        strs.TM &gt;#{dateEnd6}
+        AND strs.TM&lt;= #{times} AND strs.STCD IN (${code})
+        GROUP BY
+        STCD
+        ) c ON a.STCD= c.STCD
+        FULL JOIN (
+        SELECT
+        SUM( strd.DRP ) AS dyp,STCD
+        FROM
+        dbo.ST_PPTN_R strd
+        WHERE
+        strd.TM&gt; #{timess}
+        AND strd.TM&lt;= #{times} AND strd.STCD IN (${code})
+        GROUP BY STCD
+        ) d on d.STCD=a.STCD
+        LEFT JOIN (
+        SELECT
+        id,
+        cenconding,
+        crainfall,
+        township,
+        village,
+        village_group,
+        dj,
+        bw,
+        county,
+        fyear,
+        tyear,
+        oyear,
+        gohour,
+        gthour,
+        gshour,
+        imohour,
+        imthour,
+        imshour
+        FROM
+        blade_mountain
+        ) cs ON cs.cenconding= a.STCD
     </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java b/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
index 851d4d9..3d6ad79 100644
--- a/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
+++ b/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
@@ -122,7 +122,7 @@
 	 * @return
 	 */
 	int rainOne(int number,Integer gohour);
-
+	List<MountainrainsCVO> Mountains(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess,String code);
 
 	/**
 	 *三小时
@@ -130,4 +130,5 @@
 	 * @return
 	 */
 	int rainthree(int number,Integer gthour);
+	String selectCode();
 }
diff --git a/src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java b/src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java
index 8b525f0..742dcfe 100644
--- a/src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java
+++ b/src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java
@@ -378,6 +378,11 @@
 	}
 
 	@Override
+	public List<MountainrainsCVO> Mountains(String times, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String timess, String code) {
+		return baseMapper.Mountains(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6, timess, code);
+	}
+
+	@Override
 	public int rainthree(int number, Integer gthour) {
 		if (number<=gthour){
 			return 0;//正常
@@ -389,6 +394,11 @@
 		}
 	}
 
+	@Override
+	public String selectCode() {
+		return baseMapper.selectCode();
+	}
+
 
 	/*
 	 * 计算最大值

--
Gitblit v1.9.3