From 0cfec24a4eb3807acc3014b92b7e2ebc7b804f1c Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 25 Sep 2021 10:09:41 +0800
Subject: [PATCH] 1.山洪
---
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml | 28 ++++
src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java | 53 ++++++--
src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java | 11 +
src/main/java/org/springblade/modules/mountainrain/entity/Yucpptn.java | 43 +++++++
src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java | 4
src/main/java/org/springblade/modules/mountainrain/controller/ss.java | 92 +++++++++++++++
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java | 118 ++++++++++++-------
7 files changed, 284 insertions(+), 65 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 c870d42..cb963c6 100644
--- a/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
+++ b/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
@@ -32,6 +32,7 @@
import org.springblade.modules.mountain.service.IMountainService;
import org.springblade.modules.mountain.vo.MountainVO;
import org.springblade.modules.mountainrain.entity.Mountainrain;
+import org.springblade.modules.mountainrain.entity.Yucpptn;
import org.springblade.modules.mountainrain.service.IMountainrainService;
import org.springblade.modules.mountainrain.vo.*;
import org.springblade.modules.mountainrain.wrapper.MountainrainWrapper;
@@ -44,6 +45,8 @@
import javax.validation.Valid;
import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
@@ -572,6 +575,7 @@
List<Map<String, Object>> list = mountainrainService.selecMone(times, dateEnd1, dateEnd2, dateEnd3, code);
List<Map<String, Object>> lists = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
+ Map<String, Object> map = new HashMap<String, Object>();
BigDecimal w1 = (BigDecimal) list.get(i).get("drp1");
double drp1 = w1.doubleValue();
BigDecimal w2 = (BigDecimal) list.get(i).get("drp2");
@@ -579,37 +583,23 @@
BigDecimal w3 = (BigDecimal) list.get(i).get("drp3");
double drp3 = w3.doubleValue();
if (drp1 > 30) {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("List", list.get(i));
map.put("flage1", "true");
- map.put("flage2", "false");
- map.put("flage3", "false");
- lists.add(map);
}
if (drp2 > 50) {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("List", list.get(i));
- map.put("flage1", "false");
map.put("flage2", "true");
- map.put("flage3", "false");
lists.add(map);
}
if (drp3 > 80) {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("List", list.get(i));
- map.put("flage1", "false");
- map.put("flage2", "false");
map.put("flage3", "true");
lists.add(map);
} else {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("List", list.get(i));
map.put("flage1", "false");
map.put("flage2", "false");
map.put("flage3", "false");
lists.add(map);
}
-
+ map.put("List", list.get(i));
+ lists.add(map);
}
return R.data(lists);
}
@@ -621,7 +611,6 @@
*
* @return
*/
- @Scheduled(cron = "0 0 8 * * ?")
@GetMapping("/soleval")
public R soleval() {
mountainrainService.soildel();
@@ -692,4 +681,34 @@
return result;
}
+
+ /**
+ * 山洪预报
+ *
+ * @param addvcd 行政区编码
+ * @param time 时间
+ * @param intv 降雨时段
+ * @return
+ */
+ @GetMapping("/yuc")
+ public R yuc(String addvcd, String time, String intv) throws ParseException {
+ List<Yucpptn> yucpptnList = new ArrayList<Yucpptn>();
+ //通过行政区查询站点编码
+ List<Map<String, Object>> list = mountainrainService.selectAddvcd(addvcd);
+ for (int i = 0; i < list.size(); i++) {
+ Yucpptn yucpptn = new Yucpptn();
+ //站点编码
+ String stcd = list.get(i).get("STCD").toString();
+ yucpptn.setSTCD(stcd);
+ DateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date date = sf.parse(time);
+ java.sql.Date sqlDate = new java.sql.Date(date.getTime());
+ yucpptn.setINTV(intv);
+ yucpptnList.add(yucpptn);
+ }
+ //预警信息添加
+ mountainrainService.insertYuc(yucpptnList);
+ return R.data("");
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/mountainrain/controller/ss.java b/src/main/java/org/springblade/modules/mountainrain/controller/ss.java
new file mode 100644
index 0000000..1d350f4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/mountainrain/controller/ss.java
@@ -0,0 +1,92 @@
+package org.springblade.modules.mountainrain.controller;
+
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.mountain.service.IMountainService;
+import org.springblade.modules.mountainrain.service.IMountainrainService;
+import org.springblade.modules.regionWeight.service.IRegionWeightService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Component
+public class ss {
+ @Autowired
+ private IMountainrainService mountainrainService;
+
+ @Scheduled(cron = "0 0 8 * * ?")
+ public R soleval() {
+ mountainrainService.soildel();
+ int intervals = 31;
+ ArrayList passDaysList = new ArrayList<>();
+ for (int i = 0; i < intervals; i++) {
+ passDaysList.add(getDays(i, false));
+ }
+ Collections.sort(passDaysList);
+ 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);
+ for (int i = 0; i < split.length; i++) {
+ Integer num = 30;
+ double v1 = 0;
+ String stcd = null;
+ for (int j = 0; j < passDaysList.size() - 2; j++) {
+ List<Map<String, Object>> map = mountainrainService.selectMtwo(passDaysList.get(j).toString(), passDaysList.get(j + 1).toString(), code);
+ if (map.size() == 0 || i > map.size() - 1) {
+ //stcd=split[i];
+ break;
+ }
+ BigDecimal w = (BigDecimal) map.get(i).get("drp");
+ double drp = w.doubleValue();
+ stcd = map.get(i).get("STCD").toString();
+ //计算湿度
+ if (j == 0) {
+ v1 = formatDouble1((num + drp) * 0.85);
+ if (v1 > 60) {
+ v1 = 60;
+ }
+ } else {
+ v1 += drp;
+ v1 = formatDouble1(v1 * 0.85);
+ if (v1 > 60) {
+ v1 = 60;
+ }
+ }
+ }
+ if (v1 > 60) {
+ mountainrainService.soleInster(stcd, "60");
+ } else {
+ String a = String.valueOf(v1);
+ mountainrainService.soleInster(stcd, a);
+ }
+ }
+
+ return R.success("成功");
+ }
+
+ public static double formatDouble1(double d) {
+ return (double) Math.round(d * 10) / 10;
+ }
+
+ private static String getDays(int i, boolean b) {
+ Calendar calendar = Calendar.getInstance();
+ if (b) {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + i);
+ } else {
+ calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - i);
+ }
+ Date today = calendar.getTime();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd 08:00:00");
+ String result = format.format(today);
+ return result;
+ }
+
+}
diff --git a/src/main/java/org/springblade/modules/mountainrain/entity/Yucpptn.java b/src/main/java/org/springblade/modules/mountainrain/entity/Yucpptn.java
new file mode 100644
index 0000000..eebb2d5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/mountainrain/entity/Yucpptn.java
@@ -0,0 +1,43 @@
+package org.springblade.modules.mountainrain.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+@TableName("sys_yucpptn")
+@ApiModel(value = "Yucpptn对象", description = "Yucpptn对象")
+public class Yucpptn {
+
+ /**
+ * 对应雨量站
+ */
+ @ApiModelProperty(value = "对应雨量站")
+ private String STCD;
+
+ /**
+ * 时间
+ */
+ @ApiModelProperty(value = "时间")
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
+ private Date TM;
+
+ /**
+ * 时段降水量
+ */
+ @ApiModelProperty(value = "时段降水量")
+ private String DRP;
+
+ /**
+ * 时段长
+ */
+ @ApiModelProperty(value = "时段长")
+ private String INTV;
+}
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 f46d91d..d4377cc 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
@@ -19,13 +19,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.mountainrain.entity.Mountainrain;
+import org.springblade.modules.mountainrain.entity.Yucpptn;
import org.springblade.modules.mountainrain.vo.*;
import java.util.List;
import java.util.Map;
/**
- * Mapper 接口
+ * Mapper 接口
*
* @author BladeX
* @since 2020-02-27
@@ -43,6 +44,7 @@
/**
* 判断是否正常
+ *
* @param dateBegin
* @param dateEnd
* @return
@@ -50,16 +52,20 @@
List<MountainrainsVO> selectALl(String dateBegin, String dateEnd);
+ List<MountainrainsCVO> selectcInfo(String times, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String timess);
- List<MountainrainsCVO> selectcInfo(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
- List<MountainrainsCVO> selectaInfo(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
+ List<MountainrainsCVO> selectaInfo(String times, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String timess);
- List<MountainrainsCVO> selectcInfos(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
- 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);
+ List<MountainrainsCVO> selectcInfos(String times, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String timess);
+
+ 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);
List<MountainrainSSVO> selectNoticePage(IPage<MountainrainSSVO> page, MountainrainSSVO mountainrainSSVO);
@@ -69,53 +75,75 @@
List<MountainrainSSVO> selectNoticeList(String query);
List<MountainrainSSVO> queryXZ();
+
List<Map<String, Object>> queryZY();
+
List<MountainrainsDPVO> queryZL();
- List<Map<String, Object>> selectMon(String begintime24,String time,String pid,String timess);
- List<Map<String, Object>> selectMoncs(String begintime24,String time,String timess);
- List<Map<String, Object>> selectMoncss(String begintime24,String time,String timess);
+ List<Map<String, Object>> selectMon(String begintime24, String time, String pid, String timess);
+
+ List<Map<String, Object>> selectMoncs(String begintime24, String time, String timess);
+
+ List<Map<String, Object>> selectMoncss(String begintime24, String time, String timess);
+
String selectPId();
+
String selectFd(String pid);
+
String selectGrid(String fd);
- Map<String, Integer> selectThree(String beg0,String end0,
- String beg1,String end1,
- String beg2,String end2,
- String beg3,String end3,
- String beg4,String end4,
- String beg5,String end5,
- String beg6,String end6,
- String beg7,String end7,
- String fymdh,String s2);
- Map<String, Integer> selectSix(String beg60,String end60,
- String beg61,String end61,
- String beg62,String end62,
- String fymdh,String s2);
+ Map<String, Integer> selectThree(String beg0, String end0,
+ String beg1, String end1,
+ String beg2, String end2,
+ String beg3, String end3,
+ String beg4, String end4,
+ String beg5, String end5,
+ String beg6, String end6,
+ String beg7, String end7,
+ String fymdh, String s2);
- String selectMax1(String fymdh,String begtime,String endtime,String s2);
- List<Map<String, Object>> selectdYc(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String pid,String timess);
- List<Map<String, Object>> selectdYcs(String time, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
- List<Map<String, Object>> selectdYcss(String time, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
- Map<String, Integer> selectAllmax(String beg0,String end0,
- String beg1,String end1,
- String beg2,String end2,
- String beg3,String end3,
- String beg4,String end4,
- String beg5,String end5,
- String beg6,String end6,
- String beg7,String end7,
- String beg60,String end60,
- String beg61,String end61,
- String beg62,String end62,
- String begtime,String endtime,
- String fymdh,String s2);
+ Map<String, Integer> selectSix(String beg60, String end60,
+ String beg61, String end61,
+ String beg62, String end62,
+ String fymdh, String s2);
- Integer selectCount(String beginTime,String endTime);
+ String selectMax1(String fymdh, String begtime, String endtime, String s2);
+
+ List<Map<String, Object>> selectdYc(String times, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String pid, String timess);
+
+ List<Map<String, Object>> selectdYcs(String time, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String timess);
+
+ List<Map<String, Object>> selectdYcss(String time, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String timess);
+
+ Map<String, Integer> selectAllmax(String beg0, String end0,
+ String beg1, String end1,
+ String beg2, String end2,
+ String beg3, String end3,
+ String beg4, String end4,
+ String beg5, String end5,
+ String beg6, String end6,
+ String beg7, String end7,
+ String beg60, String end60,
+ String beg61, String end61,
+ String beg62, String end62,
+ String begtime, String endtime,
+ String fymdh, String s2);
+
+ Integer selectCount(String beginTime, String endTime);
+
String selectCode();
- List<Map<String, Object>> 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);
+
+ List<Map<String, Object>> selecMone(String times, String dateEnd1, String dateEnd2, String dateEnd3, String code);
+
+ List<Map<String, Object>> selectMtwo(String time3, String time, String code);
+
+ List<Map<String, Object>> selectAddvcd(String addvcd);
+
+ void soleInster(String stcd, String soilval);
+
void soildel();
+
+ //预报信息新增
+ int insertYuc(List<Yucpptn> yucpptnList);
}
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 f2529eb..35f2187 100644
--- a/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
+++ b/src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
@@ -358,9 +358,9 @@
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 SUM(str.DRP) AS drp1,
STCD
@@ -426,4 +426,26 @@
DELETE
FROM sys_soleval
</delete>
+
+
+ <!--通过行政区编码查询站点-->
+ <select id="selectAddvcd" resultType="java.util.Map" >
+ SELECT STCD
+ FROM dbo.ST_STBPRP_B
+ WHERE STTP='RR' AND ADDVCD=#{addvcd}
+ </select>
+
+ <!-- 批量插入预报信息-->
+ <insert id ="insertYuc" parameterType="java.util.List" >
+ insert into sys_yucpptn
+ (STCD, TM, DRP, INTV)
+ values
+ <foreach collection ="list" item="reddemCode" index= "index" separator =",">
+ (
+ #{reddemCode.STCD}, #{reddemCode.TM},
+ #{reddemCode.DRP},
+ #{reddemCode.INTV}
+ )
+ </foreach >
+ </insert >
</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 954b48b..7b4ca0d 100644
--- a/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
+++ b/src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
@@ -20,6 +20,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.mp.support.Query;
import org.springblade.modules.mountainrain.entity.Mountainrain;
+import org.springblade.modules.mountainrain.entity.Yucpptn;
import org.springblade.modules.mountainrain.vo.*;
import org.springframework.web.multipart.MultipartFile;
@@ -125,6 +126,7 @@
List<MountainrainsCVO> Mountains(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
List<Map<String, Object>> selecMone(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
List<Map<String, Object>> selectMtwo(String time3,String time,String code);
+ List<Map<String, Object>> selectAddvcd(String addvcd);
/**
*三小时
* @param gthour 三小时准备转移雨量
@@ -134,4 +136,6 @@
String selectCode();
void soleInster(String stcd,String soilval);
void soildel();
+ //预报信息新增
+ int insertYuc(List<Yucpptn> yucpptnList);
}
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 e1aef5a..e8909fe 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
@@ -30,6 +30,7 @@
import org.springblade.modules.mountain.entity.Mountain;
import org.springblade.modules.mountain.service.IMountainService;
import org.springblade.modules.mountainrain.entity.Mountainrain;
+import org.springblade.modules.mountainrain.entity.Yucpptn;
import org.springblade.modules.mountainrain.mapper.MountainrainMapper;
import org.springblade.modules.mountainrain.service.IMountainrainService;
import org.springblade.modules.mountainrain.vo.*;
@@ -393,6 +394,11 @@
}
@Override
+ public List<Map<String, Object>> selectAddvcd(String addvcd) {
+ return baseMapper.selectAddvcd(addvcd);
+ }
+
+ @Override
public int rainthree(int number, Integer gthour) {
if (number<=gthour){
return 0;//正常
@@ -419,6 +425,11 @@
baseMapper.soildel();
}
+ @Override
+ public int insertYuc(List<Yucpptn> yucpptnList) {
+ return 0;
+ }
+
/*
* 计算最大值
--
Gitblit v1.9.3