From 24c796033d9105256cd3253e52a9b0197013ce2f Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 19 三月 2023 15:29:26 +0800
Subject: [PATCH] 1

---
 ExportMap/cs/SGUtils.cs |  142 ++++++++++++++++++++++++++++------------------
 1 files changed, 86 insertions(+), 56 deletions(-)

diff --git a/ExportMap/cs/SGUtils.cs b/ExportMap/cs/SGUtils.cs
index ed30e38..d5335fb 100644
--- a/ExportMap/cs/SGUtils.cs
+++ b/ExportMap/cs/SGUtils.cs
@@ -1,6 +1,7 @@
 锘縰sing ExportMap.db;
 using ExportMap.Models;
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Configuration;
 using System.Data;
@@ -88,8 +89,9 @@
             RomoveNoneFiles(list);
             if (list.Count == 0) return 0;
 
-            err = LinkFiles(list);
-            if (!string.IsNullOrEmpty(err)) return 0;
+            //err = LinkFiles(list);
+            //if (!string.IsNullOrEmpty(err)) return 0;
+            MoveFiles(list);
 
             int count = 0;
             for (int i = 0; i < 25; i++)
@@ -166,6 +168,87 @@
         }
 
         /// <summary>
+        /// 鎻掑叆鏁版嵁鍙戝竷琛�
+        /// </summary>
+        private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
+        {
+            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;
+
+                meta.verid = iterator.First().id;
+                InsertToDB(meta, args);
+            }
+        }
+
+        /// <summary>
+        /// 鎻掑叆鏁版嵁搴�
+        /// </summary>
+        private static void InsertToDB(SysMeta meta, XYZArgs args)
+        {
+            if (PubDBHelper.IsPublish(meta.id)) return;
+
+            SysPublish sys = NewPublish(meta, args);
+            sys.path = meta.id + "\\" + meta.name;
+
+            int pubid = PubDBHelper.InsertPublish(sys);
+            if (pubid > 0)
+            {
+                PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId);
+            }
+        }
+
+        /// <summary>
+        /// 鍒涘缓鏁版嵁鍙戝竷绫�
+        /// </summary>
+        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
+        {
+            SysPublish sp = new SysPublish();
+            sp.name = meta.name;
+            sp.url = GetReleaseUrl(meta, meta.verid);
+            sp.type = meta.type;
+            sp.status = 3;
+            sp.dirid = meta.dircode;
+            sp.depid = args.depcode;
+            sp.min = 0;
+            sp.max = 0;
+            sp.json = null;
+            sp.create_user = args.userId;
+            sp.geom = null;
+            sp.bak = null;
+
+            return sp;
+        }
+
+        /// <summary>
+        /// 绉诲姩鏂囦欢
+        /// </summary>
+        private static void MoveFiles(List<SysMeta> metas)
+        {
+            string uploadFolder = Tool.GetSetting("uploadFolder");
+            string sgFolder = Path.Combine(uploadFolder, "SG");
+            if (!Directory.Exists(sgFolder)) Directory.CreateDirectory(sgFolder);
+
+            List<string> list = new List<string>();
+            foreach (SysMeta meta in metas)
+            {
+                string source = Path.Combine(uploadFolder, meta.path);
+                File.Move(source, Path.Combine(sgFolder, meta.id + "_" + meta.name));
+
+                if ("mpt".Equals(meta.type))
+                {
+                    string midx = Path.Combine(uploadFolder, meta.path.Replace(".mpt", ".midx"));
+                    File.Move(midx, Path.Combine(sgFolder, meta.id + "_" + meta.name.Replace(".mpt", ".midx")));
+
+                    string strmi = Path.Combine(uploadFolder, meta.path.Replace(".mpt", ".strmi"));
+                    File.Move(strmi, Path.Combine(sgFolder, meta.id + "_" + meta.name.Replace(".mpt", ".strmi")));
+                }
+            }
+        }
+
+        #region 閾炬帴鏂囦欢
+        /// <summary>
         /// 閾炬帴鏂囦欢
         /// </summary>
         private string LinkFiles(List<SysMeta> metas)
@@ -231,59 +314,6 @@
             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));
         }
-
-        /// <summary>
-        /// 鎻掑叆鏁版嵁鍙戝竷琛�
-        /// </summary>
-        private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
-        {
-            foreach (SysMeta meta in list)
-            {
-                SpatialItem si = (from item in items where meta.name.Equals(item.Name) select item).First();
-                if (null == si) continue;
-
-                meta.verid = si.id;
-                InsertToDB(meta, args);
-            }
-        }
-
-        /// <summary>
-        /// 鎻掑叆鏁版嵁搴�
-        /// </summary>
-        private static void InsertToDB(SysMeta meta, XYZArgs args)
-        {
-            if (PubDBHelper.IsPublish(meta.id)) return;
-
-            SysPublish sys = NewPublish(meta, args);
-            sys.path = meta.id + "\\" + meta.name;
-
-            int pubid = PubDBHelper.InsertPublish(sys);
-            if (pubid > 0)
-            {
-                PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId);
-            }
-        }
-
-        /// <summary>
-        /// 鍒涘缓鏁版嵁鍙戝竷绫�
-        /// </summary>
-        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
-        {
-            SysPublish sp = new SysPublish();
-            sp.name = meta.name;
-            sp.url = GetReleaseUrl(meta, meta.verid);
-            sp.type = meta.type;
-            sp.status = 3;
-            sp.dirid = meta.dircode;
-            sp.depid = args.depcode;
-            sp.min = 0;
-            sp.max = 0;
-            sp.json = null;
-            sp.create_user = args.userId;
-            sp.geom = null;
-            sp.bak = null;
-
-            return sp;
-        }
+        #endregion
     }
 }

--
Gitblit v1.9.3