From a53aa40ad5f7f07fcaaa539ece4ab9e6d7e92678 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 22 十一月 2022 15:25:24 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/DataLoaderService.java |   55 +++++++++++++++++++++++--------------------------------
 1 files changed, 23 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/lf/server/service/data/DataLoaderService.java b/src/main/java/com/lf/server/service/data/DataLoaderService.java
index 0ce285b..d05018e 100644
--- a/src/main/java/com/lf/server/service/data/DataLoaderService.java
+++ b/src/main/java/com/lf/server/service/data/DataLoaderService.java
@@ -9,6 +9,7 @@
 import com.lf.server.mapper.all.GeomBaseMapper;
 import com.lf.server.service.all.BaseQueryService;
 import com.lf.server.service.all.BaseUploadService;
+import org.apache.commons.text.StringEscapeUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -233,13 +234,10 @@
                         insertXls(root, mfe, tabs);
                         break;
                     case "shp":
-                        insertShp(temp + "_zip", mfe, tabs);
-                        break;
                     case "gdb":
-                        insertGdb(temp + "_zip", mfe, tabs);
-                        break;
                     case "mdb":
-                        insertMdb(temp + "_zip", mfe, tabs);
+                        String zipPath = FileHelper.getPath(temp + File.separator + mf.getPath()) + "_zip";
+                        insertDb(me.getType(), zipPath, mfe, tabs);
                         break;
                     default:
                         break;
@@ -340,7 +338,7 @@
      */
     private void insertXls(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) {
         TabMapperEntity tab = getTabEntity(mfe, tabs);
-        if (null == tab|| StringHelper.isEmpty(tab.getEntity())) {
+        if (null == tab || StringHelper.isEmpty(tab.getEntity())) {
             return;
         }
 
@@ -356,7 +354,7 @@
         }
 
         List<?> list = ExcelHelper.readExcel(clazz, root + File.separator + mfe.getPath());
-        if (null == list || list.isEmpty()) {
+        if (list.isEmpty()) {
             return;
         }
         setCreateInfo(list, mfe);
@@ -366,8 +364,7 @@
             rows += basicMapper.insert(list.get(i));
         }
         if (basicMapper instanceof GeomBaseMapper) {
-            GeomBaseMapper geomBaseMapper = (GeomBaseMapper) basicMapper;
-            updateXlsGeom(geomBaseMapper, list);
+            updateXlsGeom((GeomBaseMapper) basicMapper, list);
         }
 
         tab.setRows(rows);
@@ -432,9 +429,9 @@
     }
 
     /**
-     * 鎻掑叆SHP
+     * 鎻掑叆DB
      */
-    private void insertShp(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) {
+    private void insertDb(String type, String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) {
         for (TabMapperEntity tab : tabs) {
             if (!tab.getFileName().equals(mfe.getName()) || StringHelper.isEmpty(tab.getEntity())) {
                 continue;
@@ -451,17 +448,27 @@
                 continue;
             }
 
-            List<?> list = ShpHelper.readData(clazz, root + File.separator + tab.getSubPath());
+            String filePath = StringEscapeUtils.escapeJava(root + File.separator + tab.getSubPath());
+            List<?> list = null;
+            switch (type) {
+                case "shp":
+                    list = ShpHelper.readData(clazz, filePath);
+                    break;
+                case "gdb":
+                    list = GdbHelper.readData(clazz, filePath, tab.getTab());
+                    break;
+                case "mdb":
+                    list = MdbHelper.readData(clazz, filePath, tab.getTab());
+                    break;
+                default:
+                    break;
+            }
             if (null == list || list.isEmpty()) {
                 continue;
             }
             setCreateInfo(list, mfe);
 
             Integer rows = basicMapper.insertBatch(list);
-            if (basicMapper instanceof GeomBaseMapper) {
-                GeomBaseMapper geomBaseMapper = (GeomBaseMapper) basicMapper;
-                updateXlsGeom(geomBaseMapper, list);
-            }
 
             tab.setRows(rows);
         }
@@ -488,21 +495,5 @@
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
         }
-    }
-
-    /**
-     * 鎻掑叆GDB
-     */
-    private Integer insertGdb(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) {
-
-        return 0;
-    }
-
-    /**
-     * 鎻掑叆MDB
-     */
-    private Integer insertMdb(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) {
-
-        return 0;
     }
 }

--
Gitblit v1.9.3