From 139987154fa26282b30cf237c13d999f5f5547a2 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 13 Sep 2021 08:40:26 +0800
Subject: [PATCH] 1.山洪

---
 src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml             |  254 +++++++++++++++---------
 src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java    |  145 ++++++++++----
 src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java |   24 ++
 src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java         |    7 
 src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java                   |   96 ++++----
 src/main/resources/application-dev.yml                                                       |    8 
 src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml             |    2 
 src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java            |    6 
 src/main/java/org/springblade/modules/mountainrain/vo/MountainrainsCVO.java                  |    3 
 9 files changed, 351 insertions(+), 194 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 f479446..d829e5e 100644
--- a/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
+++ b/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
@@ -20,6 +20,7 @@
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import liquibase.pro.packaged.M;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.log.annotation.ApiLog;
@@ -34,10 +35,17 @@
 import org.springblade.modules.mountainrain.service.IMountainrainService;
 import org.springblade.modules.mountainrain.vo.*;
 import org.springblade.modules.mountainrain.wrapper.MountainrainWrapper;
+import org.springblade.modules.regionWeight.service.IRegionWeightService;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import springfox.documentation.annotations.ApiIgnore;
 import javax.validation.Valid;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.*;
 
 /**
@@ -49,11 +57,13 @@
 @RestController
 @AllArgsConstructor
 @RequestMapping("/mountainrain")
+@Component
 @Api(value = "", tags = "接口")
 public class MountainrainController extends BladeController {
 
 	private IMountainrainService mountainrainService;
 	private IMountainService mountainService;
+	private final IRegionWeightService regionWeightService;
 
 
 	/**
@@ -395,7 +405,6 @@
 			//对应雨量站
 			long startTime=System.currentTimeMillis();
 			List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.selectcInfos(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess);
-			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){
@@ -408,7 +417,6 @@
 					map.put("Max", Max);
 					lists.add(map);
 			}
-			System.out.println("程序运行时间: "+(endTime-startTime)+"ms");
 			return R.data(lists);
 
 		}
@@ -436,9 +444,6 @@
 				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);
@@ -455,23 +460,19 @@
 	 */
 	@ApiLog("查询洪水预警")
 	@GetMapping("/sss")
-	public R selectcInfoss(int type,String time,String dateEnds1,String dateEnds3,String dateEnds6,String dateEnds24,int k,String timei) {
+	public R selectcInfoss(int type,String time,String dateEnds1,String dateEnds2,String dateEnds3,int k) {
+		//第二种方式预警
 		if (type == 0 && k==13) {
 			//当前时间
 			String times = time;
 
 			String dateEnd1 = dateEnds1;
 
-			String timess=timei;
+			//2个小时前的时间
+			String dateEnd2 =dateEnds2;
 
-			//三个小时前的时间
+			//3个小时前的时间
 			String dateEnd3 =dateEnds3;
-
-			//六个小时前的时间
-			String dateEnd6 =dateEnds6;
-
-			//二十四个小时前的时间
-			String dateEnd24 =dateEnds24;
 
 			//对应雨量站
 			String s = mountainrainService.selectCode();
@@ -481,59 +482,121 @@
 				strArrays += "'" + split[i] + "',";
 			}
 			String code = strArrays.substring(0, strArrays.length() - 1);
-			List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.Mountains(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess,code);
+			List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.Mountains(times, dateEnd1, dateEnd2, dateEnd3,code);
 			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);
+				if (mountainrainsCVOS.get(i).getSoilval()>30){
+					int Max =mountainrainService .Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(),
+						mountainrainsCVOS.get(i).getGohours(), mountainrainsCVOS.get(i).getGthours());
+					map.put("List", mountainrainsCVOS.get(i));
+					map.put("Max", Max);
+					lists.add(map);
+				}
+				else {
+					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);
+				}
+
 			}
 			return R.data(lists);
 
 		}
+		//第一种方式预警(雨量表数据)
 		else {
 			//当前时间
 			String times = time;
 
+			//一个小时前的时间
 			String dateEnd1 = dateEnds1;
 
-			String timess=timei;
+			//两个小时前的时间
+			String dateEnd2 =dateEnds2;
 
 			//三个小时前的时间
 			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);
+			String s = regionWeightService.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<Map<String, Integer>> list = mountainrainService.selecMone(times, dateEnd1, dateEnd2, dateEnd3, code);
+		    List list1= new ArrayList();
+		    List list2= new ArrayList();
+		    List list3= new ArrayList();
+			for (int i=0;i<list.size();i++){
+				if (list.get(i).get("drp1")>=30){
+						list1.add(list.get(i));
+				}
+				if (list.get(i).get("drp2")>=50) {
+					list2.add(list.get(i));
+				}
+				if (list.get(i).get("drp3")>=80) {
+					list3.add(list.get(i));
+				}
 
 			}
-			return R.data(lists);
+			Map map = new HashMap();
+			map.put("list1",list1);
+			map.put("list2",list2);
+			map.put("list2",list3);
+			return R.data(map);
 		}
 
 	}
 
+	/**
+	 * 土壤湿度计算
+	 * @return
+	 */
+	@Scheduled(cron = "0 0 8 * * ?")
+	@GetMapping("/soleval")
+	public R soleval() {
+		SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd 08:00:00" );
+		Date today = new Date();
+		String endDate = sdf .format( today ); //当前日期
+		//获取三十天前日期
+		Calendar theCa = Calendar. getInstance ();
+		theCa .setTime( today );
+		theCa .add( theCa . DATE , -30); //最后一个数字30可改,30天的意思
+		Date start = theCa .getTime();
+		String startDate = sdf .format( start ); //三十天之前日期
+		String s = mountainrainService.selectCode();
+		String[] split = s.split(",");
+		String strArrays = "";
+		Integer num=60;
+		for (int i = 0; i < split.length; i++) {
+			strArrays += "'" + split[i] + "',";
+		}
+		String code = strArrays.substring(0, strArrays.length() - 1);
+		mountainrainService.soildel();
+		List<Map<String, Object>> list = mountainrainService.selectMtwo(startDate, endDate, code);
+		for (int i=0;i<list.size();i++){ ;
+			BigDecimal w = (BigDecimal) list.get(i).get("drp");
+			double drp = w.doubleValue();
+			String stcd = list.get(i).get("STCD").toString();
+			//计算湿度
+			double v = (num + drp) * 0.85;
+			if (v>60){
+				mountainrainService.soleInster(stcd,"60");
+			}
+			else {
+				String a= String.valueOf(v);
+				mountainrainService.soleInster(stcd,a);
+			}
+		}
+		return R.success("成功");
+	}
+
 
 }
 
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 122b5bc..aa7cf29 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
@@ -56,7 +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> Mountains(String times,String dateEnd1,String dateEnd2,String dateEnd3,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);
@@ -114,4 +114,8 @@
 
 	Integer selectCount(String beginTime,String endTime);
 	String selectCode();
+	List<Map<String, Integer>> selecMone(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
+	List<Map<String, Object>> selectMtwo(String time3,String time,String code);
+	void soleInster(String stcd,String soilval);
+	void soildel();
 }
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 80e88f8..12ec528 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
@@ -266,100 +266,164 @@
     </select>
 
     <select id="Mountains" 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,
-            a.drp1,
-            b.drp3,
-            c.drp6,
-            isnull(d.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
-        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 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,
+               b.drp2,
+               c.drp3,
+               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
+                 FULL JOIN (
+            SELECT ISNULL(SUM(s.DRP), 0) AS drp2,
+                   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 drp3,
+                   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
+                 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
     </select>
+
+    <!--第一种预警-->
+    <select id="selecMone" 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
+            isnull(b.drp2,0) as drp2
+            isnull(c.drp3,0) as drp3
+        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
+                 FULL JOIN (
+            SELECT ISNULL(SUM(s.DRP), 0) AS drp2,
+                   STCD
+            FROM dbo.ST_PPTN_R s
+            WHERE s.TM &gt; #{dateEnd2}
+              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 drp3,
+                   STCD
+            FROM dbo.ST_PPTN_R strs
+            WHERE strs.TM &gt; #{dateEnd3}
+              AND strs.TM &lt;= #{times}
+              AND strs.STCD IN (${code})
+            GROUP BY STCD
+        ) c ON a.STCD = c.STCD
+                 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
+                 LEFT JOIN (
+            SELECT stcd, soilval
+            FROM sys_soleval
+        ) 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})
+          AND datename(HOUR,TM) = 8
+        GROUP BY STCD
+    </select>
+
+    <insert id="soleInster">
+        insert
+        sys_soleval(stcd,soilval) value (
+        #{stcd},
+        #{soilval}
+        )
+    </insert>
+
+    <delete id="soildel">
+        DELETE
+        FROM sys_soleval
+    </delete>
 </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 3d6ad79..988052a 100644
--- a/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
+++ b/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
@@ -122,8 +122,9 @@
 	 * @return
 	 */
 	int rainOne(int number,Integer gohour);
-	List<MountainrainsCVO> Mountains(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess,String code);
-
+	List<MountainrainsCVO> Mountains(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
+	List<Map<String, Integer>> selecMone(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
+	List<Map<String, Object>> selectMtwo(String time3,String time,String code);
 	/**
 	 *三小时
 	 * @param gthour 三小时准备转移雨量
@@ -131,4 +132,6 @@
 	 */
 	int rainthree(int number,Integer gthour);
 	String selectCode();
+	void soleInster(String stcd,String soilval);
+	void soildel();
 }
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 742dcfe..f678c67 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,8 +378,18 @@
 	}
 
 	@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);
+	public List<MountainrainsCVO> Mountains(String times ,String dateEnd1, String dateEnd2, String dateEnd3, String code) {
+		return baseMapper.Mountains(times, dateEnd1, dateEnd2, dateEnd3, code);
+	}
+
+	@Override
+	public List<Map<String, Integer>> selecMone(String times, String dateEnd1, String dateEnd2, String dateEnd3, String code) {
+		return baseMapper.selecMone(times, dateEnd1, dateEnd2, dateEnd3, code);
+	}
+
+	@Override
+	public List<Map<String, Object>> selectMtwo(String time3, String time, String code) {
+		return baseMapper.selectMtwo(time3,time,code);
 	}
 
 	@Override
@@ -399,6 +409,16 @@
 		return baseMapper.selectCode();
 	}
 
+	@Override
+	public void soleInster(String stcd, String soilval) {
+		baseMapper.soleInster(stcd,soilval);
+	}
+
+	@Override
+	public void soildel() {
+		baseMapper.soildel();
+	}
+
 
 	/*
 	 * 计算最大值
diff --git a/src/main/java/org/springblade/modules/mountainrain/vo/MountainrainsCVO.java b/src/main/java/org/springblade/modules/mountainrain/vo/MountainrainsCVO.java
index f3fd494..9a07a7d 100644
--- a/src/main/java/org/springblade/modules/mountainrain/vo/MountainrainsCVO.java
+++ b/src/main/java/org/springblade/modules/mountainrain/vo/MountainrainsCVO.java
@@ -35,7 +35,9 @@
 	int drp3;
 	int drp6;
 	Integer gohour;
+	Integer gohours;
 	Integer gthour;
+	Integer gthours;
 	Integer gshour;
 	Integer imohour;
 	Integer imthour;
@@ -50,4 +52,5 @@
 	String tyear;
 	String oyear;
 	int dyp;
+	Double soilval;
 }
diff --git a/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml b/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml
index 0019dc1..0433a29 100644
--- a/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml
+++ b/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml
@@ -248,7 +248,7 @@
                  FROM dbo.ST_STBPRP_B st
                           INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
                  WHERE st.STTP = 'PP'
-                    OR st.STTP = 'ZQ'
+                    OR st.STTP = 'ZQ' OR st.STTP = 'ZZ'
              ) c
                  LEFT JOIN (
             SELECT SUM
diff --git a/src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java b/src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java
index f82e3dd..b7ae504 100644
--- a/src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java
+++ b/src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java
@@ -220,7 +220,7 @@
 								texta += "库水位暂无数据、";
 							} else {
 								DecimalFormat df = new DecimalFormat("#0.00");
-								texta += "库水位" + df.format(RZ) + "(米)、";
+								texta += "库水位" + df.format(RZ) + "米、";
 							}
 							if (map.get(i).get("INQ") == null) {
 								texta += "入库流量暂无数据、";
@@ -228,14 +228,14 @@
 								BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 								double INQ = inq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texta += "入库流量" + INQ + "(立方米每秒)、";
+								texta += "入库流量" + INQ + "立方米每秒、";
 							}
 							if (map.get(i).get("W") == null) {
 								texta += "蓄水量暂无数据、";
 							} else {
 								BigDecimal w = (BigDecimal) map.get(i).get("W");
 								double W = w.doubleValue();
-								texta += "蓄水量" + W + "(百万立方米)、";
+								texta += "蓄水量" + W + "百万立方米、";
 							}
 							if (map.get(i).get("OTQ") == null) {
 								texta += "出库流量暂无数据;";
@@ -243,7 +243,7 @@
 								BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 								double OTQ = otq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texta += "出库流量" + OTQ + "(立方米每秒);";
+								texta += "出库流量" + OTQ + "立方米每秒;";
 							}
 						}
 						if (stnm.equals("廖坊")) {
@@ -252,7 +252,7 @@
 								texth += "库水位暂无数据、";
 							} else {
 								DecimalFormat df = new DecimalFormat("#0.00");
-								texth += "库水位" + df.format(RZ) + "(米)、";
+								texth += "库水位" + df.format(RZ) + "米、";
 							}
 							if (map.get(i).get("INQ") == null) {
 								texth += "入库流量暂无数据、";
@@ -260,14 +260,14 @@
 								BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 								double INQ = inq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texth += "入库流量" + INQ + "(立方米每秒)、";
+								texth += "入库流量" + INQ + "立方米每秒、";
 							}
 							if (map.get(i).get("W") == null) {
 								texth += "蓄水量暂无数据、";
 							} else {
 								BigDecimal w = (BigDecimal) map.get(i).get("W");
 								double W = w.doubleValue();
-								texth += "蓄水量" + W + "(百万立方米)、";
+								texth += "蓄水量" + W + "百万立方米、";
 							}
 							if (map.get(i).get("OTQ") == null) {
 								texth += "出库流量暂无数据。";
@@ -275,7 +275,7 @@
 								BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 								double OTQ = otq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texth += "出库流量" + OTQ + "(立方米每秒)。";
+								texth += "出库流量" + OTQ + "立方米每秒。";
 							}
 						}
 						alist.add(map.get(i));
@@ -288,21 +288,21 @@
 						//站点名称
 						String stnm = map.get(i).get("STNM").toString();
 						if (stnm.equals("洪门")) {
-							texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "(米)、";
+							texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "米、";
 							if (map.get(i).get("INQ") == null) {
 								texta += "入库流量暂无数据、";
 							} else {
 								BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 								double INQ = inq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texta += "入库流量" + INQ + "(立方米每秒)、";
+								texta += "入库流量" + INQ + "立方米每秒、";
 							}
 							if (map.get(i).get("W") == null) {
 								texta += "蓄水量暂无数据、";
 							} else {
 								BigDecimal w = (BigDecimal) map.get(i).get("W");
 								double W = w.doubleValue();
-								texta += "蓄水量" + W + "(百万立方米)、";
+								texta += "蓄水量" + W + "百万立方米、";
 							}
 							if (map.get(i).get("OTQ") == null) {
 								texta += "出库流量暂无数据;";
@@ -310,25 +310,25 @@
 								BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 								double OTQ = otq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texta += "出库流量" + OTQ + "(立方米每秒);";
+								texta += "出库流量" + OTQ + "立方米每秒;";
 							}
 						}
 						if (stnm.equals("廖坊")) {
-							texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "(米)、";
+							texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "米、";
 							if (map.get(i).get("INQ") == null) {
 								texth += "入库流量暂无数据、";
 							} else {
 								BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 								double INQ = inq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texth += "入库流量" + INQ + "(立方米每秒)、";
+								texth += "入库流量" + INQ + "立方米每秒、";
 							}
 							if (map.get(i).get("W") == null) {
 								texth += "蓄水量暂无数据、";
 							} else {
 								BigDecimal w = (BigDecimal) map.get(i).get("W");
 								double W = w.doubleValue();
-								texth += "蓄水量" + W + "(百万立方米)、";
+								texth += "蓄水量" + W + "百万立方米、";
 							}
 							if (map.get(i).get("OTQ") == null) {
 								texth += "出库流量暂无数据。";
@@ -336,7 +336,7 @@
 								BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 								double OTQ = otq.doubleValue();
 								//DecimalFormat df = new DecimalFormat("#0.000");
-								texth += "出库流量" + OTQ + "(立方米每秒)。";
+								texth += "出库流量" + OTQ + "立方米每秒。";
 							}
 						}
 						alist.add(map.get(i));
@@ -355,21 +355,21 @@
 							//站点名称
 							String stnm = map.get(i).get("STNM").toString();
 							if (stnm.equals("洪门")) {
-								texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "(米)、" + "库水位" + RZ + "(米)、";
+								texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "米、" + "库水位" + RZ + "米、";
 								if (map.get(i).get("INQ") == null) {
 									texta += "入库流量暂无数据、";
 								} else {
 									BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 									double INQ = inq.doubleValue();
 									//DecimalFormat df = new DecimalFormat("#0.000");
-									texta += "入库流量" + INQ + "(立方米每秒)、";
+									texta += "入库流量" + INQ + "立方米每秒、";
 								}
 								if (map.get(i).get("W") == null) {
 									texta += "蓄水量暂无数据、";
 								} else {
 									BigDecimal w = (BigDecimal) map.get(i).get("W");
 									double W = w.doubleValue();
-									texta += "蓄水量" + W + "(百万立方米)、";
+									texta += "蓄水量" + W + "百万立方米、";
 								}
 								if (map.get(i).get("OTQ") == null) {
 									texta += "出库流量暂无数据;";
@@ -377,25 +377,25 @@
 									BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 									double OTQ = otq.doubleValue();
 									//DecimalFormat df = new DecimalFormat("#0.000");
-									texta += "出库流量" + OTQ + "(立方米每秒);";
+									texta += "出库流量" + OTQ + "立方米每秒;";
 								}
 							}
 							if (stnm.equals("廖坊")) {
-								texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "(米)、" + "库水位" + RZ + "(米)、";
+								texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "米、" + "库水位" + RZ + "米、";
 								if (map.get(i).get("INQ") == null) {
 									texth += "入库流量暂无数据、";
 								} else {
 									BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 									double INQ = inq.doubleValue();
 									//DecimalFormat df = new DecimalFormat("#0.000");
-									texth += "入库流量" + INQ + "(立方米每秒)、";
+									texth += "入库流量" + INQ + "立方米每秒、";
 								}
 								if (map.get(i).get("W") == null) {
 									texth += "蓄水量暂无数据、";
 								} else {
 									BigDecimal w = (BigDecimal) map.get(i).get("W");
 									double W = w.doubleValue();
-									texth += "蓄水量" + W + "(百万立方米)、";
+									texth += "蓄水量" + W + "百万立方米、";
 								}
 								if (map.get(i).get("OTQ") == null) {
 									texth += "出库流量暂无数据。";
@@ -403,7 +403,7 @@
 									BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 									double OTQ = otq.doubleValue();
 									//DecimalFormat df = new DecimalFormat("#0");
-									texth += "出库流量" + OTQ + "(立方米每秒)。";
+									texth += "出库流量" + OTQ + "立方米每秒。";
 								}
 							}
 						}
@@ -592,7 +592,7 @@
 						if (RZ == 0) {
 							texta += "库水位暂无数据、";
 						} else {
-							texta += "库水位" + RZ + "(米)、";
+							texta += "库水位" + RZ + "米、";
 						}
 						if (v < 0) {
 							texta += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -604,21 +604,21 @@
 						} else {
 							BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 							double INQ = inq.doubleValue();
-							texta += "入库流量" + INQ + "(立方米每秒)、";
+							texta += "入库流量" + INQ + "立方米每秒、";
 						}
 						if (map.get(i).get("W") == null) {
 							texta += "蓄水量暂无数据、";
 						} else {
 							BigDecimal w = (BigDecimal) map.get(i).get("W");
 							double W = w.doubleValue();
-							texta += "蓄水量" + W + "(百万立方米)、";
+							texta += "蓄水量" + W + "百万立方米、";
 						}
 						if (map.get(i).get("OTQ") == null) {
 							texta += "出库流量暂无数据、";
 						} else {
 							BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 							double OTQ = otq.doubleValue();
-							texta += "出库流量" + OTQ + "(立方米每秒);";
+							texta += "出库流量" + OTQ + "立方米每秒;";
 						}
 //						texta += "汛限水位暂无数据;";
 					} else if (stnm.equals("廖坊")) {
@@ -626,7 +626,7 @@
 						if (RZ == 0) {
 							texth += "库水位暂无数据、";
 						} else {
-							texth += "库水位" + RZ + "(米)、";
+							texth += "库水位" + RZ + "米、";
 						}
 						if (v < 0) {
 							texth += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -638,21 +638,21 @@
 						} else {
 							BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 							double INQ = inq.doubleValue();
-							texth += "入库流量" + INQ + "(立方米每秒)、";
+							texth += "入库流量" + INQ + "立方米每秒、";
 						}
 						if (map.get(i).get("W") == null) {
 							texth += "蓄水量暂无数据、";
 						} else {
 							BigDecimal w = (BigDecimal) map.get(i).get("W");
 							double W = w.doubleValue();
-							texth += "蓄水量" + W + "(百万立方米)、";
+							texth += "蓄水量" + W + "百万立方米、";
 						}
 						if (map.get(i).get("OTQ") == null) {
 							texth += "出库流量暂无数据、";
 						} else {
 							BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 							double OTQ = otq.doubleValue();
-							texth += "出库流量" + OTQ + "(立方米每秒)。";
+							texth += "出库流量" + OTQ + "立方米每秒。";
 						}
 					}
 					blist.add(map.get(i));
@@ -671,7 +671,7 @@
 						if (RZ == 0) {
 							texta += "库水位暂无数据、";
 						} else {
-							texta += "库水位" + RZ + "(米)、";
+							texta += "库水位" + RZ + "米、";
 						}
 						if (v < 0) {
 							texta += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -683,21 +683,21 @@
 						} else {
 							BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 							double INQ = inq.doubleValue();
-							texta += "入库流量" + INQ + "(立方米每秒)、";
+							texta += "入库流量" + INQ + "立方米每秒、";
 						}
 						if (map.get(i).get("W") == null) {
 							texta += "蓄水量暂无数据、";
 						} else {
 							BigDecimal w = (BigDecimal) map.get(i).get("W");
 							double W = w.doubleValue();
-							texta += "蓄水量" + W + "(百万立方米)、";
+							texta += "蓄水量" + W + "百万立方米、";
 						}
 						if (map.get(i).get("OTQ") == null) {
 							texta += "出库流量暂无数据;";
 						} else {
 							BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 							double OTQ = otq.doubleValue();
-							texta += "出库流量" + OTQ + "(立方米每秒);";
+							texta += "出库流量" + OTQ + "立方米每秒;";
 						}
 //						texta += "汛限水位暂无数据;";
 					} else if (stnm.equals("廖坊")) {
@@ -705,7 +705,7 @@
 						if (RZ == 0) {
 							texth += "库水位暂无数据、";
 						} else {
-							texth += "库水位" + RZ + "(米)、";
+							texth += "库水位" + RZ + "米、";
 						}
 						if (v < 0) {
 							texth += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -717,21 +717,21 @@
 						} else {
 							BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 							double INQ = inq.doubleValue();
-							texth += "入库流量" + INQ + "(立方米每秒)、";
+							texth += "入库流量" + INQ + "立方米每秒、";
 						}
 						if (map.get(i).get("W") == null) {
 							texth += "蓄水量暂无数据、";
 						} else {
 							BigDecimal w = (BigDecimal) map.get(i).get("W");
 							double W = w.doubleValue();
-							texth += "蓄水量" + W + "(百万立方米)、";
+							texth += "蓄水量" + W + "百万立方米、";
 						}
 						if (map.get(i).get("OTQ") == null) {
 							texth += "出库流量暂无数据。";
 						} else {
 							BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 							double OTQ = otq.doubleValue();
-							texth += "出库流量" + OTQ + "(立方米每秒)。";
+							texth += "出库流量" + OTQ + "立方米每秒。";
 						}
 					}
 					blist.add(map.get(i));
@@ -755,7 +755,7 @@
 							if (RZ == 0) {
 								texta += "库水位暂无数据、";
 							} else {
-								texta += "库水位" + RZ + "(米)、";
+								texta += "库水位" + RZ + "米、";
 							}
 							if (v < 0) {
 								texta += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -767,21 +767,21 @@
 							} else {
 								BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 								double INQ = inq.doubleValue();
-								texta += "入库流量" + INQ + "(立方米每秒)、";
+								texta += "入库流量" + INQ + "立方米每秒、";
 							}
 							if (map.get(i).get("W") == null) {
 								texta += "蓄水量暂无数据、";
 							} else {
 								BigDecimal w = (BigDecimal) map.get(i).get("W");
 								double W = w.doubleValue();
-								texta += "蓄水量" + W + "(百万立方米)、";
+								texta += "蓄水量" + W + "百万立方米、";
 							}
 							if (map.get(i).get("OTQ") == null) {
 								texta += "出库流量暂无数据;";
 							} else {
 								BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 								double OTQ = otq.doubleValue();
-								texta += "出库流量" + OTQ + "(立方米每秒);";
+								texta += "出库流量" + OTQ + "立方米每秒;";
 							}
 //						texta += "汛限水位暂无数据;";
 						} else if (stnm.equals("廖坊")) {
@@ -789,7 +789,7 @@
 							if (RZ == 0) {
 								texth += "库水位暂无数据、";
 							} else {
-								texth += "库水位" + RZ + "(米)、";
+								texth += "库水位" + RZ + "米、";
 							}
 							if (v < 0) {
 								texth += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -801,21 +801,21 @@
 							} else {
 								BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
 								double INQ = inq.doubleValue();
-								texth += "入库流量" + INQ + "(立方米每秒)、";
+								texth += "入库流量" + INQ + "立方米每秒、";
 							}
 							if (map.get(i).get("W") == null) {
 								texth += "蓄水量暂无数据、";
 							} else {
 								BigDecimal w = (BigDecimal) map.get(i).get("W");
 								double W = w.doubleValue();
-								texth += "蓄水量" + W + "(百万立方米)、";
+								texth += "蓄水量" + W + "百万立方米、";
 							}
 							if (map.get(i).get("OTQ") == null) {
 								texth += "出库流量暂无数据。";
 							} else {
 								BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
 								double OTQ = otq.doubleValue();
-								texth += "出库流量" + OTQ + "(立方米每秒)。";
+								texth += "出库流量" + OTQ + "立方米每秒。";
 							}
 						}
 					}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 730da54..1f248d3 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -16,13 +16,13 @@
       primary: master
       datasource:
         master:
-          url: jdbc:sqlserver://10.36.98.39:1433;DatabaseName=fzsw
+          url: jdbc:sqlserver://47.110.245.84:1433;DatabaseName=fzsw
           username: sa
-          password: fzsw@2021
+          password: jxpskj2018
         slaves:
-            url: jdbc:sqlserver://10.36.98.39:1433;DatabaseName=fzswS
+            url: jdbc:sqlserver://47.110.245.84:1433;DatabaseName=fzswS
             username: sa
-            password: fzsw@2021
+            password: jxpskj2018
 
 
 #第三方登陆

--
Gitblit v1.9.3