From 1d53dd8f501a98ddcce8146443b51b357ef5f9b1 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 29 十二月 2022 16:55:46 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/DataLoaderService.java |   62 ++++++++++++++++--------------
 1 files changed, 33 insertions(+), 29 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 c0af34d..a5bcbcf 100644
--- a/src/main/java/com/lf/server/service/data/DataLoaderService.java
+++ b/src/main/java/com/lf/server/service/data/DataLoaderService.java
@@ -100,8 +100,8 @@
                 getGdbFiles(f.getName(), subPath, list);
                 continue;
             }
-            if (!fileName.contains(ZIP)) {
-                //
+            if (fileName.contains(ZIP)) {
+                // 鏆傛椂涓嶅疄鐜�
             }
         }
 
@@ -211,12 +211,11 @@
     public void insertFiles(MetaEntity entity, List<MetaFileEntity> list, List<TabMapperEntity> tabList) {
         try {
             String temp = pathHelper.getConfig().getTempPath();
-            String full = pathHelper.getUploadFullPath();
-            String root = pathHelper.getConfig().getUploadPath();
+            String upload = pathHelper.getUploadFullPath();
 
             for (MetaFileEntity mf : list) {
                 File file = new File(temp + File.separator + mf.getPath());
-                File newFile = new File(root + File.separator + mf.getGuid());
+                File newFile = new File(upload + File.separator + mf.getGuid());
 
                 String type = getType(mf.getName().toLowerCase());
                 if (null == type) {
@@ -243,20 +242,18 @@
                         case "shp":
                         case "gdb":
                         case "mdb":
-                            insertDb(type, temp, mf, tab);
+                            insertDb(type, temp, entity, tab);
                             break;
                         // case "xls":
                         default:
-                            insertXls(temp, mf, tab);
+                            insertXls(temp, entity, mf, tab);
                             break;
                     }
-                    int rows = tab.getRows();
-                    if (rows == 0) {
+                    if (0 == tab.getRows()) {
                         continue;
                     }
 
-                    MetaEntity me = createMetaEntity(entity, mf);
-                    // me.setTab,me.setRow
+                    MetaEntity me = createMetaEntity(entity, mf, tab.getTab(), tab.getRows());
                     if (metaService.insert(me) == 0) {
                         continue;
                     }
@@ -266,8 +263,7 @@
                         metaService.delete(me.getId());
                         continue;
                     }
-
-                    count += rows;
+                    count += tab.getRows();
                 }
 
                 if (count == 0 || null != old) {
@@ -320,7 +316,7 @@
     /**
      * 鍒涘缓鍏冩暟鎹疄浣�
      */
-    private MetaEntity createMetaEntity(MetaEntity entity, MetaFileEntity mf) {
+    private MetaEntity createMetaEntity(MetaEntity entity, MetaFileEntity mf, String tab, int rows) {
         MetaEntity me = new MetaEntity();
         me.setDepid(entity.getDepid());
         me.setDirid(entity.getDirid());
@@ -331,6 +327,8 @@
         me.setDescr(entity.getDescr());
         me.setName(mf.getName());
         me.setSizes(mf.getSizes());
+        me.setTab(tab);
+        me.setRows(rows);
         me.setCreateTime(entity.getCreateTime());
         me.setCreateUser(entity.getCreateUser());
 
@@ -356,15 +354,16 @@
     /**
      * 鎻掑叆Excel
      */
-    private void insertXls(String root, MetaFileEntity mf, TabMapperEntity tab) {
+    private void insertXls(String root, MetaEntity me, MetaFileEntity mf, TabMapperEntity tab) {
         BasicMapper basicMapper = ClassHelper.getBasicMapper(tab.getEntity());
         if (null == basicMapper) {
             return;
         }
 
+        String tabName = BaseQueryService.getTabName(basicMapper);
         String className = ClassHelper.getClassName(basicMapper);
         Class clazz = ClassHelper.getEntityClass(className);
-        if (null == clazz) {
+        if (null == clazz || null == tabName) {
             return;
         }
 
@@ -372,7 +371,7 @@
         if (list.isEmpty()) {
             return;
         }
-        setCreateInfo(list, mf);
+        setCreateInfo(list, me);
 
         int rows = 0;
         for (int i = 0, c = list.size(); i < c; i++) {
@@ -382,22 +381,26 @@
             updateXlsGeom((GeomBaseMapper) basicMapper, list);
         }
 
+        tab.setTab(tabName);
         tab.setRows(rows);
     }
 
     /**
      * 璁剧疆鍒涘缓淇℃伅
      */
-    private <T> void setCreateInfo(List<T> list, MetaFileEntity mf) {
+    private <T> void setCreateInfo(List<T> list, MetaEntity me) {
         try {
-            for (T t : list) {
-                Field cuField = t.getClass().getDeclaredField("createuser");
-                cuField.setAccessible(true);
-                cuField.set(t, mf.getCreateUser());
+            if (!(list.get(0) instanceof BaseEntity)) {
+                return;
+            }
 
-                Field ctField = t.getClass().getDeclaredField("createtime");
-                ctField.setAccessible(true);
-                ctField.set(t, mf.getCreateTime());
+            for (T t : list) {
+                BaseEntity be = (BaseEntity) t;
+                be.setCreateuser(me.getCreateUser());
+                be.setCreatetime(me.getCreateTime());
+                be.setDirid(me.getDirid());
+                be.setDepid(me.getDepid());
+                be.setVerid(me.getVerid());
             }
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
@@ -433,15 +436,16 @@
     /**
      * 鎻掑叆DB
      */
-    private void insertDb(String type, String root, MetaFileEntity mf, TabMapperEntity tab) {
+    private void insertDb(String type, String root, MetaEntity me, TabMapperEntity tab) {
         BasicMapper basicMapper = ClassHelper.getBasicMapper(tab.getEntity());
         if (null == basicMapper) {
             return;
         }
 
+        String tabName = BaseQueryService.getTabName(basicMapper);
         String className = ClassHelper.getClassName(basicMapper);
         Class clazz = ClassHelper.getEntityClass(className);
-        if (null == clazz) {
+        if (null == clazz || null == tabName) {
             return;
         }
 
@@ -463,10 +467,10 @@
         if (null == list || list.isEmpty()) {
             return;
         }
+        setCreateInfo(list, me);
 
-        setCreateInfo(list, mf);
         int rows = basicMapper.insertBatch(list);
-
+        tab.setTab(tabName);
         tab.setRows(rows);
     }
 

--
Gitblit v1.9.3