From 7601dfc7ed26319174e415b41306339cf534075a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 17 三月 2023 10:47:26 +0800 Subject: [PATCH] 1 --- ExportMap/cs/SGUtils.cs | 49 ++++++++++++++++++++++++++++++------------------- 1 files changed, 30 insertions(+), 19 deletions(-) diff --git a/ExportMap/cs/SGUtils.cs b/ExportMap/cs/SGUtils.cs index 1d61b10..048f066 100644 --- a/ExportMap/cs/SGUtils.cs +++ b/ExportMap/cs/SGUtils.cs @@ -63,17 +63,19 @@ /// </summary> /// <param name="args">XYZ鍙傛暟</param> /// <returns>琛屾暟</returns> - public int Release(XYZArgs args) + public 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; - int maxId = GetMaxId(); + int maxId = GetMaxId(); maxId = 411576; // RomoveNoneFiles(list); if (list.Count == 0) return 0; - LinkFiles(list); + err = LinkFiles(list); + if (!string.IsNullOrEmpty(err)) return 0; + int count = 0; for (int i = 0; i < 25; i++) { Thread.Sleep(3000); @@ -81,16 +83,17 @@ List<SpatialItem> items = SelectItems(maxId); if (null == items || items.Count == 0) continue; - // + count = items.Count; + break; } - return 0; + return count; } /// <summary> /// 鑾峰彇鏈�澶D鍊� /// </summary> - public static int GetMaxId() + public int GetMaxId() { Object obj = SQLiteHelper.ExecuteScalar("select max(id) from SpatialItems"); @@ -102,7 +105,7 @@ /// </summary> /// <param name="maxId">鏈�澶D鍊�</param> /// <returns>SG鏁版嵁椤�</returns> - public static List<SpatialItem> SelectItems(int maxId) + public List<SpatialItem> SelectItems(int maxId) { string sql = string.Format("select id, Name, RelativePath, LayerName, DataSourceId, Description from SpatialItems where id > {0} order by id desc", maxId); @@ -165,9 +168,9 @@ } - string str = Tool.ExecCmd(list); + if (0 == list.Count) return "娌℃湁闇�瑕佹洿鏂板彂甯冪殑鏂囦欢"; - return str; + return Tool.ExecCmd(list); } /// <summary> @@ -178,11 +181,16 @@ string uploadFolder = Tool.GetSetting("uploadFolder"); string d3mlFolder = Tool.GetSetting("3dmlFolder"); - string d3ml = Path.Combine(uploadFolder, meta.path); - string targetD3ml = Path.Combine(d3mlFolder, meta.id.ToString(), meta.path); + string targetFolder = Path.Combine(d3mlFolder, meta.id.ToString()); + if (!Directory.Exists(targetFolder)) Directory.CreateDirectory(targetFolder); - string link = string.Format("mklink \"{0}\" \"{1}\"", targetD3ml, d3ml); // /H - list.Add(link); + string d3ml = Path.Combine(uploadFolder, meta.path); + string targetD3ml = Path.Combine(d3mlFolder, meta.id.ToString(), meta.name); + + if (!File.Exists(targetD3ml)) + { + list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetD3ml, d3ml)); // /H + } } /// <summary> @@ -193,18 +201,21 @@ string uploadFolder = Tool.GetSetting("uploadFolder"); string mptFolder = Tool.GetSetting("mptFolder"); + string targetFolder = Path.Combine(mptFolder, meta.id.ToString()); + if (!Directory.Exists(targetFolder)) Directory.CreateDirectory(targetFolder); + string mpt = Path.Combine(uploadFolder, meta.path); - string targetMpt = Path.Combine(mptFolder, meta.id.ToString(), meta.path); + string targetMpt = Path.Combine(mptFolder, meta.id.ToString(), meta.name); string midx = Path.Combine(uploadFolder, meta.path.Replace(".mpt", ".midx")); - string targetMidx = Path.Combine(mptFolder, meta.id.ToString(), meta.path.Replace(".mpt", ".midx")); + string targetMidx = Path.Combine(mptFolder, meta.id.ToString(), meta.name.Replace(".mpt", ".midx")); string strmi = Path.Combine(uploadFolder, meta.path.Replace(".mpt", ".strmi")); - string targetStrmi = Path.Combine(mptFolder, meta.id.ToString(), meta.path.Replace(".mpt", ".strmi")); + string targetStrmi = Path.Combine(mptFolder, meta.id.ToString(), meta.name.Replace(".mpt", ".strmi")); - list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetMpt, mpt)); - list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetMidx, midx)); - list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetStrmi, strmi)); + if (!File.Exists(targetMpt)) list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetMpt, mpt)); + if (!File.Exists(targetMidx)) list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetMidx, midx)); + if (!File.Exists(targetStrmi)) list.Add(string.Format("mklink \"{0}\" \"{1}\"", targetStrmi, strmi)); } } } -- Gitblit v1.9.3