From a804a14d371b3452a9509cc8dc14608be77b7ebb Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 13 四月 2023 11:10:30 +0800
Subject: [PATCH] 1

---
 ExportMap/db/PubDBHelper.cs |   35 +++++++++++++++--------------------
 1 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/ExportMap/db/PubDBHelper.cs b/ExportMap/db/PubDBHelper.cs
index e4cdb8b..432325e 100644
--- a/ExportMap/db/PubDBHelper.cs
+++ b/ExportMap/db/PubDBHelper.cs
@@ -12,7 +12,7 @@
 {
     public class PubDBHelper
     {
-        private static List<string> imgList = new List<string>() { "tif", "tiff", "img", "mpt" };
+        private static List<string> imgList = new List<string>() { "jpg", "png", "img", "tif", "tiff" };
 
         private static string insertPublishSql = "insert into lf.sys_publish(name, url, path, type, status, dirid, depid, min, max, json, create_user, geom, bak) values (@name, @url, @path, @type, @status, @dirid, @depid, @min, @max, @json, @create_user, {0}, @bak) returning id";
 
@@ -20,7 +20,7 @@
 
         // 妯″瀷-@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 ((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 updateMetaSql = "update lf.sys_meta set path = @path where id = @id";
 
@@ -79,19 +79,21 @@
         /// </summary>
         public static int InsertLayer(SysPublish sys, SysMeta meta, double elev = 0)
         {
-            bool isImg = imgList.Contains(meta.type);
+            int pid = SelectLayerPid(meta);
             string cnName = meta.name.Split(new char[] { '.' })[0];
-            string name = isImg ? "褰卞儚" : "鑷姩鍙戝竷妯″瀷";
-            string serve = isImg ? (meta.type.Equals("mpt") ? "Mpt" : "TMS") : "Tileset";
+            string data = "mpt".Equals(meta.type) ? "鑷姩鍙戝竷鍦板舰鍦烘櫙" : (imgList.Contains(meta.type) ? "鑷姩鍙戝竷褰卞儚" : "鑷姩鍙戝竷妯″瀷");
+            string serve = "mpt".Equals(meta.type) ? "Mpt" : (imgList.Contains(meta.type) ? "TMS" : "Tileset");
 
+            // @pid, @cnName, @enName, @url, @user, @data, @serve, @pubid, @elev
             List<DbParameter> list = new List<DbParameter>();
+            list.Add(new NpgsqlParameter("@pid", pid));
             list.Add(new NpgsqlParameter("@cnName", cnName));
             list.Add(new NpgsqlParameter("@enName", meta.name));
-            list.Add(new NpgsqlParameter("@name", name));
             list.Add(new NpgsqlParameter("@url", sys.url));
+            list.Add(new NpgsqlParameter("@user", sys.create_user));
+            list.Add(new NpgsqlParameter("@data", data));
             list.Add(new NpgsqlParameter("@serve", serve));
             list.Add(new NpgsqlParameter("@pubid", sys.id));
-            list.Add(new NpgsqlParameter("@user", sys.create_user));
             list.Add(new NpgsqlParameter("@elev", elev));
 
             int rows = Tools.DBHelper.ExecuteNonQuery(insertLayerSql, list.ToArray());
@@ -139,19 +141,12 @@
 
             if (meta.dirname.IndexOf("\\娴嬬粯") > -1)
             {
-                switch (meta.type)
-                {
-                    case "mpt":
-                        return "select id from lf.sys_layer where cn_name = '涓夌淮鍦板舰妯″瀷' and pid = (select id from lf.sys_layer where cn_name = '娴嬬粯' order by pid limit 1)";
-                    case "jpg":
-                    case "png":
-                    case "img":
-                    case "tif":
-                    case "tiff":
-                        return "select id from lf.sys_layer where cn_name = '鏁板瓧姝e皠褰卞儚鍥�' and pid = (select id from lf.sys_layer where cn_name = '娴嬬粯' order by pid limit 1)";
-                    default:
-                        return "select id from lf.sys_layer where cn_name = '鍗曚綋妯″瀷' and pid = (select id from lf.sys_layer where cn_name = '娴嬬粯' order by pid limit 1)";
-                }
+                if ("mpt".Equals(meta.type))
+                    return "select id from lf.sys_layer where cn_name = '涓夌淮鍦板舰妯″瀷' and pid = (select id from lf.sys_layer where cn_name = '娴嬬粯' order by pid limit 1)";
+                if (imgList.Contains(meta.type))
+                    return "select id from lf.sys_layer where cn_name = '鏁板瓧姝e皠褰卞儚鍥�' and pid = (select id from lf.sys_layer where cn_name = '娴嬬粯' order by pid limit 1)";
+                else
+                    return "select id from lf.sys_layer where cn_name = '鍗曚綋妯″瀷' and pid = (select id from lf.sys_layer where cn_name = '娴嬬粯' order by pid limit 1)";
             }
 
             if (meta.dirname.IndexOf("\\鍦扮伨") > -1)

--
Gitblit v1.9.3