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/controller/MountainrainController.java | 1145 ++++++++++++++++++++++++++++++++++----------------------
1 files changed, 696 insertions(+), 449 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 3220316..aa4de65 100644
--- a/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
+++ b/src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
@@ -23,6 +23,7 @@
import lombok.AllArgsConstructor;
import org.apache.poi.hssf.usermodel.*;
import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.annotation.ApiLog;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -33,10 +34,16 @@
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.excel.BgrExcel;
+import org.springblade.modules.mountainrain.excel.BgrImporter;
+import org.springblade.modules.mountainrain.excel.MgrExcel;
+import org.springblade.modules.mountainrain.excel.MgrImporter;
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.springblade.modules.system.excel.UserExcel;
+import org.springblade.modules.system.excel.UserImporter;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +54,8 @@
import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
+import java.sql.Timestamp;
+import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -598,8 +607,13 @@
e.printStackTrace();
}
Process proc;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ String[] args1 = new String[]{"python", "D:\\fz\\mou.py", String.valueOf(url)};
try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\mou.py");
+ proc = Runtime.getRuntime().exec(args1);
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
@@ -612,6 +626,7 @@
} catch (InterruptedException e) {
e.printStackTrace();
}
+ lists.add(m);
return R.data(lists);
}
@@ -720,8 +735,13 @@
e.printStackTrace();
}
Process proc;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ String[] args1 = new String[]{"python", "D:\\fz\\moup.py", String.valueOf(url)};
try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\moup.py");
+ proc = Runtime.getRuntime().exec(args1);
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
@@ -734,6 +754,7 @@
} catch (InterruptedException e) {
e.printStackTrace();
}
+ lists.add(m);
return R.data(lists);
}
@@ -745,11 +766,14 @@
* @return
*/
@GetMapping("/soleval")
- public R soleval() {
- mountainrainService.soildel();
- int intervals = 31;
+ public R soleval(String time, int b) {
+ //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ //String dateNow = sdf.format(new Date());
+ String dateNow = time;
+ //mountainrainService.soildel();
+ int intervals = 32 + b;
ArrayList passDaysList = new ArrayList<>();
- for (int i = 0; i < intervals; i++) {
+ for (int i = 1 + b; i < intervals; i++) {
passDaysList.add(getDays(i, false));
}
Collections.sort(passDaysList);
@@ -757,44 +781,47 @@
String s = regionWeightService.selectCode();
String[] split = s.split(",");
String strArrays = "";
- System.out.println("长度:"+split.length);
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) {
-// 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);
-// }
-// }
+ 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 (stcd != null) {
+ if (v1 > 60) {
+ mountainrainService.soleInster(stcd, "60", dateNow);
+ } else {
+ String a = String.valueOf(v1);
+ mountainrainService.soleInster(stcd, a, dateNow);
+ }
+ }
+
+ }
return R.success("成功");
}
@@ -954,7 +981,7 @@
* @return
*/
@GetMapping("/selectsmriver")
- public R selectsmriver(String time) {
+ public R selectsmriver(String time) throws ParseException {
Date date = null;
// 把Date按照格式转换成字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -964,7 +991,13 @@
e.printStackTrace();
}
String dateEnd = sdf.format(date);
- List<Map<String, Object>> selctsmriver = mountainrainService.selctsmriver(time, dateEnd);
+ DateFormat sdfc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date datess = sdfc.parse(time);
+ String now = sdfc.format(datess);
+ //当前时间的前24小时
+ Date beforeHour1 = beforeHourToNowDate(now, 24);
+ String begintime24 = sdf.format(beforeHour1);
+ List<Map<String, Object>> selctsmriver = mountainrainService.selctsmriver(time, dateEnd, begintime24);
//预警数据
List listyj = new ArrayList();
//无预警数据
@@ -997,7 +1030,7 @@
* @return
*/
@GetMapping("/selectbgriver")
- public R selectbgriver(String time) {
+ public R selectbgriver(String time) throws ParseException {
Date date = null;
// 把Date按照格式转换成字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -1007,7 +1040,13 @@
e.printStackTrace();
}
String dateEnd = sdf.format(date);
- List<Map<String, Object>> selctsmriver = mountainrainService.selctbgriver(time, dateEnd);
+ DateFormat sdfc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date datess = sdfc.parse(time);
+ String now = sdfc.format(datess);
+ //当前时间的前24小时
+ Date beforeHour1 = beforeHourToNowDate(now, 24);
+ String begintime24 = sdf.format(beforeHour1);
+ List<Map<String, Object>> selctsmriver = mountainrainService.selctbgriver(time, dateEnd, begintime24);
//预警数据
List listyj = new ArrayList();
//无预警数据
@@ -1116,6 +1155,14 @@
String times = time;
String dateEnd1 = dateEnds1;
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Date date = null;
+ try {
+ date = sdf.parse(time);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ String stime = sdf.format(date);
//对应雨量站
String s = mountainrainService.selectCode();
String[] split = s.split(",");
@@ -1124,7 +1171,7 @@
strArrays += "'" + split[i] + "',";
}
String code = strArrays.substring(0, strArrays.length() - 1);
- List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.MountainYi(times, dateEnd1, code);
+ List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.MountainYi(times, dateEnd1, code, stime);
List<Map<String, Object>> lists = new ArrayList<>();
for (int i = 0; i < mountainrainsCVOS.size(); i++) {
if (mountainrainsCVOS.get(i).getCenconding() == null) {
@@ -1136,11 +1183,13 @@
if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
int drp1 = mountainrainsCVOS.get(i).getDrp1();
Integer gohours = mountainrainsCVOS.get(i).getGohours();
- int i1 = drp1 - gohours;
+ float i1 = (float) drp1 - gohours;
+ float v = (float) (Math.round(i1 * 10)) / 10;
+ String a = String.valueOf(v);
map.put("List", mountainrainsCVOS.get(i));
map.put("flage1", "true");
map.put("status", 2);
- map.put("num", i1);
+ map.put("num", a);
lists.add(map);
} else {
map.put("List", mountainrainsCVOS.get(i));
@@ -1153,11 +1202,13 @@
if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
int drp1 = mountainrainsCVOS.get(i).getDrp1();
Integer gohour = mountainrainsCVOS.get(i).getGohour();
- int i1 = drp1 - gohour;
+ float i1 = (float) drp1 - gohour;
+ float v = (float) (Math.round(i1 * 10)) / 10;
+ String a = String.valueOf(v);
map.put("List", mountainrainsCVOS.get(i));
map.put("flage1", "true");
map.put("status", 1);
- map.put("num", i1);
+ map.put("num", a);
lists.add(map);
} else {
map.put("List", mountainrainsCVOS.get(i));
@@ -1168,75 +1219,87 @@
}
}
- //色斑图
- String file = "";
- // 第一步,创建一个webbook,对应一个Excel文件
- HSSFWorkbook wb = new HSSFWorkbook();
- // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
- HSSFSheet sheet = wb.createSheet("山洪预警表");
- // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
- HSSFRow row = sheet.createRow((int) 0);
- // 第四步,创建单元格,并设置值表头 设置表头居中
- HSSFCellStyle style = wb.createCellStyle();
- //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
- HSSFCell cell = row.createCell((short) 0);
- cell.setCellValue("lon");
- cell = row.createCell((short) 1);
- cell.setCellValue("lat");
- cell = row.createCell((short) 2);
- cell.setCellValue("rain");
- for (int i = 0; i < mountainrainsCVOS.size(); i++) {
- row = sheet.createRow((int) i + 1);
- HSSFCell celli = row.createCell((short) 0);
- row.createCell((short) 0).setCellValue(mountainrainsCVOS.get(i).getDj());
- row.createCell((short) 1).setCellValue(mountainrainsCVOS.get(i).getBw());
- if (mountainrainsCVOS.get(i).getCenconding() == null) {
- continue;
- }
- if (mountainrainsCVOS.get(i).getSoilval() > 30) {
- //0.8雨量湿度
- if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ lists.add(m);
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ //色斑图
+ String file = "";
+ // 第一步,创建一个webbook,对应一个Excel文件
+ HSSFWorkbook wb = new HSSFWorkbook();
+ // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
+ HSSFSheet sheet = wb.createSheet("山洪预警表");
+ // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
+ HSSFRow row = sheet.createRow((int) 0);
+ // 第四步,创建单元格,并设置值表头 设置表头居中
+ HSSFCellStyle style = wb.createCellStyle();
+ //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
+ HSSFCell cell = row.createCell((short) 0);
+ cell.setCellValue("lon");
+ cell = row.createCell((short) 1);
+ cell.setCellValue("lat");
+ cell = row.createCell((short) 2);
+ cell.setCellValue("rain");
+ for (int i = 0; i < mountainrainsCVOS.size(); i++) {
+ row = sheet.createRow((int) i + 1);
+ HSSFCell celli = row.createCell((short) 0);
+ row.createCell((short) 0).setCellValue(mountainrainsCVOS.get(i).getDj());
+ row.createCell((short) 1).setCellValue(mountainrainsCVOS.get(i).getBw());
+ if (mountainrainsCVOS.get(i).getCenconding() == null) {
+ continue;
+ }
+ if (mountainrainsCVOS.get(i).getSoilval() > 30) {
+ //0.8雨量湿度
+ if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ } else {
+ //0.5雨量湿度
+ if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ }
}
- } else {
- //0.5雨量湿度
- if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ try {
+ file = "D:/mou.xlsx";
+ FileOutputStream fout = new FileOutputStream(file);
+ wb.write(fout);
+ fout.close();
+ wb.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ Process proc;
+ String[] args1 = new String[]{"python", "D:\\fz\\mou.py", String.valueOf(url)};
+ try {
+ proc = Runtime.getRuntime().exec(args1);
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String line = null;
+ while ((line = in.readLine()) != null) {
+ System.out.println(line);
+ }
+ in.close();
+ proc.waitFor();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
}
}
- }
- try {
- file = "D:/mou.xlsx";
- FileOutputStream fout = new FileOutputStream(file);
- wb.write(fout);
- fout.close();
- wb.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- Process proc;
- try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\mou.py");
- BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- String line = null;
- while ((line = in.readLine()) != null) {
- System.out.println(line);
- }
- in.close();
- proc.waitFor();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ });
+ thread.start();
return R.data(lists);
}
@@ -1263,71 +1326,85 @@
double drp1 = w1.doubleValue();
if (drp1 > 30) {
double v = drp1 - 30;
+ double v1 = (double) Math.round(v * 100) / 100;
+ String a = String.valueOf(v1);
map.put("flage1", "true");
- map.put("num", v);
+ map.put("num", a);
} else {
map.put("flage1", "false");
}
map.put("List", list.get(i));
lists.add(map);
}
- String fileName = "";
- // 第一步,创建一个webbook,对应一个Excel文件
- HSSFWorkbook wb = new HSSFWorkbook();
- // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
- HSSFSheet sheet = wb.createSheet("山洪雨量表");
- // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
- HSSFRow row = sheet.createRow((int) 0);
- // 第四步,创建单元格,并设置值表头 设置表头居中
- HSSFCellStyle style = wb.createCellStyle();
- //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
- HSSFCell cell = row.createCell((short) 0);
- cell.setCellValue(new HSSFRichTextString("lon"));
- cell = row.createCell((short) 1);
- cell.setCellValue(new HSSFRichTextString("lat"));
- cell = row.createCell((short) 2);
- cell.setCellValue(new HSSFRichTextString("rain"));
- for (int i = 0; i < list.size(); i++) {
- // 第四步,创建单元格,并设置值
- row = sheet.createRow((int) i + 1);
- HSSFCell celli = row.createCell((short) 0);
- BigDecimal w1 = (BigDecimal) list.get(i).get("drp1");
- double drp1 = w1.doubleValue();
- row.createCell((short) 0).setCellValue(list.get(i).get("LGTD").toString());
- row.createCell((short) 1).setCellValue(list.get(i).get("LTTD").toString());
- if (drp1 > 30) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ lists.add(m);
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ String fileName = "";
+ // 第一步,创建一个webbook,对应一个Excel文件
+ HSSFWorkbook wb = new HSSFWorkbook();
+ // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
+ HSSFSheet sheet = wb.createSheet("山洪雨量表");
+ // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
+ HSSFRow row = sheet.createRow((int) 0);
+ // 第四步,创建单元格,并设置值表头 设置表头居中
+ HSSFCellStyle style = wb.createCellStyle();
+ //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
+ HSSFCell cell = row.createCell((short) 0);
+ cell.setCellValue(new HSSFRichTextString("lon"));
+ cell = row.createCell((short) 1);
+ cell.setCellValue(new HSSFRichTextString("lat"));
+ cell = row.createCell((short) 2);
+ cell.setCellValue(new HSSFRichTextString("rain"));
+ for (int i = 0; i < list.size(); i++) {
+ // 第四步,创建单元格,并设置值
+ row = sheet.createRow((int) i + 1);
+ HSSFCell celli = row.createCell((short) 0);
+ BigDecimal w1 = (BigDecimal) list.get(i).get("drp1");
+ double drp1 = w1.doubleValue();
+ row.createCell((short) 0).setCellValue(list.get(i).get("LGTD").toString());
+ row.createCell((short) 1).setCellValue(list.get(i).get("LTTD").toString());
+ if (drp1 > 30) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ }
+ // 第六步,将文件存到指定位置
+ try {
+ fileName = "D:/moup.xlsx";
+ FileOutputStream fout = new FileOutputStream(fileName);
+ wb.write(fout);
+ fout.close();
+ wb.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ Process proc;
+ String[] args1 = new String[]{"python", "D:\\fz\\moup.py", String.valueOf(url)};
+ try {
+ proc = Runtime.getRuntime().exec(args1);
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String line = null;
+ while ((line = in.readLine()) != null) {
+ System.out.println(line);
+ }
+ in.close();
+ proc.waitFor();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
}
- }
- // 第六步,将文件存到指定位置
- try {
- fileName = "D:/moup.xlsx";
- FileOutputStream fout = new FileOutputStream(fileName);
- wb.write(fout);
- fout.close();
- wb.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- Process proc;
- try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\moup.py");
- BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- String line = null;
- while ((line = in.readLine()) != null) {
- System.out.println(line);
- }
- in.close();
- proc.waitFor();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ });
+ thread.start();
return R.data(lists);
}
@@ -1345,7 +1422,14 @@
//2个小时前的时间
String dateEnd2 = dateEnds2;
-
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Date date = null;
+ try {
+ date = sdf.parse(time);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ String stime = sdf.format(date);
//对应雨量站
String s = mountainrainService.selectCode();
String[] split = s.split(",");
@@ -1354,7 +1438,7 @@
strArrays += "'" + split[i] + "',";
}
String code = strArrays.substring(0, strArrays.length() - 1);
- List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.MountainYi(times, dateEnd2, code);
+ List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.MountainTw(times, dateEnd2, code, stime);
List<Map<String, Object>> lists = new ArrayList<>();
for (int i = 0; i < mountainrainsCVOS.size(); i++) {
if (mountainrainsCVOS.get(i).getCenconding() == null) {
@@ -1366,12 +1450,14 @@
if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
int drp1 = mountainrainsCVOS.get(i).getDrp1();
Integer gohours = mountainrainsCVOS.get(i).getGohours();
- int i1 = drp1 - gohours;
+ float i1 = (float) drp1 - gohours;
+ float v = (float) (Math.round(i1 * 10)) / 10;
+ String a = String.valueOf(v);
map.put("List", mountainrainsCVOS.get(i));
map.put("flage1", "true");
map.put("flage3", "false");
map.put("status", 2);
- map.put("num", i1);
+ map.put("num", a);
lists.add(map);
} else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthours()) {
map.put("List", mountainrainsCVOS.get(i));
@@ -1391,12 +1477,14 @@
if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
int drp1 = mountainrainsCVOS.get(i).getDrp1();
Integer gohour = mountainrainsCVOS.get(i).getGohour();
- int i1 = drp1 - gohour;
+ float i1 = (float) drp1 - gohour;
+ float v = (float) (Math.round(i1 * 10)) / 10;
+ String a = String.valueOf(v);
map.put("List", mountainrainsCVOS.get(i));
map.put("flage1", "true");
map.put("flage3", "false");
map.put("status", 1);
- map.put("num", i1);
+ map.put("num", a);
lists.add(map);
} else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthour()) {
map.put("List", mountainrainsCVOS.get(i));
@@ -1414,81 +1502,93 @@
}
}
- //色斑图
- String file = "";
- // 第一步,创建一个webbook,对应一个Excel文件
- HSSFWorkbook wb = new HSSFWorkbook();
- // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
- HSSFSheet sheet = wb.createSheet("山洪预警表");
- // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
- HSSFRow row = sheet.createRow((int) 0);
- // 第四步,创建单元格,并设置值表头 设置表头居中
- HSSFCellStyle style = wb.createCellStyle();
- //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
- HSSFCell cell = row.createCell((short) 0);
- cell.setCellValue("lon");
- cell = row.createCell((short) 1);
- cell.setCellValue("lat");
- cell = row.createCell((short) 2);
- cell.setCellValue("rain");
- for (int i = 0; i < mountainrainsCVOS.size(); i++) {
- row = sheet.createRow((int) i + 1);
- HSSFCell celli = row.createCell((short) 0);
- row.createCell((short) 0).setCellValue(mountainrainsCVOS.get(i).getDj());
- row.createCell((short) 1).setCellValue(mountainrainsCVOS.get(i).getBw());
- if (mountainrainsCVOS.get(i).getCenconding() == null) {
- continue;
- }
- if (mountainrainsCVOS.get(i).getSoilval() > 30) {
- //0.8雨量湿度
- if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthours()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ lists.add(m);
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ //色斑图
+ String file = "";
+ // 第一步,创建一个webbook,对应一个Excel文件
+ HSSFWorkbook wb = new HSSFWorkbook();
+ // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
+ HSSFSheet sheet = wb.createSheet("山洪预警表");
+ // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
+ HSSFRow row = sheet.createRow((int) 0);
+ // 第四步,创建单元格,并设置值表头 设置表头居中
+ HSSFCellStyle style = wb.createCellStyle();
+ //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
+ HSSFCell cell = row.createCell((short) 0);
+ cell.setCellValue("lon");
+ cell = row.createCell((short) 1);
+ cell.setCellValue("lat");
+ cell = row.createCell((short) 2);
+ cell.setCellValue("rain");
+ for (int i = 0; i < mountainrainsCVOS.size(); i++) {
+ row = sheet.createRow((int) i + 1);
+ HSSFCell celli = row.createCell((short) 0);
+ row.createCell((short) 0).setCellValue(mountainrainsCVOS.get(i).getDj());
+ row.createCell((short) 1).setCellValue(mountainrainsCVOS.get(i).getBw());
+ if (mountainrainsCVOS.get(i).getCenconding() == null) {
+ continue;
+ }
+ if (mountainrainsCVOS.get(i).getSoilval() > 30) {
+ //0.8雨量湿度
+ if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthours()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ } else {
+ //0.5雨量湿度
+ if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthour()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ }
}
- } else {
- //0.5雨量湿度
- if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthour()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ try {
+ file = "D:/mou.xlsx";
+ FileOutputStream fout = new FileOutputStream(file);
+ wb.write(fout);
+ fout.close();
+ wb.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ Process proc;
+ String[] args1 = new String[]{"python", "D:\\fz\\mou.py", String.valueOf(url)};
+ try {
+ proc = Runtime.getRuntime().exec(args1);
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String line = null;
+ while ((line = in.readLine()) != null) {
+ System.out.println(line);
+ }
+ in.close();
+ proc.waitFor();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
}
}
- }
- try {
- file = "D:/mou.xlsx";
- FileOutputStream fout = new FileOutputStream(file);
- wb.write(fout);
- fout.close();
- wb.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- Process proc;
- try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\mou.py");
- BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- String line = null;
- while ((line = in.readLine()) != null) {
- System.out.println(line);
- }
- in.close();
- proc.waitFor();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ });
+ thread.start();
return R.data(lists);
}
@@ -1515,71 +1615,88 @@
double drp1 = w1.doubleValue();
if (drp1 > 50) {
double v = drp1 - 50;
+ double v1 = (double) Math.round(v * 10) / 10;
map.put("flage2", "true");
- map.put("num", v);
+ map.put("num", v1);
} else {
map.put("flage2", "false");
}
map.put("List", list.get(i));
lists.add(map);
}
- String fileName = "";
- // 第一步,创建一个webbook,对应一个Excel文件
- HSSFWorkbook wb = new HSSFWorkbook();
- // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
- HSSFSheet sheet = wb.createSheet("山洪雨量表");
- // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
- HSSFRow row = sheet.createRow((int) 0);
- // 第四步,创建单元格,并设置值表头 设置表头居中
- HSSFCellStyle style = wb.createCellStyle();
- //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
- HSSFCell cell = row.createCell((short) 0);
- cell.setCellValue(new HSSFRichTextString("lon"));
- cell = row.createCell((short) 1);
- cell.setCellValue(new HSSFRichTextString("lat"));
- cell = row.createCell((short) 2);
- cell.setCellValue(new HSSFRichTextString("rain"));
- for (int i = 0; i < list.size(); i++) {
- // 第四步,创建单元格,并设置值
- row = sheet.createRow((int) i + 1);
- HSSFCell celli = row.createCell((short) 0);
- BigDecimal w1 = (BigDecimal) list.get(i).get("drp1");
- double drp1 = w1.doubleValue();
- row.createCell((short) 0).setCellValue(list.get(i).get("LGTD").toString());
- row.createCell((short) 1).setCellValue(list.get(i).get("LTTD").toString());
- if (drp1 > 50) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ lists.add(m);
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ String fileName = "";
+ // 第一步,创建一个webbook,对应一个Excel文件
+ HSSFWorkbook wb = new HSSFWorkbook();
+ // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
+ HSSFSheet sheet = wb.createSheet("山洪雨量表");
+ // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
+ HSSFRow row = sheet.createRow((int) 0);
+ // 第四步,创建单元格,并设置值表头 设置表头居中
+ HSSFCellStyle style = wb.createCellStyle();
+ //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
+ HSSFCell cell = row.createCell((short) 0);
+ cell.setCellValue(new HSSFRichTextString("lon"));
+ cell = row.createCell((short) 1);
+ cell.setCellValue(new HSSFRichTextString("lat"));
+ cell = row.createCell((short) 2);
+ cell.setCellValue(new HSSFRichTextString("rain"));
+ for (int i = 0; i < list.size(); i++) {
+ // 第四步,创建单元格,并设置值
+ row = sheet.createRow((int) i + 1);
+ HSSFCell celli = row.createCell((short) 0);
+ BigDecimal w1 = (BigDecimal) list.get(i).get("drp1");
+ double drp1 = w1.doubleValue();
+ row.createCell((short) 0).setCellValue(list.get(i).get("LGTD").toString());
+ row.createCell((short) 1).setCellValue(list.get(i).get("LTTD").toString());
+ if (drp1 > 50) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ }
+ // 第六步,将文件存到指定位置
+ try {
+ fileName = "D:/moup.xlsx";
+ FileOutputStream fout = new FileOutputStream(fileName);
+ wb.write(fout);
+ fout.close();
+ wb.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ Process proc;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ String[] args1 = new String[]{"python", "D:\\fz\\moup.py", String.valueOf(url)};
+ try {
+ proc = Runtime.getRuntime().exec(args1);
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String line = null;
+ while ((line = in.readLine()) != null) {
+ System.out.println(line);
+ }
+ in.close();
+ proc.waitFor();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
}
- }
- // 第六步,将文件存到指定位置
- try {
- fileName = "D:/moup.xlsx";
- FileOutputStream fout = new FileOutputStream(fileName);
- wb.write(fout);
- fout.close();
- wb.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- Process proc;
- try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\moup.py");
- BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- String line = null;
- while ((line = in.readLine()) != null) {
- System.out.println(line);
- }
- in.close();
- proc.waitFor();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ });
+ thread.start();
return R.data(lists);
}
@@ -1598,7 +1715,14 @@
//2个小时前的时间
String dateEnd3 = dateEnds3;
-
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Date date = null;
+ try {
+ date = sdf.parse(time);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ String stime = sdf.format(date);
//对应雨量站
String s = mountainrainService.selectCode();
String[] split = s.split(",");
@@ -1607,7 +1731,7 @@
strArrays += "'" + split[i] + "',";
}
String code = strArrays.substring(0, strArrays.length() - 1);
- List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.MountainTr(times, dateEnd3, code);
+ List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.MountainTr(times, dateEnd3, code, stime);
List<Map<String, Object>> lists = new ArrayList<>();
for (int i = 0; i < mountainrainsCVOS.size(); i++) {
if (mountainrainsCVOS.get(i).getCenconding() == null) {
@@ -1619,11 +1743,13 @@
if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthours()) {
int drp1 = mountainrainsCVOS.get(i).getDrp1();
Integer gohours = mountainrainsCVOS.get(i).getGohours();
- int i1 = drp1 - gohours;
+ float i1 = (float) drp1 - gohours;
+ float v = (float) (Math.round(i1 * 10)) / 10;
+ String a = String.valueOf(v);
map.put("List", mountainrainsCVOS.get(i));
map.put("flage3", "true");
map.put("status", 2);
- map.put("num", i1);
+ map.put("num", a);
lists.add(map);
} else {
map.put("List", mountainrainsCVOS.get(i));
@@ -1636,11 +1762,13 @@
if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthour()) {
int drp1 = mountainrainsCVOS.get(i).getDrp1();
Integer gohour = mountainrainsCVOS.get(i).getGohour();
- int i1 = drp1 - gohour;
+ float i1 = (float) drp1 - gohour;
+ float v = (float) (Math.round(i1 * 10)) / 10;
+ String a = String.valueOf(v);
map.put("List", mountainrainsCVOS.get(i));
map.put("flage3", "true");
map.put("status", 1);
- map.put("num", i1);
+ map.put("num", a);
lists.add(map);
} else {
map.put("List", mountainrainsCVOS.get(i));
@@ -1651,75 +1779,87 @@
}
}
- //色斑图
- String file = "";
- // 第一步,创建一个webbook,对应一个Excel文件
- HSSFWorkbook wb = new HSSFWorkbook();
- // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
- HSSFSheet sheet = wb.createSheet("山洪预警表");
- // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
- HSSFRow row = sheet.createRow((int) 0);
- // 第四步,创建单元格,并设置值表头 设置表头居中
- HSSFCellStyle style = wb.createCellStyle();
- //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
- HSSFCell cell = row.createCell((short) 0);
- cell.setCellValue("lon");
- cell = row.createCell((short) 1);
- cell.setCellValue("lat");
- cell = row.createCell((short) 2);
- cell.setCellValue("rain");
- for (int i = 0; i < mountainrainsCVOS.size(); i++) {
- row = sheet.createRow((int) i + 1);
- HSSFCell celli = row.createCell((short) 0);
- row.createCell((short) 0).setCellValue(mountainrainsCVOS.get(i).getDj());
- row.createCell((short) 1).setCellValue(mountainrainsCVOS.get(i).getBw());
- if (mountainrainsCVOS.get(i).getCenconding() == null) {
- continue;
- }
- if (mountainrainsCVOS.get(i).getSoilval() > 30) {
- //0.8雨量湿度
- if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthours()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ lists.add(m);
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ //色斑图
+ String file = "";
+ // 第一步,创建一个webbook,对应一个Excel文件
+ HSSFWorkbook wb = new HSSFWorkbook();
+ // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
+ HSSFSheet sheet = wb.createSheet("山洪预警表");
+ // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
+ HSSFRow row = sheet.createRow((int) 0);
+ // 第四步,创建单元格,并设置值表头 设置表头居中
+ HSSFCellStyle style = wb.createCellStyle();
+ //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
+ HSSFCell cell = row.createCell((short) 0);
+ cell.setCellValue("lon");
+ cell = row.createCell((short) 1);
+ cell.setCellValue("lat");
+ cell = row.createCell((short) 2);
+ cell.setCellValue("rain");
+ for (int i = 0; i < mountainrainsCVOS.size(); i++) {
+ row = sheet.createRow((int) i + 1);
+ HSSFCell celli = row.createCell((short) 0);
+ row.createCell((short) 0).setCellValue(mountainrainsCVOS.get(i).getDj());
+ row.createCell((short) 1).setCellValue(mountainrainsCVOS.get(i).getBw());
+ if (mountainrainsCVOS.get(i).getCenconding() == null) {
+ continue;
+ }
+ if (mountainrainsCVOS.get(i).getSoilval() > 30) {
+ //0.8雨量湿度
+ if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthours()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ } else {
+ //0.5雨量湿度
+ if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthour()) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ }
}
- } else {
- //0.5雨量湿度
- if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthour()) {
- row.createCell((short) 2).setCellValue(2);
- continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ try {
+ file = "D:/mou.xlsx";
+ FileOutputStream fout = new FileOutputStream(file);
+ wb.write(fout);
+ fout.close();
+ wb.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ Process proc;
+ String[] args1 = new String[]{"python", "D:\\fz\\mou.py", String.valueOf(url)};
+ try {
+ proc = Runtime.getRuntime().exec(args1);
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String line = null;
+ while ((line = in.readLine()) != null) {
+ System.out.println(line);
+ }
+ in.close();
+ proc.waitFor();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
}
}
- }
- try {
- file = "D:/mou.xlsx";
- FileOutputStream fout = new FileOutputStream(file);
- wb.write(fout);
- fout.close();
- wb.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- Process proc;
- try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\mou.py");
- BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- String line = null;
- while ((line = in.readLine()) != null) {
- System.out.println(line);
- }
- in.close();
- proc.waitFor();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ });
+ thread.start();
return R.data(lists);
}
@@ -1746,72 +1886,85 @@
double drp1 = w1.doubleValue();
if (drp1 > 80) {
double v = drp1 - 80;
+ double v1 = (double) Math.round(v * 10) / 10;
map.put("flage3", "true");
- map.put("num", v);
+ map.put("num", v1);
} else {
map.put("flage3", "false");
}
map.put("List", list.get(i));
lists.add(map);
}
- String fileName = "";
- // 第一步,创建一个webbook,对应一个Excel文件
- HSSFWorkbook wb = new HSSFWorkbook();
- // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
- HSSFSheet sheet = wb.createSheet("山洪雨量表");
- // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
- HSSFRow row = sheet.createRow((int) 0);
- // 第四步,创建单元格,并设置值表头 设置表头居中
- HSSFCellStyle style = wb.createCellStyle();
- //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
- HSSFCell cell = row.createCell((short) 0);
- cell.setCellValue(new HSSFRichTextString("lon"));
- cell = row.createCell((short) 1);
- cell.setCellValue(new HSSFRichTextString("lat"));
- cell = row.createCell((short) 2);
- cell.setCellValue(new HSSFRichTextString("rain"));
- for (int i = 0; i < list.size(); i++) {
- // 第四步,创建单元格,并设置值
- row = sheet.createRow((int) i + 1);
- HSSFCell celli = row.createCell((short) 0);
- BigDecimal w1 = (BigDecimal) list.get(i).get("drp1");
- double drp1 = w1.doubleValue();
- row.createCell((short) 0).setCellValue(list.get(i).get("LGTD").toString());
- row.createCell((short) 1).setCellValue(list.get(i).get("LTTD").toString());
- if (drp1 > 80) {
- row.createCell((short) 2).setCellValue(2);
- continue;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ lists.add(m);
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ String fileName = "";
+ // 第一步,创建一个webbook,对应一个Excel文件
+ HSSFWorkbook wb = new HSSFWorkbook();
+ // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
+ HSSFSheet sheet = wb.createSheet("山洪雨量表");
+ // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
+ HSSFRow row = sheet.createRow((int) 0);
+ // 第四步,创建单元格,并设置值表头 设置表头居中
+ HSSFCellStyle style = wb.createCellStyle();
+ //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
+ HSSFCell cell = row.createCell((short) 0);
+ cell.setCellValue(new HSSFRichTextString("lon"));
+ cell = row.createCell((short) 1);
+ cell.setCellValue(new HSSFRichTextString("lat"));
+ cell = row.createCell((short) 2);
+ cell.setCellValue(new HSSFRichTextString("rain"));
+ for (int i = 0; i < list.size(); i++) {
+ // 第四步,创建单元格,并设置值
+ row = sheet.createRow((int) i + 1);
+ HSSFCell celli = row.createCell((short) 0);
+ BigDecimal w1 = (BigDecimal) list.get(i).get("drp1");
+ double drp1 = w1.doubleValue();
+ row.createCell((short) 0).setCellValue(list.get(i).get("LGTD").toString());
+ row.createCell((short) 1).setCellValue(list.get(i).get("LTTD").toString());
+ if (drp1 > 80) {
+ row.createCell((short) 2).setCellValue(2);
+ continue;
- } else {
- row.createCell((short) 2).setCellValue(1);
- continue;
+ } else {
+ row.createCell((short) 2).setCellValue(1);
+ continue;
+ }
+ }
+ // 第六步,将文件存到指定位置
+ try {
+ fileName = "D:/moup.xlsx";
+ FileOutputStream fout = new FileOutputStream(fileName);
+ wb.write(fout);
+ fout.close();
+ wb.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ Process proc;
+ String[] args1 = new String[]{"python", "D:\\fz\\moup.py", String.valueOf(url)};
+ try {
+ proc = Runtime.getRuntime().exec(args1);
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String line = null;
+ while ((line = in.readLine()) != null) {
+ System.out.println(line);
+ }
+ in.close();
+ proc.waitFor();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
}
- }
- // 第六步,将文件存到指定位置
- try {
- fileName = "D:/moup.xlsx";
- FileOutputStream fout = new FileOutputStream(fileName);
- wb.write(fout);
- fout.close();
- wb.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- Process proc;
- try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\moup.py");
- BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
- String line = null;
- while ((line = in.readLine()) != null) {
- System.out.println(line);
- }
- in.close();
- proc.waitFor();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
+ });
+ thread.start();
return R.data(lists);
}
@@ -1821,8 +1974,8 @@
* 土壤色斑图
*/
@GetMapping("/selectS")
- public void selectS(){
- List<Map<String, Object>> list = mountainrainService.selectS();
+ public R selectS(String time) {
+ List<Map<String, Object>> list = mountainrainService.selectS(time);
String fileName = "";
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
@@ -1847,47 +2000,47 @@
row.createCell((short) 0).setCellValue(list.get(i).get("LGTD").toString());
row.createCell((short) 1).setCellValue(list.get(i).get("LTTD").toString());
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
- if (stcd.equals("62455350")){
+ if (stcd.equals("62455350")) {
row.createCell((short) 0).setCellValue("117.344876");
row.createCell((short) 1).setCellValue("27.827067");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62334845")){
+ if (stcd.equals("62334845")) {
row.createCell((short) 0).setCellValue("115.625720");
row.createCell((short) 1).setCellValue("27.152794");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62433800")){
+ if (stcd.equals("62433800")) {
row.createCell((short) 0).setCellValue("115.618546");
row.createCell((short) 1).setCellValue("27.683604");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62436760")){
+ if (stcd.equals("62436760")) {
row.createCell((short) 0).setCellValue("116.060889");
row.createCell((short) 1).setCellValue("28.216806");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62437250")){
+ if (stcd.equals("62437250")) {
row.createCell((short) 0).setCellValue("116.622783");
row.createCell((short) 1).setCellValue("28.489384");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62433700")){
+ if (stcd.equals("62433700")) {
row.createCell((short) 0).setCellValue("115.558771");
row.createCell((short) 1).setCellValue("27.518623");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62425740")){
+ if (stcd.equals("62425740")) {
row.createCell((short) 0).setCellValue("117.208587");
row.createCell((short) 1).setCellValue("27.298647");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62437235")){
+ if (stcd.equals("62437235")) {
row.createCell((short) 0).setCellValue("116.780591");
row.createCell((short) 1).setCellValue("28.391352");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
}
- if (stcd.equals("62437250")){
+ if (stcd.equals("62437250")) {
row.createCell((short) 0).setCellValue("116.555834");
row.createCell((short) 1).setCellValue("28.518077");
row.createCell((short) 2).setCellValue(list.get(i).get("soilval").toString());
@@ -1904,8 +2057,13 @@
e.printStackTrace();
}
Process proc;
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ long url = timestamp.getTime();
+ Map m = new HashMap();
+ m.put("url", url + ".png");
+ String[] args1 = new String[]{"python", "D:\\fz\\tur.py", String.valueOf(url)};
try {
- proc = Runtime.getRuntime().exec("python D:\\fz\\tur.py");
+ proc = Runtime.getRuntime().exec(args1);
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
@@ -1918,7 +2076,96 @@
} catch (InterruptedException e) {
e.printStackTrace();
}
+ return R.data(m);
+ }
-}
+ public static Date beforeHourToNowDate(String date, int hours) {
+ Calendar c = Calendar.getInstance();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ c.setTime(sdf.parse(date));
+ c.set(Calendar.HOUR_OF_DAY, c.get(Calendar.HOUR_OF_DAY) - hours);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return c.getTime();
+ }
+
+ private static String ss(int i, int j, 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);
+ }
+ calendar.add(Calendar.DATE, -j);
+ Date today = calendar.getTime();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd 08:00:00");
+ String result = format.format(today);
+ return result;
+ }
+
+ @GetMapping("/cs")
+ public R cs() {
+ for (int c = 2; c < 25; c++) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.add(Calendar.DATE, -c); //得到前一天
+ Date date = calendar.getTime();
+ DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String dateNow = df.format(df.format(date));
+ int intervals = 31;
+ ArrayList passDaysList = new ArrayList<>();
+ for (int i = 0; i < intervals; i++) {
+ passDaysList.add(ss(i, c, false));
+ }
+ Collections.sort(passDaysList);
+ //String s = mountainrainService.selectCode();
+ 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);
+ 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 (stcd != null) {
+ if (v1 > 60) {
+ mountainrainService.soleInster(stcd, "60", dateNow);
+ } else {
+ String a = String.valueOf(v1);
+ mountainrainService.soleInster(stcd, a, dateNow);
+ }
+ }
+
+ }
+ }
+ return R.data("成功");
+ }
}
--
Gitblit v1.9.3