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