From 78d5eca8ea11c60ac88ebf133329fddad7c2aad2 Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期一, 22 九月 2025 10:20:26 +0800
Subject: [PATCH] 任务

---
 代码管理/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs |   67 ++++++++++++++++++++++++++++-----
 1 files changed, 56 insertions(+), 11 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
index 9a59953..719fc3a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
@@ -26,6 +26,7 @@
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
@@ -35,10 +36,12 @@
     public class TaskExecuteDetailService : ServiceBase<Dt_TaskExecuteDetail, ITaskExecuteDetailRepository>, ITaskExecuteDetailService
     {
         private readonly ITaskRepository _taskRepository;
+        private readonly ITask_HtyRepository _task_Hty;
 
-        public TaskExecuteDetailService(ITaskExecuteDetailRepository BaseDal, ITaskRepository taskRepository) : base(BaseDal)
+        public TaskExecuteDetailService(ITaskExecuteDetailRepository BaseDal, ITaskRepository taskRepository,ITask_HtyRepository task_Hty) : base(BaseDal)
         {
             _taskRepository = taskRepository;
+            _task_Hty = task_Hty;
         }
 
         public void AddTaskExecuteDetail(int taskId, string description = "")
@@ -123,11 +126,32 @@
                 int active = -1;
                 List<object> list = new();
                 List<int> steps = new();
-                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+
+                int TaskType = 0;
+                int TaskState = 0;
+                Dt_Task_hty task_h = null;
+
+                Dt_Task  task =  _taskRepository.QueryData().Where(x=>x.TaskNum == taskNum).FirstOrDefault();
                 if (task != null)
                 {
+                    TaskType = task.TaskType;
+                    TaskState = task.TaskState;
+                }
+                else if(task == null)
+                {
+                    task_h = _task_Hty.QueryData().Where(x => x.TaskNum == taskNum).FirstOrDefault();
+                    TaskType = task_h.TaskType;
+                    TaskState = task_h.TaskState;
+                }
+                else
+                {
+                    return content.Error("浠诲姟涓嶅瓨鍦�");
+                }
 
-                    if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
+                if (task != null || task_h != null)
+                {
+
+                    if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(TaskType.ToString()).ToString(), out int result))
                     {
                         steps = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().Where(x => x <= (int)TaskOutStatusEnum.OutFinish).ToList();
 
@@ -147,9 +171,9 @@
                             list.Add(obj);
                         }
                     }
-                    else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result))
+                    else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(TaskType.ToString()).ToString(), out result))
                     {
-                        steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList();
+                        steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x <= (int)TaskInStatusEnum.InPending).ToList();
                         foreach (var item in steps)
                         {
                             object obj;
@@ -166,16 +190,16 @@
                             list.Add(obj);
                         }
                     }
-                    else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
+                    else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(TaskType.ToString()).ToString(), out result))
                     {
                         //todo 璋冪敤WMS绉诲簱瀹屾垚
                     }
-                   
+
                     else
                     {
-                        throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+                        throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵TaskType}銆�");
                     }
-                    active = steps.IndexOf(task.TaskState) + 1;
+                    active = steps.IndexOf(TaskState) + 1;
 
                 }
 
@@ -193,10 +217,31 @@
             WebResponseContent content = new();
             try
             {
-                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+                //Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+
+
+                Dt_Task task = _taskRepository.QueryData().Where(x => x.TaskNum == taskNum).FirstOrDefault();
+
+                int TaskNum = 0;
+
+                Dt_Task_hty task_h = null;
                 if (task != null)
                 {
-                    List<Dt_TaskExecuteDetail> taskExecuteDetails = BaseDal.QueryData(x => x.TaskId == task.TaskId, new Dictionary<string, SqlSugar.OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), SqlSugar.OrderByType.Asc } });
+                    TaskNum = task.TaskNum;
+                }
+                else if (task == null)
+                {
+                    task_h = _task_Hty.QueryData().Where(x => x.TaskNum == taskNum).FirstOrDefault();
+                    TaskNum = task_h.TaskNum;
+                }
+                else
+                {
+                    return content.Error("浠诲姟涓嶅瓨鍦�");
+                }
+
+                if (task != null || task_h != null)
+                {
+                    List<Dt_TaskExecuteDetail> taskExecuteDetails = BaseDal.QueryData(x => x.TaskNum == TaskNum, new Dictionary<string, SqlSugar.OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), SqlSugar.OrderByType.Asc } });
 
                     content = WebResponseContent.Instance.OK(data: taskExecuteDetails);
                 }

--
Gitblit v1.9.3