From aeb87acc50065316b9788b143ae493a9def8540f Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Wed, 08 Sep 2021 09:13:15 +0800
Subject: [PATCH] 1.单位
---
src/main/java/org/springblade/modules/regionWeight/service/IRegionWeightService.java | 2
src/main/java/org/springblade/modules/regionWeight/controller/RegionWeightController.java | 154 ++++++++++++++++++++++++++++++++++++++
src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.java | 4 +
src/main/java/org/springblade/modules/regionWeight/service/impl/RegionWeightServiceImpl.java | 10 ++
src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml | 60 ++++++++++++++
5 files changed, 228 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/springblade/modules/regionWeight/controller/RegionWeightController.java b/src/main/java/org/springblade/modules/regionWeight/controller/RegionWeightController.java
index 1f109f5..3a26f88 100644
--- a/src/main/java/org/springblade/modules/regionWeight/controller/RegionWeightController.java
+++ b/src/main/java/org/springblade/modules/regionWeight/controller/RegionWeightController.java
@@ -743,4 +743,158 @@
}
+ @GetMapping("/selectReDc")
+ public R selectReDc(String beginTime, String endTime) {
+ String substring = beginTime.substring(0, 10);
+ String r = beginTime.substring(11, 13);
+ //截取月日
+ String[] strs = substring.split("-");
+ //月
+ String year = strs[1].toString();
+ //日
+ String day = strs[2].toString();
+ String substrings = endTime.substring(0, 10);
+ String rs = endTime.substring(11, 13);
+ //截取月日
+ String[] strss = substrings.split("-");
+ //月
+ String years = strss[1].toString();
+ //日
+ String days = strss[2].toString();
+ //List<Map<String, Object>> maps = regionWeightService.selectYjs(beginTime, endTime);
+ 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, Object>> maps = regionWeightService.ss(beginTime, endTime, code);
+ List<Map<String, Object>> lists = new ArrayList<>();
+ Map<String, Object> map = new HashMap<String, Object>();
+ String text = "";
+ String yday = year + "月" + day + "日" + r + "时-" + years + "月" + days + "日" + rs + "时。";
+ //0-10降雨量范围
+ List lista = new ArrayList<>();
+ //10-25降雨量范围
+ List listb = new ArrayList<>();
+ //25-50降雨量范围
+ List listc = new ArrayList<>();
+ //50-100降雨量范围
+ List listd = new ArrayList<>();
+ //100-250降雨量范围
+ List liste = new ArrayList<>();
+ //250降雨量范围
+ List listf = new ArrayList<>();
+ for (int i = 0; i < maps.size(); i++) {
+ if (i < 3) {
+ String addvnm = maps.get(i).get("ADDVNM").toString();
+ String stnm = maps.get(i).get("STNM").toString();
+ BigDecimal bigDecimaldyp = (BigDecimal) maps.get(i).get("dyp");//日雨量
+ double dyp = bigDecimaldyp.doubleValue();
+ if (dyp > 0 && dyp <= 10) {
+ lista.add(maps.get(i));
+ } else if (dyp > 10 && dyp <= 25) {
+ listb.add(maps.get(i));
+ } else if (dyp > 25 && dyp <= 50) {
+ listc.add(maps.get(i));
+ } else if (dyp > 50 && dyp <= 100) {
+ listd.add(maps.get(i));
+ } else if (dyp > 100 && dyp <= 250) {
+ liste.add(maps.get(i));
+ } else if (dyp > 250) {
+ listf.add(maps.get(i));
+ }
+ text += stnm + "站" + dyp + "毫米,";
+ } else {
+ BigDecimal bigDecimaldyp = (BigDecimal) maps.get(i).get("dyp");//日雨量
+ double dyp = bigDecimaldyp.doubleValue();
+ if (dyp > 0 && dyp <= 10) {
+ lista.add(maps.get(i));
+ } else if (dyp > 10 && dyp <= 25) {
+ listb.add(maps.get(i));
+ } else if (dyp > 25 && dyp <= 50) {
+ listc.add(maps.get(i));
+ } else if (dyp > 50 && dyp <= 100) {
+ listd.add(maps.get(i));
+ } else if (dyp > 100 && dyp <= 250) {
+ liste.add(maps.get(i));
+ } else if (dyp > 250) {
+ listf.add(maps.get(i));
+ }
+ }
+ }
+ //0-10
+ map.put("one", lista);
+ //10-25
+ map.put("two", listb);
+ //25-50
+ map.put("three", listc);
+ //50-100
+ map.put("four", listd);
+ //100-250
+ map.put("five", liste);
+ //250
+ map.put("six", listf);
+ String a = "";
+ if (maps.size() == 0) {
+ a = yday + "暂无降雨信息。";
+ } else {
+ a = yday + "点降雨量前三为:" + text.substring(0,text.length()-1)+"。";
+ }
+ map.put("text", a);
+ 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("lon");
+ cell = row.createCell((short) 1);
+ cell.setCellValue("lat");
+ cell = row.createCell((short) 2);
+ cell.setCellValue("rain");
+ for (int i = 0; i < maps.size(); i++) {
+ // 第四步,创建单元格,并设置值
+ row = sheet.createRow((int) i + 1);
+ HSSFCell celli = row.createCell((short) 0);
+ row.createCell((short) 0).setCellValue(maps.get(i).get("LGTD").toString());
+ row.createCell((short) 1).setCellValue(maps.get(i).get("LTTD").toString());
+ row.createCell((short) 2).setCellValue(maps.get(i).get("dyp").toString());
+ }
+ // 第六步,将文件存到指定位置
+ try {
+ fileName = "D:/pptnd.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\\fz.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();
+ }
+ return R.data(lists);
+ }
+
+
}
diff --git a/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.java b/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.java
index 85ffa57..ddc160d 100644
--- a/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.java
+++ b/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.java
@@ -17,6 +17,7 @@
package org.springblade.modules.regionWeight.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import liquibase.pro.packaged.S;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.regionWeight.entity.RegionWeight;
import org.springblade.modules.regionWeight.excel.regionExcel;
@@ -58,6 +59,7 @@
List<Map<String, Object>> selectWeight();
List<Map<String, Object>> selectWeights();
List<Map<String, Object>> selectYjs(String beginTime,String endTime);
+ List<Map<String, Object>> ss(String beginTime, String endTime, String code);
List<Map<String, Object>> selectAll();
List<Map<String, Object>> selectLALL();
List<Map<String, Object>> selectLNam();
@@ -66,4 +68,6 @@
*/
List<regionExcel> exportRegion(String beginTime,String endTime);
List<Map<String, Object>> selectppyj(String time, String dateBegin1,String dateBegin3,String dateBegin6,String times);
+
+ String selectCode();
}
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 9bef9c1..f4fde0f 100644
--- a/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml
+++ b/src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml
@@ -70,7 +70,8 @@
st.STTP
FROM (SELECT STCD, SUM(DRP) AS DRP
FROM dbo.ST_PPTN_R
- WHERE TM > #{beginTime} AND TM <= #{endTime}
+ WHERE TM > #{beginTime}
+ AND TM <= #{endTime}
GROUP BY STCD) cs1
INNER JOIN (SELECT STATION_CODE, STATION_NAME, REGION_NAME, WEIGHT, REGION_CODE
FROM ZHSW_REGION_WEIGHT) s ON s.STATION_CODE = cs1.STCD
@@ -162,7 +163,8 @@
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='ZZ'
+ OR st.STTP = 'ZQ'
+ OR st.STTP = 'ZZ'
) c
INNER JOIN (
SELECT SUM
@@ -285,5 +287,59 @@
GROUP BY STCD
) csd ON csd.STCD = c.STCD
</select>
+
+
+ <select id="selectCode" resultType="java.lang.String">
+ SELECT stuff((
+ SELECT ',' + CONVERT(VARCHAR (25), STCD)
+ 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 = 'ZZ' FOR XML PATH ('')),
+ 1,
+ 1,
+ ''
+ ) AS siteids
+ </select>
+
+ <select id="ss" resultType="java.util.Map">
+ SELECT c.STCD,
+ c.STNM,
+ c.STLC,
+ c.ADDVNM,
+ c.RVNM,
+ c.HNNM,
+ c.LTTD,
+ c.LGTD,
+ ISNULL(csd.dyp, 0) AS dyp
+ FROM (
+ SELECT SUM
+ (strd.DRP) AS dyp,
+ STCD
+ FROM dbo.ST_PPTN_R strd
+ WHERE strd.TM > #{beginTime}
+ AND strd.TM <= #{endTime}
+ AND STCD IN (${code})
+ GROUP BY STCD
+ ) csd
+ 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
+ ) c ON c.STCD = csd.STCD
+ WHERE c.ADDVNM != '井冈山市'
+ AND c.ADDVNM != '吉水县'
+ ORDER BY
+ csd.dyp DESC
+ </select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/regionWeight/service/IRegionWeightService.java b/src/main/java/org/springblade/modules/regionWeight/service/IRegionWeightService.java
index c073e2b..036cc51 100644
--- a/src/main/java/org/springblade/modules/regionWeight/service/IRegionWeightService.java
+++ b/src/main/java/org/springblade/modules/regionWeight/service/IRegionWeightService.java
@@ -58,4 +58,6 @@
List<Map<String, Object>> selectLALL();
List<Map<String, Object>> selectLNam();
List<Map<String, Object>> selectppyj(String time, String dateBegin1,String dateBegin3,String dateBegin6,String times);
+ String selectCode();
+ List<Map<String, Object>> ss(String beginTime, String endTime, String code);
}
diff --git a/src/main/java/org/springblade/modules/regionWeight/service/impl/RegionWeightServiceImpl.java b/src/main/java/org/springblade/modules/regionWeight/service/impl/RegionWeightServiceImpl.java
index 18a9c15..bd16523 100644
--- a/src/main/java/org/springblade/modules/regionWeight/service/impl/RegionWeightServiceImpl.java
+++ b/src/main/java/org/springblade/modules/regionWeight/service/impl/RegionWeightServiceImpl.java
@@ -103,4 +103,14 @@
public List<Map<String, Object>> selectppyj(String time, String dateBegin1, String dateBegin3, String dateBegin6, String times) {
return baseMapper.selectppyj(time, dateBegin1, dateBegin3, dateBegin6, times);
}
+
+ @Override
+ public String selectCode() {
+ return baseMapper.selectCode();
+ }
+
+ @Override
+ public List<Map<String, Object>> ss(String beginTime, String endTime, String code) {
+ return baseMapper.ss(beginTime, endTime, code);
+ }
}
--
Gitblit v1.9.3