From f40ba2a9fb9d3c2ece08e9a7cd987d4744dccab2 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 17 六月 2025 15:22:05 +0800
Subject: [PATCH] 优化库内移库,堆垛机和穿梭车交互逻辑

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 108 insertions(+), 5 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index 535f501..751f62a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -22,10 +22,11 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
-using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_DTO.WMSInfo;
 using WIDESEAWCS_Model.Models;
 
 namespace WIDESEAWCS_ITaskInfoService
@@ -45,7 +46,11 @@
         /// <summary>
         /// 鎵�鏈夊嚭搴撲换鍔$被鍨�
         /// </summary>
-        public List<int> TaskOutboundTypes {  get; }
+        public List<int> TaskOutboundTypes { get; }
+        /// <summary>
+        /// 鎵�鏈夌Щ搴撲换鍔$被鍨�
+        /// </summary>
+        public List<int> TaskRelocationTypes { get; }
 
         /// <summary>
         /// 鎺ユ敹WMS浠诲姟淇℃伅
@@ -60,7 +65,16 @@
         /// <param name="palletCode">鎵樼洏鍙�</param>
         /// <param name="sourceAddress">璧峰鍦板潃</param>
         /// <returns></returns>
-        WebResponseContent RequestWMSTask(string palletCode, string sourceAddress);
+        WebResponseContent RequestWMSTask(ConveyorLineDTO lineDTO);
+
+        /// <summary>
+        /// 娣诲姞绉昏溅浠诲姟
+        /// </summary>
+        /// <param name="SourceAddress">璧风偣</param>
+        /// <param name="TargetAddress">缁堢偣</param>
+        /// <param name="ShuttleCarCode">绌挎杞﹀彿</param>
+        /// <returns></returns>
+        Task AddRelocationCarTask(string SourceAddress, string TargetAddress, string ShuttleCarCode = "", string remark = "");
 
         /// <summary>
         /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
@@ -68,7 +82,15 @@
         /// <param name="deviceNo">璁惧缂栧彿</param>
         /// <param name="currentAddress">褰撳墠鍦板潃</param>
         /// <returns></returns>
-        Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress);
+        Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress, string Barcode);
+        /// <summary>
+        /// 鏍规嵁璁惧缂栧彿銆佷笅涓�鍦板潃銆佷换鍔″彿鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
+        /// </summary>
+        /// <param name="deviceNo"></param>
+        /// <param name="currentAddress"></param>
+        /// <param name="TaskNum"></param>
+        /// <returns></returns>
+        Dt_Task QueryConveyorLineTaskNum(string deviceNo, string currentAddress, int TaskNum);
 
         /// <summary>
         /// 鏍规嵁浠诲姟鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
@@ -77,6 +99,13 @@
         /// <param name="nextAddress">涓嬩竴鍦板潃</param>
         /// <returns></returns>
         Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress);
+        /// <summary>
+        /// 鏍规嵁鎵樼洏鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
+        /// </summary>
+        /// <param name="Barcode"></param>
+        /// <param name="nextAddress"></param>
+        /// <returns></returns>
+        Dt_Task QueryExecutingConveyorLineTask(string Barcode, string nextAddress);
 
         /// <summary>
         /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎瀹屾垚鐨勪换鍔�
@@ -84,8 +113,14 @@
         /// <param name="taskNum">浠诲姟鍙�</param>
         /// <param name="currentAddress">褰撳墠鍦板潃</param>
         /// <returns></returns>
-        Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress);
+        Dt_Task QueryCompletedConveyorLineTask(string Barcode, string currentAddress);
 
+        /// <summary>
+        /// 浜х嚎鏌ヨ鍑哄簱浠诲姟
+        /// </summary>
+        /// <param name="NextAddIsNull">涓嬩竴鍦板潃鏄惁涓虹┖</param>
+        /// <returns></returns>
+        Dt_Task QuertOutProductionLineTask(bool NextAddIsNull);
         /// <summary>
         /// 鏍规嵁璁惧缂栧彿銆佷换鍔$被鍨嬪垎缁�(鍙��)鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鏂板鐨勪换鍔�
         /// </summary>
@@ -101,6 +136,7 @@
         /// <param name="currentAddress">褰撳墠鍦板潃</param>
         /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄锛屽彲鑳戒负null</returns>
         Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "");
+        Dt_Task QueryStackerCraneRelocationTask(string deviceNo, string currentAddress = "");
 
         /// <summary>
         /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鍏ュ簱绫诲瀷鐨勬柊澧炵殑浠诲姟
@@ -117,6 +153,26 @@
         /// <param name="currentAddress">褰撳墠鍦板潃</param>
         /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄锛屽彲鑳戒负null</returns>
         Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "");
+        /// <summary>
+        /// 鏌ヨ绌挎杞﹀嚭搴撳畬鎴愪换鍔�
+        /// </summary>
+        /// <returns></returns>
+        Dt_Task QueryCarOutFinish();
+
+        /// <summary>
+        /// 鏌ヨ绌挎杞﹀嚭鍏ュ簱浠诲姟
+        /// </summary>
+        /// <param name="deviceNo">绌挎杞︾紪鍙�</param>
+        /// <param name="currentAddress">褰撳墠浣嶇疆</param>
+        /// <returns></returns>
+        Dt_Task QueryShuttleCarTask(string deviceNo, string currentAddress = "");
+        /// <summary>
+        /// 鏌ヨ绌挎杞︾Щ搴撲换鍔�
+        /// </summary>
+        /// <param name="deviceNo"></param>
+        /// <param name="currentAddress"></param>
+        /// <returns></returns>
+        Dt_Task ShuttleCarRelocationTask(string deviceNo, string currentAddress = "");
 
         /// <summary>
         /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鍑哄簱绫诲瀷鐨勬柊澧炵殑浠诲姟
@@ -181,5 +237,52 @@
         /// <param name="taskNum">浠诲姟鍙�</param>
         /// <returns>杩斿洖澶勭悊缁撴灉</returns>
         WebResponseContent RollbackTaskStatusToLast(int taskNum);
+
+        /// <summary>
+        /// 鏍规嵁浠诲姟鍙锋煡璇换鍔�
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <returns></returns>
+        Dt_Task GetTaskInfo(int taskNum);
+        Dt_Task GetTaskInfo(int taskNum, int taskState);
+
+        /// <summary>
+        /// 鏍规嵁浠诲姟鐘舵�併�佷换鍔$被鍨嬫煡璇换鍔�
+        /// </summary>
+        /// <param name="TaskState">浠诲姟鐘舵��</param>
+        /// <param name="TaskType">浠诲姟绫诲瀷</param>
+        /// <returns></returns>
+        Dt_Task GetTaskState(int TaskState = 0, int TaskType = 0);
+
+        /// <summary>
+        /// 鍫嗗灈鏈虹敵璇峰叆搴�
+        /// </summary>
+        /// <param name="task"></param>
+        /// <returns></returns>
+        WebResponseContent StackerCraneRequestInbound(Dt_Task task);
+        /// <summary>
+        /// 娣诲姞鍘嗗彶浠诲姟
+        /// </summary>
+        /// <param name="task"></param>
+        /// <param name="operateType"></param>
+        /// <returns></returns>
+        WebResponseContent AddTask_Hty(Dt_Task task, TaskOperateTypeEnum operateType);
+        /// <summary>
+        /// 绌挎杞︿换鍔″畬鎴�
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <param name="TaskTypeComplete">瀹屾垚绫诲瀷</param>
+        /// <returns></returns>
+        WebResponseContent ShuttleCarTaskCompleted(int taskNum, short TaskTypeComplete);
+
+        /// <summary>
+        /// AGV淇敼浠诲姟鐘舵��
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        WebResponseContent AGVUpdateTaskState(AGVUpdateTaskDTO saveModel);
+        WebResponseContent OutTaskFinish(string address);
+        WebResponseContent ManualTask(SaveModel saveModel);
+        WebResponseContent ModifyBarcode(WMSTaskDTO taskDTO);
     }
 }

--
Gitblit v1.9.3