| | |
| | | public DateTime update_time { set; get; } |
| | | |
| | | public string bak { set; get; } |
| | | |
| | | public string dirname { set; get; } |
| | | } |
| | | } |
| | |
| | | if (pubid > 0) |
| | | { |
| | | sys.id = pubid; |
| | | PubDBHelper.InsertLayer(sys, meta, 100); |
| | | PubDBHelper.InsertLayer(sys, meta); |
| | | PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId); |
| | | } |
| | | |
| | |
| | | if (pubid > 0) |
| | | { |
| | | sys.id = pubid; |
| | | PubDBHelper.InsertLayer(sys, meta, sys.type == "3dml" ? 100 : 0); |
| | | PubDBHelper.InsertLayer(sys, meta); |
| | | PubDBHelper.InsertMetaPub(meta.id, pubid, args.userId); |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | public static List<SysMeta> SelectMetas(List<int> ids, string types = "") |
| | | { |
| | | string sql = string.Format("select * from lf.sys_meta where id in ({0}) {1} order by id", string.Join(",", ids), types); |
| | | string sql = string.Format("select a.*, fn_get_fullname(dircode, 2) dirname from lf.sys_meta a where id in ({0}) {1} order by id", string.Join(",", ids), types); |
| | | DataTable dt = Tools.DBHelper.GetDataTable(sql); |
| | | List<SysMeta> list = ModelHandler.FillModel<SysMeta>(dt); |
| | | |
| | |
| | | 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,model-@enName,自动发布模型-@name,http:// - @url,Tileset-@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"; |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询图层父节点ID |
| | | /// </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> |
| | | /// 获取查询图层父节点ID的SQL |
| | | /// </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 = '数字正射影像图' 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) |