| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # TaskService.cs éæè®¾è®¡ |
| | | |
| | | ## 1. èæ¯ |
| | | |
| | | `TaskService.cs` å½åè¶
è¿ 1500 è¡ï¼å
å«ä¸ä¸ªèè´£å·®å¼ææ¾çåè½æ¨¡åï¼ |
| | | - **WCS é»è¾å¤ç**ï¼å
¥åº/åºåº/ç§»åº/æºæ¢°æ/èªå¨åºåºä»»å¡ |
| | | - **åå®¹ææ¥å£**ï¼åæå容æç¶æåæ¥ååºåºè¯·æ± |
| | | - **æå·åº AGV æ¥å£**ï¼AGV åºå
¥åºç³è¯·ãè¾é线ç³è¯·ãåæ¾è´§å®æ |
| | | |
| | | æä»¶è¿å¤§å¯¼è´ï¼ |
| | | - é¾ä»¥å®ä½åä¿®æ¹ç¹å®åè½ |
| | | - 代ç 审æ¥å°é¾ |
| | | - å¹¶è¡å¼åå²çªçé« |
| | | |
| | | ## 2. ç®æ |
| | | |
| | | å° `TaskService.cs` æå为 partial class æä»¶ï¼**䏿¹åä»»ä½ä¸å¡é»è¾**ï¼**ä¸ä¿®æ¹æ§å¶å¨è°ç¨æ¹å¼**ã |
| | | |
| | | ## 3. æåæ¹æ¡ |
| | | |
| | | ### 3.1 æä»¶ç»æ |
| | | |
| | | | æä»¶ | èè´£ | é¢ä¼°è¡æ° | |
| | | |------|------|----------| |
| | | | `TaskService.cs` | partial class 声æãåæ®µå®ä¹ãæé 彿° | ~100è¡ | |
| | | | `TaskService_WCS.cs` | WCS é»è¾å¤çï¼å
¥åº/åºåº/ç§»åº/空æç/æºæ¢°æ/èªå¨åºåºï¼ | ~550è¡ | |
| | | | `TaskService_AGV.cs` | æå·åº AGV ä»»å¡ï¼åºå
¥åºç³è¯·/è¾é线ç³è¯·/åæ¾è´§å®æ/ä»»å¡åæ¶ï¼ | ~280è¡ | |
| | | | `TaskService_GradingMachine.cs` | åå®¹ææ¥å£ï¼ç¶æéç¥/åºåºè¯·æ±/çµè¯æ¥è¯¢ï¼ | ~140è¡ | |
| | | |
| | | ### 3.2 ä¿çå¨ä¸»æä»¶çå
容 |
| | | |
| | | ```csharp |
| | | // TaskService.cs |
| | | public partial class TaskService : ServiceBase<Dt_Task, IRepository<Dt_Task>>, ITaskService |
| | | { |
| | | // åæ®µ |
| | | private readonly IMapper _mapper; |
| | | private readonly IStockInfoService _stockInfoService; |
| | | private readonly ILocationInfoService _locationInfoService; |
| | | private readonly HttpClientHelper _httpClientHelper; |
| | | private readonly IConfiguration _configuration; |
| | | private readonly RoundRobinService _roundRobinService; |
| | | private readonly IMesService _mesService; |
| | | private readonly ITask_HtyService _task_HtyService; |
| | | private readonly IStockInfo_HtyService _stockInfo_HtyService; |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | |
| | | // æé 彿° |
| | | public TaskService(...) : base(BaseDal) { ... } |
| | | |
| | | // Repository 屿§ |
| | | public IRepository<Dt_Task> Repository => BaseDal; |
| | | |
| | | // 常é |
| | | public List<int> TaskTypes => typeof(TaskTypeEnum).GetEnumIndexList(); |
| | | public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList(); |
| | | |
| | | // é
ç½®åæ®µï¼AGV URLï¼ |
| | | public string AGV_OutTaskComplete = ...; |
| | | public string WCS_ReceiveTask = ...; |
| | | } |
| | | ``` |
| | | |
| | | ### 3.3 å
Œ
±æ¹æ³å¤ç |
| | | |
| | | 以䏿¹æ³å 被å¤ä¸ªæ¨¡åè°ç¨ï¼éç¨**å¤å¶æ¹å¼**ä¿æå®å
¨ç¬ç«ï¼ |
| | | |
| | | | æ¹æ³ | å¤å¶å° | |
| | | |------|--------| |
| | | | `CompleteTaskAsync` | `TaskService_WCS.cs` | |
| | | | `GetTaskByPalletCodeAsync` | `TaskService_WCS.cs` | |
| | | | `DetermineTargetAddress` | `TaskService_WCS.cs` | |
| | | |
| | | ### 3.4 䏿åçå
容 |
| | | |
| | | - ææ `#region` ä¿æä¸å |
| | | - æææä¸¾å¼ç¨ä¿æä¸å |
| | | - ææ using è¯å¥å¨åæä»¶ä¸éå¤ |
| | | |
| | | ## 4. 宿½æ¥éª¤ |
| | | |
| | | 1. **å建 `TaskService_WCS.cs`** |
| | | - ä»åæä»¶æå WCS é»è¾å¤çç¸å
³æ¹æ³ |
| | | - æ·»å partial class 声æåå¿
è¦ using |
| | | |
| | | 2. **å建 `TaskService_AGV.cs`** |
| | | - ä»åæä»¶æåæå·åº AGV ç¸å
³æ¹æ³ |
| | | - ä¿ç `AGV_OutTaskComplete` å `WCS_ReceiveTask` çè®¿é® |
| | | |
| | | 3. **å建 `TaskService_GradingMachine.cs`** |
| | | - ä»åæä»¶æååå®¹ææ¥å£ç¸å
³æ¹æ³ |
| | | |
| | | 4. **ç²¾ç® `TaskService.cs`** |
| | | - å é¤å·²è¿ç§»çæ¹æ³å®ç° |
| | | - ä¿ç partial class 声æãåæ®µãæé 彿° |
| | | |
| | | 5. **éªè¯ç¼è¯éè¿** |
| | | - ç¡®ä¿æææ¹æ³ç¾åä¸å |
| | | - ç¡®ä¿æ§å¶å¨è°ç¨æ£å¸¸ |
| | | |
| | | ## 5. 约æ |
| | | |
| | | - **ä¸ä¿®æ¹ä»»ä½ä¸å¡é»è¾**ï¼åªæ¬ç§»ä»£ç ï¼ä¸æ¹å®ç° |
| | | - **ä¸ä¿®æ¹æ¥å£ ITaskService**ï¼æ§å¶å¨ä¾èµæ¥å£ï¼ä¸æç¥å®ç°æå |
| | | - **ä¸ä¿®æ¹ DI 注å**ï¼Autofac æ«æä¿æä¸å |
| | | - **ä½¿ç¨ partial class**ï¼ä¿è¯ç¼è¯åç±»åå®å
¨åå¹¶ |