From 5ec04f09b1569a3cc566657684a647f467b1e608 Mon Sep 17 00:00:00 2001
From: 张洋洋 <10611411+yang-yang-z@user.noreply.gitee.com>
Date: 星期四, 20 二月 2025 15:33:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/se/simu/service/Impl/SwwFilesDealServiceImpl.java |  126 ++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/se/simu/controller/SwwFilesDealController.java    |    2 
 src/main/java/com/se/simu/service/UwService.java                    |    9 +++
 3 files changed, 136 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/se/simu/controller/SwwFilesDealController.java b/src/main/java/com/se/simu/controller/SwwFilesDealController.java
index c992dec..9244c21 100644
--- a/src/main/java/com/se/simu/controller/SwwFilesDealController.java
+++ b/src/main/java/com/se/simu/controller/SwwFilesDealController.java
@@ -19,7 +19,7 @@
  * @author xingjinshuang@smartearth.cn
  * @date 2025/02/20
  */
-@Api(tags = "SEM鐩稿叧鎺ュ彛")
+@Api(tags = " Sww 鐩稿叧鎺ュ彛")
 @CrossOrigin(origins = "*")
 @RequiredArgsConstructor
 @RestController
diff --git a/src/main/java/com/se/simu/service/Impl/SwwFilesDealServiceImpl.java b/src/main/java/com/se/simu/service/Impl/SwwFilesDealServiceImpl.java
index bf09603..c8409a5 100644
--- a/src/main/java/com/se/simu/service/Impl/SwwFilesDealServiceImpl.java
+++ b/src/main/java/com/se/simu/service/Impl/SwwFilesDealServiceImpl.java
@@ -1,16 +1,142 @@
 package com.se.simu.service.Impl;
 
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.se.simu.config.PropertiesConfig;
+import com.se.simu.domain.po.DataPo;
+import com.se.simu.domain.po.SimuPo;
+import com.se.simu.helper.StringHelper;
+import com.se.simu.service.ResultService;
 import com.se.simu.service.SwwFilesDealService;
+import com.se.simu.service.UwService;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.util.Date;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 @Slf4j
 @Service
 public class SwwFilesDealServiceImpl implements SwwFilesDealService {
 
+    @Resource
+    private PropertiesConfig config;
+
+    @Resource
+    private UwService uwService;
+
+    @Resource
+    private ResultService resultService;
 
     @Override
     public Object readSwwFile(String filePath) {
+        DataPo dataPo = new DataPo();
+        dataPo.setPid(0);
+        dataPo.setName("澶勭悊sww鏂囦欢");
+        dataPo.setInPath("H:\\simu\\semout\\testsem\\.out\\testsem.sww");
+        dataPo.setOutPath("H:\\simu\\semout\\testsem\\.out");
+
+        String json_data = "{\"pid\":0,\"name\":\"20241213135203\",\"inPath\":\"20241213135203\",\"outPath\":\"20241213135203\",\"startTime\":1727661600000,\"minx\":116.64388473935195,\"miny\":39.884315914604464,\"maxx\":116.64754729082588,\"maxy\":39.887069143903496,\"total\":50,\"duration\":60,\"floodStart\":60,\"floodEnd\":180,\"floodHeight\":1,\"floodType\":\"娌欒\",\"floodMinx\":116.64388473935195,\"floodMiny\":39.884315914604464,\"floodMaxx\":116.64754729082588,\"floodMaxy\":39.887069143903496,\"epsg\":4548}";
+        JSONObject jsonObject = JSON.parseObject(json_data);
+        System.out.println("jsonObject = " + jsonObject);
+
+
+//
+//        @ApiModelProperty("寮�濮嬫椂闂�")
+//        @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+//        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//        private Date startTime;
+//
+//        @ApiModelProperty("鏈�灏廥")
+//        private Double minx;
+//
+//        @ApiModelProperty("鏈�灏廦")
+//        private Double miny;
+//
+//        @ApiModelProperty("鏈�澶")
+//        private Double maxx;
+//
+//        @ApiModelProperty("鏈�澶")
+//        private Double maxy;
+//
+//        @ApiModelProperty("闄嶉洦閲�(mm)")
+//        private Double total;
+//
+//        @ApiModelProperty("鏃堕暱(min)")
+//        private Integer duration;
+//
+//        @ApiModelProperty("鏄惁涓洪槻姹�(0-鍚︼紝1-鏄�)")
+//        private Integer isFlood;
+//
+//        @ApiModelProperty("闃叉睕寮�濮嬫椂闂�(绉�)")
+//        private Integer floodStart;
+//
+//        @ApiModelProperty("闃叉睕缁撴潫鏃堕棿(绉�)")
+//        private Integer floodEnd;
+//
+//        @ApiModelProperty("闃叉睕楂樺害(mm)")
+//        private Double floodHeight;
+//
+//        @ApiModelProperty("闃叉睕绫诲瀷(娌欒锛岄槻姘存澘)")
+//        private String floodType;
+//
+//        @ApiModelProperty("闃叉睕鏈�灏廥")
+//        private Double floodMinx;
+//
+//        @ApiModelProperty("闃叉睕鏈�灏廦")
+//        private Double floodMiny;
+//
+//        @ApiModelProperty("闃叉睕鏈�澶")
+//        private Double floodMaxx;
+//
+//        @ApiModelProperty("闃叉睕鏈�澶")
+//        private Double floodMaxy;
+//
+//        @ApiModelProperty("鍧愭爣绯籌D")
+//        private Integer epsg;
+
+
+
+
+
+
+        // 璇诲彇sww鏂囦欢
+        asyncCall(dataPo);
         return null;
     }
+
+    private void asyncCall(DataPo dataPo) {
+        ExecutorService executor = Executors.newSingleThreadExecutor();
+        executor.execute(new Runnable() {
+            @Override
+            @SneakyThrows
+            public void run() {
+                copeDeal(dataPo);
+            }
+        });
+        executor.shutdown();
+    }
+
+    private void copeDeal(DataPo data) {
+        try {
+            uwService.callExe(data);
+//            uwService.copeWaterFiles();
+//            uwService.copeDrainFiles(data);
+            uwService.copeSwwDrainFiles(data);
+//            resultService.process(data);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
+
+
+
 }
diff --git a/src/main/java/com/se/simu/service/UwService.java b/src/main/java/com/se/simu/service/UwService.java
index f6edbc6..c9ca4a6 100644
--- a/src/main/java/com/se/simu/service/UwService.java
+++ b/src/main/java/com/se/simu/service/UwService.java
@@ -195,4 +195,13 @@
 
         return exec(cmd);
     }
+    public String copeSwwDrainFiles(DataPo data) throws Exception {
+        String time = StringHelper.YMDHMS_FORMAT.format(data.getStartTime());
+        String inPath = "H:\\simu\\semout";
+        String sww = "H:\\simu\\semout\\testsem\\.out\\" + "testsem.sww";
+
+        String cmd = config.getSww2tifBat() + " " + sww + " \"" + time + "\" " + data.getEpsg() + " " + inPath;
+
+        return exec(cmd);
+    }
 }

--
Gitblit v1.9.3