|  |  |  | 
|---|
|  |  |  | int taskNum = task.TaskNum; | 
|---|
|  |  |  | int taskState = task.TaskState; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result)) | 
|---|
|  |  |  | if(taskState > (int)TaskStatusEnum.Finish) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | isNormal = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Dt_TaskExecuteDetail taskExecuteDetail = new() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | IsManual = App.User.UserId > 0, | 
|---|
|  |  |  | IsManual = App.User?.UserId > 0, | 
|---|
|  |  |  | IsNormal = isNormal, | 
|---|
|  |  |  | TaskNum = taskNum, | 
|---|
|  |  |  | TaskId = taskId, | 
|---|
|  |  |  | 
|---|
|  |  |  | int taskNum = task.TaskNum; | 
|---|
|  |  |  | int taskState = task.TaskState; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result)) | 
|---|
|  |  |  | if (taskState > (int)TaskStatusEnum.Finish) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | isNormal = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Dt_TaskExecuteDetail taskExecuteDetail = new() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | IsManual = App.User.UserId > 0, | 
|---|
|  |  |  | IsManual = App.User?.UserId > 0, | 
|---|
|  |  |  | IsNormal = isNormal, | 
|---|
|  |  |  | TaskNum = taskNum, | 
|---|
|  |  |  | TaskId = task.TaskId, | 
|---|
|  |  |  | 
|---|
|  |  |  | if (task != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | steps = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().Where(x => x <= (int)TaskOutStatusEnum.OutFinish).ToList(); | 
|---|
|  |  |  | //if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result)) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    steps = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().Where(x => x <= (int)TaskOutStatusEnum.OutFinish).ToList(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | foreach (var item in steps) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | object obj; | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (descriptionAttribute != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | obj = new { title = item, description = descriptionAttribute.Description }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | obj = new { title = item, description = ((TaskOutStatusEnum)item).ToString() }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | list.Add(obj); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x <= (int)TaskInStatusEnum.InFinish).ToList(); | 
|---|
|  |  |  | foreach (var item in steps) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | object obj; | 
|---|
|  |  |  | FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString()); | 
|---|
|  |  |  | DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | if (descriptionAttribute != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | obj = new { title = item, description = descriptionAttribute.Description }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | obj = new { title = item, description = ((TaskInStatusEnum)item).ToString() }; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | list.Add(obj); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //todo è°ç¨WMSç§»åºå®æ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //    foreach (var item in steps) | 
|---|
|  |  |  | //    { | 
|---|
|  |  |  | //        object obj; | 
|---|
|  |  |  | //        FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString()); | 
|---|
|  |  |  | //        DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | //        if (descriptionAttribute != null) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            obj = new { title = item, description = descriptionAttribute.Description }; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        else | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            obj = new { title = item, description = ((TaskOutStatusEnum)item).ToString() }; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        list.Add(obj); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //else if (!int.TryParse(Enum.Parse<TaskTypeEnum>(task.TaskType.ToString()).ToString(), out result)) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x <= (int)TaskInStatusEnum.InFinish).ToList(); | 
|---|
|  |  |  | //    foreach (var item in steps) | 
|---|
|  |  |  | //    { | 
|---|
|  |  |  | //        object obj; | 
|---|
|  |  |  | //        FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString()); | 
|---|
|  |  |  | //        DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); | 
|---|
|  |  |  | //        if (descriptionAttribute != null) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            obj = new { title = item, description = descriptionAttribute.Description }; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        else | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            obj = new { title = item, description = ((TaskInStatusEnum)item).ToString() }; | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        list.Add(obj); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result)) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    //todo è°ç¨WMSç§»åºå®æ | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result)) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{taskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | //else | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    throw new Exception($"ä»»å¡ç±»åé误,æªæ¾å°è¯¥ä»»å¡ç±»å,ä»»å¡å·:ã{taskNum}ã,ä»»å¡ç±»å:ã{task.TaskType}ã"); | 
|---|
|  |  |  | //} | 
|---|
|  |  |  | active = steps.IndexOf(task.TaskState) + 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|