From 70233af5426b0d1c343ebe87183303a34a9aaa58 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期三, 20 十一月 2024 09:05:38 +0800 Subject: [PATCH] WIDESEAWCS_QuartzJob更新版本 --- WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs | 152 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 98 insertions(+), 54 deletions(-) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs index 8141462..5a9bfbb 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs @@ -22,6 +22,7 @@ using System.Reflection; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Enums; @@ -40,41 +41,105 @@ _taskRepository = taskRepository; } - public void AddTaskExecuteDetail(int taskId, int taskNum, int taskState, string description = "", bool isManual = false) + public void AddTaskExecuteDetail(int taskId, string description = "") + { + // 灏濊瘯鎵ц娣诲姞浠诲姟鎵ц璇︽儏鐨勬柟娉� + try + { + // 鍒濆鍖栨槸鍚︽甯镐负true + bool isNormal = true; + // 鏍规嵁浠诲姟id鏌ヨ浠诲姟 + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId); + // 濡傛灉浠诲姟涓虹┖锛屽垯杩斿洖 + if (task == null) return; + // 鑾峰彇浠诲姟鏁伴噺 + int taskNum = task.TaskNum; + // 鑾峰彇浠诲姟鐘舵�� + int taskState = task.TaskState; + + // 灏濊瘯灏嗕换鍔$姸鎬佽浆鎹负TaskOutStatusEnum鏋氫妇绫诲瀷 + if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result)) + { + // 濡傛灉杞崲澶辫触锛屽垯灏嗕换鍔$姸鎬佽浆鎹负TaskInStatusEnum鏋氫妇绫诲瀷 + if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result)) + { + // 濡傛灉杞崲澶辫触锛屽垯灏唅sNormal璁剧疆涓篺alse + isNormal = false; + } + } + // 濡傛灉杞崲鎴愬姛锛屽垯鍒ゆ柇浠诲姟鐘舵�佹槸鍚﹀ぇ浜嶰utFinish + else if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) + { + // 濡傛灉澶т簬锛屽垯灏唅sNormal璁剧疆涓篺alse + isNormal = false; + } + // 鍒涘缓浠诲姟鎵ц璇︽儏瀵硅薄 + Dt_TaskExecuteDetail taskExecuteDetail = new() + { + // 璁剧疆鏄惁鎵嬪姩鎵ц + IsManual = App.User.UserId > 0, + // 璁剧疆鏄惁姝e父 + IsNormal = isNormal, + // 璁剧疆浠诲姟鏁伴噺 + TaskNum = taskNum, + // 璁剧疆浠诲姟id + TaskId = taskId, + // 璁剧疆浠诲姟鐘舵�� + TaskState = taskState, + // 璁剧疆鎻忚堪 + Description = description, + // 璁剧疆褰撳墠鍦板潃 + CurrentAddress = task.CurrentAddress, + // 璁剧疆涓嬩竴涓湴鍧� + NextAddress = task.NextAddress, + }; + // 娣诲姞浠诲姟鎵ц璇︽儏 + BaseDal.AddData(taskExecuteDetail); + } + catch (Exception ex) + { + + } + } + + public void AddTaskExecuteDetail(List<int> taskNums, string description = "") { try { - bool isNormal = true; - ; - if (Enum.TryParse(typeof(TaskOutStatusEnum), taskState.ToString(), out object? result)) + List<Dt_TaskExecuteDetail> taskExecuteDetails = new List<Dt_TaskExecuteDetail>(); + foreach (var item in taskNums) { - if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) - isNormal = false; + bool isNormal = true; + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == item); + if (task == null) return; + int taskNum = task.TaskNum; + int taskState = task.TaskState; + if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result)) + { + if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) + isNormal = false; + } + else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result)) + { + if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish) + isNormal = false; + } + Dt_TaskExecuteDetail taskExecuteDetail = new() + { + IsManual = App.User.UserId > 0, + IsNormal = isNormal, + TaskNum = taskNum, + TaskId = task.TaskId, + TaskState = taskState, + Description = description, + CurrentAddress = task.CurrentAddress, + NextAddress = task.NextAddress, + }; + taskExecuteDetails.Add(taskExecuteDetail); } - else if (Enum.TryParse(typeof(TaskInStatusEnum), taskState.ToString(), out result)) - { - if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) - isNormal = false; - } - else if (Enum.TryParse(typeof(TaskRelocationTypeEnum), taskState.ToString(), out result)) - { - } - else if (Enum.TryParse(typeof(TaskOtherTypeEnum), taskState.ToString(), out result)) - { - - } - Dt_TaskExecuteDetail taskExecuteDetail = new Dt_TaskExecuteDetail() - { - IsManual = isManual, - IsNormal = isNormal, - TaskNum = taskNum, - TaskId = taskId, - TaskState = taskState, - Description = description - }; - BaseDal.AddData(taskExecuteDetail); + BaseDal.AddData(taskExecuteDetails); } catch (Exception ex) { @@ -84,13 +149,12 @@ public WebResponseContent GetDetailInfo(int taskNum) { - WebResponseContent content = new WebResponseContent(); + WebResponseContent content = new(); try { int active = -1; - List<object> list = new List<object>(); - - List<int> steps = new List<int>(); + List<object> list = new(); + List<int> steps = new(); Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum); if (task != null) { @@ -146,27 +210,8 @@ { throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); } + active = steps.IndexOf(task.TaskState) + 1; - List<int> details = BaseDal.QueryData(x => x.TaskNum == taskNum && x.TaskState <= task.TaskState).GroupBy(x => x.TaskState).Select(x => x.Key).ToList(); - if (details.Count == 0) - { - active = steps.IndexOf(task.TaskState) + 1; - if (active < steps.Count) - { - active -= 1; - } - } - else - { - if (details.Count == steps.Count) - { - active = details.Count; - } - else - { - active = details.Count - 1; - } - } } content = WebResponseContent.Instance.OK(data: new { active, list }); @@ -180,10 +225,9 @@ public WebResponseContent GetDetailDatas(int taskNum) { - WebResponseContent content = new WebResponseContent(); + WebResponseContent content = new(); try { - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum); if (task != null) { -- Gitblit v1.9.3