dengjunjie
2025-07-04 441b6f8d257a01b2998253ef0515a201777d7e68
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
@@ -15,6 +15,7 @@
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using SqlSugar.Extensions;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -22,9 +23,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 +61,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 +89,11 @@
            }
        }
        /// <summary>
        /// è®°å½•接收WMS下发任务
        /// </summary>
        /// <param name="taskNums"></param>
        /// <param name="description"></param>
        public void AddTaskExecuteDetail(List<int> taskNums, string description = "")
        {
            try
@@ -100,6 +115,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 +203,60 @@
                    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))
                    else if (task.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt())
                    {
                        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 if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())
                    {
                        steps = Enum.GetValues(typeof(CarChargingTaskEnum)).Cast<int>().Where(x => x <= (int)CarChargingTaskEnum.CarChargingFinish).ToList();
                        foreach (var item in steps)
                        {
                            object obj;
                            FieldInfo? fieldInfo = typeof(CarChargingTaskEnum).GetField(((CarChargingTaskEnum)item).ToString());
                            DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                            if (descriptionAttribute != null)
                            {
                                obj = new { title = item, description = descriptionAttribute.Description };
                            }
                            else
                            {
                                obj = new { title = item, description = ((CarChargingTaskEnum)item).ToString() };
                            }
                            list.Add(obj);
                        }
                    }
                    else
                    {