From d3602925206857045b993e67bf82697168bde3c7 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 17 三月 2023 18:01:18 +0800 Subject: [PATCH] 1 --- ExportMap/cs/SGUtils.cs | 16 ++++---- ExportMap/cs/XYZUtils.cs | 52 ++++++++++++++++++++++++-- ExportMap/Controllers/ConvertController.cs | 2 ExportMap/cs/ConvertUtils.cs | 23 ++++++----- ExportMap/Models/XYZArgs.cs | 15 +++++++ 5 files changed, 85 insertions(+), 23 deletions(-) diff --git a/ExportMap/Controllers/ConvertController.cs b/ExportMap/Controllers/ConvertController.cs index c0040dc..f74ead1 100644 --- a/ExportMap/Controllers/ConvertController.cs +++ b/ExportMap/Controllers/ConvertController.cs @@ -32,7 +32,7 @@ return ResponseMsg<int>.fail("浠ょ墝鏃犳晥"); } - int count = ConvertUtils.Convert(args.ids); + int count = ConvertUtils.Convert(args); if (0 == count) { return ResponseMsg<int>.fail("澶辫触"); diff --git a/ExportMap/Models/XYZArgs.cs b/ExportMap/Models/XYZArgs.cs index bf4d051..87553f9 100644 --- a/ExportMap/Models/XYZArgs.cs +++ b/ExportMap/Models/XYZArgs.cs @@ -21,6 +21,16 @@ public string token { set; get; } /// <summary> + /// 鍚嶇О + /// </summary> + public string name { set; get; } + + /// <summary> + /// 鐢ㄦ埛ID + /// </summary> + public int userId { set; get; } + + /// <summary> /// 鍦板浘鏈�灏忕骇鍒� /// </summary> public int min { set; get; } @@ -36,6 +46,11 @@ public string dircode { set; get; } /// <summary> + /// 鍗曚綅鐩綍缂栫爜 + /// </summary> + public string depcode { set; get; } + + /// <summary> /// 鍏冩暟鎹甀D闆嗗悎 /// </summary> public List<int> ids { set; get; } diff --git a/ExportMap/cs/ConvertUtils.cs b/ExportMap/cs/ConvertUtils.cs index f5b76a9..bb2d424 100644 --- a/ExportMap/cs/ConvertUtils.cs +++ b/ExportMap/cs/ConvertUtils.cs @@ -35,13 +35,13 @@ /// <summary> /// 妯″瀷杞崲 /// </summary> - public static int Convert(List<int> ids) + public static int Convert(XYZArgs args) { int count = 0; string uploadFolder = Tool.GetSetting("uploadFolder"); string tilesFolder = Path.Combine(Tool.GetSetting("lfData"), "3d\\3dtiles"); - List<SysMeta> list = XYZUtils.selectMetas(ids, "and type in ('ifc', 'fbx', 'rvt')"); + List<SysMeta> list = XYZUtils.selectMetas(args.ids, "and type in ('ifc', 'fbx', 'rvt')"); if (null == list || list.Count == 0) return 0; foreach (SysMeta meta in list) @@ -60,10 +60,13 @@ ExecNavisworks(modelFile, configFile); File.Delete(configFile); - count += File.Exists(jsonFile) ? 1 : 0; + if (File.Exists(jsonFile)) + { + string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", ""); + InsertToDB(meta, args, path); - string path = jsonFile.Replace(Tool.GetSetting("lfData") + "\\", ""); - InsertToDB(meta, path); + count++; + } } return count; @@ -118,11 +121,11 @@ /// <summary> /// 鎻掑叆鏁版嵁搴� /// </summary> - private static void InsertToDB(SysMeta meta, string path) + private static void InsertToDB(SysMeta meta, XYZArgs args, string path) { if (PubDBHelper.IsPublish(meta.id)) return; - SysPublish sys = NewPublish(meta); + SysPublish sys = NewPublish(meta, args); sys.path = path; int pubid = PubDBHelper.InsertPublish(sys); @@ -135,7 +138,7 @@ /// <summary> /// 鍒涘缓鏁版嵁鍙戝竷绫� /// </summary> - private static SysPublish NewPublish(SysMeta meta) + private static SysPublish NewPublish(SysMeta meta, XYZArgs args) { SysPublish sp = new SysPublish(); sp.name = meta.name; @@ -143,11 +146,11 @@ sp.type = meta.type; sp.status = 3; sp.dirid = meta.dircode; - sp.depid = meta.depcode; + sp.depid = args.depcode; sp.min = 0; sp.max = 0; sp.json = null; - sp.create_user = meta.create_user; + sp.create_user = args.userId; sp.geom = null; sp.bak = null; diff --git a/ExportMap/cs/SGUtils.cs b/ExportMap/cs/SGUtils.cs index d079dc6..12686f7 100644 --- a/ExportMap/cs/SGUtils.cs +++ b/ExportMap/cs/SGUtils.cs @@ -99,7 +99,7 @@ List<SpatialItem> items = SelectItems(maxId); if (null == items || items.Count == 0) continue; - InsertInto(list, items); + InsertInto(list, items, args); count = items.Count; break; } @@ -235,7 +235,7 @@ /// <summary> /// 鎻掑叆鏁版嵁鍙戝竷琛� /// </summary> - private void InsertInto(List<SysMeta> list, List<SpatialItem> items) + private void InsertInto(List<SysMeta> list, List<SpatialItem> items, XYZArgs args) { foreach (SysMeta meta in list) { @@ -243,18 +243,18 @@ if (null == si) continue; meta.verid = si.id; - InsertToDB(meta); + InsertToDB(meta, args); } } /// <summary> /// 鎻掑叆鏁版嵁搴� /// </summary> - private static void InsertToDB(SysMeta meta) + private static void InsertToDB(SysMeta meta, XYZArgs args) { if (PubDBHelper.IsPublish(meta.id)) return; - SysPublish sys = NewPublish(meta); + SysPublish sys = NewPublish(meta, args); sys.path = meta.id + "\\" + meta.name; int pubid = PubDBHelper.InsertPublish(sys); @@ -267,7 +267,7 @@ /// <summary> /// 鍒涘缓鏁版嵁鍙戝竷绫� /// </summary> - private static SysPublish NewPublish(SysMeta meta) + private static SysPublish NewPublish(SysMeta meta, XYZArgs args) { SysPublish sp = new SysPublish(); sp.name = meta.name; @@ -275,11 +275,11 @@ sp.type = meta.type; sp.status = 3; sp.dirid = meta.dircode; - sp.depid = meta.depcode; + sp.depid = args.depcode; sp.min = 0; sp.max = 0; sp.json = null; - sp.create_user = meta.create_user; + sp.create_user = args.userId; sp.geom = null; sp.bak = null; diff --git a/ExportMap/cs/XYZUtils.cs b/ExportMap/cs/XYZUtils.cs index 68fbf40..b026c6e 100644 --- a/ExportMap/cs/XYZUtils.cs +++ b/ExportMap/cs/XYZUtils.cs @@ -45,9 +45,9 @@ /// <summary> /// 鑾峰彇鍙戝竷鍦板潃 /// </summary> - public static string GetReleaseUrl(XYZArgs args) + public static string GetReleaseUrl(string dircode) { - return "http://{host}/LFData/2d/tiles/" + args.dircode + "/{z}/{x}/{y}.png"; + return "http://{host}/LFData/2d/tiles/" + dircode + "/{z}/{x}/{y}.png"; } /// <summary> @@ -84,10 +84,15 @@ err = ExecCmd(cmd); if (File.Exists(tifFile)) File.Delete(tifFile); - string viewFile = Path.Combine(xyzPath, "view.html"); + if (File.Exists(viewFile)) + { + string path = ""; + InsertToDB(list, args, path); + return 1; + } - return File.Exists(viewFile) ? 1 : 0; + return 0; } /// <summary> @@ -172,5 +177,44 @@ return str; } + + /// <summary> + /// 鎻掑叆鏁版嵁搴� + /// </summary> + private static void InsertToDB(List<SysMeta> metas, XYZArgs args, string path) + { + if (PubDBHelper.IsPublish(args.dircode)) return; + + SysPublish sys = NewPublish(metas[0], args); + sys.path = path; + + int pubid = PubDBHelper.InsertPublish(sys); + if (pubid > 0) + { + //PubDBHelper.InsertMetaPub(meta.id, pubid); + } + } + + /// <summary> + /// 鍒涘缓鏁版嵁鍙戝竷绫� + /// </summary> + private static SysPublish NewPublish(SysMeta meta, XYZArgs args) + { + SysPublish sp = new SysPublish(); + sp.name = args.name; + sp.url = GetReleaseUrl(args.dircode); + sp.type = "DOM"; + sp.status = 3; + sp.dirid = args.dircode; + sp.depid = args.depcode; + sp.min = args.min; + sp.max = args.max; + sp.json = null; + sp.create_user = args.userId; + sp.geom = null; + sp.bak = null; + + return sp; + } } } -- Gitblit v1.9.3