From 7cbbe62fea4efded9cf73939a860f7bbb2169458 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 23 三月 2023 18:07:57 +0800
Subject: [PATCH] 1

---
 ExportMap/cs/SGUtils.cs |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/ExportMap/cs/SGUtils.cs b/ExportMap/cs/SGUtils.cs
index 44125b4..070aef5 100644
--- a/ExportMap/cs/SGUtils.cs
+++ b/ExportMap/cs/SGUtils.cs
@@ -58,20 +58,19 @@
         /// </summary>
         /// <param name="args">XYZ鍙傛暟</param>
         /// <returns>琛屾暟</returns>
-        public int Release(XYZArgs args, ref string err)
+        public List<int> Release(XYZArgs args, ref string err)
         {
             List<SysMeta> list = XYZUtils.SelectMetas(args.ids, "and type in ('mpt', '3dml')");
-            if (null == list || list.Count == 0) return 0;
+            if (null == list || list.Count == 0) return null;
 
             int maxId = GetMaxId(); // maxId = 411576;
             RomoveNoneFiles(list);
-            if (list.Count == 0) return 0;
+            if (list.Count == 0) return null;
 
             //err = LinkFiles(list);
             //if (!string.IsNullOrEmpty(err)) return 0;
             MoveFiles(list);
 
-            int count = 0;
             string names = GetNames(list);
             for (int i = 0; i < 61; i++)
             {
@@ -80,12 +79,10 @@
                 List<SpatialItem> items = SelectItems(names);
                 if (null == items || items.Count == 0) continue;
 
-                InsertInto(list, items, args);
-                count = items.Count;
-                break;
+                return InsertInto(list, items, args);
             }
 
-            return count;
+            return null;
         }
 
         /// <summary>
@@ -151,24 +148,29 @@
         /// <summary>
         /// 鎻掑叆鏁版嵁鍙戝竷琛�
         /// </summary>
-        private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
+        private List<int> InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
         {
+            List<int> ids = new List<int>();
             foreach (SysMeta meta in list)
             {
                 IEnumerable<SpatialItem> iterator = from item in items where item.Name.Equals(meta.id + "_" + meta.name) select item;
-                if (null == iterator) return;
+                if (null == iterator) return ids;
 
                 meta.verid = iterator.First().id;
-                InsertToDB(meta, args);
+                int pubid = InsertToDB(meta, args);
+
+                if (pubid > 0) ids.Add(pubid);
             }
+
+            return ids;
         }
 
         /// <summary>
         /// 鎻掑叆鏁版嵁搴�
         /// </summary>
-        private static void InsertToDB(SysMeta meta, XYZArgs args)
+        private static int InsertToDB(SysMeta meta, XYZArgs args)
         {
-            if (PubDBHelper.IsPublish(meta.id)) return;
+            if (PubDBHelper.IsPublish(meta.id)) return 0;
 
             SysPublish sys = NewPublish(meta, args);
             sys.path = meta.id + "\\" + meta.name;
@@ -180,6 +182,8 @@
                 PubDBHelper.InsertLayer(sys, meta, sys.type == "3dml" ? 100 : 0);
                 PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId);
             }
+
+            return pubid;
         }
 
         /// <summary>

--
Gitblit v1.9.3