From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 02 七月 2025 16:43:13 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service

---
 src/main/java/com/lf/server/service/data/UploadService.java |   56 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/lf/server/service/data/UploadService.java b/src/main/java/com/lf/server/service/data/UploadService.java
index 0b0faf2..336ea2d 100644
--- a/src/main/java/com/lf/server/service/data/UploadService.java
+++ b/src/main/java/com/lf/server/service/data/UploadService.java
@@ -629,12 +629,12 @@
                 continue;
             }
 
-            String geom = readKml(mf.getPath());
-            if (StringHelper.isEmpty(geom)) {
+            String wkt = readKml(mf.getPath());
+            if (StringHelper.isEmpty(wkt)) {
                 continue;
             }
 
-            loadKmlData(mf, geom);
+            loadKmlData(mf, wkt);
         }
     }
 
@@ -663,7 +663,7 @@
      * 鑾峰彇KWT
      */
     private String getWktFromCoordinates(String coords) {
-        String[] strs = coords.replace("<coordinates>", "").replace("</coordinates>", "").split(" ");
+        String[] strs = coords.replace("\t", "").replace("<coordinates>", "").replace("</coordinates>", "").split(" ");
         if (strs.length == 0) {
             return null;
         }
@@ -688,7 +688,7 @@
     /**
      * 鍔犺浇Kml鏁版嵁
      */
-    private void loadKmlData(MetaFileEntity mf, String geom) {
+    private void loadKmlData(MetaFileEntity mf, String wkt) {
         BasicMapper basicMapper = ClassHelper.getBasicMapper(mf.getEntity());
         if (null == basicMapper) {
             return;
@@ -701,8 +701,9 @@
             return;
         }
 
-        String name = FileHelper.getFileName(mf.getPath());
-        List<?> list = createKmlEntity(clazz, geom, name);
+        String stage = getPipeStage(tabName);
+        String name = FileHelper.getName(mf.getPath());
+        List<?> list = createKmlEntity(clazz, wkt, name, mf, stage);
         if (null == list || list.isEmpty()) {
             return;
         }
@@ -720,17 +721,15 @@
     /**
      * 鍒涘缓KML瀹炰綋绫�
      */
-    private <T> List<T> createKmlEntity(Class clazz, String geom, String name) {
+    private <T> List<T> createKmlEntity(Class clazz, String wkt, String name, MetaFileEntity mf, String stage) {
         try {
             T t = (T) clazz.newInstance();
 
-            Field gField = clazz.getSuperclass().getDeclaredField("geom");
-            gField.setAccessible(true);
-            gField.set(t, geom);
-
-            Field pField = clazz.getSuperclass().getDeclaredField("pipename");
-            pField.setAccessible(true);
-            pField.set(t, name);
+            setEntityVal(clazz.getSuperclass(), t, "geom", null == wkt ? "null" : String.format("ST_GeomFromText('%s')", wkt));
+            setEntityVal(clazz, t, "pipename", name);
+            setEntityVal(clazz, t, "projname", name);
+            setEntityVal(clazz, t, "medium", mf.getMedium());
+            setEntityVal(clazz, t, "pipestage", stage);
 
             List<T> list = new ArrayList<>();
             list.add(t);
@@ -741,4 +740,31 @@
             return null;
         }
     }
+
+    /**
+     * 璁剧疆瀹炰綋鍊�
+     */
+    private <T> void setEntityVal(Class clazz, T t, String field, String val) throws Exception {
+        Field pField = clazz.getDeclaredField(field);
+        pField.setAccessible(true);
+        pField.set(t, val);
+    }
+
+    /**
+     * 鑾峰彇绠¢亾闃舵
+     */
+    private String getPipeStage(String tab) {
+        switch (tab) {
+            case "si.pl_pipeline_f":
+                return "鍙爺闃舵";
+            case "si.pl_pipeline_b":
+                return "鍒濊闃舵";
+            case "si.pl_pipeline_d":
+                return "鏂藉伐鍥鹃樁娈�";
+            case "si.pl_pipeline_a":
+                return "绔e伐鍥鹃樁娈�";
+            default:
+                return null;
+        }
+    }
 }

--
Gitblit v1.9.3