From 37a9a1c20eb6b23dcead842fd2d9674a1ac77776 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 04 五月 2023 15:18:24 +0800
Subject: [PATCH] 1

---
 ExportMap/cs/SGUtils.cs     |   28 ++++++++++++++--------------
 ExportMap/db/PubDBHelper.cs |   13 ++++++++++---
 2 files changed, 24 insertions(+), 17 deletions(-)

diff --git a/ExportMap/cs/SGUtils.cs b/ExportMap/cs/SGUtils.cs
index ecb5f57..b273e62 100644
--- a/ExportMap/cs/SGUtils.cs
+++ b/ExportMap/cs/SGUtils.cs
@@ -191,21 +191,21 @@
         /// </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;
+            SysPublish sys = new SysPublish();
+            sys.name = meta.name;
+            sys.url = GetReleaseUrl(meta, meta.verid);
+            sys.type = meta.type;
+            sys.status = 3;
+            sys.dirid = meta.dircode;
+            sys.depid = args.depcode;
+            sys.min = 0;
+            sys.max = 0;
+            sys.json = null;
+            sys.create_user = args.userId;
+            sys.geom = null;
+            sys.bak = null;
 
-            return sp;
+            return sys;
         }
 
         /// <summary>
diff --git a/ExportMap/db/PubDBHelper.cs b/ExportMap/db/PubDBHelper.cs
index 275bb62..9d24141 100644
--- a/ExportMap/db/PubDBHelper.cs
+++ b/ExportMap/db/PubDBHelper.cs
@@ -21,6 +21,8 @@
         // 妯″瀷-@cnName锛宮odel-@enName锛岃嚜鍔ㄥ彂甯冩ā鍨�-@name锛宧ttp:// - @url锛孴ileset-@serve锛�1-@user锛�7-@pubid
         private static string insertLayerSql = "insert into lf.sys_layer (pid, cn_name, en_name, url, type, level, order_num, is_show, create_user, data_type, serve_type, pubid, elev) values (@pid, @cnName, @enName, @url, 2, (select coalesce(level, 0) + 1 from lf.sys_layer where id = @pid), (select coalesce(max(order_num), 0) + 1 from lf.sys_layer where pid = @pid), 0, @user, @data, @serve, @pubid, @elev) returning id";
 
+        private static string insertParentLayer = "insert into lf.sys_layer (pid, cn_name, type, level, order_num, is_show, create_user, data_type) values (@pid, @cn_name, 1, (select coalesce(level, 0) + 1 from lf.sys_layer where id = @pid), (select coalesce(max(order_num), 0) + 1 from lf.sys_layer where pid = @pid), 0, @create_user, (select data_type from lf.sys_layer where id = @pid))";
+
         private static string updateMetaSql = "update lf.sys_meta set path = @path where id = @id";
 
         private static string selectLayerSql = "select id from lf.sys_layer where pid = @pid and cn_name = @name";
@@ -80,7 +82,7 @@
         /// </summary>
         public static int InsertLayer(SysPublish sys, SysMeta meta, double elev = 0)
         {
-            int pid = SelectLayerPid(meta);
+            int pid = SelectLayerPid(sys, meta);
             string cnName = meta.name.Split(new char[] { '.' })[0];
             string data = "mpt".Equals(meta.type) ? "鑷姩鍙戝竷鍦板舰鍦烘櫙" : (imgList.Contains(meta.type) ? "鑷姩鍙戝竷褰卞儚" : "鑷姩鍙戝竷妯″瀷");
             string serve = "mpt".Equals(meta.type) ? "Mpt" : (imgList.Contains(meta.type) ? "TMS" : "Tileset");
@@ -119,7 +121,7 @@
         /// <summary>
         /// 鏌ヨ鍥惧眰鐖惰妭鐐笽D
         /// </summary>
-        public static int SelectLayerPid(SysMeta meta)
+        public static int SelectLayerPid(SysPublish sys, SysMeta meta)
         {
             string sql = GetSelectLayerPidSql(meta);
             int pid = Tools.DBHelper.GetIntScalar(sql);
@@ -131,7 +133,12 @@
             int layerId = Tools.DBHelper.GetIntScalar(selectLayerSql, list.ToArray());
             if (0 == layerId)
             {
-                //
+                List<DbParameter> args = new List<DbParameter>();
+                list.Add(new NpgsqlParameter("@pid", pid));
+                list.Add(new NpgsqlParameter("@cn_name", meta.dirname));
+                list.Add(new NpgsqlParameter("@create_user", sys.create_user));
+
+                layerId = Tools.DBHelper.ExecuteNonQuery(insertParentLayer, args.ToArray());
             }
 
             return layerId;

--
Gitblit v1.9.3