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