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

---
 ExportMap/db/PubDBHelper.cs |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/ExportMap/db/PubDBHelper.cs b/ExportMap/db/PubDBHelper.cs
index 432325e..275bb62 100644
--- a/ExportMap/db/PubDBHelper.cs
+++ b/ExportMap/db/PubDBHelper.cs
@@ -19,10 +19,11 @@
         private static string insertMetaPubSql = "insert into lf.sys_meta_pub (metaid, pubid, create_user) select {0}, {1}, {2} from (select 1) temp where not exists (select 1 from lf.sys_meta_pub where metaid = {0} and pubid = {1})";
 
         // 妯″瀷-@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 ((select coalesce(id, 0) from lf.sys_layer where cn_name = @name limit 1), @cnName, @enName, @url, 2, (select coalesce(level, 0) + 1 from lf.sys_layer where cn_name = @name limit 1), (select coalesce(max(order_num), 0) + 1 from lf.sys_layer where pid = (select id from lf.sys_layer where cn_name = @name limit 1)), 0, @user, @name, @serve, @pubid, @elev);";
-        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)";
+        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 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";
 
         /// <summary>
         /// 鏄�/鍚﹀彂甯冭繃
@@ -121,10 +122,19 @@
         public static int SelectLayerPid(SysMeta meta)
         {
             string sql = GetSelectLayerPidSql(meta);
+            int pid = Tools.DBHelper.GetIntScalar(sql);
 
-            object obj = Tools.DBHelper.GetScalar(sql);
+            List<DbParameter> list = new List<DbParameter>();
+            list.Add(new NpgsqlParameter("@pid", pid));
+            list.Add(new NpgsqlParameter("@name", meta.dirname));
 
-            return null == obj ? 0 : Convert.ToInt32(obj);
+            int layerId = Tools.DBHelper.GetIntScalar(selectLayerSql, list.ToArray());
+            if (0 == layerId)
+            {
+                //
+            }
+
+            return layerId;
         }
 
         /// <summary>

--
Gitblit v1.9.3