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/entity/data/MetaFileEntity.java              |   20 ++++++++++
 src/main/java/com/lf/server/service/data/FmeService.java                 |    5 +-
 src/main/java/com/lf/server/service/data/UploadService.java              |   79 +++++++++++++++++++++++++++++----------
 src/main/java/com/lf/server/controller/data/upload/UploadController.java |    2 
 4 files changed, 82 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/upload/UploadController.java b/src/main/java/com/lf/server/controller/data/upload/UploadController.java
index d125d6f..02435a3 100644
--- a/src/main/java/com/lf/server/controller/data/upload/UploadController.java
+++ b/src/main/java/com/lf/server/controller/data/upload/UploadController.java
@@ -157,7 +157,7 @@
                 return fail("鍏冩暟鎹枃浠堕泦鍚堜负绌�", null);
             }
 
-            uploadService.insertFiles(ue, list);
+            uploadService.insertFiles(ue, list, req);
 
             return success("鎴愬姛", list);
         } catch (Exception ex) {
diff --git a/src/main/java/com/lf/server/entity/data/MetaFileEntity.java b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java
index 31cae41..134434b 100644
--- a/src/main/java/com/lf/server/entity/data/MetaFileEntity.java
+++ b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java
@@ -37,6 +37,10 @@
 
     private String entity;
 
+    private int rows;
+
+    private String msg;
+
     public String getEventid() {
         return eventid;
     }
@@ -148,4 +152,20 @@
     public void setEntity(String entity) {
         this.entity = entity;
     }
+
+    public int getRows() {
+        return rows;
+    }
+
+    public void setRows(int rows) {
+        this.rows = rows;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
 }
diff --git a/src/main/java/com/lf/server/service/data/FmeService.java b/src/main/java/com/lf/server/service/data/FmeService.java
index 6fc62f5..f549523 100644
--- a/src/main/java/com/lf/server/service/data/FmeService.java
+++ b/src/main/java/com/lf/server/service/data/FmeService.java
@@ -220,16 +220,15 @@
     }
 
     /**
-     * 13.琛ㄦ牸鍏ュ簱
+     * 13.琛ㄦ牸鍏ュ簱锛歋_RKBG銆乨irid銆乸arentid锛屽涓互鑻辨枃閫楀彿闅斿紑
      */
     public String excelLoader(MetaFileEntity meta, HttpServletRequest req) {
         String url = getUrl("datax/task/run/琛ㄦ牸鍏ュ簱", req);
 
-        // S_RKBG锛氫负鍏ュ簱琛ㄦ牸鐨勫畬鏁磋矾寰勶紝澶氫釜浠ヨ嫳鏂囬�楀彿闅斿紑
         List<NameValueEntity> list = getKeyValues("琛ㄦ牸鍏ュ簱");
         list.add(new NameValueEntity("S_RKBG", meta.getPath()));
         list.add(new NameValueEntity("COORDSYS", meta.getEpsgCode()));
-        list.add(new NameValueEntity("dirid", meta.getDirid()));
+        list.add(new NameValueEntity("dirid", meta.getName()));
         list.add(new NameValueEntity("depid", meta.getDepid()));
         list.add(new NameValueEntity("verid", meta.getVerid()));
         list.add(new NameValueEntity("createuser", meta.getCreateUser()));
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