| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # TaskService.cs éæå®æ½è®¡å |
| | | |
| | | > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. |
| | | |
| | | **Goal:** å° 1500+ è¡ç `TaskService.cs` æå为 4 个 partial class æä»¶ï¼ä¿æä¸å¡é»è¾ä¸åï¼æ§å¶å¨è°ç¨æ¹å¼ä¸åã |
| | | |
| | | **Architecture:** ä½¿ç¨ C# partial class ç¹æ§ï¼å° TaskService æåè½æ¨¡åæå为 WCSãAGVãå容æä¸ä¸ªç¬ç«æä»¶ï¼ä¸»æä»¶ä¿çåæ®µåæé 彿°ãç¼è¯åå并为åä¸ç±»åï¼å¯¹æ§å¶å¨å®å
¨éæã |
| | | |
| | | **Tech Stack:** C# / ASP.NET Core 6.0 / partial class |
| | | |
| | | --- |
| | | |
| | | ## æä»¶ç»æ |
| | | |
| | | ``` |
| | | WIDESEA_TaskInfoService/ |
| | | âââ TaskService.cs # ç²¾ç®å ~100è¡ï¼å段ãæé 彿° |
| | | âââ TaskService_WCS.cs # ~550è¡ï¼WCSé»è¾å¤ç |
| | | âââ TaskService_AGV.cs # ~280è¡ï¼æå·åºAGVä»»å¡ |
| | | âââ TaskService_GradingMachine.cs # ~140è¡ï¼åå®¹ææ¥å£ |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ## Task 1: å建 TaskService_WCS.cs |
| | | |
| | | **Files:** |
| | | - Create: `WIDESEA_TaskInfoService/TaskService_WCS.cs` |
| | | - Modify: `WIDESEA_TaskInfoService/TaskService.cs`ï¼å é¤å·²è¿ç§»æ¹æ³ï¼ |
| | | |
| | | - [ ] **Step 1: å建 TaskService_WCS.cs partial class æä»¶** |
| | | |
| | | ```csharp |
| | | using Mapster; |
| | | using MapsterMapper; |
| | | using Microsoft.Extensions.Configuration; |
| | | using SqlSugar; |
| | | using System.DirectoryServices.Protocols; |
| | | using System.Text.Json; |
| | | using WIDESEA_Common.LocationEnum; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Common.TaskEnum; |
| | | using WIDESEA_Common.WareHouseEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Core; |
| | | using WIDESEA_Core.Enums; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_DTO.GradingMachine; |
| | | using WIDESEA_DTO.MES; |
| | | using WIDESEA_DTO.Stock; |
| | | using WIDESEA_DTO.Task; |
| | | using WIDESEA_IBasicService; |
| | | using WIDESEA_IStockService; |
| | | using WIDESEA_ITaskInfoService; |
| | | using WIDESEA_Model.Models; |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | | public partial class TaskService |
| | | { |
| | | #region WCSé»è¾å¤ç |
| | | |
| | | /// <summary> |
| | | /// å建任å¡ï¼ç»çå
¥åºä»»å¡ã空æçååºä»»å¡ï¼ |
| | | /// </summary> |
| | | public async Task<WebResponseContent> CreateTaskInboundAsync(CreateTaskDto taskDto) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸å |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®æå®çä»»å¡è¯¦æ
弿¥å建æ°çåºåºä»»å¡ |
| | | /// </summary> |
| | | public async Task<WebResponseContent> CreateTaskOutboundAsync(CreateTaskDto taskDto) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸å |
| | | } |
| | | |
| | | // ... å
¶ä» WCS ç¸å
³æ¹æ³ï¼è§åæä»¶ 82-939 è¡ï¼ |
| | | // GetTasksLocationAsync |
| | | // InboundFinishTaskAsync |
| | | // OutboundFinishTaskAsync |
| | | // RelocationFinishTaskAsync |
| | | // CreateTaskInboundTrayAsync |
| | | // InboundFinishTaskTrayAsync |
| | | // GetOutBoundTrayTaskAsync |
| | | // OutboundFinishTaskTrayAsync |
| | | // UpdateTaskByStatusAsync |
| | | // CreateAutoOutboundTasksAsync |
| | | // CreateRobotGroupPalletTaskAsync |
| | | // CreateRobotChangePalletTaskAsync |
| | | // CreateRobotSplitPalletTaskAsync |
| | | // CreateRobotPalletTaskAsync |
| | | // GetTaskByPalletCodeAsync (private, å¤å¶å°æ¤æä»¶) |
| | | // CompleteTaskAsync (private, å¤å¶å°æ¤æä»¶) |
| | | // DetermineTargetAddress (private, å¤å¶å°æ¤æä»¶) |
| | | |
| | | #endregion WCSé»è¾å¤ç |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | - [ ] **Step 2: éªè¯ç¼è¯** |
| | | |
| | | Run: `dotnet build WIDESEA_WMSServer.sln` |
| | | Expected: æ ç¼è¯é误ï¼WCS æ¹æ³ææ¶éå¤å®ä¹ï¼ä¸ä¸æ¥å é¤åæä»¶ä¸çå®ç°ï¼ |
| | | |
| | | --- |
| | | |
| | | ## Task 2: å建 TaskService_AGV.cs |
| | | |
| | | **Files:** |
| | | - Create: `WIDESEA_TaskInfoService/TaskService_AGV.cs` |
| | | |
| | | - [ ] **Step 1: å建 TaskService_AGV.cs partial class æä»¶** |
| | | |
| | | ```csharp |
| | | using Mapster; |
| | | using MapsterMapper; |
| | | using Microsoft.Extensions.Configuration; |
| | | using SqlSugar; |
| | | using System.DirectoryServices.Protocols; |
| | | using System.Text.Json; |
| | | using WIDESEA_Common.LocationEnum; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Common.TaskEnum; |
| | | using WIDESEA_Common.WareHouseEnum; |
| | | using WIDESEA_Core; |
| | | // ... å
¶ä» using ä¸åæä»¶ä¸è´ |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | | public partial class TaskService |
| | | { |
| | | #region æå·åºä»»å¡æ¨¡å |
| | | |
| | | /// <summary> |
| | | /// åºå
¥åºç³è¯· |
| | | /// </summary> |
| | | public async Task<AGVResponse> ApplyInOutAsync(ApplyInOutDto applyInOutDto) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 1132-1245 è¡ï¼ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æå¨åºåºå®æåé¦ç»AGV |
| | | /// </summary> |
| | | public async Task<WebResponseContent> OutTaskComplete(OutTaskCompleteDto outTaskCompleteDto) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 1252-1306 è¡ï¼ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¾é线ç³è¯·è¿å
¥ |
| | | /// </summary> |
| | | public async Task<AGVResponse> ApplyEnterAsync(ApplyEnterDto applyEnterDto) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 1339-1383 è¡ï¼ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åæ¾è´§å®æ |
| | | /// </summary> |
| | | public async Task<AGVResponse> TaskCompleteAsync(TaskCompleteDto taskCompleteDto) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 1390-1463 è¡ï¼ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡åæ¶ |
| | | /// </summary> |
| | | public async Task<AGVResponse> TaskCancelAsync(TaskCancelDto taskCancelDto) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 1470-1519 è¡ï¼ |
| | | } |
| | | |
| | | #endregion æå·åºä»»å¡æ¨¡å |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | - [ ] **Step 2: éªè¯ç¼è¯** |
| | | |
| | | Run: `dotnet build WIDESEA_WMSServer.sln` |
| | | Expected: æ ç¼è¯é误 |
| | | |
| | | --- |
| | | |
| | | ## Task 3: å建 TaskService_GradingMachine.cs |
| | | |
| | | **Files:** |
| | | - Create: `WIDESEA_TaskInfoService/TaskService_GradingMachine.cs` |
| | | |
| | | - [ ] **Step 1: å建 TaskService_GradingMachine.cs partial class æä»¶** |
| | | |
| | | ```csharp |
| | | using Mapster; |
| | | using MapsterMapper; |
| | | using Microsoft.Extensions.Configuration; |
| | | using SqlSugar; |
| | | using System.DirectoryServices.Protocols; |
| | | using System.Text.Json; |
| | | using WIDESEA_Common.LocationEnum; |
| | | // ... å
¶ä» using ä¸åæä»¶ä¸è´ |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | | public partial class TaskService |
| | | { |
| | | #region åå®¹ææ¥å£ |
| | | |
| | | /// <summary> |
| | | /// å åæºåæ¾è´§å®æåç©æµéç¥åæå容æå®æä¿¡å· |
| | | /// </summary> |
| | | public async Task<WebResponseContent> InOrOutCompletedAsync(GradingMachineInputDto input) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 948-986 è¡ï¼ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åæå容æå®æ¶åç©æµæ´æ°å容æç¶æä¿¡æ¯ |
| | | /// </summary> |
| | | public async Task<WebResponseContent> SendLocationStatusAsync(GradingMachineInputDto input) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 993-1023 è¡ï¼ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å容æå·¥ä½å®æåè°ç¨æ¤æ¥å£éç¥ç©æµåºåº |
| | | /// </summary> |
| | | public async Task<WebResponseContent> RequestOutboundAsync(GradingMachineInputDto input) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 1030-1082 è¡ï¼ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å
¥åºå®æå容è°ç¨è·åæç䏿¯ä¸ªééçµè¯ |
| | | /// </summary> |
| | | public async Task<WebResponseContent> GetPalletCodeCellAsync(GradingMachineInputDto input) |
| | | { |
| | | // ... ä¿æåæå®ç°ä¸åï¼è§åæä»¶ 1089-1118 è¡ï¼ |
| | | } |
| | | |
| | | #endregion åå®¹ææ¥å£ |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | - [ ] **Step 2: éªè¯ç¼è¯** |
| | | |
| | | Run: `dotnet build WIDESEA_WMSServer.sln` |
| | | Expected: æ ç¼è¯é误 |
| | | |
| | | --- |
| | | |
| | | ## Task 4: ç²¾ç® TaskService.cs |
| | | |
| | | **Files:** |
| | | - Modify: `WIDESEA_TaskInfoService/TaskService.cs` |
| | | |
| | | - [ ] **Step 1: å é¤å·²è¿ç§»å° partial æä»¶çæ¹æ³å®ç°** |
| | | |
| | | ä¿çå
å®¹ï¼ |
| | | - ææ using è¯å¥ |
| | | - namespace 声æ |
| | | - partial class 声æ |
| | | - åæ®µå®ä¹ï¼_mapper, _stockInfoService çï¼ |
| | | - æé 彿° |
| | | - Repository 屿§ |
| | | - TaskTypes / TaskOutboundTypes 屿§ |
| | | - AGV_OutTaskComplete / WCS_ReceiveTask é
ç½®åæ®µ |
| | | |
| | | å é¤å
å®¹ï¼ |
| | | - ææ #region WCSé»è¾å¤ç çæ¹æ³å®ç° |
| | | - ææ #region åå®¹ææ¥å£ çæ¹æ³å®ç° |
| | | - ææ #region æå·åºä»»å¡æ¨¡å çæ¹æ³å®ç° |
| | | - CompleteTaskAsyncãGetTaskByPalletCodeAsyncãDetermineTargetAddress ç§ææ¹æ³ |
| | | |
| | | å é¤åæä»¶ç»æï¼ |
| | | ```csharp |
| | | using Mapster; |
| | | using MapsterMapper; |
| | | // ... ææ using |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | | public partial class TaskService : ServiceBase<Dt_Task, IRepository<Dt_Task>>, ITaskService |
| | | { |
| | | // åæ®µ (~10è¡) |
| | | // æé 彿° (~15è¡) |
| | | // Repository 屿§ (1è¡) |
| | | // TaskTypes 屿§ (2è¡) |
| | | // AGV é
ç½®åæ®µ (2è¡) |
| | | |
| | | // 注æï¼åæç #region WCSé»è¾å¤çãåå®¹ææ¥å£ãæå·åºä»»å¡æ¨¡å region åå
¨é¨å é¤ |
| | | // 对åºçæ¹æ³å®ç°å·²è¿ç§»å° partial class æä»¶ |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | - [ ] **Step 2: éªè¯ç¼è¯** |
| | | |
| | | Run: `dotnet build WIDESEA_WMSServer.sln` |
| | | Expected: æ ç¼è¯éè¯¯ï¼æææ§å¶å¨ç«¯ç¹æ£å¸¸ |
| | | |
| | | --- |
| | | |
| | | ## Task 5: æç»éªè¯ |
| | | |
| | | - [ ] **Step 1: 宿´ç¼è¯** |
| | | |
| | | Run: `dotnet build WIDESEA_WMSServer.sln` |
| | | Expected: SUCCESSï¼æ è¦å |
| | | |
| | | - [ ] **Step 2: æ£æ¥æä»¶è¡æ°** |
| | | |
| | | Run: `wc -l WIDESEA_TaskInfoService/TaskService*.cs` |
| | | Expected: |
| | | - TaskService.cs: ~100è¡ |
| | | - TaskService_WCS.cs: ~550è¡ |
| | | - TaskService_AGV.cs: ~280è¡ |
| | | - TaskService_GradingMachine.cs: ~140è¡ |
| | | |
| | | - [ ] **Step 3: æäº¤ä»£ç ** |
| | | |
| | | ```bash |
| | | git add WIDESEA_TaskInfoService/TaskService*.cs |
| | | git commit -m "refactor(TaskService): æå为partial class模åå |
| | | |
| | | - TaskService_WCS.cs: WCSé»è¾å¤çï¼å
¥åº/åºåº/ç§»åº/æºæ¢°æ/èªå¨åºåºï¼ |
| | | - TaskService_AGV.cs: æå·åºAGV任塿¨¡å |
| | | - TaskService_GradingMachine.cs: åå®¹ææ¥å£ |
| | | - TaskService.cs: ä¿çåæ®µ/æé 彿°/æ¥å£å£°æ |
| | | |
| | | Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>" |
| | | ``` |