From 09fb666dc0890a448aa12f8287ea0f6ba4bd83ad Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 11 一月 2023 10:06:28 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/UploadService.java |   79 +++++++++++++++++++++++++++++----------
 1 files changed, 59 insertions(+), 20 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 a6af2e0..8743472 100644
--- a/src/main/java/com/lf/server/service/data/UploadService.java
+++ b/src/main/java/com/lf/server/service/data/UploadService.java
@@ -1,17 +1,19 @@
 package com.lf.server.service.data;
 
-import com.alibaba.druid.support.spring.stat.annotation.Stat;
 import com.lf.server.entity.all.StaticData;
 import com.lf.server.entity.data.CoordEntity;
 import com.lf.server.entity.data.DirEntity;
 import com.lf.server.entity.data.FmeLogEntity;
 import com.lf.server.entity.data.MetaFileEntity;
 import com.lf.server.entity.sys.UserEntity;
+import com.lf.server.helper.StringHelper;
 import com.lf.server.mapper.data.UploadMapper;
 import com.lf.server.service.all.BaseUploadService;
+import org.apache.commons.collections4.queue.PredicatedQueue;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
@@ -24,6 +26,9 @@
 public class UploadService extends BaseUploadService implements UploadMapper {
     @Autowired
     UploadMapper uploadMapper;
+
+    @Autowired
+    FmeService fmeService;
 
     @Override
     public List<CoordEntity> selectCoords(String zoning) {
@@ -48,9 +53,9 @@
     /**
      * 鎻掑叆鏂囦欢
      */
-    public void insertFiles(UserEntity ue, List<MetaFileEntity> list) {
+    public void insertFiles(UserEntity ue, List<MetaFileEntity> list, HttpServletRequest req) {
         checkMetaFiles(ue, list);
-
+        loadExcel(list, req);
     }
 
     /**
@@ -59,36 +64,70 @@
     private void checkMetaFiles(UserEntity ue, List<MetaFileEntity> list) {
         String tempPath = pathHelper.getConfig().getTempPath();
 
-        int i = 0;
-        while (i < list.size()) {
-            MetaFileEntity mf = list.get(i);
+        for (MetaFileEntity mf : list) {
+            mf.setCreateUser(ue.getId());
+            mf.setDepid(ue.getDepid());
+
             File f = new File(tempPath + File.separator + mf.getPath());
             if (!f.exists()) {
-                list.remove(i);
-                continue;
+                mf.setRows(-1);
+                mf.setMsg("鏂囦欢涓嶅瓨鍦�");
             }
-
-            // mf.setCreateUser(ue.getId()); mf.setDepid(ue.getDepid())
-            i++;
         }
     }
 
     /**
-     * 鑾峰彇Excel鏂囦欢
+     * Excel鍏ュ簱
      */
-    private List<String> getExcelFiles(List<MetaFileEntity> list) {
-        String tempPath = pathHelper.getConfig().getTempPath();
+    private void loadExcel(List<MetaFileEntity> list, HttpServletRequest req) {
+        List<MetaFileEntity> xlsList = getExcelFiles(list);
+        if (xlsList.isEmpty()) {
+            return;
+        }
 
-        List<String> xlsList = new ArrayList<>();
+        MetaFileEntity meta = getExcelMeta(xlsList);
+        String guid = fmeService.excelLoader(meta, req);
+    }
+
+    /**
+     * 鑾峰彇Excel鍏冩暟鎹枃浠�
+     */
+    private List<MetaFileEntity> getExcelFiles(List<MetaFileEntity> list) {
+        List<MetaFileEntity> xlsList = new ArrayList<>();
         for (MetaFileEntity mf : list) {
-            if (StaticData.XLS.equals(mf.getExtName()) || StaticData.XLSX.equals(mf.getExtName())) {
-                File f = new File(tempPath + File.separator + mf.getPath());
-                if (f.exists() && !f.isDirectory()) {
-                    xlsList.add(f.getPath());
-                }
+            boolean isXls = StaticData.XLS.equals(mf.getExtName()) || StaticData.XLSX.equals(mf.getExtName());
+            if (mf.getRows() > -1 && isXls) {
+                xlsList.add(mf);
             }
         }
 
         return xlsList;
     }
+
+    /**
+     * 鑾峰彇Excel鐨勫厓鏁版嵁
+     */
+    private MetaFileEntity getExcelMeta(List<MetaFileEntity> xlsList) {
+        List<String> pathList = new ArrayList<>();
+        List<String> dirList = new ArrayList<>();
+        List<String> pidList = new ArrayList<>();
+
+        String tempPath = pathHelper.getConfig().getTempPath();
+        for (MetaFileEntity mf : xlsList) {
+            pathList.add(tempPath + File.separator + mf.getPath());
+            dirList.add(mf.getDirid() + "");
+            pidList.add(mf.getEventid());
+        }
+
+        MetaFileEntity meta = new MetaFileEntity();
+        meta.setPath(StringHelper.join(pathList, ","));
+        meta.setEpsgCode(xlsList.get(0).getEpsgCode());
+        meta.setName(StringHelper.join(dirList, ","));
+        meta.setDepid(xlsList.get(0).getDepid());
+        meta.setVerid(xlsList.get(0).getVerid());
+        meta.setCreateUser(xlsList.get(0).getCreateUser());
+        meta.setEventid(StringHelper.join(pidList, ","));
+
+        return meta;
+    }
 }

--
Gitblit v1.9.3