From dda095e27b535d5748340f127c5f83c0d1324226 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 29 十月 2025 17:30:58 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs |  109 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 98 insertions(+), 11 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
index a1475c1..05585da 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
@@ -1,4 +1,6 @@
-锘縰sing WIDESEA_DTO;
+锘縰sing WIDESEA_Core.Enums;
+using WIDESEA_DTO;
+using WIDESEA_DTO.WMS;
 
 namespace WIDESEA_IStorageTaskServices;
 
@@ -34,6 +36,19 @@
     Task<WebResponseContent> CompleteAsync(int taskNum);
 
     /// <summary>
+    /// 鍙栨秷浠诲姟
+    /// </summary>
+    /// <param name="taskNum"></param>
+    /// <returns></returns>
+    WebResponseContent TaskCancel(int taskNum);
+
+    /// <summary>
+    /// 鑾峰彇浠诲姟淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    WebResponseContent GetTaskInfo();
+
+    /// <summary>
     /// 璇锋眰浠诲姟宸烽亾
     /// </summary>
     /// <param name="position"></param>
@@ -41,21 +56,29 @@
     /// <param name="palletCode"></param>
     /// <param name="type"></param>
     /// <returns></returns>
-    Task<WebResponseContent> RequestTaskAsync(RequestTaskDto input);
+    Task<WebResponseContent> RequestInboundTaskAsync(RequestTaskDto taskDto);
+
+    /// <summary>
+    /// 鑾峰彇绌鸿揣浣�
+    /// </summary>
+    /// <param name="roadWay"></param>
+    /// <returns></returns>
+    Task<DtLocationInfo> GetEmptyLocation(string roadWay);
+
+    /// <summary>
+    /// 鑾峰彇AGV绌鸿揣浣�
+    /// </summary>
+    /// <param name="AreaId"></param>
+    /// <returns></returns>
+
+    Task<DtLocationInfo> GetAGVEmptyCacheLocation(int AreaId, DtLocationInfo location);
 
     /// <summary>
     /// 璇锋眰浠诲姟璐т綅
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    Task<WebResponseContent> UpdateExistingTask(RequestTaskDto input);
-
-    /// <summary>
-    /// 璇锋眰绌烘墭鐩樹换鍔�
-    /// </summary>
-    /// <param name="input"></param>
-    /// <returns></returns>
-    Task<WebResponseContent> RequestTrayInTaskAsync(RequestTaskDto input);
+    Task<WebResponseContent> RequestLocationAsync(RequestTaskDto input);
 
     /// <summary>
     /// 璇锋眰鎵樼洏浠诲姟
@@ -65,7 +88,19 @@
     /// <param name="areaCode">鍖哄煙缂栫爜</param>
     /// <param name="roadways">宸烽亾鍒楄〃</param>
     /// <returns>杩斿洖缁撴灉闆�</returns>
-    Task<WebResponseContent> RequestTrayOutTaskAsync(string position, int tag, string areaCode, List<string> areaCodes, string productionLine);
+    Task<Dt_Task> RequestOutboundTaskAsync(RequestTaskDto taskDto);
+
+
+    /// <summary>
+    /// 鍏朵粬鍑哄簱浠诲姟璇锋眰
+    /// </summary>
+    /// <param name="palletCode"></param>
+    /// <returns></returns>
+    Task<WebResponseContent> OutBoundTaskAsync(string palletCode);
+
+    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(List<Dt_Task> tasks, int StatusChangeTypeEnum);
+
+    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(Dt_Task task, int StatusChangeTypeEnum);
 
 
     /// <summary>
@@ -75,4 +110,56 @@
     /// <returns></returns>
     Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState);
 
+    /// <summary>
+    /// 璇锋眰璺ㄦゼ灞�2浠诲姟
+    /// </summary>
+    /// <param name="taskDto"></param>
+    /// <returns></returns>
+    Task<WebResponseContent> AcrossFloorTaskAsync(RequestAcrossFloorTaskDto taskDto);
+
+    /// <summary>
+    /// 璇锋眰璺ㄦゼ灞備换鍔�
+    /// </summary>
+    /// <param name="SourceAddress"></param>
+    /// <param name="palletCode"></param>
+    /// <param name="TargetAddress"></param>
+    /// <returns></returns>
+
+    Dt_Task RequestAcrossFloorTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto);
+
+
+    /// <summary>
+    /// AGV璇锋眰鎼繍浠诲姟
+    /// </summary>
+    /// <param name="taskDto"></param>
+    /// <returns></returns>
+    Dt_Task RequestAGVCarryTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto);
+
+
+
+    /// <summary>
+    /// 鍫嗗灈鏈哄嚭搴撴槸鍚﹂渶瑕佺Щ搴�
+    /// </summary>
+    /// <param name="taskDto"></param>
+    /// <returns></returns>
+    Task<WebResponseContent> StackerIsNeedRelocationAsync(RequestTaskDto taskDto);
+
+    /// <summary>
+    /// AGV鍑哄簱鏄惁闇�瑕佺Щ搴�
+    /// </summary>
+    /// <param name="taskDto"></param>
+    /// <returns></returns>
+    Task<WebResponseContent> AGVIsNeedRelocationAsync(RequestTaskDto taskDto);
+
+
+    Task<WebResponseContent> ERPAllocate(DtStockInfo stockInfo);
+
+    Task<WebResponseContent> SendWCSTask(List<WMSTaskDTO> taskDTO);
+
+    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(DtLocationInfo location, LocationEnum locationStatus, int taskNum, int StatusChangeType);
+
+    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(string locationCode, LocationEnum locationStatus, int taskNum, int StatusChangeType);
+
+
+    bool LocationIsOutBound(DtLocationInfo location);
 }
\ No newline at end of file

--
Gitblit v1.9.3