From 74d6e3882b7d20291ad566b2d5703d0e703f5d27 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期三, 21 八月 2024 17:33:20 +0800
Subject: [PATCH] 1

---
 WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs |   62 +++++++++---------------------
 1 files changed, 19 insertions(+), 43 deletions(-)

diff --git a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
index 8141462..991e441 100644
--- a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
+++ b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
@@ -40,39 +40,36 @@
             _taskRepository = taskRepository;
         }
 
-        public void AddTaskExecuteDetail(int taskId, int taskNum, int taskState, string description = "", bool isManual = false)
+        public void AddTaskExecuteDetail(int taskId, string description = "")
         {
             try
             {
                 bool isNormal = true;
-                ;
-                if (Enum.TryParse(typeof(TaskOutStatusEnum), taskState.ToString(), out object? result))
-                {
-                    if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
-                        isNormal = false;
+                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId);
+                if (task == null) return;
+                int taskNum = task.TaskNum;
+                int taskState = task.TaskState;
 
-                }
-                else if (Enum.TryParse(typeof(TaskInStatusEnum), taskState.ToString(), out result))
+                if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
                 {
                     if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
                         isNormal = false;
                 }
-                else if (Enum.TryParse(typeof(TaskRelocationTypeEnum), taskState.ToString(), out result))
+                else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
                 {
-
+                    if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
+                        isNormal = false;
                 }
-                else if (Enum.TryParse(typeof(TaskOtherTypeEnum), taskState.ToString(), out result))
+                Dt_TaskExecuteDetail taskExecuteDetail = new()
                 {
-
-                }
-                Dt_TaskExecuteDetail taskExecuteDetail = new Dt_TaskExecuteDetail()
-                {
-                    IsManual = isManual,
+                    IsManual = App.User.UserId > 0,
                     IsNormal = isNormal,
                     TaskNum = taskNum,
                     TaskId = taskId,
                     TaskState = taskState,
-                    Description = description
+                    Description = description,
+                    CurrentAddress = task.CurrentAddress,
+                    NextAddress = task.NextAddress,
                 };
                 BaseDal.AddData(taskExecuteDetail);
             }
@@ -84,13 +81,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 +142,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 +157,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