From eb7892b61b050646ad11e7a36942c2a2a16a24f2 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 03 七月 2025 20:12:58 +0800
Subject: [PATCH] 1

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs |  204 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 156 insertions(+), 48 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index aad8fe0..e90eadd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -22,10 +22,13 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_DTO.Agv;
+using WIDESEAWCS_Common.APIEnum;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_DTO.Agv;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_Model.Models;
 
@@ -46,7 +49,7 @@
         /// <summary>
         /// 鎵�鏈夊嚭搴撲换鍔$被鍨�
         /// </summary>
-        public List<int> TaskOutboundTypes {  get; }
+        public List<int> TaskOutboundTypes { get; }
 
         /// <summary>
         /// 鎺ユ敹WMS浠诲姟淇℃伅
@@ -61,31 +64,60 @@
         /// <param name="palletCode">鎵樼洏鍙�</param>
         /// <param name="sourceAddress">璧峰鍦板潃</param>
         /// <returns></returns>
-        WebResponseContent RequestWMSTask(string palletCode, string sourceAddress);
+        WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string materielBoxCode = "");
+        
+        WebResponseContent RequestWMSZHTask(string agvTaskCode, string palletCode, string palletType,string materialLot);
 
         /// <summary>
-        /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
+        /// 鍚慦MS鐢宠浠诲姟
         /// </summary>
-        /// <param name="deviceNo">璁惧缂栧彿</param>
-        /// <param name="currentAddress">褰撳墠鍦板潃</param>
+        /// <param name="palletCode">鎵樼洏鍙�</param>
+        /// <param name="sourceAddress">璧峰鍦板潃</param>
         /// <returns></returns>
-        Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress);
+        WebResponseContent RequestWMSTaskSimple(string palletCode, string sourceAddress);
 
         /// <summary>
-        /// 鏍规嵁浠诲姟鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
+        /// 鍚慦MS鐢宠浠诲姟
+        /// </summary>
+        /// <param name="palletCode">鎵樼洏鍙�</param>
+        /// <param name="sourceAddress">璧峰鍦板潃</param>
+        /// <param name="roadway">宸烽亾鍙�</param>
+        /// <returns></returns>
+        //WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway);
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="sourceAddress"></param>
+        /// <param name="palletCode"></param>
+        /// <param name="heightType"></param>
+        /// <param name="roadways"></param>
+        /// <returns></returns>
+        WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, int heightType, List<string> roadways);
+
+        /// <summary>
+        /// 鍚慦MS鐢宠鍒嗛厤璐т綅
         /// </summary>
         /// <param name="taskNum">浠诲姟鍙�</param>
-        /// <param name="nextAddress">涓嬩竴鍦板潃</param>
+        /// <param name="roadwayNo">宸烽亾鍙�</param>
         /// <returns></returns>
-        Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress);
+        string? RequestAssignLocation(int taskNum, string roadwayNo);
 
         /// <summary>
-        /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎瀹屾垚鐨勪换鍔�
+        /// 鍚慦MS鐢宠鍒嗛厤璐т綅
         /// </summary>
         /// <param name="taskNum">浠诲姟鍙�</param>
-        /// <param name="currentAddress">褰撳墠鍦板潃</param>
+        /// <param name="roadwayNo">宸烽亾鍙�</param>
+        /// <param name="heightType">楂樺害</param>
         /// <returns></returns>
-        Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress);
+        string? RequestAssignLocationByHeight(int taskNum, string roadwayNo, int heightType);
+
+        /// <summary>
+        /// 浠诲姟瀹屾垚
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <returns></returns>
+        WebResponseContent TaskCompleted(int taskNum);
 
         /// <summary>
         /// 鏍规嵁璁惧缂栧彿銆佷换鍔$被鍨嬪垎缁�(鍙��)鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鏂板鐨勪换鍔�
@@ -135,52 +167,128 @@
         WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message);
 
         /// <summary>
-        /// 鏇存柊浠诲姟鐘舵�佷俊鎭紝骞跺悓姝ヨ嚦WMS
-        /// </summary>
-        /// <param name="taskNum">浠诲姟鍙�</param>
-        /// <param name="status">浠诲姟鐘舵��</param>
-        void UpdateTaskStatus(int taskNum, int status);
-
-        /// <summary>
-        /// 灏嗕换鍔$姸鎬佷慨鏀逛负涓嬩竴涓姸鎬�
-        /// </summary>
-        /// <param name="taskNum">浠诲姟鍙�</param>
-        WebResponseContent UpdateTaskStatusToNext(int taskNum);
-
-        /// <summary>
-        /// 灏嗕换鍔$姸鎬佷慨鏀逛负涓嬩竴涓姸鎬�
-        /// </summary>
-        /// <param name="task">浠诲姟瀹炰綋瀵硅薄</param>
-        /// <returns></returns>
-        WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task);
-
-        /// <summary>
-        /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏇存柊浠诲姟浣嶇疆淇℃伅
-        /// </summary>
-        /// <param name="taskNum">浠诲姟鍙�</param>
-        /// <param name="currentAddress">褰撳墠鍦板潃</param>
-        /// <returns></returns>
-        Dt_Task? UpdatePosition(int taskNum, string currentAddress);
-
-        /// <summary>
-        /// 浠诲姟瀹屾垚
-        /// </summary>
-        /// <param name="taskNum">浠诲姟缂栧彿</param>
-        /// <returns>杩斿洖澶勭悊缁撴灉</returns>
-        WebResponseContent StackCraneTaskCompleted(int taskNum);
-
-        /// <summary>
         /// 鎭㈠鎸傝捣浠诲姟
         /// </summary>
         /// <param name="taskNum">浠诲姟鍙�</param>
         /// <returns>杩斿洖澶勭悊缁撴灉</returns>
         WebResponseContent TaskStatusRecovery(int taskNum);
-
         /// <summary>
         /// 鍥炴粴浠诲姟鐘舵��
         /// </summary>
         /// <param name="taskNum">浠诲姟鍙�</param>
         /// <returns>杩斿洖澶勭悊缁撴灉</returns>
         WebResponseContent RollbackTaskStatusToLast(int taskNum);
+        /// <summary>
+        /// 鍙戦�丄GV浠诲姟
+        /// </summary>
+        /// <param name="taskModel"></param>
+        /// <returns></returns>
+        WebResponseContent AgvSendTask(AgvTaskDTO taskModel, APIEnum SendTask = APIEnum.Agv_CSJSendTask);
+        /// <summary>
+        /// 瀹夊叏淇″彿鐢宠
+        /// </summary>
+        /// <param name="secureApplyModel"></param>
+        /// <returns></returns>
+        AgvResponseContent AgvSecureApply(AgvSecureApplyDTO secureApplyModel);
+        /// <summary>
+        /// 瀹夊叏淇″彿鍥炲 WCS-AGV
+        /// </summary>
+        /// <param name="secureModel"></param>
+        /// <returns></returns>
+        WebResponseContent AgvSecureReply(AgvSecureReplyDTO secureReplyModel, APIEnum SecureReply = APIEnum.Agv_CSJSecureReply);
+        /// <summary>
+        /// AGV浠诲姟鐘舵�佸埛鏂�
+        /// </summary>
+        /// <param name="agvUpdateModel"></param>
+        /// <returns></returns>
+        AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel);
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <returns></returns>
+        WebResponseContent SendSecureReplyToAgv(int taskNum);
+
+        /// <summary>
+        /// 鏇存柊浠诲姟淇℃伅鍙婃坊鍔犱换鍔℃槑缁嗚褰�
+        /// </summary>
+        /// <param name="task">浠诲姟鍘熷璞″疄渚�(鏈慨鏀圭殑鏁版嵁瀵硅薄)</param>
+        /// <param name="taskStatus">淇敼鍚庣殑浠诲姟鐘舵��</param>
+        /// <param name="deviceCode">淇敼鍚庣殑璁惧缂栧彿</param>
+        /// <param name="sourceAddress">淇敼鍚庣殑璧峰鍦板潃</param>
+        /// <param name="targetAddress">淇敼鍚庣殑鐩爣鍦板潃</param>
+        /// <param name="currentAddress">淇敼鍚庣殑褰撳墠鍦板潃</param>
+        /// <param name="nextAddress">淇敼鍚庣殑涓嬩竴鍦板潃</param>
+        void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0);
+
+        /// <summary>
+        /// 璇锋眰鍒嗛厤宸烽亾
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <param name="roadwayNos"></param>
+        /// <returns></returns>
+        WebResponseContent RequestWMSAssignRoadway(int taskNum, List<string> roadwayNos);
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="roadwayNos"></param>
+        /// <param name="palletCode"></param>
+        /// <param name="heightType"></param>
+        /// <returns></returns>
+        WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos, string palletCode, int heightType);
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="roadwayNos"></param>
+        /// <param name="taskNum"></param>
+        /// <param name="heightType"></param>
+        /// <returns></returns>
+        WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos, int taskNum, int heightType);
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="roadwayNos"></param>
+        /// <returns></returns>
+        WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos);
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="agvPodModel"></param>
+        /// <param name="PodBerthAndMat"></param>
+        /// <returns></returns>
+        WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat);
+        /// <summary>
+        /// //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
+        /// </summary>
+        Dt_Task QueryStackerExistTask(string PalletCode,string locationCode);
+        /// <summary>
+        /// AGV鎴愬搧鍙栨斁璐ч�氱煡
+        /// </summary>
+        WebResponseContent AgvBoxApplyPass(AGVBoxApplyPassDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CPBoxApplyPass);
+        /// <summary>
+        /// CTU鍙栨秷浠诲姟
+        /// </summary>
+        /// <returns></returns>
+        WebResponseContent AgvBoxApplyPass(AgvCTUCancelDTO applyPassDTO, APIEnum SecureReply = APIEnum.AGV_CTUCancelTask);
+        /// <summary>
+        /// 鐢熸垚绌烘浠诲姟
+        /// </summary>
+        WebResponseContent AgvCarrying(int row, int startColumn, int endColumn, int layer, int targetLayer);
+        /// <summary>
+        /// 棰勮皟搴︽寚浠�
+        /// </summary>
+        WebResponseContent AgvPreScheduleTask(AgvScheduleTaskDTO scheduleTaskDTO, APIEnum ScheduleTask = APIEnum.AGV_CTUScheduleTaskTask);
+
+        /// <summary>
+        /// 鎺ュ彈WMS鎵嬪姩瀹屾垚浠诲姟
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <returns></returns>
+        public WebResponseContent RecWMSTaskCompleted(int taskNum);
     }
 }

--
Gitblit v1.9.3