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/controller/MountainrainController.java | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 158 insertions(+), 6 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 7316ef9..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;
/**
@@ -393,15 +403,16 @@
String dateEnd24 =dateEnds24;
//对应雨量站
+ long startTime=System.currentTimeMillis();
List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.selectcInfos(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess);
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());
- /*if(Max==0){
- continue;
- }*/
map.put("List", mountainrainsCVOS.get(i));
map.put("Max", Max);
lists.add(map);
@@ -433,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);
@@ -446,5 +454,149 @@
}
+
+ /**
+ * 查询洪水预警
+ */
+ @ApiLog("查询洪水预警")
+ @GetMapping("/sss")
+ 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;
+
+ //2个小时前的时间
+ String dateEnd2 =dateEnds2;
+
+ //3个小时前的时间
+ String dateEnd3 =dateEnds3;
+
+ //对应雨量站
+ 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, 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>();
+ 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 dateEnd2 =dateEnds2;
+
+ //三个小时前的时间
+ String dateEnd3 =dateEnds3;
+
+ 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));
+ }
+
+ }
+ 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("成功");
+ }
+
+
}
--
Gitblit v1.9.3