From 06f5f3e474bb8d9e255a899b62d16f671cfdb940 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 26 六月 2025 17:34:33 +0800
Subject: [PATCH] 代码更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs |   80 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 69 insertions(+), 11 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
index 5717f5c..a57f13c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
@@ -4,6 +4,7 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.APIEnum;
 using WIDESEA_Common.CommonEnum;
 using WIDESEA_Common.LocationEnum;
 using WIDESEA_Common.OtherEnum;
@@ -18,35 +19,35 @@
 {
     public partial class TaskService
     {
-        public WebResponseContent TaskCompleted(int taskNum)
+        public async Task<WebResponseContent> TaskCompleted(int taskNum)
         {
             try
             {
-                Dt_Task task = Repository.QueryFirst(x => x.TaskNum == taskNum);
+                Dt_Task task = await Repository.QueryFirstAsync(x => x.TaskNum == taskNum);
                 if (task == null)
                 {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�");
+                    return await Task.FromResult(WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�"));
                 }
                 if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                 {
-                    return InboundTaskCompleted(taskNum);
+                    return await Task.FromResult(InboundTaskCompleted(taskNum));
                 }
                 else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                 {
-                    return OutboundTaskCompleted(taskNum);
+                    return await Task.FromResult(OutboundTaskCompleted(taskNum));
                 }
-                else if (task.TaskType.GetTaskTypeGroup() != TaskTypeGroup.RelocationGroup)
+                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                 {
-                    return RelocationTaskCompleted(task);
+                    return await Task.FromResult(RelocationTaskCompleted(task));
                 }
                 else
                 {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒拌绫诲瀷浠诲姟,浠诲姟绫诲瀷:{task.TaskType}");
+                    return await Task.FromResult(WebResponseContent.Instance.Error($"鏈壘鍒拌绫诲瀷浠诲姟,浠诲姟绫诲瀷:{task.TaskType}"));
                 }
             }
             catch (Exception ex)
             {
-                return WebResponseContent.Instance.Error(ex.Message);
+                return await Task.FromResult(WebResponseContent.Instance.Error(ex.Message));
             }
         }
 
@@ -54,7 +55,7 @@
         /// 浠诲姟淇℃伅鎺ㄩ�佽嚦WCS
         /// </summary>
         /// <returns></returns>
-        public WebResponseContent PushTasksToWCSSingle(int taskNum, string agvDescription = "")
+        public WebResponseContent PushTasksToWCSSingle(int taskNum, string agvDescription = "", string agvtaskNum = "")
         {
             try
             {
@@ -68,8 +69,15 @@
                 taskDTOs.ForEach(x =>
                 {
                     x.AGVArea = agvDescription;
+                    x.AGVTaskNum = agvtaskNum;
                 });
-                string response = HttpHelper.Post("http://127.0.0.1:9291/api/Task/ReceiveTask", taskDTOs.Serialize());
+
+                string url = AppSettings.Get("WCS");
+                if (string.IsNullOrEmpty(url))
+                {
+                    throw new Exception($"鏈壘鍒癢CSAApi鍦板潃,璇锋鏌ラ厤缃枃浠�");
+                }
+                string response = HttpHelper.Post($"{url}/api/Task/ReceiveTask", taskDTOs.Serialize());
 
                 return JsonConvert.DeserializeObject<WebResponseContent>(response) ?? WebResponseContent.Instance.Error("杩斿洖閿欒");
             }
@@ -78,5 +86,55 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+
+        /// <summary>
+        /// 淇敼浠诲姟鐘舵��
+        /// </summary>
+        /// <param name="task"></param>
+        /// <returns></returns>
+        public WebResponseContent UpdateTaskInfo(WCSTaskDTO task)
+        {
+            try
+            {
+                Dt_Task wmsTask = BaseDal.QueryFirst(x=>x.TaskNum == task.TaskNum);
+                if (wmsTask != null)
+                {
+                    wmsTask.TaskStatus = task.TaskState;
+                    wmsTask.CurrentAddress = task.CurrentAddress;
+                    wmsTask.NextAddress = task.NextAddress;
+                    wmsTask.Dispatchertime = task.Dispatchertime;
+                    BaseDal.UpdateData(wmsTask);
+                }
+                return WebResponseContent.Instance.OK();
+            }
+            catch(Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+        /// <summary>
+        /// 鍥炶皟wcs鎵嬪姩瀹屾垚浠诲姟
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <returns></returns>
+        public WebResponseContent FeedBackWCSTaskCompleted(int taskNum)
+        {
+            try
+            {
+                Dt_ApiInfo? url = _apiInfoRepository.QueryData(x => x.ApiCode == APIEnum.FeedBackWCSTaskCompleted.ToString()).First();
+                string? apiAddress = url.ApiAddress;
+                if (string.IsNullOrEmpty(apiAddress))
+                {
+                    return WebResponseContent.Instance.Error($"{taskNum},鏈壘鍒癢CS浠诲姟瀹屾垚鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
+                }
+                string responseStr = HttpHelper.Get(apiAddress + "?taskNum=" + taskNum);
+                WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(responseStr) ?? WebResponseContent.Instance.Error("鏈壘鍒颁换鍔″畬鎴愯繑鍥炲��");
+                return content;
+            }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.3