From cde56aae50adc11ff8db84e424d873843c566bfd Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 24 二月 2025 23:40:41 +0800
Subject: [PATCH] 优化WCS移库逻辑

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
index b86ecfe..7d517be 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
@@ -60,6 +60,11 @@
                     if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
                         isNormal = false;
                 }
+                else if (!int.TryParse(Enum.Parse<TaskRelocationStatusEnum>(taskState.ToString()).ToString(), out result))
+                {
+                    if ((int)(TaskRelocationStatusEnum)result > (int)TaskRelocationStatusEnum.RelocationFinish)
+                        isNormal = false;
+                }
                 else if (!int.TryParse(Enum.Parse<TaskCarStatusEnum>(taskState.ToString()).ToString(), out result))
                 {
                     if ((int)(TaskCarStatusEnum)result > (int)TaskCarStatusEnum.RelocationCarFinish)
@@ -109,6 +114,11 @@
                     else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
                     {
                         if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
+                            isNormal = false;
+                    }
+                    else if (!int.TryParse(Enum.Parse<TaskRelocationStatusEnum>(taskState.ToString()).ToString(), out result))
+                    {
+                        if ((int)(TaskRelocationStatusEnum)result > (int)TaskRelocationStatusEnum.RelocationFinish)
                             isNormal = false;
                     }
                     else if (!int.TryParse(Enum.Parse<TaskCarStatusEnum>(taskState.ToString()).ToString(), out result))
@@ -192,10 +202,41 @@
                     else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                     {
                         //todo 璋冪敤WMS绉诲簱瀹屾垚
+                        steps = Enum.GetValues(typeof(TaskRelocationStatusEnum)).Cast<int>().Where(x => x <= (int)TaskRelocationStatusEnum.RelocationFinish).ToList();
+                        foreach (var item in steps)
+                        {
+                            object obj;
+                            FieldInfo? fieldInfo = typeof(TaskRelocationStatusEnum).GetField(((TaskRelocationStatusEnum)item).ToString());
+                            DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                            if (descriptionAttribute != null)
+                            {
+                                obj = new { title = item, description = descriptionAttribute.Description };
+                            }
+                            else
+                            {
+                                obj = new { title = item, description = ((TaskRelocationStatusEnum)item).ToString() };
+                            }
+                            list.Add(obj);
+                        }
                     }
                     else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                     {
-
+                        steps = Enum.GetValues(typeof(TaskCarStatusEnum)).Cast<int>().Where(x => x <= (int)TaskCarStatusEnum.RelocationCarFinish).ToList();
+                        foreach (var item in steps)
+                        {
+                            object obj;
+                            FieldInfo? fieldInfo = typeof(TaskCarStatusEnum).GetField(((TaskCarStatusEnum)item).ToString());
+                            DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                            if (descriptionAttribute != null)
+                            {
+                                obj = new { title = item, description = descriptionAttribute.Description };
+                            }
+                            else
+                            {
+                                obj = new { title = item, description = ((TaskCarStatusEnum)item).ToString() };
+                            }
+                            list.Add(obj);
+                        }
                     }
                     else
                     {

--
Gitblit v1.9.3