From 667e37c68101da9b50013405b31b656223725a1f Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 20 十一月 2022 10:23:37 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/DataLoaderService.java |   41 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 39 insertions(+), 2 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 10fe560..4a2079e 100644
--- a/src/main/java/com/lf/server/service/data/DataLoaderService.java
+++ b/src/main/java/com/lf/server/service/data/DataLoaderService.java
@@ -1,8 +1,12 @@
 package com.lf.server.service.data;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.lf.server.entity.ctrl.TabMapperEntity;
 import com.lf.server.entity.data.MetaEntity;
 import com.lf.server.entity.data.MetaFileEntity;
+import com.lf.server.entity.md.MdZxcgEntity;
+import com.lf.server.helper.ClassHelper;
+import com.lf.server.helper.ExcelHelper;
 import com.lf.server.helper.FileHelper;
 import com.lf.server.service.all.BaseUploadService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -162,7 +166,7 @@
         String root = pathHelper.getConfig().getUploadPath();
         switch (me.getType()) {
             case "xls":
-                return insertXls(root, mfe);
+                return insertXls(root, mfe, tabs);
             case "mdb":
                 return insertMdb(root, mfe, tabs);
             case "shp":
@@ -177,7 +181,27 @@
     /**
      * 鎻掑叆Excel
      */
-    private Integer insertXls(String root, MetaFileEntity mfe) {
+    private Integer insertXls(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) {
+        TabMapperEntity tab = getTabEntity(mfe, tabs);
+        if (null == tab) {
+            return 0;
+        }
+
+        BaseMapper baseMapper = ClassHelper.getBasicMapper(tab.getEntity());
+        if (null == baseMapper) {
+            return 0;
+        }
+
+        String className = ClassHelper.getClassName(baseMapper);
+        Class clazz = ClassHelper.getEntityClass(className);
+        if (null == clazz) {
+            return 0;
+        }
+
+        List<?> list = ExcelHelper.readExcel(clazz, root + File.separator + mfe.getPath());
+        if (null == list || list.isEmpty()) {
+            return 0;
+        }
 
         return 0;
     }
@@ -205,4 +229,17 @@
 
         return 0;
     }
+
+    /**
+     * 鑾峰彇琛ㄦ槧灏勫疄浣撶被
+     */
+    private TabMapperEntity getTabEntity(MetaFileEntity mfe, List<TabMapperEntity> tabs) {
+        for (TabMapperEntity tab : tabs) {
+            if (tab.getFileName().equals(mfe.getName())) {
+                return tab;
+            }
+        }
+
+        return null;
+    }
 }

--
Gitblit v1.9.3