From 62ef8708f7a1eb15219e28431ee0cd4b071d33f4 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 12 四月 2023 17:50:11 +0800 Subject: [PATCH] 1 --- ExportMap/db/PubDBHelper.cs | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-) diff --git a/ExportMap/db/PubDBHelper.cs b/ExportMap/db/PubDBHelper.cs index 0c99d8a..e4cdb8b 100644 --- a/ExportMap/db/PubDBHelper.cs +++ b/ExportMap/db/PubDBHelper.cs @@ -19,7 +19,8 @@ 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 ((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 updateMetaSql = "update lf.sys_meta set path = @path where id = @id"; @@ -113,6 +114,56 @@ } /// <summary> + /// 鏌ヨ鍥惧眰鐖惰妭鐐笽D + /// </summary> + public static int SelectLayerPid(SysMeta meta) + { + string sql = GetSelectLayerPidSql(meta); + + object obj = Tools.DBHelper.GetScalar(sql); + + return null == obj ? 0 : Convert.ToInt32(obj); + } + + /// <summary> + /// 鑾峰彇鏌ヨ鍥惧眰鐖惰妭鐐笽D鐨凷QL + /// </summary> + public static string GetSelectLayerPidSql(SysMeta meta) + { + string noneSql = "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 (string.IsNullOrWhiteSpace(meta.dirname)) return noneSql; + + if (meta.dirname.IndexOf("\\鍕樺療") > -1) + 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) + { + 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 (meta.dirname.IndexOf("\\鍦扮伨") > -1) + 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) + 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)"; + + return noneSql; + } + + /// <summary> /// 鑾峰彇鍙傛暟鍒楄〃 /// </summary> public static List<DbParameter> GetParams<T>(string sql, T t) -- Gitblit v1.9.3