From 55e0ac205f5d0878b92bfc456135bb98385263bf Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 24 七月 2023 17:49:14 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/controller/data/MetaController.java |   20 ++++++++++++++++++++
 src/main/java/com/lf/server/entity/all/StaticData.java          |    2 ++
 src/main/java/com/lf/server/service/data/UploadService.java     |   11 +++++++++++
 src/main/java/com/lf/server/service/data/MetaService.java       |    5 +++++
 src/main/java/com/lf/server/service/all/BaseUploadService.java  |    3 ++-
 src/main/java/com/lf/server/mapper/data/MetaMapper.java         |    8 ++++++++
 src/main/resources/mapper/data/MetaMapper.xml                   |   10 ++++++++--
 7 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/MetaController.java b/src/main/java/com/lf/server/controller/data/MetaController.java
index c565155..2bb573d 100644
--- a/src/main/java/com/lf/server/controller/data/MetaController.java
+++ b/src/main/java/com/lf/server/controller/data/MetaController.java
@@ -97,6 +97,26 @@
     }
 
     @SysLog()
+    @ApiOperation(value = "鏍规嵁GUID鏌ヨGDB")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "guid", value = "GUID", dataType = "String", paramType = "query", example = "d58e66d9606a4b85e7c8ab43b3db0b55")
+    })
+    @GetMapping(value = "/selectGdbByGuid")
+    public ResponseMsg<Object> selectGdbByGuid(String guid) {
+        try {
+            if (StringHelper.isEmpty(guid)) {
+                return fail("鏂囦欢GUID鍊间笉鑳戒负绌�", null);
+            }
+
+            List<MetaEntity> rs = metaService.selectGdbByGuid(guid);
+
+            return success(null == rs ? 0 : rs.size(), rs);
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
+
+    @SysLog()
     @ApiOperation(value = "鏍规嵁鐖禝D鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "metaid", value = "鐖禝D", dataType = "String", paramType = "query", example = "0"),
diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java
index c085077..06e70b8 100644
--- a/src/main/java/com/lf/server/entity/all/StaticData.java
+++ b/src/main/java/com/lf/server/entity/all/StaticData.java
@@ -112,6 +112,8 @@
 
     public final static String SHP = ".shp";
 
+    public final static String _GDB = "gdb";
+
     public final static String GDB = ".gdb";
 
     public final static String JPG = ".jpg";
diff --git a/src/main/java/com/lf/server/mapper/data/MetaMapper.java b/src/main/java/com/lf/server/mapper/data/MetaMapper.java
index a56c4ac..854d7b7 100644
--- a/src/main/java/com/lf/server/mapper/data/MetaMapper.java
+++ b/src/main/java/com/lf/server/mapper/data/MetaMapper.java
@@ -38,6 +38,14 @@
     public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer limit, Integer offset);
 
     /**
+     * 鏍规嵁GUID鏌ヨGDB
+     *
+     * @param guid
+     * @return
+     */
+    public List<MetaEntity> selectGdbByGuid(String guid);
+
+    /**
      * 鏌ヨ璁板綍鏁�
      *
      * @param depcode
diff --git a/src/main/java/com/lf/server/service/all/BaseUploadService.java b/src/main/java/com/lf/server/service/all/BaseUploadService.java
index 2bb8137..3b53099 100644
--- a/src/main/java/com/lf/server/service/all/BaseUploadService.java
+++ b/src/main/java/com/lf/server/service/all/BaseUploadService.java
@@ -480,7 +480,8 @@
             MetaFileEntity mf = createMetaFileEntity(meta);
             mf.setDircode(dircode);
             mf.setEventid(StringHelper.getGuid());
-            mf.setName(fileName + "\\" + tab);
+            // mf.setName(fileName + "\\" + tab)
+            mf.setName(fileName);
             mf.setExtName(extName);
             mf.setSizes(FileHelper.sizeToMb(f.length()));
             mf.setPath(f.getPath().substring(start));
diff --git a/src/main/java/com/lf/server/service/data/MetaService.java b/src/main/java/com/lf/server/service/data/MetaService.java
index 0b6dc99..bd1c589 100644
--- a/src/main/java/com/lf/server/service/data/MetaService.java
+++ b/src/main/java/com/lf/server/service/data/MetaService.java
@@ -66,6 +66,11 @@
     }
 
     @Override
+    public List<MetaEntity> selectGdbByGuid(String guid) {
+        return metaMapper.selectGdbByGuid(guid);
+    }
+
+    @Override
     public Integer selectMetasForCount(String depcode, String dirs, String name) {
         depcode = StringHelper.getRightLike(depcode);
         name = StringHelper.getLikeUpperStr(name);
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 6d1668b..6ceedc6 100644
--- a/src/main/java/com/lf/server/service/data/UploadService.java
+++ b/src/main/java/com/lf/server/service/data/UploadService.java
@@ -19,6 +19,7 @@
 import java.io.File;
 import java.sql.Timestamp;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -483,12 +484,22 @@
      */
     private void insertMetas(List<MetaFileEntity> list) {
         int metaId = insertParentMeta(list);
+
+        List<String> guids = new ArrayList<>();
         for (MetaFileEntity mf : list) {
             if (null != mf.getMsg()) {
                 continue;
             }
 
             MetaEntity me = createMeta(mf, metaId);
+            if (StaticData._GDB.equals(me.getType())) {
+                if (guids.contains(me.getGuid())) {
+                    me.setMetaid(-1);
+                } else {
+                    guids.add(me.getGuid());
+                }
+            }
+
             metaService.insert(me);
             String err = mf.getRows() < mf.getRecords() ? "(" + (mf.getRecords() - mf.getRows()) + " 鏉″け璐�)" : "";
             mf.setMsg(me.getId() > 0 ? String.format("鎴愬姛%s", err) : "澶辫触");
diff --git a/src/main/resources/mapper/data/MetaMapper.xml b/src/main/resources/mapper/data/MetaMapper.xml
index 37c3e97..3a4a7a8 100644
--- a/src/main/resources/mapper/data/MetaMapper.xml
+++ b/src/main/resources/mapper/data/MetaMapper.xml
@@ -4,7 +4,7 @@
     <select id="selectCount" resultType="java.lang.Integer">
         select count(*) from lf.sys_meta
         <where>
-            1 = 1
+            ismeta between 0 and 1
             <if test="depcode != null">
                 and depcode like #{depcode}
             </if>
@@ -24,7 +24,7 @@
         select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a
         <where>
-            1 = 1
+            ismeta between 0 and 1
             <if test="depcode != null">
 				and depcode like #{depcode}
 			</if>
@@ -42,6 +42,12 @@
         limit #{limit} offset #{offset}
     </select>
 
+    <select id="selectGdbByGuid" resultType="com.lf.server.entity.data.MetaEntity">
+        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
+        from lf.sys_meta a
+        where type = 'gdb' and guid = #{guid};
+    </select>
+
     <select id="selectMetasForCount" resultType="java.lang.Integer">
         select count(*) from lf.sys_meta
         <where>

--
Gitblit v1.9.3