dengjunjie
2025-04-19 9e579eda4601ed7b492b9d19a24e8146f6ebdf8d
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
@@ -22,9 +22,9 @@
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;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -60,6 +60,16 @@
                    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)
                        isNormal = false;
                }
                Dt_TaskExecuteDetail taskExecuteDetail = new()
                {
                    IsManual = App.User.UserId > 0,
@@ -78,7 +88,11 @@
            }
        }
        /// <summary>
        /// 璁板綍鎺ユ敹WMS涓嬪彂浠诲姟
        /// </summary>
        /// <param name="taskNums"></param>
        /// <param name="description"></param>
        public void AddTaskExecuteDetail(List<int> taskNums, string description = "")
        {
            try
@@ -100,6 +114,16 @@
                    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))
                    {
                        if ((int)(TaskCarStatusEnum)result > (int)TaskCarStatusEnum.RelocationCarFinish)
                            isNormal = false;
                    }
                    Dt_TaskExecuteDetail taskExecuteDetail = new()
@@ -178,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
                    {