From 5ea36ab02c1f1fcf7195d3850d12e9a2072441ce Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 03 八月 2023 09:34:47 +0800 Subject: [PATCH] 1 --- ExportMap/db/TaskDBHelper.cs | 12 +++++++----- ExportMap/cs/CommonUtils.cs | 2 +- ExportMap/cs/ConvertUtils.cs | 16 ++++++++++++++-- ExportMap/cs/TerraUtils.cs | 13 ++++++++++++- ExportMap/export.html | 2 +- 5 files changed, 35 insertions(+), 10 deletions(-) diff --git a/ExportMap/cs/CommonUtils.cs b/ExportMap/cs/CommonUtils.cs index 0ad0155..682e148 100644 --- a/ExportMap/cs/CommonUtils.cs +++ b/ExportMap/cs/CommonUtils.cs @@ -59,7 +59,7 @@ string ip = Tools.GetLocalIP(); foreach (SysTask task in tasks) { - if (ip != task.ip) continue; + if (ip != task.ip || task.status > 1) continue; task.err = KillProcess(task.id); task.status = 3; diff --git a/ExportMap/cs/ConvertUtils.cs b/ExportMap/cs/ConvertUtils.cs index 659e93a..93e2d2e 100644 --- a/ExportMap/cs/ConvertUtils.cs +++ b/ExportMap/cs/ConvertUtils.cs @@ -60,7 +60,8 @@ if (File.Exists(jsonFile)) File.Delete(jsonFile); WriteText(configFile, string.Format(JobConfig, outPath.Replace("\\", "\\\\"))); - ExecNavisworks(modelFile, configFile); + SysTask task = TaskDBHelper.CreateTask(args, meta, "BIM"); + ExecNavisworks(task, modelFile, configFile); File.Delete(configFile); if (File.Exists(jsonFile)) @@ -78,7 +79,7 @@ /// <summary> /// 杩愯Navisworks /// </summary> - public static void ExecNavisworks(string modelFile, string configFile) + public static void ExecNavisworks(SysTask task, string modelFile, string configFile) { Process p = null; try @@ -90,16 +91,27 @@ // 鍚姩杩涚▼ p = Process.Start(RoamerExe, args); + task.pid = p.Id; + task.id = TaskDBHelper.Insert(task); // 璁╃粍浠剁瓑鍊欑浉鍏崇殑杩涚▼杩涘叆闂茬疆鐘舵�� p.WaitForInputIdle(); // 璁╃粍浠舵棤闄愭湡鍦扮瓑寰呭叧鑱旇繘绋嬮��鍑� p.WaitForExit(); + + task.status = 2; + TaskDBHelper.Update(task); } catch (Exception ex) { LogOut.Error(ex.Message + "\r\n" + ex.StackTrace); + if (task.id > 0 && task.status < 2) + { + task.err = ex.Message; + task.status = 4; + TaskDBHelper.Update(task); + } } finally { diff --git a/ExportMap/cs/TerraUtils.cs b/ExportMap/cs/TerraUtils.cs index c4b370a..607d622 100644 --- a/ExportMap/cs/TerraUtils.cs +++ b/ExportMap/cs/TerraUtils.cs @@ -13,7 +13,15 @@ { private static string pyFile; + /// <summary> + /// 榛樿鏈�澶х骇鍒� + /// </summary> public static int DEFAULT_MAX_LEVEL = 16; + + /// <summary> + /// 榛樿鏈�澶ф枃浠跺ぇ灏忥細5GB + /// </summary> + public static long DDEFAULT_MAX_SIZE = 5L * 1024 * 1024 * 1024; /// <summary> /// 鑾峰彇Python鏂囦欢 @@ -211,6 +219,9 @@ /// </summary> private static int GetTerrainMaxLevel(XYZArgs args, string tifFile) { + FileInfo fi = new FileInfo(tifFile); + if (fi.Length > DDEFAULT_MAX_SIZE) return DEFAULT_MAX_LEVEL; + string ctbPath = Tools.GetSetting("ctbPath"); string dirPath = GetTerrainPath(args.dircode); @@ -231,7 +242,7 @@ } if (File.Exists(layerJson)) File.Delete(layerJson); - return level; + return level > DEFAULT_MAX_LEVEL ? DEFAULT_MAX_LEVEL : level; } /// <summary> diff --git a/ExportMap/db/TaskDBHelper.cs b/ExportMap/db/TaskDBHelper.cs index f447dc8..4acb91e 100644 --- a/ExportMap/db/TaskDBHelper.cs +++ b/ExportMap/db/TaskDBHelper.cs @@ -29,7 +29,7 @@ /// </summary> public static int Insert(SysTask task) { - string sql = "insert into lf.sys_task (name, status, type, descr, err, ip, pid, gids, depcode, dircode, create_user) values (@name, @status, @type, @descr, @err, @ip, @pid, @gids, @depcode, @dircode, @create_user)"; + string sql = "insert into lf.sys_task (name, status, type, descr, err, ip, pid, gids, depcode, dircode, create_user) values (@name, @status, @type, @descr, @err, @ip, @pid, @gids, @depcode, @dircode, @create_user) returning id"; List<DbParameter> list = Tools.GetParams<SysTask>(sql, task); object obj = Tools.DBHelper.GetScalar(sql, list.ToArray()); @@ -53,11 +53,12 @@ /// <summary> /// 鍒涘缓浠诲姟瀹炰綋绫� /// </summary> - public static SysTask CreateTask(XYZArgs args) + public static SysTask CreateTask(XYZArgs args, string type) { SysTask task = new SysTask(); task.name = args.name; - task.status = 0; + task.status = 1; + task.type = type; task.ip = Tools.GetLocalIP(); task.gids = string.Join(",", args.ids.ToArray()); task.depcode = args.depcode; @@ -70,11 +71,12 @@ /// <summary> /// 鍒涘缓浠诲姟瀹炰綋绫� /// </summary> - public static SysTask CreateTask(XYZArgs args, SysMeta meta) + public static SysTask CreateTask(XYZArgs args, SysMeta meta, string type) { SysTask task = new SysTask(); task.name = meta.name; - task.status = 0; + task.status = 1; + task.type = type; task.ip = Tools.GetLocalIP(); task.gids = meta.id.ToString(); task.depcode = args.depcode; diff --git a/ExportMap/export.html b/ExportMap/export.html index c32152a..573f8ea 100644 --- a/ExportMap/export.html +++ b/ExportMap/export.html @@ -10,7 +10,7 @@ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="js/jquery.1.12.4.js"></script> <script> - var token = "bc381c1e-83cb-4956-a1e4-a624b08225f1"; + var token = "04f00381-cefa-4a57-8b08-899d02814545"; // Ajax function ajax(url, type, data, dataType, contentType, fn) { -- Gitblit v1.9.3