From 3cf717d9c9cb1426f25bd5cd886ec20873058e39 Mon Sep 17 00:00:00 2001
From: wangyifei <1522824457@qq.com>
Date: 星期三, 30 十月 2024 15:57:06 +0800
Subject: [PATCH] 获取降水曲线文件曲线图功能第一次提交

---
 src/main/java/com/se/simu/service/ResultService.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/se/simu/service/ResultService.java b/src/main/java/com/se/simu/service/ResultService.java
index 347cf72..e1da3df 100644
--- a/src/main/java/com/se/simu/service/ResultService.java
+++ b/src/main/java/com/se/simu/service/ResultService.java
@@ -23,6 +23,10 @@
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.*;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.List;
 
@@ -61,6 +65,7 @@
             copeWater(dto, layer);
             copeFlow(dto, layer);
             copeLayerJson(dto, layer);
+            copeRainFallJson(dto, layer);
         } finally {
             File dir = new File(dto.getTemp());
             if (dir.exists()) {
@@ -525,4 +530,37 @@
         bw.close();
         fw.close();
     }
+
+    /**
+     * 澶勭悊闄嶆按鏇茬嚎鏂囦欢鏇茬嚎鍥� 
+     */
+    public void copeRainFallJson(ResultDto dto, LayerDto layer) throws IOException, ParseException {
+        String rainGageFilePath = config.getInPath() + File.separator + dto.getServiceName() + File.separator + "RainGage.dat";
+        String filePath = dto.getOutPath() + File.separator + "rainfall.json";
+
+        String line;
+        Map<Long,Double> rainFallJsons = new LinkedHashMap<>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+        BufferedReader br = new BufferedReader(new FileReader(rainGageFilePath));
+            //澶勭悊绗竴琛屾暟鎹�
+            if ((line = br.readLine()) != null) {
+                while ((line = br.readLine()) != null) {
+                    // 澶勭悊姣忎竴琛屾暟鎹�
+                    String[] rainFall = line.split(" ");
+
+                    if (rainFall.length < 7) continue;
+
+                    String sdt = rainFall[1]+"-"+rainFall[2]+"-"+rainFall[3]+" "+rainFall[4]+":"+rainFall[5];
+                    BigDecimal num = new BigDecimal(rainFall[6]);
+                    rainFallJsons.put(sdf.parse(sdt).getTime()/1000,num.setScale(2, RoundingMode.HALF_UP).doubleValue());
+                }
+            }
+
+        FileWriter fw = new FileWriter(filePath);
+        BufferedWriter bw = new BufferedWriter(fw);
+        bw.write(JSON.toJSONString(rainFallJsons));
+        bw.close();
+        fw.close();
+    }
 }

--
Gitblit v1.9.3