From 775bffc1b27e050117d9a49f6783ee255df44fdb Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 11 一月 2023 18:07:36 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/UploadService.java |   78 +++++++++++++++++++++++++++++++++------
 1 files changed, 66 insertions(+), 12 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 874160e..472fdc0 100644
--- a/src/main/java/com/lf/server/service/data/UploadService.java
+++ b/src/main/java/com/lf/server/service/data/UploadService.java
@@ -56,10 +56,11 @@
     /**
      * 鎻掑叆鏂囦欢
      */
-    public void insertFiles(UserEntity ue, List<MetaFileEntity> list, HttpServletRequest req) {
+    public List<MetaEntity> insertFiles(UserEntity ue, List<MetaFileEntity> list, HttpServletRequest req) {
         checkMetaFiles(ue, list);
-        dataLoader(list);
         excelLoader(list, req);
+
+        return dataLoader(list);
     }
 
     /**
@@ -71,7 +72,7 @@
 
         for (MetaFileEntity mf : list) {
             mf.setCreateUser(ue.getId());
-            mf.setCreatetime(createTime);
+            mf.setCreateTime(createTime);
             mf.setDepid(ue.getDepid());
             mf.setPath(tempPath + File.separator + mf.getPath());
 
@@ -86,10 +87,11 @@
     /**
      * 鍔犺浇鏁版嵁
      */
-    private void dataLoader(List<MetaFileEntity> list) {
+    private List<MetaEntity> dataLoader(List<MetaFileEntity> list) {
         loadData(list);
         copyFiles(list);
-        insertMetas(list);
+
+        return insertMetas(list);
     }
 
     /**
@@ -97,6 +99,9 @@
      */
     private void loadData(List<MetaFileEntity> list) {
         for (MetaFileEntity mf : list) {
+            if (StringHelper.isEmpty(mf.getEntity())) {
+                continue;
+            }
             if (StaticData.SHP.equals(mf.getExtName()) || StaticData.GDB.equals(mf.getExtName())) {
                 loadSpatialData(mf);
             }
@@ -123,7 +128,7 @@
         if (StaticData.SHP.equals(mf.getExtName())) {
             list = ShpHelper.readData(clazz, mf.getPath());
         } else {
-            GdbHelper.readData(clazz, mf.getPath(), mf.getTab());
+            list = GdbHelper.readData(clazz, mf.getPath(), mf.getTab());
         }
         if (null == list || list.isEmpty()) {
             return;
@@ -154,7 +159,7 @@
                 be.setDepid(mf.getDepid());
                 be.setVerid(mf.getVerid());
                 be.setCreateuser(mf.getCreateUser());
-                be.setCreatetime(mf.getCreatetime());
+                be.setCreatetime(mf.getCreateTime());
             }
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
@@ -185,9 +190,9 @@
                     break;
                 case StaticData.GDB:
                     if (gdbList.contains(mf.getPath())) {
-                        MetaEntity meta = metaService.selectByGuid(mf.getGuid());
-                        if (null != meta) {
-                            mf.setPath(meta.getPath());
+                        String path = findPathByGuid(list, mf);
+                        if (null != path) {
+                            mf.setPath(path);
                         }
                         continue;
                     }
@@ -224,6 +229,7 @@
 
         File newFile = new File(targetPath);
         if (newFile.exists()) {
+            mf.setMsg("鏂囦欢宸插瓨鍦�");
             file.delete();
             return 0;
         }
@@ -294,6 +300,7 @@
 
         File newFile = new File(targetPath);
         if (newFile.exists() && newFile.isDirectory()) {
+            mf.setMsg("鏂囦欢宸插瓨鍦�");
             FileHelper.deleteFiles(file);
             return;
         }
@@ -314,12 +321,59 @@
     }
 
     /**
+     * 鏍规嵁GUID鏌ユ壘璺緞
+     */
+    private String findPathByGuid(List<MetaFileEntity> list, MetaFileEntity mf) {
+        for (MetaFileEntity meta : list) {
+            if (meta.getGuid().equals(mf.getGuid())) {
+                return meta.getPath();
+            }
+        }
+
+        return null;
+    }
+
+    /**
      * 鎻掑叆鍏冩暟鎹�
      */
-    private void insertMetas(List<MetaFileEntity> list) {
+    private List<MetaEntity> insertMetas(List<MetaFileEntity> list) {
+        List<MetaEntity> metas = new ArrayList<>();
         for (MetaFileEntity mf : list) {
-            //
+            if (StringHelper.isEmpty(mf.getMsg())) {
+                metas.add(createMeta(mf));
+            }
         }
+        if (metas.isEmpty()) {
+            return null;
+        }
+
+        int rows = metaService.inserts(metas);
+
+        return rows > 0 ? metas : null;
+    }
+
+    /**
+     * 鍒涘缓鍏冩暟鎹�
+     */
+    private MetaEntity createMeta(MetaFileEntity mf) {
+        MetaEntity me = new MetaEntity();
+        me.setEventid(mf.getEventid());
+        me.setDirid(mf.getDirid());
+        me.setDepid(mf.getDepid());
+        me.setVerid(mf.getVerid());
+        me.setName(mf.getName());
+        me.setType(mf.getType());
+        me.setGuid(mf.getGuid());
+        me.setPath(mf.getPath());
+        me.setSizes(mf.getSizes());
+        if (mf.getRows() > 0) {
+            me.setTab(mf.getTab());
+        }
+        me.setRows(mf.getRows());
+        me.setCreateUser(mf.getCreateUser());
+        me.setCreateTime(mf.getCreateTime());
+
+        return me;
     }
 
     /**

--
Gitblit v1.9.3