From 830461f183a5e1d24cc96dc9b74ab29573d4d9ae Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 18 九月 2023 17:56:45 +0800
Subject: [PATCH] 添加kml数据入库功能

---
 src/main/java/com/lf/server/service/data/UploadService.java |   44 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 35 insertions(+), 9 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 8f63c87..336ea2d 100644
--- a/src/main/java/com/lf/server/service/data/UploadService.java
+++ b/src/main/java/com/lf/server/service/data/UploadService.java
@@ -701,8 +701,9 @@
             return;
         }
 
+        String stage = getPipeStage(tabName);
         String name = FileHelper.getName(mf.getPath());
-        List<?> list = createKmlEntity(clazz, wkt, name);
+        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 wkt, 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, null == wkt ? "null" : String.format("ST_GeomFromText('%s')", wkt));
-
-            Field pField = clazz.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