From d3602925206857045b993e67bf82697168bde3c7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 17 三月 2023 18:01:18 +0800
Subject: [PATCH] 1

---
 ExportMap/cs/SGUtils.cs                    |   16 ++++----
 ExportMap/cs/XYZUtils.cs                   |   52 ++++++++++++++++++++++++--
 ExportMap/Controllers/ConvertController.cs |    2 
 ExportMap/cs/ConvertUtils.cs               |   23 ++++++-----
 ExportMap/Models/XYZArgs.cs                |   15 +++++++
 5 files changed, 85 insertions(+), 23 deletions(-)

diff --git a/ExportMap/Controllers/ConvertController.cs b/ExportMap/Controllers/ConvertController.cs
index c0040dc..f74ead1 100644
--- a/ExportMap/Controllers/ConvertController.cs
+++ b/ExportMap/Controllers/ConvertController.cs
@@ -32,7 +32,7 @@
                     return ResponseMsg<int>.fail("浠ょ墝鏃犳晥");
                 }
 
-                int count = ConvertUtils.Convert(args.ids);
+                int count = ConvertUtils.Convert(args);
                 if (0 == count)
                 {
                     return ResponseMsg<int>.fail("澶辫触");
diff --git a/ExportMap/Models/XYZArgs.cs b/ExportMap/Models/XYZArgs.cs
index bf4d051..87553f9 100644
--- a/ExportMap/Models/XYZArgs.cs
+++ b/ExportMap/Models/XYZArgs.cs
@@ -21,6 +21,16 @@
         public string token { set; get; }
 
         /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public string name { set; get; }
+
+        /// <summary>
+        /// 鐢ㄦ埛ID
+        /// </summary>
+        public int userId { set; get; }
+
+        /// <summary>
         /// 鍦板浘鏈�灏忕骇鍒�
         /// </summary>
         public int min { set; get; }
@@ -36,6 +46,11 @@
         public string dircode { set; get; }
 
         /// <summary>
+        /// 鍗曚綅鐩綍缂栫爜
+        /// </summary>
+        public string depcode { set; get; }
+
+        /// <summary>
         /// 鍏冩暟鎹甀D闆嗗悎
         /// </summary>
         public List<int> ids { set; get; }
diff --git a/ExportMap/cs/ConvertUtils.cs b/ExportMap/cs/ConvertUtils.cs
index f5b76a9..bb2d424 100644
--- a/ExportMap/cs/ConvertUtils.cs
+++ b/ExportMap/cs/ConvertUtils.cs
@@ -35,13 +35,13 @@
         /// <summary>
         /// 妯″瀷杞崲
         /// </summary>
-        public static int Convert(List<int> ids)
+        public static int Convert(XYZArgs args)
         {
             int count = 0;
             string uploadFolder = Tool.GetSetting("uploadFolder");
             string tilesFolder = Path.Combine(Tool.GetSetting("lfData"), "3d\\3dtiles");
 
-            List<SysMeta> list = XYZUtils.selectMetas(ids, "and type in ('ifc', 'fbx', 'rvt')");
+            List<SysMeta> list = XYZUtils.selectMetas(args.ids, "and type in ('ifc', 'fbx', 'rvt')");
             if (null == list || list.Count == 0) return 0;
 
             foreach (SysMeta meta in list)
@@ -60,10 +60,13 @@
                 ExecNavisworks(modelFile, configFile);
 
                 File.Delete(configFile);
-                count += File.Exists(jsonFile) ? 1 : 0;
+                if (File.Exists(jsonFile))
+                {
+                    string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", "");
+                    InsertToDB(meta, args, path);
 
-                string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", "");
-                InsertToDB(meta, path);
+                    count++;
+                }
             }
 
             return count;
@@ -118,11 +121,11 @@
         /// <summary>
         /// 鎻掑叆鏁版嵁搴�
         /// </summary>
-        private static void InsertToDB(SysMeta meta, string path)
+        private static void InsertToDB(SysMeta meta, XYZArgs args, string path)
         {
             if (PubDBHelper.IsPublish(meta.id)) return;
 
-            SysPublish sys = NewPublish(meta);
+            SysPublish sys = NewPublish(meta, args);
             sys.path = path;
 
             int pubid = PubDBHelper.InsertPublish(sys);
@@ -135,7 +138,7 @@
         /// <summary>
         /// 鍒涘缓鏁版嵁鍙戝竷绫�
         /// </summary>
-        private static SysPublish NewPublish(SysMeta meta)
+        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
         {
             SysPublish sp = new SysPublish();
             sp.name = meta.name;
@@ -143,11 +146,11 @@
             sp.type = meta.type;
             sp.status = 3;
             sp.dirid = meta.dircode;
-            sp.depid = meta.depcode;
+            sp.depid = args.depcode;
             sp.min = 0;
             sp.max = 0;
             sp.json = null;
-            sp.create_user = meta.create_user;
+            sp.create_user = args.userId;
             sp.geom = null;
             sp.bak = null;
 
diff --git a/ExportMap/cs/SGUtils.cs b/ExportMap/cs/SGUtils.cs
index d079dc6..12686f7 100644
--- a/ExportMap/cs/SGUtils.cs
+++ b/ExportMap/cs/SGUtils.cs
@@ -99,7 +99,7 @@
                 List<SpatialItem> items = SelectItems(maxId);
                 if (null == items || items.Count == 0) continue;
 
-                InsertInto(list, items);
+                InsertInto(list, items, args);
                 count = items.Count;
                 break;
             }
@@ -235,7 +235,7 @@
         /// <summary>
         /// 鎻掑叆鏁版嵁鍙戝竷琛�
         /// </summary>
-        private void InsertInto(List<SysMeta> list, List<SpatialItem> items)
+        private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args)
         {
             foreach (SysMeta meta in list)
             {
@@ -243,18 +243,18 @@
                 if (null == si) continue;
 
                 meta.verid = si.id;
-                InsertToDB(meta);
+                InsertToDB(meta, args);
             }
         }
 
         /// <summary>
         /// 鎻掑叆鏁版嵁搴�
         /// </summary>
-        private static void InsertToDB(SysMeta meta)
+        private static void InsertToDB(SysMeta meta, XYZArgs args)
         {
             if (PubDBHelper.IsPublish(meta.id)) return;
 
-            SysPublish sys = NewPublish(meta);
+            SysPublish sys = NewPublish(meta, args);
             sys.path = meta.id + "\\" + meta.name;
 
             int pubid = PubDBHelper.InsertPublish(sys);
@@ -267,7 +267,7 @@
         /// <summary>
         /// 鍒涘缓鏁版嵁鍙戝竷绫�
         /// </summary>
-        private static SysPublish NewPublish(SysMeta meta)
+        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
         {
             SysPublish sp = new SysPublish();
             sp.name = meta.name;
@@ -275,11 +275,11 @@
             sp.type = meta.type;
             sp.status = 3;
             sp.dirid = meta.dircode;
-            sp.depid = meta.depcode;
+            sp.depid = args.depcode;
             sp.min = 0;
             sp.max = 0;
             sp.json = null;
-            sp.create_user = meta.create_user;
+            sp.create_user = args.userId;
             sp.geom = null;
             sp.bak = null;
 
diff --git a/ExportMap/cs/XYZUtils.cs b/ExportMap/cs/XYZUtils.cs
index 68fbf40..b026c6e 100644
--- a/ExportMap/cs/XYZUtils.cs
+++ b/ExportMap/cs/XYZUtils.cs
@@ -45,9 +45,9 @@
         /// <summary>
         /// 鑾峰彇鍙戝竷鍦板潃
         /// </summary>
-        public static string GetReleaseUrl(XYZArgs args)
+        public static string GetReleaseUrl(string dircode)
         {
-            return "http://{host}/LFData/2d/tiles/" + args.dircode + "/{z}/{x}/{y}.png";
+            return "http://{host}/LFData/2d/tiles/" + dircode + "/{z}/{x}/{y}.png";
         }
 
         /// <summary>
@@ -84,10 +84,15 @@
             err = ExecCmd(cmd);
 
             if (File.Exists(tifFile)) File.Delete(tifFile);
-
             string viewFile = Path.Combine(xyzPath, "view.html");
+            if (File.Exists(viewFile))
+            {
+                string path = "";
+                InsertToDB(list, args, path);
+                return 1;
+            }
 
-            return File.Exists(viewFile) ? 1 : 0;
+            return 0;
         }
 
         /// <summary>
@@ -172,5 +177,44 @@
 
             return str;
         }
+
+        /// <summary>
+        /// 鎻掑叆鏁版嵁搴�
+        /// </summary>
+        private static void InsertToDB(List<SysMeta> metas, XYZArgs args, string path)
+        {
+            if (PubDBHelper.IsPublish(args.dircode)) return;
+
+            SysPublish sys = NewPublish(metas[0], args);
+            sys.path = path;
+
+            int pubid = PubDBHelper.InsertPublish(sys);
+            if (pubid > 0)
+            {
+                //PubDBHelper.InsertMetaPub(meta.id, pubid);
+            }
+        }
+
+        /// <summary>
+        /// 鍒涘缓鏁版嵁鍙戝竷绫�
+        /// </summary>
+        private static SysPublish NewPublish(SysMeta meta, XYZArgs args)
+        {
+            SysPublish sp = new SysPublish();
+            sp.name = args.name;
+            sp.url = GetReleaseUrl(args.dircode);
+            sp.type = "DOM";
+            sp.status = 3;
+            sp.dirid = args.dircode;
+            sp.depid = args.depcode;
+            sp.min = args.min;
+            sp.max = args.max;
+            sp.json = null;
+            sp.create_user = args.userId;
+            sp.geom = null;
+            sp.bak = null;
+
+            return sp;
+        }
     }
 }

--
Gitblit v1.9.3