From f31f0991c0d2036e563b886f57de4cf45d3c72cb Mon Sep 17 00:00:00 2001
From: dcb <xgybdcb@163.com>
Date: 星期二, 01 七月 2025 14:51:59 +0800
Subject: [PATCH] 实时模拟异步功能实现

---
 src/main/java/com/se/nsl/domain/vo/ConfigVo.java |   63 +++++++++++++++++++------------
 1 files changed, 39 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/se/nsl/domain/vo/ConfigVo.java b/src/main/java/com/se/nsl/domain/vo/ConfigVo.java
index 87e4d79..022994b 100644
--- a/src/main/java/com/se/nsl/domain/vo/ConfigVo.java
+++ b/src/main/java/com/se/nsl/domain/vo/ConfigVo.java
@@ -1,16 +1,15 @@
 package com.se.nsl.domain.vo;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
 @SuppressWarnings("ALL")
 public class ConfigVo {
-    private List<Object> terrain;
+    private String terrain;
 
-    private List<Object> landuse;
+    private String landuse;
 
-    private List<Object> station;
+    private Object station;
 
     private Integer kSt;
 
@@ -20,7 +19,7 @@
 
     private Integer initial_ymomentum;
 
-    private String raingage;
+    private List<String> raingage;
 
     private String infiltration;
 
@@ -30,14 +29,16 @@
 
     private Boolean variable_dt;
 
+    private double evaporation;
+
     private ResultVo result;
 
     public ConfigVo() {
-        this.terrain = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_f32.tif", 1));
+//        this.terrain = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_f32.tif"));
         // 1-Cropland,2-Forest,3-Shrub,4-Grassland,5-Water,6-Snow/Ice,7-Barren,8-Impervious,9-Wetland
-        this.landuse = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_landuse_grassland.tif", 1));
-        this.station = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_station.tif", 1));
-
+//        this.landuse = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_landuse_grassland.tif"));
+//        this.station = new ArrayList<Object>(Arrays.asList("case1/LiuLiMiaoZhen_5m_station.tif", 1));
+        this.station = 0;
         this.kSt = 40;
         this.initial_depth = 0;
         this.initial_xmomentum = 0;
@@ -45,41 +46,47 @@
         this.infiltration = "case1/landuse_to_infiltration.dat";
         this.dt = 0.1;
         this.variable_dt = true;
+        this.evaporation = 0;
     }
 
-    public ConfigVo(String terrain, String landuse, String station, String raingage, String saveName, int duration, int frames) {
+    public ConfigVo(String terrain, String landuse, String station,
+                    String raingage, String saveName, int duration,
+                    int frames, String saveMode, String startTime) {
         this();
 
-        this.terrain.set(0, terrain.replace("\\", "/")); // 鍦板舰楂樼▼鏁版嵁
-        //this.landuse.set(0, landuse.replace("\\", "/")); // 鍦熷湴鍒╃敤绫诲瀷
-        this.station.set(0, station.replace("\\", "/")); // 闆ㄩ噺绔欑储寮�
-        this.raingage = raingage.replace("\\", "/");
+//        this.terrain.set(0, terrain.replace("\\", "/")); // 鍦板舰楂樼▼鏁版嵁
+//        this.landuse.set(0, landuse.replace("\\", "/")); // 鍦熷湴鍒╃敤绫诲瀷
+//        this.station.set(0, station.replace("\\", "/")); // 闆ㄩ噺绔欑储寮�
+//        this.raingage = raingage.replace("\\", "/");
+        this.terrain = terrain;
+        this.landuse = landuse;
+        this.raingage = Arrays.asList(raingage, "mm/min");
         this.duration = duration;
-
-        this.result = new ResultVo(saveName, duration, frames);
+        int saveInterval = duration / frames - 5; // 淇鏈�鍚庝竴甯у彲鑳戒负绌烘暟鎹�
+        this.result = new ResultVo(saveName, frames, saveInterval, saveMode, startTime);
     }
 
-    public List<Object> getTerrain() {
+    public String getTerrain() {
         return terrain;
     }
 
-    public void setTerrain(List<Object> terrain) {
+    public void setTerrain(String terrain) {
         this.terrain = terrain;
     }
 
-    public List<Object> getLanduse() {
+    public String getLanduse() {
         return landuse;
     }
 
-    public void setLanduse(List<Object> landuse) {
+    public void setLanduse(String landuse) {
         this.landuse = landuse;
     }
 
-    public List<Object> getStation() {
+    public Object getStation() {
         return station;
     }
 
-    public void setStation(List<Object> station) {
+    public void setStation(Object station) {
         this.station = station;
     }
 
@@ -115,11 +122,11 @@
         this.initial_ymomentum = initial_ymomentum;
     }
 
-    public String getRaingage() {
+    public List<String> getRaingage() {
         return raingage;
     }
 
-    public void setRaingage(String raingage) {
+    public void setRaingage(List<String> raingage) {
         this.raingage = raingage;
     }
 
@@ -162,4 +169,12 @@
     public void setResult(ResultVo result) {
         this.result = result;
     }
+
+    public double getEvaporation() {
+        return evaporation;
+    }
+
+    public void setEvaporation(double evaporation) {
+        this.evaporation = evaporation;
+    }
 }

--
Gitblit v1.9.3