| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # åºåºä»»å¡ TargetAddress è¾é线任å¡å²çªæ£æ¥ è®¾è®¡ææ¡£ |
| | | |
| | | ## 1. èæ¯ä¸ç®æ |
| | | |
| | | å¨ `TrySelectOutboundTask` æ¹æ³ä¸ï¼å½ TargetAddress è¾é线ç«å°ç©ºé²ä¸ NextAddress åºåºç«å°å¯ç¨æ¶ï¼éè¦é¢å¤æ£æ¥æ¯å¦å卿£å¨æ§è¡çè¾é线任å¡å»å¾åä¸ TargetAddressã妿åå¨ï¼è¯´æ TargetAddress å³å°è¢«å ç¨ï¼ä¸åºéæ©è¯¥åºåºä»»å¡ã |
| | | |
| | | ## 2. è®¾è®¡æ¹æ¡ |
| | | |
| | | ### 2.1 æ°å¢ ITaskService æ¹æ³ |
| | | |
| | | å¨ `ITaskService` æ¥å£ä¸æ°å¢æ¹æ³ï¼ |
| | | |
| | | ```csharp |
| | | /// <summary> |
| | | /// æ¥è¯¢æ¯å¦ææ£å¨æ§è¡çå»å¾æå® TargetAddress çè¾éçº¿ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="roadway">å··éå·</param> |
| | | /// <param name="targetAddress">ç®æ å°å</param> |
| | | /// <returns>åå¨è¿å true</returns> |
| | | bool HasExecutingTaskToTarget(string roadway, string targetAddress); |
| | | ``` |
| | | |
| | | ### 2.2 TaskService å®ç° |
| | | |
| | | æ¥è¯¢æ¡ä»¶ï¼ |
| | | - `TaskStatus == (int)TaskOutStatusEnum.Line_OutExecuting`ï¼ç¶æ = 120ï¼ |
| | | - `Roadway == roadway` |
| | | - `TargetAddress == targetAddress` |
| | | |
| | | ### 2.3 StackerCraneTaskSelector è°ç¨ |
| | | |
| | | å¨ `TrySelectOutboundTask` æ¹æ³ä¸ï¼ä¸¤ä¸ªç«å°æ£æ¥éè¿åãWMS ç§»åºæ£æ¥åæå
¥ï¼ |
| | | |
| | | ```csharp |
| | | // æ£æ¥æ¯å¦ææ£å¨æ§è¡çè¾é线任å¡å»å¾åä¸ TargetAddress |
| | | if (_taskService.HasExecutingTaskToTarget(outboundTask.Roadway, outboundTask.TargetAddress)) |
| | | { |
| | | return null; |
| | | } |
| | | ``` |
| | | |
| | | ### 2.4 æ´æ°åçæ£æ¥é¡ºåº |
| | | |
| | | ``` |
| | | 1. TargetAddress è¾é线ç«å°ç©ºé²ï¼PLC 读åï¼ |
| | | 2. NextAddress åºåºç«å°å¯ç¨ï¼PLC 读åï¼ |
| | | 3. æ æ£å¨æ§è¡çè¾é线任å¡å»åä¸ TargetAddressï¼æ°æ®åºæ¥è¯¢ï¼ â æ°å¢ |
| | | 4. WMS ç§»åºæ£æ¥ï¼HTTP è°ç¨ï¼ |
| | | ``` |
| | | |
| | | ## 3. æ¶åæä»¶ |
| | | |
| | | - ä¿®æ¹: `WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs`ï¼æ°å¢æ¥å£æ¹æ³ï¼ |
| | | - ä¿®æ¹: `WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService/TaskService.Query.cs`ï¼æ°å¢å®ç°ï¼ |
| | | - ä¿®æ¹: `WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs`ï¼æ°å¢è°ç¨ç¹ï¼ |