From ab4498f9390202dc4a9dd602d55bf1eb9385d9ab Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期二, 28 四月 2026 16:25:31 +0800
Subject: [PATCH] 出入库流程

---
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L1.cs                                                 |  205 ++
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs                              |   15 
 项目资料/输送线,RGV对接协议/~$WCS与PLC通信协议(1).xlsx                                                                  |    0 
 WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2                                           |    0 
 WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2                                           |    0 
 WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin                           |    0 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_RGVConveyorLineDBName.cs                       |   75 +
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs                                       |    8 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/堆垛机/StackerCraneJob_YS.cs                                        |  441 ++++++
 WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1bead05d-815e-41a3-9cb1-28425ac6117a.vsidx |    0 
 WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2                                |    0 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs                                       |   22 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs                                              |   11 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs                                                 |  205 ++
 WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json                              |  508 +++---
 WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2                                |    0 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDB.cs                              |   76 +
 WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json                                     |  271 +++
 WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo                                                    |    0 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs                         |  282 +++
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/堆垛机/StackerCraneJob_FL.cs                                        |  441 ++++++
 /dev/null                                                                                               |    0 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs                                 |    6 
 WMS/WIDESEA_WMSClient.zip                                                                               |    0 
 WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json                                     |  713 ++++-----
 WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.strings.v9.bin                            |    0 
 WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json                              |  274 +++
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/R_RGVConveyorLineDBName.cs                       |   96 +
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json                                                |    3 
 WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                                         |  112 +
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/堆垛机/StackerCraneJob_CP.cs                                        |  441 ++++++
 WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin                           |    0 
 WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo                                                    |    0 
 33 files changed, 3,446 insertions(+), 759 deletions(-)

diff --git a/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin b/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin
index d2b909f..f572f05 100644
--- a/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin
+++ b/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin
Binary files differ
diff --git a/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin b/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin
index ef1c8a0..db1dd17 100644
--- a/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin
+++ b/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin
Binary files differ
diff --git a/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.strings.v9.bin b/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.strings.v9.bin
index 5912b97..6a4d240 100644
--- a/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.strings.v9.bin
+++ b/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.strings.v9.bin
Binary files differ
diff --git a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2
index 4be4686..2b9f096 100644
--- a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2
+++ b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2
Binary files differ
diff --git a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/28bbdc13-b74f-45fe-addc-e4c83e06909f.vsidx b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/28bbdc13-b74f-45fe-addc-e4c83e06909f.vsidx
deleted file mode 100644
index 1b8d50e..0000000
--- a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/28bbdc13-b74f-45fe-addc-e4c83e06909f.vsidx
+++ /dev/null
Binary files differ
diff --git a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2
index 9746539..52bc626 100644
--- a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2
+++ b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2
Binary files differ
diff --git a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo
index d885262..a8f6616 100644
--- a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo
+++ b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo
Binary files differ
diff --git a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
index 3f627b0..c11d5b5 100644
--- a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
+++ b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
@@ -3,28 +3,68 @@
   "WorkspaceRootPath": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u677F\u6750\u4ED3\\conveyorlinejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u677F\u6750\u4ED3\\conveyorlinejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u677F\u6750\u4ED3\\rgvjob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u677F\u6750\u4ED3\\rgvjob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u677F\u6750\u4ED3\\stackercranejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u677F\u6750\u4ED3\\stackercranejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\r_rgvconveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\r_rgvconveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\w_conveyorlinedb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\w_conveyorlinedb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgv\\rgvjob_l1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgv\\rgvjob_l1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u677F\u6750\u4ED3\\rgvjob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u677F\u6750\u4ED3\\rgvjob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u677F\u6750\u4ED3\\stackercranejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u677F\u6750\u4ED3\\stackercranejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgv\\rgvjob_l2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgv\\rgvjob_l2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -34,88 +74,214 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 4,
+          "SelectedChildIndex": 10,
           "Children": [
             {
               "$type": "Bookmark",
               "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
             },
             {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "ITaskService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ViewState": "AgIAADAAAAAAAAAAAAAIwEoAAAA0AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T06:51:20.03Z"
+              "$type": "Bookmark",
+              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
             },
             {
               "$type": "Document",
               "DocumentIndex": 4,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAH4CAAAAAAAAAAAvwIsCAAAIAAAAAAAAAA==",
+              "Title": "R_RGVConveyorLineDBName.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAATAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T05:44:58.595Z",
-              "EditorCaption": ""
+              "WhenOpened": "2026-01-08T09:46:28.352Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 5,
+              "Title": "W_ConveyorLineDB.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2026-01-08T09:46:05.131Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAA2AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2026-01-08T08:41:08.104Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
               "Title": "StackerCraneJob_BC.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
-              "ViewState": "AgIAAF8AAAAAAAAAAADgv2gAAACMAAAAAAAAAA==",
+              "ViewState": "AgIAAFEAAAAAAAAAAAAqwGEAAAALAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T04:01:41.259Z",
-              "EditorCaption": ""
+              "WhenOpened": "2026-01-08T08:32:20.403Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "ConveyorLineJob_BC.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "ViewState": "AgIAADQAAAAAAAAAAAAkwCQAAAA1AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T04:01:37.222Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 15,
               "Title": "TaskTypeEnum.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
               "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "ViewState": "AgIAAH0AAAAAAAAAAADgv5EAAAAaAAAAAAAAAA==",
+              "ViewState": "AgIAAHQAAAAAAAAAAAAgwIwAAAAaAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T08:37:09.116Z",
+              "WhenOpened": "2026-01-03T07:03:48.217Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 14,
+              "Title": "ITaskService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ViewState": "AgIAAOAAAAAAAAAAAAAqwOwAAAANAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-31T07:51:48.184Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 1,
+              "Title": "ConveyorLineJob_BC.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "ViewState": "AgIAAGsAAAAAAAAAAAAswHsAAAAtAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T08:23:50.023Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "TaskController.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "ViewState": "AgIAAJUAAAAAAAAAAAAkwJ4AAAARAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T09:01:33.83Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAAOgBAAAAAAAAAAArwHIAAAAiAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:11:41.277Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "CommonConveyorLineJob.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAPsAAAA0AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:10:54.771Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "StackerCraneJob_CP.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "ViewState": "AgIAAEQAAAAAAAAAAAAswFoAAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:10:53.073Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "Title": "StackerCraneJob_YS.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "ViewState": "AgIAAFMAAAAAAAAAAAAswGcAAAAUAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T07:28:22.09Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
+              "Title": "RGVJob_L2.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "ViewState": "AgIAADsAAAAAAAAAAAAswE4AAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T07:33:49.457Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "RGVJob_L1.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "ViewState": "AgIAAEwAAAAAAAAAAAAuwFYAAAD2AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:10:51.053Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
               "Title": "RGVJob_BC.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
-              "ViewState": "AgIAAC4AAAAAAAAAAAAAAFEAAAAQAAAAAAAAAA==",
+              "ViewState": "AgIAAE0AAAAAAAAAAAAswGMAAAA+AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T04:01:40.27Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-12-30T00:54:16.689Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "Title": "StackerCraneJob_FL.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "ViewState": "AgIAADIBAAAAAAAAAAAcwEcBAAAxAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T07:27:56.254Z"
             }
           ]
         }
diff --git a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
index bdf61ad..f8f2e7f 100644
--- a/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
+++ b/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -3,8 +3,52 @@
   "WorkspaceRootPath": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\",
   "Documents": [
     {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgv\\rgvjob_l2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgv\\rgvjob_l2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgv\\rgvjob_l1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgv\\rgvjob_l1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u5806\u579B\u673A\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u677F\u6750\u4ED3\\conveyorlinejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u677F\u6750\u4ED3\\conveyorlinejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\r_rgvconveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\r_rgvconveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\w_conveyorlinedb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\w_conveyorlinedb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_tasks\\\u677F\u6750\u4ED3\\rgvjob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -15,16 +59,12 @@
       "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u677F\u6750\u4ED3\\stackercranejob_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\khgithub\\jianliku\\wcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -34,87 +74,218 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 4,
+          "SelectedChildIndex": 15,
           "Children": [
             {
               "$type": "Bookmark",
               "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
             },
             {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "ITaskService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
-              "ViewState": "AgIAADAAAAAAAAAAAAAIwEoAAAA0AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T06:51:20.03Z"
+              "$type": "Bookmark",
+              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+            },
+            {
+              "$type": "Bookmark",
+              "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAH4CAAAAAAAAAAAvwIsCAAAIAAAAAAAAAA==",
+              "DocumentIndex": 9,
+              "Title": "R_RGVConveyorLineDBName.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\R_RGVConveyorLineDBName.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAATAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T05:44:58.595Z",
-              "EditorCaption": ""
+              "WhenOpened": "2026-01-08T09:46:28.352Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 10,
+              "Title": "W_ConveyorLineDB.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\W_ConveyorLineDB.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAVAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2026-01-08T09:46:05.131Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
+              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAA2AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2026-01-08T08:41:08.104Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
               "Title": "StackerCraneJob_BC.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\StackerCraneJob_BC.cs",
-              "ViewState": "AgIAAF8AAAAAAAAAAADgv2gAAACMAAAAAAAAAA==",
+              "ViewState": "AgIAAFEAAAAAAAAAAAAqwGEAAAALAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T04:01:41.259Z",
-              "EditorCaption": ""
+              "WhenOpened": "2026-01-08T08:32:20.403Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "ConveyorLineJob_BC.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
-              "ViewState": "AgIAAGIAAAAAAAAAAADgv3cAAABFAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T04:01:37.222Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 15,
               "Title": "TaskTypeEnum.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
               "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
-              "ViewState": "AgIAAH0AAAAAAAAAAADgv5EAAAAaAAAAAAAAAA==",
+              "ViewState": "AgIAAHQAAAAAAAAAAAAgwIwAAAAaAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T08:37:09.116Z",
+              "WhenOpened": "2026-01-03T07:03:48.217Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 14,
+              "Title": "ITaskService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+              "ViewState": "AgIAAOAAAAAAAAAAAAAqwOwAAAANAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-31T07:51:48.184Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "ConveyorLineJob_BC.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\ConveyorLineJob_BC.cs",
+              "ViewState": "AgIAAGsAAAAAAAAAAAAswHsAAAAtAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T08:23:50.023Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "TaskController.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
+              "ViewState": "AgIAAJUAAAAAAAAAAAAkwJ4AAAARAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T09:01:33.83Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAAOgBAAAAAAAAAAArwHIAAAAiAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:11:41.277Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "CommonConveyorLineJob.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAPsAAAA0AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:10:54.771Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "StackerCraneJob_CP.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_CP.cs",
+              "ViewState": "AgIAAEQAAAAAAAAAAAAswFoAAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:10:53.073Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "StackerCraneJob_YS.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_YS.cs",
+              "ViewState": "AgIAAFMAAAAAAAAAAAAswGcAAAAUAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T07:28:22.09Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "RGVJob_L2.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L2.cs",
+              "ViewState": "AgIAADsAAAAAAAAAAAAswE4AAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T07:33:49.457Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 1,
+              "Title": "RGVJob_L1.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGV\\RGVJob_L1.cs",
+              "ViewState": "AgIAAEwAAAAAAAAAAAAuwFYAAAD2AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-28T08:10:51.053Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
               "Title": "RGVJob_BC.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
               "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
               "RelativeToolTip": "WIDESEAWCS_Tasks\\\u677F\u6750\u4ED3\\RGVJob_BC.cs",
-              "ViewState": "AgIAAC4AAAAAAAAAAAAAAFEAAAAQAAAAAAAAAA==",
+              "ViewState": "AgIAAE0AAAAAAAAAAAAswGMAAAA+AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T04:01:40.27Z",
+              "WhenOpened": "2025-12-30T00:54:16.689Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "StackerCraneJob_FL.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u5806\u579B\u673A\\StackerCraneJob_FL.cs",
+              "ViewState": "AgIAADIBAAAAAAAAAAAcwEcBAAAxAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-12-30T07:27:56.254Z",
               "EditorCaption": ""
             }
           ]
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs
index e80ef83..77f616a 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -24,6 +25,16 @@
         StationType_InboundAndOutbound = 3,
 
         /// <summary>
+        /// 鍫嗗灈鏈哄叆搴撳彛
+        /// </summary>
+        SC_In,
+
+        /// <summary>
+        /// 鍫嗗灈鏈哄嚭搴撳彛
+        /// </summary>
+        SC_Out,
+
+        /// <summary>
         /// 鍑哄叆搴撳彛
         /// </summary>
         StationType_InStartAndOutEnd = 33,
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
index 371f0d7..078ff7c 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -59,14 +59,20 @@
         WebResponseContent ReceiveWMSTask([NotNull] List<WMSTaskDTO> taskDTOs);
 
         /// <summary>
+        /// 鎺ユ敹WMS浠诲姟淇℃伅
+        /// </summary>
+        /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param>
+        /// <returns>杩斿洖澶勭悊缁撴灉</returns>
+        WebResponseContent ReceiveWMSCPTask([NotNull] List<WMSTaskDTO> taskDTOs);
+        /// <summary>
         /// 鏍规嵁鎵樼洏鍙枫�佽捣濮嬪湴鍧�鍚慦MS璇锋眰浠诲姟
         /// </summary>
         /// <param name="palletCode">鎵樼洏鍙�</param>
         /// <param name="sourceAddress">璧峰鍦板潃</param>
         /// <returns></returns>
         WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string materielBoxCode = "");
-        
-        WebResponseContent RequestWMSZHTask(string agvTaskCode, string palletCode, string palletType,string materialLot);
+
+        WebResponseContent RequestWMSZHTask(string agvTaskCode, string palletCode, string palletType, string materialLot);
 
         /// <summary>
         /// 鍚慦MS鐢宠浠诲姟
@@ -75,6 +81,14 @@
         /// <param name="sourceAddress">璧峰鍦板潃</param>
         /// <returns></returns>
         WebResponseContent RequestWMSTaskSimple(string palletCode, string sourceAddress, int heightType);
+
+        WebResponseContent CPRequestWMSTaskSimple(string palletCode, string sourceAddress, int heightType, string courceAddress);
+
+        /// <summary>
+        /// 鐢宠宸烽亾
+        /// </summary>
+        /// <returns></returns>
+        WebResponseContent ApplyLocation(string palletCode);
 
         /// <summary>
         /// 鍚慦MS鐢宠浠诲姟
@@ -220,7 +234,7 @@
         /// <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);
+        void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0, string RGVCode = "");
 
         /// <summary>
         /// 璇锋眰鍒嗛厤宸烽亾
@@ -265,7 +279,7 @@
         /// <summary>
         /// //鍒ゆ柇绉诲簱璐т綅浠诲姟鏄惁宸插瓨鍦紝濡傚瓨鍦ㄥ厛鎵ц
         /// </summary>
-        Dt_Task QueryStackerExistTask(string PalletCode,string locationCode);
+        Dt_Task QueryStackerExistTask(string PalletCode, string locationCode);
         /// <summary>
         /// AGV鎴愬搧鍙栨斁璐ч�氱煡
         /// </summary>
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
index 8e18944..146d96d 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
@@ -197,5 +197,13 @@
         [ExporterHeader(DisplayName = "澶囨敞")]
         [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")]
         public string Remark { get; set; }
+
+        /// <summary>
+        /// RGV缂栧彿
+        /// </summary>
+        [ImporterHeader(Name = "RGV缂栧彿")]
+        [ExporterHeader(DisplayName = "RGV缂栧彿")]
+        [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "RGV缂栧彿")]
+        public string RGVCode { get; set; }
     }
 }
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
index 1bfac75..b0c68fc 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -25,7 +25,7 @@
         //private readonly WebSocketServer _webSocketServer;
         private readonly ITaskService _taskService;
         private readonly ITaskRepository _taskRepository;
-        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension ,ITaskService taskService,ITaskRepository taskRepository /*, WebSocketServer webSocketServer*/) : base(service)
+        public TaskController(ITaskService service, IHttpContextAccessor httpContextAccessor, IRouterExtension routerExtension, ITaskService taskService, ITaskRepository taskRepository /*, WebSocketServer webSocketServer*/) : base(service)
         {
             _httpContextAccessor = httpContextAccessor;
             _routerExtension = routerExtension;
@@ -40,11 +40,20 @@
             return Service.ReceiveWMSTask(taskDTOs);
         }
 
+
+        [HttpPost, Route("ReceiveCPTask"), AllowAnonymous]
+        public WebResponseContent ReceiveWMSCPTask([FromBody] List<WMSTaskDTO> taskDTOs)
+        {
+            return Service.ReceiveWMSCPTask(taskDTOs);
+        }
+
+
         [HttpPost, HttpGet, Route("RequestAssignLocation"), AllowAnonymous]
         public string? RequestAssignLocation(int taskNum, string roadwayNo)
         {
             return Service.RequestAssignLocation(taskNum, roadwayNo);
         }
+
 
         [HttpPost, HttpGet, Route("UpdateTaskExceptionMessage")]
         public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message)
@@ -121,7 +130,7 @@
                 {
                     return WebResponseContent.Instance.Error("鏈壘鍒拌浠诲姟淇℃伅");
                 }
-                if(task.TaskState == TaskStatusEnum.SC_Executing.ObjToInt())
+                if (task.TaskState == TaskStatusEnum.SC_Executing.ObjToInt())
                 {
                     _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute);
                 }
@@ -131,7 +140,7 @@
                 }
                 return WebResponseContent.Instance.OK();
             }
-            catch(Exception ex)
+            catch (Exception ex)
             {
                 return WebResponseContent.Instance.Error(ex.Message);
             }
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
index f0090d9..b63a36c 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -12,7 +12,8 @@
     "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
     //杩炴帴瀛楃涓�
     //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
-    "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_HUAIAN;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+    //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_JAMK;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+    "ConnectionString": "Data Source=10.168.1.226,1443;Initial Catalog=WIDESEAWCS_JAMK;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
     //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TestWCS_TC;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
     //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TESTWCSCP_WCS;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
     "WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 4e6445b..9b21e9b 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -258,6 +258,63 @@
         }
 
         /// <summary>
+        /// 鎺ユ敹鎴愬搧锛岃緟鏂欙紝鑽按WMS浠诲姟淇℃伅
+        /// </summary>
+        /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param>
+        /// <returns>杩斿洖澶勭悊缁撴灉</returns>
+        public WebResponseContent ReceiveWMSCPTask([NotNull] List<WMSTaskDTO> taskDTOs)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                bool flag = false;
+                List<Dt_Task> tasks = new List<Dt_Task>();
+                List<Dt_Task> tasksOld = BaseDal.QueryData();
+                List<Dt_Router> routersAll = _routerRepository.QueryData();
+                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData();
+                foreach (var item in taskDTOs)
+                {
+                    if (tasksOld.FirstOrDefault(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null)
+                    {
+                        flag = true;
+                        continue;
+                    }
+                    Dt_Task task = _mapper.Map<Dt_Task>(item);
+                    task.Creater = "WMS";
+                    task.TaskState = (int)TaskStatusEnum.New;
+
+                    Dt_Router? router;
+
+                    TaskTypeGroup taskTypeGroup = item.TaskType.GetTaskTypeGroup();
+                    Dt_StationManger? stationManger;
+                    if (taskTypeGroup == TaskTypeGroup.InboundGroup)
+                    {
+                        stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.NextAddress || x.StationDeviceCode == item.SourceAddress);
+                        task.DeviceCode = stationManger.StationDeviceCode;
+                    }
+                    else
+                    {
+                        stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.NextAddress || x.StationDeviceCode == item.NextAddress);
+                        task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
+                        task.DeviceCode = task.Roadway;
+                        //鍑哄簱
+                    }
+                    tasks.Add(task);
+                }
+                BaseDal.AddData(tasks);
+
+                _taskExecuteDetailService.AddTaskExecuteDetail(tasks.Select(x => x.TaskNum).ToList(), "鎺ユ敹WMS浠诲姟");
+
+                content = (flag || tasks.Count > 0) ? WebResponseContent.Instance.OK("鎴愬姛") : WebResponseContent.Instance.Error("澶辫触");
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}");
+            }
+            return content;
+        }
+
+        /// <summary>
         /// 鏍规嵁鎵樼洏鍙枫�佽捣濮嬪湴鍧�鍚慦MS璇锋眰浠诲姟
         /// </summary>
         /// <param name="palletCode">鎵樼洏鍙�</param>
@@ -383,6 +440,61 @@
             return content;
         }
 
+
+        public WebResponseContent CPRequestWMSTaskSimple(string palletCode, string sourceAddress, int heightType, string courceAddress)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Get($"{address}/api/Task/CPDeviceRequestInboundTaskSimple?stationCode={sourceAddress}&palletCode={palletCode}&heightType={heightType}&courceAddress={courceAddress}");
+                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+                if (responseContent != null && responseContent.Status && responseContent.Data != null)
+                {
+                    WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString());
+                    if (taskDTO != null)
+                    {
+                        content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
+                    }
+                }
+
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
+        public WebResponseContent ApplyLocation(string palletCode)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Get($"{address}/api/Task/ApplyLocation?palletCode={palletCode}");
+                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+                if (responseContent != null && responseContent.Status && responseContent.Data != null)
+                {
+                    return responseContent;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
         /// <summary>
         /// 
         /// </summary>
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs
index dce33cd..0f2bff1 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs
@@ -24,7 +24,7 @@
         /// <param name="targetAddress">淇敼鍚庣殑鐩爣鍦板潃</param>
         /// <param name="currentAddress">淇敼鍚庣殑褰撳墠鍦板潃</param>
         /// <param name="nextAddress">淇敼鍚庣殑涓嬩竴鍦板潃</param>
-        public void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0)
+        public void UpdateTask(Dt_Task task, TaskStatusEnum taskStatus, string deviceCode = "", string sourceAddress = "", string targetAddress = "", string currentAddress = "", string nextAddress = "", string roadwayNo = "", int heightType = 0, string RGVCode = "")
         {
             StringBuilder stringBuilder = new StringBuilder(App.User?.UserId == 0 ? $"绯荤粺鑷姩娴佺▼" : "浜哄伐鎵嬪姩娴佺▼");
             if (task.DeviceCode != deviceCode && !string.IsNullOrEmpty(deviceCode))
@@ -57,6 +57,10 @@
                 stringBuilder.Append($",宸烽亾鍙风敱{task.Roadway}鍙樻洿涓簕roadwayNo}");
                 task.Roadway = roadwayNo;
             }
+            if (task.RGVCode != RGVCode && !string.IsNullOrEmpty(RGVCode))
+            {
+                task.RGVCode = RGVCode;
+            }
             if (heightType!=0)
             {
                 task.HeightType= heightType;
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
index b2902c0..57100c2 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -15,7 +15,10 @@
  *----------------------------------------------------------------*/
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
+using Autofac.Core;
 using AutoMapper;
+using Microsoft.AspNetCore.Routing;
+using Newtonsoft.Json;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
 using Quartz;
 using System;
@@ -24,12 +27,20 @@
 using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.Helper;
+using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
 using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 
@@ -41,44 +52,269 @@
         private readonly ITaskService _taskService;
         private readonly ITaskExecuteDetailService _taskExecuteDetailService;
         private readonly IRouterService _routerService;
+        private readonly IRouterRepository _routerRepository;
+        private readonly ITaskRepository _taskRepository;
         private readonly IMapper _mapper;
+        private readonly IStationMangerRepository _stationMangerRepository;
+        private readonly ICacheService _cacheService;
+        private readonly List<Dt_WarehouseDevice> warehouseDevices;
 
-        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper)
+        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, ITaskRepository taskRepository, ICacheService cacheService, IMapper mapper)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
             _routerService = routerService;
+            _stationMangerRepository = stationMangerRepository;
+            _taskRepository = taskRepository;
+            _routerRepository = routerRepository;
+            _cacheService = cacheService;
             _mapper = mapper;
-        }
 
+            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+            if (!string.IsNullOrEmpty(warehouseDevicesStr))
+            {
+                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+            }
+            else
+            {
+                warehouseDevices = new List<Dt_WarehouseDevice>();
+            }
+
+        }
         public Task Execute(IJobExecutionContext context)
         {
-            //Console.Out.WriteLine(DateTime.Now);
             try
             {
                 CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
                 if (conveyorLine != null)
                 {
-                    List<string> childDeviceCodes = new List<string>();
-
-                    foreach (string childDeviceCode in childDeviceCodes)
+                    List<string> deviceStations = conveyorLine.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
+                    List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == conveyorLine.DeviceCode);
+                    foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
                     {
-                        R_ConveyorLineInfo command = conveyorLine.ReadCustomer<R_ConveyorLineInfo>(childDeviceCode);
-                        if (command != null)
+                        try
                         {
-                           
-                        }
-                    }
-                }
+                            DeviceProDTO? deviceProRead = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
 
+                            DeviceProDTO? deviceProWrite = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDBName)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+
+                            if (deviceProRead != null && deviceProWrite != null)
+                            {
+                                R_ConveyorLineInfo conveyorLineInfoRead = conveyorLine.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+
+                                W_ConveyorLineInfo conveyorLineInfoWrite = conveyorLine.Communicator.ReadCustomer<W_ConveyorLineInfo>(deviceProWrite.DeviceProAddress);
+                                if (conveyorLineInfoRead == null || conveyorLineInfoWrite == null)
+                                {
+                                    continue;
+                                }
+
+                                R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+
+                                ConveyorLineSignal conveyorLineSignalRead = conveyorLineInfoRead.Signal.ByteToBoolObject<ConveyorLineSignal>();
+
+
+                                bool ACK = conveyorLine.GetValue<W_ConveyorLineDBName, bool>(W_ConveyorLineDBName.W_ConveyorLine_ACK, item.StationCode);
+
+                                bool STB = conveyorLine.GetValue<W_ConveyorLineDBName, bool>(W_ConveyorLineDBName.W_ConveyorLine_STB, item.StationCode);
+
+                                //bool Return = conveyorLine.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.Return, item.StationCode);
+                                if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt())
+                                {
+
+                                    if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK)
+                                    {
+                                        if (conveyorLineInfoRead.TaskNo == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
+                                        {
+                                            WebResponseContent webResponse = _taskService.ApplyLocation(conveyorLineInfoRead.Barcode);
+                                            if (webResponse.Status)
+                                            {
+                                                List<Dt_WarehouseDevice> warehouseDevicesList = warehouseDevices.Where(x => x.WarehouseId == webResponse.Data.ObjToInt()).ToList();
+
+                                                foreach (var list in warehouseDevicesList)
+                                                {
+                                                    Dt_Router routers = _routerRepository.QueryFirst(x => x.StartPosi == item.StationCode && x.ChildPosiDeviceCode == list.DeviceCode);
+                                                    #region 鍏堟壘鍏佽鍏ュ簱鐨勮緭閫佺嚎鍏ュ彛
+                                                    deviceProRead = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == routers.NextPosi && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                                                    Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.NextAddress == routers.NextPosi);
+                                                    if (dt_Task != null) { continue; }
+                                                    if (deviceProRead != null)
+                                                    {
+                                                        R_ConveyorLineInfo conveyorLineInfoRead1 = conveyorLine.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+                                                        R_ConveyorLineStatus conveyorLineStatus1 = conveyorLineInfoRead1.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+                                                        if (conveyorLineInfoRead1.Status == 6 && conveyorLineStatus1.Free && conveyorLineStatus1.Online && !conveyorLineStatus1.Goods)
+                                                        {
+
+                                                            #region 璇锋眰WMS鐢熸垚浠诲姟鍚庣粰杈撻�佺嚎鍚姩淇″彿
+                                                            WebResponseContent content = _taskService.CPRequestWMSTaskSimple(conveyorLineInfoRead.Barcode, routers.NextPosi, conveyorLineInfoRead.Spare2, item.StationCode);
+                                                            if (content.Status)
+                                                            {
+                                                                Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == conveyorLineInfoRead.Barcode && x.CurrentAddress == item.StationCode && x.DeviceCode == conveyorLine.DeviceCode && x.TaskState == TaskStatusEnum.New.ObjToInt());
+                                                                if (task != null)
+                                                                {
+                                                                    conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_ACK, true, item.StationCode);
+                                                                    _taskService.UpdateTask(task, TaskStatusEnum.RGV_NEW, sourceAddress: item.StationCode, RGVCode: item.AGVStationCode);
+
+                                                                }
+
+                                                            }
+                                                            #endregion
+                                                        }
+                                                    }
+                                                    #endregion
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                                if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt())
+                                {
+                                    if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK)
+                                    {
+                                        if (conveyorLineInfoRead.TaskNo == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//閲囪喘鍏ュ簱
+                                        {
+                                            WebResponseContent webResponse = _taskService.ApplyLocation(conveyorLineInfoRead.Barcode);
+                                            if (webResponse.Status)
+                                            {
+                                                List<Dt_WarehouseDevice> warehouseDevicesList = warehouseDevices.Where(x => x.WarehouseId == webResponse.Data.ObjToInt()).ToList();
+
+                                                foreach (var list in warehouseDevicesList)
+                                                {
+                                                    Dt_Router routers = _routerRepository.QueryFirst(x => x.StartPosi == item.StationCode && x.ChildPosiDeviceCode == list.DeviceCode);
+                                                    #region 鍏堟壘鍏佽鍏ュ簱鐨勮緭閫佺嚎鍏ュ彛
+                                                    deviceProRead = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == routers.NextPosi && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                                                    Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.NextAddress == routers.NextPosi);
+                                                    if (dt_Task != null) { continue; }
+                                                    if (deviceProRead != null)
+                                                    {
+                                                        R_ConveyorLineInfo conveyorLineInfoRead1 = conveyorLine.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+                                                        R_ConveyorLineStatus conveyorLineStatus1 = conveyorLineInfoRead1.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+                                                        if (conveyorLineInfoRead1.Status == 6 && conveyorLineStatus1.Free && conveyorLineStatus1.Online && !conveyorLineStatus1.Goods)
+                                                        {
+
+                                                            #region 璇锋眰WMS鐢熸垚浠诲姟鍚庣粰杈撻�佺嚎鍚姩淇″彿
+                                                               WebResponseContent content = _taskService.CPRequestWMSTaskSimple(conveyorLineInfoRead.Barcode, routers.NextPosi, conveyorLineInfoRead.Spare2, item.StationCode);
+                                                            if (content.Status)
+                                                            {
+                                                                Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == conveyorLineInfoRead.Barcode && x.CurrentAddress == item.StationCode && x.DeviceCode == conveyorLine.DeviceCode && x.TaskState == TaskStatusEnum.New.ObjToInt());
+                                                                if (task != null)
+                                                                {
+                                                                    conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_ACK, true, item.StationCode);
+                                                                    _taskService.UpdateTask(task, TaskStatusEnum.RGV_NEW, sourceAddress: item.StationCode, RGVCode: item.AGVStationCode);
+
+                                                                }
+
+                                                            }
+                                                            #endregion
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                            #endregion
+                                        }
+                                    }
+                                }
+                                //鍑哄簱绔欏彴
+                                if (item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt())
+                                {
+
+                                }
+                                if (item.StationType == StationTypeEnum.SC_In.ObjToInt())
+                                {
+                                    if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK)
+                                    {
+                                        Dt_Task task = _taskRepository.QueryFirst(x => x.NextAddress == item.StationCode && x.DeviceCode == item.StationDeviceCode && x.TaskState == TaskStatusEnum.RGV_Finish.ObjToInt());
+                                        if (task != null)
+                                        {
+                                            _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute, deviceCode: task.Roadway, currentAddress: task.NextAddress);
+                                            conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_ACK, true, item.StationCode);
+                                        }
+                                    }
+                                }
+                                if (item.StationType == StationTypeEnum.SC_Out.ObjToInt())
+                                {
+                                    if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)
+                                    {
+                                        Dt_Task _Task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt());
+                                        if (_Task != null)
+                                        {
+                                            Dt_Router routers = _routerRepository.QueryFirst(x => x.StartPosi == _Task.CurrentAddress);
+                                            if (routers != null)
+                                            {
+                                                conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_TaskNo, _Task.TaskNum, item.StationCode);
+                                                conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_EndPos, routers.NextPosi, item.StationCode);
+                                                conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_STB, true, item.StationCode);
+                                                _taskService.UpdateTask(_Task, TaskStatusEnum.Line_Executing, nextAddress: routers.NextPosi);
+                                                WriteDebug($"鍫嗗灈鏈哄嚭搴撳彛{item.StationCode}", $"鍫嗗灈鏈哄嚭搴撳彛浠诲姟鏇存柊,浠诲姟鍙穥_Task.TaskId}锛岀洰鏍囧嚭鍙d綅缃畕_Task.TargetAddress}锛屾墭鐩樺彿锛歿_Task.PalletCode}");
+                                            }
+                                        }
+
+                                    }
+                                    //鍫嗗灈鏈哄嚭搴撳彛澶栭潰涓�娈靛嚭搴撶珯鍙�
+                                    if (conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)
+                                    {
+                                        Dt_Task task = _taskRepository.QueryFirst(x => x.NextAddress == item.StationCode && x.DeviceCode == conveyorLine.DeviceCode && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt());
+                                        if (task != null)
+                                        {
+                                            List<Dt_Router> routers = _routerRepository.QueryData(x => x.StartPosi == item.StationCode).ToList();
+                                            foreach (var items in routers)
+                                            {
+                                                deviceProRead = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == items.NextPosi && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                                                if (deviceProRead != null)
+                                                {
+                                                    R_ConveyorLineInfo conveyorLineInfoRead3 = conveyorLine.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+
+                                                    R_ConveyorLineStatus conveyorLineStatus3 = conveyorLineInfoRead3.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+
+                                                    ConveyorLineSignal conveyorLineSignalRead3 = conveyorLineInfoRead3.Signal.ByteToBoolObject<ConveyorLineSignal>();
+
+                                                    if (!conveyorLineSignalRead3.STB && !conveyorLineSignalRead3.ACK && conveyorLineStatus3.Online && conveyorLineStatus3.Free && !conveyorLineStatus3.Goods && !conveyorLineStatus3.Alarm && !STB && !ACK)//鍒ゆ柇鍑哄簱鍙f槸鍚︾┖闂�
+                                                    {
+                                                        conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_ACK, true, item.StationCode);
+                                                        _taskService.UpdateTask(task, TaskStatusEnum.RGV_Execute, currentAddress: item.StationCode, targetAddress: items.NextPosi, nextAddress: items.NextPosi, RGVCode: item.AGVStationCode);
+                                                    }
+                                                }
+                                            }
+
+                                        }
+
+                                    }
+                                }
+                                if (!conveyorLineSignalRead.STB && conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && STB && !ACK)
+                                {
+                                    conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_STB, false, item.StationCode);
+                                }
+                                if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && ACK)
+                                {
+                                    conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_ACK, false, item.StationCode);
+                                }
+                                if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && !conveyorLineStatus.Alarm && !STB && ACK)
+                                {
+                                    conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_ACK, false, item.StationCode);
+                                }
+                                //if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && !conveyorLineStatus.Alarm && !STB && !ACK && Return)
+                                //{
+                                //    conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_Return, false, item.StationCode);
+                                //}
+                                if (conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && ACK)
+                                {
+                                    conveyorLine.SetValue(W_ConveyorLineDBName.W_ConveyorLine_ACK, false, item.StationCode);
+                                }
+
+
+                            }
+                        }
+                        catch (Exception ex)
+                        {
+                            WriteError(nameof(CommonConveyorLine), ex.Message, ex);
+                        }
+
+                    }
+
+                }
             }
             catch (Exception ex)
             {
-                Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
-            }
-            finally
-            {
-                //Console.Out.WriteLine(DateTime.Now);
+                WriteError(nameof(CommonConveyorLine), ex.Message, ex);
             }
             return Task.CompletedTask;
         }
@@ -91,7 +327,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-            
+
         }
 
         /// <summary>
@@ -102,7 +338,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-           
+
         }
 
         /// <summary>
@@ -113,7 +349,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-            
+
         }
 
         /// <summary>
@@ -124,7 +360,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-           
+
         }
 
         /// <summary>
@@ -135,7 +371,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-           
+
         }
 
         /// <summary>
@@ -146,7 +382,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
         public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
         {
-           
+
         }
     }
 }
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/R_RGVConveyorLineDBName.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/R_RGVConveyorLineDBName.cs
new file mode 100644
index 0000000..cdb7034
--- /dev/null
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/R_RGVConveyorLineDBName.cs
@@ -0,0 +1,96 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Tasks.ConveyorLineJob
+{
+    public enum R_RGVConveyorLineDBName
+    {
+        /// <summary>
+        /// 绔欏彴缂栧彿
+        /// </summary>
+        R_ConveyorNo,
+
+        /// <summary>
+        /// 鎻℃墜淇″彿
+        /// </summary>
+        R_HandShake,
+
+        /// <summary>
+        /// 1鑱旀満 0鑴辨満
+        /// </summary>
+        R_Online,
+
+        /// <summary>
+        /// 1绌洪棽 0绻佸繖
+        /// </summary>
+        R_Free,
+
+        /// <summary>
+        /// 1鏈夎揣 0鏃犺揣
+        /// </summary>
+        R_Goods,
+
+        /// <summary>
+        /// 1鏁呴殰 0姝e父
+        /// </summary>
+        R_Alarm,
+
+        /// <summary>
+        /// 鍙栬揣瀹屾垚
+        /// </summary>
+        R_Pcikfinish,
+
+        /// <summary>
+        /// 鏀捐揣瀹屾垚
+        /// </summary>
+        R_TaskFinish,
+
+        /// <summary>
+        /// 1璇锋眰琛ョ洏 0鏃�
+        /// </summary>
+        R_RequestPakcPallet,
+
+        /// <summary>
+        /// 1璇锋眰鎷嗙洏 0鏃�
+        /// </summary>
+        R_RequestUnpackPellet,
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        R_TaskNum,
+
+        /// <summary>
+        /// 褰撳墠浣嶇疆
+        /// </summary>
+        R_Column,
+
+        /// <summary>
+        /// 棰勭暀
+        /// </summary>
+        R_Sapre1,
+
+        /// <summary>
+        /// 棰勭暀
+        /// </summary>
+        R_Sapre2,
+
+        /// <summary>
+        /// 璇锋眰淇″彿
+        /// </summary>
+        R_STB,
+
+        /// <summary>
+        /// 鍝嶅簲淇″彿
+        /// </summary>
+        R_ACK,
+        /// <summary>
+        /// 鎶ヨ浠g爜
+        /// </summary>
+        R_AlarmInfo
+
+    }
+}
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDB.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDB.cs
new file mode 100644
index 0000000..502d471
--- /dev/null
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDB.cs
@@ -0,0 +1,76 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Tasks.ConveyorLineJob
+{
+    public enum W_ConveyorLineDBName
+    {
+        /// <summary>
+        /// 绔欏彴缂栧彿
+        /// </summary>
+        W_ConveyorLine_CovNo,
+
+        /// <summary>
+        /// 鎻℃墜淇″彿
+        /// </summary>
+        W_ConveyorLine_HandShake,
+
+        /// <summary>
+        /// 澶嶄綅鎶ヨ
+        /// </summary>
+        W_ConveyorLine_ClearAlarm,
+
+        /// <summary>
+        /// 閫�鍥�
+        /// </summary>
+        W_ConveyorLine_Return,
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        W_ConveyorLine_TaskNo,
+
+        /// <summary>
+        /// 璧峰鍦板潃
+        /// </summary>
+        W_ConveyorLine_StartPos,
+
+        /// <summary>
+        /// 鐩爣鍦板潃
+        /// </summary>
+        W_ConveyorLine_EndPos,
+
+        /// <summary>
+        /// 璐х墿绫诲瀷
+        /// </summary>
+        W_ConveyorLine_GoodsType,
+        /// <summary>
+        /// 浠诲姟绫诲瀷
+        /// </summary>
+        W_ConveyorLine_TaskType,
+
+        /// <summary>
+        /// 棰勭暀1
+        /// </summary>
+        W_ConveyorLine_Spare1,
+
+        /// <summary>
+        /// 棰勭暀2
+        /// </summary>
+        W_ConveyorLine_Spare2,
+
+        /// <summary>
+        /// 璇锋眰淇″彿
+        /// </summary>
+        W_ConveyorLine_STB,
+
+        /// <summary>
+        /// 鍝嶅簲淇″彿
+        /// </summary>
+        W_ConveyorLine_ACK
+
+    }
+}
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_RGVConveyorLineDBName.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_RGVConveyorLineDBName.cs
new file mode 100644
index 0000000..203c110
--- /dev/null
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_RGVConveyorLineDBName.cs
@@ -0,0 +1,75 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Tasks.ConveyorLineJob
+{
+    public enum W_RGVConveyorLineDBName
+    {
+        /// <summary>
+        /// 绔欏彴缂栧彿
+        /// </summary>
+        W_CovNo,
+
+        /// <summary>
+        /// 鎻℃墜淇″彿
+        /// </summary>
+        W_HandShake,
+
+        /// <summary>
+        /// 澶嶄綅鎶ヨ
+        /// </summary>
+        W_ClearAlarm,
+
+        /// <summary>
+        /// 鎬ュ仠
+        /// </summary>
+        W_Estop,
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        W_TaskNo,
+
+        /// <summary>
+        /// 璧峰鍦板潃
+        /// </summary>
+        W_StartPos,
+
+        /// <summary>
+        /// 鐩爣鍦板潃
+        /// </summary>
+        W_EndPos,
+
+        /// <summary>
+        /// 璐х墿绫诲瀷
+        /// </summary>
+        W_GoodsType,
+        /// <summary>
+        /// 浠诲姟绫诲瀷
+        /// </summary>
+        W_TaskType,
+
+        /// <summary>
+        /// 棰勭暀1
+        /// </summary>
+        W_Spare1,
+
+        /// <summary>
+        /// 棰勭暀2
+        /// </summary>
+        W_Spare2,
+
+        /// <summary>
+        /// 璇锋眰淇″彿
+        /// </summary>
+        W_STB,
+
+        /// <summary>
+        /// 鍝嶅簲淇″彿
+        /// </summary>
+        W_ACK
+    }
+}
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L1.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L1.cs
new file mode 100644
index 0000000..fe6d376
--- /dev/null
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L1.cs
@@ -0,0 +1,205 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Microsoft.IdentityModel.Tokens;
+using Newtonsoft.Json;
+using Quartz;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.Helper;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+
+namespace WIDESEAWCS_Tasks
+{
+    [DisallowConcurrentExecution]
+    public class RGVJob_L1 : JobBase, IJob
+    {
+        private readonly ICacheService _cacheService;
+        private readonly ITaskService _taskService;
+        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+        private readonly ITaskRepository _taskRepository;
+        private readonly IStationMangerRepository _stationMangerRepository;
+        private readonly IRouterRepository _routerRepository;
+        private readonly IRouterService _routerService;
+        private readonly IRouterExtension _routerExtension;
+        private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+        public RGVJob_L1(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+        {
+            _cacheService = cacheService;
+            _taskService = taskService;
+            _taskExecuteDetailService = taskExecuteDetailService;
+            _taskRepository = taskRepository;
+            _stationMangerRepository = stationMangerRepository;
+            _routerRepository = routerRepository;
+            _routerService = routerService;
+            _routerExtension = routerExtension;
+
+            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+            if (!string.IsNullOrEmpty(warehouseDevicesStr))
+            {
+                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+            }
+            else
+            {
+                warehouseDevices = new List<Dt_WarehouseDevice>();
+            }
+        }
+
+        public Task Execute(IJobExecutionContext context)
+        {
+            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+            if (flag && value != null)
+            {
+                OtherDevice device = (OtherDevice)value;
+
+                //Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == device.DeviceCode);
+                //if (warehouseDevice == null)
+                //{
+                //    WriteError(device.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�");
+                //    return Task.CompletedTask;
+                //}
+
+                List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
+                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+
+                foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
+                {
+                    try
+                    {
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode)/*&& conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm*/ && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_ACK, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) != 0 && device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_TaskFinish, item.StationCode))//RGV鍏ュ簱浠诲姟瀹屾垚
+                        {
+                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt());
+                            if (task != null)
+                            {
+                                if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt())//RGV鍏ュ簱浠诲姟瀹屾垚
+                                {
+                                    Dt_Router routers = _routerRepository.QueryFirst(x => x.StartPosi == task.NextAddress);
+                                    _taskService.UpdateTask(task, TaskStatusEnum.RGV_Finish, currentAddress: task.NextAddress, nextAddress: routers.NextPosi);
+                                }
+                                else
+                                {
+                                    //鍑哄簱浠诲姟鏄惁闇�瑕佽窡鍑哄簱鍙h緭閫佺嚎瀵规帴瀹屾垚浠诲姟
+                                    WriteDebug(device.DeviceName, $"浠诲姟瀹屾垚,浠诲姟鍙�:{task.TaskNum}");
+                                    _taskService.TaskCompleted(task.TaskNum);
+
+                                }
+                                device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
+                            }
+
+                        }
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Online, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Free, item.StationCode) && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Goods, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) == 0 && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Alarm, item.StationCode))
+                        {
+                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_NEW.ObjToInt() && x.RGVCode == item.StationCode);
+                            if (task != null)
+                            {
+                                //鍐欏叆RGV浠诲姟
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task.TaskNum, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task.SourceAddress.ObjToInt(), item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task.NextAddress.ObjToInt(), item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+                                _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+                            }
+                            Dt_Task task1 = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskType <= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.RGVCode == item.StationCode);
+                            if (task1 != null)
+                            {
+                                //鍐欏叆RGV浠诲姟
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task1.TaskNum, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task1.CurrentAddress, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task1.TargetAddress, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+                                _taskService.UpdateTask(task1, TaskStatusEnum.RGV_Executing);
+                            }
+                        }
+
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_ACK, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_STB, false, item.StationCode);
+                        }
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Pcikfinish, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
+                        }
+                        if (!device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Pcikfinish, item.StationCode) && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_ACK, false, item.StationCode);
+                        }
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_TaskFinish, item.StationCode) && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_ACK, false, item.StationCode);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                    }
+
+                    //DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+
+                    //DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+
+                    //if (deviceProRead != null && deviceProWrite != null)
+                    //{
+                    //    R_ConveyorLineInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+
+                    //    R_ConveyorLineInfo conveyorLineInfoReadRGV = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+
+                    //    W_ConveyorLineInfo conveyorLineInfoWrite = device.Communicator.ReadCustomer<W_ConveyorLineInfo>(deviceProWrite.DeviceProAddress);
+                    //    if (conveyorLineInfoRead == null || conveyorLineInfoWrite == null)
+                    //    {
+                    //        continue;
+                    //    }
+
+                    //    R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+
+                    //    ConveyorLineSignal conveyorLineSignalRead = conveyorLineInfoRead.Signal.ByteToBoolObject<ConveyorLineSignal>();
+
+                    //    ConveyorLineSignal conveyorLineSignalWrite = conveyorLineInfoWrite.Signal.ByteToBoolObject<ConveyorLineSignal>();
+                    //    if (conveyorLineSignalRead.STB && !conveyorLineSignalWrite.ACK && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode) && conveyorLineInfoRead.TaskNo == 0)//鍏ュ簱
+                    //    {
+                    //        Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.WarehouseId == warehouseDevice.WarehouseId);
+                    //        if (task != null)
+                    //        {
+                    //            //鍐欏叆RGV浠诲姟
+                    //            device.SetValue(W_ConveyorLineDB.TaskNo, task.TaskNum, item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt(), item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.EndPos, task.TargetAddress, item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                    //            _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+                    //        }
+                    //    }
+                    //    else if (conveyorLineSignalRead.STB /*&& conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm*/ && !conveyorLineSignalWrite.ACK && conveyorLineInfoRead.TaskNo > 0)//鍑哄簱
+                    //    {
+                    //        WriteDebug(device.DeviceName, $"浠诲姟瀹屾垚,浠诲姟鍙�:{conveyorLineInfoRead.TaskNo}");
+                    //        _taskService.TaskCompleted(conveyorLineInfoRead.TaskNo);
+                    //        device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                    //    }
+                    //}
+                    //else
+                    //{
+                    //    WriteError(device.DeviceName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
+                    //}
+                }
+            }
+
+            return Task.CompletedTask;
+        }
+    }
+}
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs
new file mode 100644
index 0000000..5d4674f
--- /dev/null
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs
@@ -0,0 +1,205 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Microsoft.IdentityModel.Tokens;
+using Newtonsoft.Json;
+using Quartz;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.Helper;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Repository;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+
+namespace WIDESEAWCS_Tasks
+{
+    [DisallowConcurrentExecution]
+    public class RGVJob_L2 : JobBase, IJob
+    {
+        private readonly ICacheService _cacheService;
+        private readonly ITaskService _taskService;
+        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+        private readonly ITaskRepository _taskRepository;
+        private readonly IStationMangerRepository _stationMangerRepository;
+        private readonly IRouterRepository _routerRepository;
+        private readonly IRouterService _routerService;
+        private readonly IRouterExtension _routerExtension;
+        private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+        public RGVJob_L2(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+        {
+            _cacheService = cacheService;
+            _taskService = taskService;
+            _taskExecuteDetailService = taskExecuteDetailService;
+            _taskRepository = taskRepository;
+            _stationMangerRepository = stationMangerRepository;
+            _routerRepository = routerRepository;
+            _routerService = routerService;
+            _routerExtension = routerExtension;
+
+            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+            if (!string.IsNullOrEmpty(warehouseDevicesStr))
+            {
+                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+            }
+            else
+            {
+                warehouseDevices = new List<Dt_WarehouseDevice>();
+            }
+        }
+
+        public Task Execute(IJobExecutionContext context)
+        {
+            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+            if (flag && value != null)
+            {
+                OtherDevice device = (OtherDevice)value;
+
+                //Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == device.DeviceCode);
+                //if (warehouseDevice == null)
+                //{
+                //    WriteError(device.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�");
+                //    return Task.CompletedTask;
+                //}
+
+                List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
+                List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+
+                foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
+                {
+                    try
+                    {
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode)/*&& conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm*/ && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_ACK, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) != 0 && device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_TaskFinish, item.StationCode))//RGV鍏ュ簱浠诲姟瀹屾垚
+                        {
+                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt());
+                            if (task != null)
+                            {
+                                if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt())//RGV鍏ュ簱浠诲姟瀹屾垚
+                                {
+                                    Dt_Router routers = _routerRepository.QueryFirst(x => x.StartPosi == task.NextAddress);
+                                    _taskService.UpdateTask(task, TaskStatusEnum.RGV_Finish, currentAddress: task.NextAddress, nextAddress: routers.NextPosi);
+                                }
+                                else
+                                {
+                                    //鍑哄簱浠诲姟鏄惁闇�瑕佽窡鍑哄簱鍙h緭閫佺嚎瀵规帴瀹屾垚浠诲姟
+                                    WriteDebug(device.DeviceName, $"浠诲姟瀹屾垚,浠诲姟鍙�:{task.TaskNum}");
+                                    _taskService.TaskCompleted(task.TaskNum);
+
+                                }
+                                device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
+                            }
+
+                        }
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Online, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Free, item.StationCode) && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Goods, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) == 0 && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Alarm, item.StationCode))
+                        {
+                            Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_NEW.ObjToInt() && x.RGVCode == item.StationCode);
+                            if (task != null)
+                            {
+                                //鍐欏叆RGV浠诲姟
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task.TaskNum, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task.SourceAddress.ObjToInt(), item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task.NextAddress.ObjToInt(), item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+                                _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+                            }
+                            Dt_Task task1 = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskType <= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.RGVCode == item.StationCode);
+                            if (task1 != null)
+                            {
+                                //鍐欏叆RGV浠诲姟
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task1.TaskNum, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task1.CurrentAddress, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task1.TargetAddress, item.StationCode);
+                                device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+                                _taskService.UpdateTask(task1, TaskStatusEnum.RGV_Executing);
+                            }
+                        }
+
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_ACK, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_STB, false, item.StationCode);
+                        }
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Pcikfinish, item.StationCode) && device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
+                        }
+                        if (!device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_Pcikfinish, item.StationCode) && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_ACK, false, item.StationCode);
+                        }
+                        if (device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_TaskFinish, item.StationCode) && !device.GetValue<R_RGVConveyorLineDBName, bool>(R_RGVConveyorLineDBName.R_STB, item.StationCode))
+                        {
+                            device.SetValue(W_RGVConveyorLineDBName.W_ACK, false, item.StationCode);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                    }
+
+                    //DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+
+                    //DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+
+                    //if (deviceProRead != null && deviceProWrite != null)
+                    //{
+                    //    R_ConveyorLineInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+
+                    //    R_ConveyorLineInfo conveyorLineInfoReadRGV = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+
+                    //    W_ConveyorLineInfo conveyorLineInfoWrite = device.Communicator.ReadCustomer<W_ConveyorLineInfo>(deviceProWrite.DeviceProAddress);
+                    //    if (conveyorLineInfoRead == null || conveyorLineInfoWrite == null)
+                    //    {
+                    //        continue;
+                    //    }
+
+                    //    R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+
+                    //    ConveyorLineSignal conveyorLineSignalRead = conveyorLineInfoRead.Signal.ByteToBoolObject<ConveyorLineSignal>();
+
+                    //    ConveyorLineSignal conveyorLineSignalWrite = conveyorLineInfoWrite.Signal.ByteToBoolObject<ConveyorLineSignal>();
+                    //    if (conveyorLineSignalRead.STB && !conveyorLineSignalWrite.ACK && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode) && conveyorLineInfoRead.TaskNo == 0)//鍏ュ簱
+                    //    {
+                    //        Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.WarehouseId == warehouseDevice.WarehouseId);
+                    //        if (task != null)
+                    //        {
+                    //            //鍐欏叆RGV浠诲姟
+                    //            device.SetValue(W_ConveyorLineDB.TaskNo, task.TaskNum, item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt(), item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.EndPos, task.TargetAddress, item.StationCode);
+                    //            device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                    //            _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+                    //        }
+                    //    }
+                    //    else if (conveyorLineSignalRead.STB /*&& conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm*/ && !conveyorLineSignalWrite.ACK && conveyorLineInfoRead.TaskNo > 0)//鍑哄簱
+                    //    {
+                    //        WriteDebug(device.DeviceName, $"浠诲姟瀹屾垚,浠诲姟鍙�:{conveyorLineInfoRead.TaskNo}");
+                    //        _taskService.TaskCompleted(conveyorLineInfoRead.TaskNo);
+                    //        device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                    //    }
+                    //}
+                    //else
+                    //{
+                    //    WriteError(device.DeviceName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
+                    //}
+                }
+            }
+
+            return Task.CompletedTask;
+        }
+    }
+}
diff --git "a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_CP.cs" "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_CP.cs"
new file mode 100644
index 0000000..61b1a9c
--- /dev/null
+++ "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_CP.cs"
@@ -0,0 +1,441 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Quartz;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
+using WIDESEAWCS_Tasks.StackerCraneJob;
+using WIDESEAWCS_Tasks;
+using WIDESEAWCS_Common.APIEnum;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
+using Newtonsoft.Json;
+using WIDESEAWCS_TaskInfoService;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using WIDESEAWCS_QuartzJob.Repository;
+using Autofac.Core;
+using WIDESEAWCS_DTO.TaskInfo;
+using AutoMapper;
+using System.Collections;
+using WIDESEAWCS_Common.Helper;
+using WIDESEAWCS_QuartzJob.DTO;
+
+namespace WIDESEAWCS_Tasks
+{
+    [DisallowConcurrentExecution]
+    public class StackerCraneJob_CP : JobBase, IJob
+    {
+        private readonly IMapper _mapper;
+        private readonly ICacheService _cacheService;
+        private readonly ITaskService _taskService;
+        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+        private readonly ITaskRepository _taskRepository;
+        private readonly IRouterService _routerService;
+        private readonly IStationMangerRepository _stationMangerRepository;
+        private readonly IRouterRepository _routerRepository;
+        private List<Dt_ApiInfo> apiInfos;
+        private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+        public StackerCraneJob_CP(IMapper mapper, ITaskService taskService, ICacheService cacheService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository)
+        {
+            _mapper = mapper;
+            _taskService = taskService;
+            _taskExecuteDetailService = taskExecuteDetailService;
+            _taskRepository = taskRepository;
+            _routerService = routerService;
+            _stationMangerRepository = stationMangerRepository;
+            _cacheService = cacheService;
+            _routerRepository = routerRepository;
+
+            string? apiInfoStr = _cacheService.Get("apiInfos");
+            if (!string.IsNullOrEmpty(apiInfoStr))
+            {
+                List<Dt_ApiInfo>? infos = JsonConvert.DeserializeObject<List<Dt_ApiInfo>>(apiInfoStr);
+                if (infos == null || infos.Count == 0)
+                {
+                    apiInfos = new List<Dt_ApiInfo>();
+                }
+                else
+                {
+                    apiInfos = infos;
+                }
+            }
+
+
+            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+            if (!string.IsNullOrEmpty(warehouseDevicesStr))
+            {
+                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+            }
+            else
+            {
+                warehouseDevices = new List<Dt_WarehouseDevice>();
+            }
+        }
+
+        public Task Execute(IJobExecutionContext context)
+        {
+            try
+            {
+                CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
+                if (commonStackerCrane != null)
+                {
+                    Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == commonStackerCrane.DeviceCode);
+                    if (warehouseDevice == null)
+                    {
+                        WriteError(commonStackerCrane.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�");
+                        return Task.CompletedTask;
+                    }
+
+                    if (!commonStackerCrane.IsEventSubscribed)
+                    {
+                        commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
+                    }
+                    commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
+                    if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
+                    {
+                        Thread.Sleep(1000);
+                        Dt_Task? task = GetTask(commonStackerCrane);
+                        if (task != null)
+                        {
+                            StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
+                            if (stackerCraneTaskCommand != null)
+                            {
+                                bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
+                                if (sendFlag)
+                                {
+                                    commonStackerCrane.LastTaskType = task.TaskType;
+                                    task.Dispatchertime = DateTime.Now;
+                                    task.ExceptionMessage = "";
+                                    _taskService.UpdateTask(task, TaskStatusEnum.SC_Executing);
+                                    //寤舵椂1s
+                                    Thread.Sleep(1000);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                WriteError(nameof(CommonStackerCraneJob), ex.Message, ex);
+            }
+            return Task.CompletedTask;
+        }
+
+        /// <summary>
+        /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e)
+        {
+            try
+            {
+                CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane;
+                if (commonStackerCrane != null)
+                {
+                    //if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
+                    {
+                        if (e.TaskNum != 0)
+                        {
+                            WriteDebug(commonStackerCrane.DeviceCode, $"璇诲彇鍒颁换鍔″畬鎴�,浠诲姟鍙�:{e.TaskNum}");
+                            StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceCode);
+                            commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                WriteError(nameof(StackerCraneJob_BC), "浠诲姟瀹屾垚澶辫触", ex);
+            }
+        }
+
+        public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceCode)
+        {
+            try
+            {
+                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+                if (task != null)
+                {
+                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                    {
+                        Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == deviceCode);
+                        if (stationManger == null)
+                        {
+                            _taskService.UpdateTaskExceptionMessage(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                            WriteError(deviceCode, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                            return WebResponseContent.Instance.Error($"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                        }
+                        _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: task.NextAddress);
+                    }
+                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+                    {
+                        _taskService.TaskCompleted(taskNum);
+                    }
+                    else
+                    {
+                        WriteError(deviceCode, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                        _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                        _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                    }
+
+                }
+                else
+                {
+                    WriteError(deviceCode, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+                    return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+                }
+
+                return WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                WriteError(deviceCode, $"浠诲姟瀹屾垚閿欒", ex);
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇浠诲姟
+        /// </summary>
+        /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param>
+        /// <returns></returns>
+        private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
+        {
+            try
+            {
+                //Dt_Task oldTask = _taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt());
+                //if (oldTask != null)
+                //{
+                //    StackerCraneTaskCompleted(oldTask.TaskNum, commonStackerCrane.DeviceCode);
+                //}
+            }
+            catch { }
+            if (_taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()) != null)
+            {
+                return null;
+            }
+
+            WriteDebug(commonStackerCrane.DeviceCode, $"璇诲彇鍒板綋鍓嶄换鍔″彿:{commonStackerCrane.CurrentTaskNum}");
+            Dt_Task task;
+            if (commonStackerCrane.LastTaskType == null)
+            {
+                task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
+            }
+            else
+            {
+                if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                {
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                    if (task == null)
+                    {
+                        task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+                    }
+                }
+                else
+                {
+                    task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+                    if (task == null)
+                    {
+                        task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                    }
+                }
+            }
+
+            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+            {
+                task = OutTaskStationIsOccupied(task);
+                if (task == null)
+                {
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                }
+            }
+            return task;
+        }
+
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢�
+        /// </summary>
+        /// <param name="task">浠诲姟瀹炰綋</param>
+        /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
+        private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
+        {
+            Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => (x.StationCode == task.NextAddress || x.StackerCraneStationCode == task.NextAddress) && x.StackerCraneCode == task.DeviceCode);
+            if (stationManger != null)
+            {
+                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+                if (device != null)
+                {
+                    CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+                    DeviceProDTO? deviceProRead = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManger.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                    if (deviceProRead != null)
+                    {
+                        R_ConveyorLineInfo conveyorLineInfoRead = conveyorLine.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+                        if (conveyorLineInfoRead != null)
+                        {
+                            R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+
+                            if (conveyorLineStatus.Online && conveyorLineStatus.Free && !conveyorLineStatus.Alarm && !conveyorLineStatus.Goods)
+                            {
+                                return task;
+                            }
+                        }
+                    }
+                }
+                else
+                {
+                    WriteError(task.DeviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+                }
+            }
+            else
+            {
+                WriteError(task.DeviceCode, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+                _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+            }
+            return null;
+        }
+
+        /// <summary>
+        /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
+        /// </summary>
+        /// <param name="task">浠诲姟瀹炰綋</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
+        {
+            StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
+
+            stackerCraneTaskCommand.Barcode = task.PalletCode;
+            stackerCraneTaskCommand.TaskNum = task.TaskNum;
+            stackerCraneTaskCommand.WorkType = 1;
+            //stackerCraneTaskCommand.TrayType = (short)task.PalletType;
+            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
+            {
+                Dt_StationManger dt_Station = _stationMangerRepository.QueryFirst(x => x.StationCode == task.CurrentAddress);
+                if (dt_Station == null)
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+                string[] startCodes = dt_Station.StackerCraneStationCode.Split("-");
+                if (startCodes.Length == 3)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]);
+                }
+                else
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+
+                string[] targetCodes = task.TargetAddress.Split("-");
+                if (targetCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+            }
+            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+            {
+                Dt_StationManger dt_Station = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
+                if (dt_Station == null)
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+                string[] targetCodes = dt_Station.StackerCraneStationCode.Split("-");
+                if (targetCodes.Length == 3)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+
+                string[] sourceCodes = task.SourceAddress.Split("-");
+                if (sourceCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+            }
+            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+            {
+                string[] targetCodes = task.NextAddress.Split("-");
+                if (targetCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+                string[] sourceCodes = task.CurrentAddress.Split("-");
+                if (sourceCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+            }
+            return stackerCraneTaskCommand;
+        }
+    }
+}
diff --git "a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_FL.cs" "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_FL.cs"
new file mode 100644
index 0000000..4a11f84
--- /dev/null
+++ "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_FL.cs"
@@ -0,0 +1,441 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Quartz;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
+using WIDESEAWCS_Tasks.StackerCraneJob;
+using WIDESEAWCS_Tasks;
+using WIDESEAWCS_Common.APIEnum;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
+using Newtonsoft.Json;
+using WIDESEAWCS_TaskInfoService;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using WIDESEAWCS_QuartzJob.Repository;
+using Autofac.Core;
+using WIDESEAWCS_DTO.TaskInfo;
+using AutoMapper;
+using System.Collections;
+using WIDESEAWCS_Common.Helper;
+using WIDESEAWCS_QuartzJob.DTO;
+
+namespace WIDESEAWCS_Tasks
+{
+    [DisallowConcurrentExecution]
+    public class StackerCraneJob_FL : JobBase, IJob
+    {
+        private readonly IMapper _mapper;
+        private readonly ICacheService _cacheService;
+        private readonly ITaskService _taskService;
+        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+        private readonly ITaskRepository _taskRepository;
+        private readonly IRouterService _routerService;
+        private readonly IStationMangerRepository _stationMangerRepository;
+        private readonly IRouterRepository _routerRepository;
+        private List<Dt_ApiInfo> apiInfos;
+        private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+        public StackerCraneJob_FL(IMapper mapper, ITaskService taskService, ICacheService cacheService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository)
+        {
+            _mapper = mapper;
+            _taskService = taskService;
+            _taskExecuteDetailService = taskExecuteDetailService;
+            _taskRepository = taskRepository;
+            _routerService = routerService;
+            _stationMangerRepository = stationMangerRepository;
+            _cacheService = cacheService;
+            _routerRepository = routerRepository;
+
+            string? apiInfoStr = _cacheService.Get("apiInfos");
+            if (!string.IsNullOrEmpty(apiInfoStr))
+            {
+                List<Dt_ApiInfo>? infos = JsonConvert.DeserializeObject<List<Dt_ApiInfo>>(apiInfoStr);
+                if (infos == null || infos.Count == 0)
+                {
+                    apiInfos = new List<Dt_ApiInfo>();
+                }
+                else
+                {
+                    apiInfos = infos;
+                }
+            }
+
+
+            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+            if (!string.IsNullOrEmpty(warehouseDevicesStr))
+            {
+                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+            }
+            else
+            {
+                warehouseDevices = new List<Dt_WarehouseDevice>();
+            }
+        }
+
+        public Task Execute(IJobExecutionContext context)
+        {
+            try
+            {
+                CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
+                if (commonStackerCrane != null)
+                {
+                    Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == commonStackerCrane.DeviceCode);
+                    if (warehouseDevice == null)
+                    {
+                        WriteError(commonStackerCrane.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�");
+                        return Task.CompletedTask;
+                    }
+
+                    if (!commonStackerCrane.IsEventSubscribed)
+                    {
+                        commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
+                    }
+                    commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
+                    if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
+                    {
+                        Thread.Sleep(1000);
+                        Dt_Task? task = GetTask(commonStackerCrane);
+                        if (task != null)
+                        {
+                            StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
+                            if (stackerCraneTaskCommand != null)
+                            {
+                                bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
+                                if (sendFlag)
+                                {
+                                    commonStackerCrane.LastTaskType = task.TaskType;
+                                    task.Dispatchertime = DateTime.Now;
+                                    task.ExceptionMessage = "";
+                                    _taskService.UpdateTask(task, TaskStatusEnum.SC_Executing);
+                                    //寤舵椂1s
+                                    Thread.Sleep(1000);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                WriteError(nameof(CommonStackerCraneJob), ex.Message, ex);
+            }
+            return Task.CompletedTask;
+        }
+
+        /// <summary>
+        /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e)
+        {
+            try
+            {
+                CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane;
+                if (commonStackerCrane != null)
+                {
+                    //if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
+                    {
+                        if (e.TaskNum != 0)
+                        {
+                            WriteDebug(commonStackerCrane.DeviceCode, $"璇诲彇鍒颁换鍔″畬鎴�,浠诲姟鍙�:{e.TaskNum}");
+                            StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceCode);
+                            commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                WriteError(nameof(StackerCraneJob_BC), "浠诲姟瀹屾垚澶辫触", ex);
+            }
+        }
+
+        public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceCode)
+        {
+            try
+            {
+                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+                if (task != null)
+                {
+                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                    {
+                        Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == deviceCode);
+                        if (stationManger == null)
+                        {
+                            _taskService.UpdateTaskExceptionMessage(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                            WriteError(deviceCode, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                            return WebResponseContent.Instance.Error($"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                        }
+                        _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: task.NextAddress);
+                    }
+                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+                    {
+                        _taskService.TaskCompleted(taskNum);
+                    }
+                    else
+                    {
+                        WriteError(deviceCode, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                        _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                        _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                    }
+
+                }
+                else
+                {
+                    WriteError(deviceCode, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+                    return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+                }
+
+                return WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                WriteError(deviceCode, $"浠诲姟瀹屾垚閿欒", ex);
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇浠诲姟
+        /// </summary>
+        /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param>
+        /// <returns></returns>
+        private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
+        {
+            try
+            {
+                //Dt_Task oldTask = _taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt());
+                //if (oldTask != null)
+                //{
+                //    StackerCraneTaskCompleted(oldTask.TaskNum, commonStackerCrane.DeviceCode);
+                //}
+            }
+            catch { }
+            if (_taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()) != null)
+            {
+                return null;
+            }
+
+            WriteDebug(commonStackerCrane.DeviceCode, $"璇诲彇鍒板綋鍓嶄换鍔″彿:{commonStackerCrane.CurrentTaskNum}");
+            Dt_Task task;
+            if (commonStackerCrane.LastTaskType == null)
+            {
+                task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
+            }
+            else
+            {
+                if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                {
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                    if (task == null)
+                    {
+                        task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+                    }
+                }
+                else
+                {
+                    task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+                    if (task == null)
+                    {
+                        task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                    }
+                }
+            }
+
+            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+            {
+                task = OutTaskStationIsOccupied(task);
+                if (task == null)
+                {
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                }
+            }
+            return task;
+        }
+
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢�
+        /// </summary>
+        /// <param name="task">浠诲姟瀹炰綋</param>
+        /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
+        private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
+        {
+            Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => (x.StationCode == task.NextAddress || x.StackerCraneStationCode == task.NextAddress) && x.StackerCraneCode == task.DeviceCode);
+            if (stationManger != null)
+            {
+                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+                if (device != null)
+                {
+                    CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+                    DeviceProDTO? deviceProRead = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManger.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                    if (deviceProRead != null)
+                    {
+                        R_ConveyorLineInfo conveyorLineInfoRead = conveyorLine.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+                        if (conveyorLineInfoRead != null)
+                        {
+                            R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+
+                            if (conveyorLineStatus.Online && conveyorLineStatus.Free && !conveyorLineStatus.Alarm && !conveyorLineStatus.Goods)
+                            {
+                                return task;
+                            }
+                        }
+                    }
+                }
+                else
+                {
+                    WriteError(task.DeviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+                }
+            }
+            else
+            {
+                WriteError(task.DeviceCode, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+                _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+            }
+            return null;
+        }
+
+        /// <summary>
+        /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
+        /// </summary>
+        /// <param name="task">浠诲姟瀹炰綋</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
+        {
+            StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
+
+            stackerCraneTaskCommand.Barcode = task.PalletCode;
+            stackerCraneTaskCommand.TaskNum = task.TaskNum;
+            stackerCraneTaskCommand.WorkType = 1;
+            //stackerCraneTaskCommand.TrayType = (short)task.PalletType;
+            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
+            {
+                Dt_StationManger dt_Station = _stationMangerRepository.QueryFirst(x => x.StationCode == task.CurrentAddress);
+                if (dt_Station == null)
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+                string[] startCodes = dt_Station.StackerCraneStationCode.Split("-");
+                if (startCodes.Length == 3)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]);
+                }
+                else
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+
+                string[] targetCodes = task.TargetAddress.Split("-");
+                if (targetCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+            }
+            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+            {
+                Dt_StationManger dt_Station = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
+                if (dt_Station == null)
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+                string[] targetCodes = dt_Station.StackerCraneStationCode.Split("-");
+                if (targetCodes.Length == 3)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+
+                string[] sourceCodes = task.SourceAddress.Split("-");
+                if (sourceCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+            }
+            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+            {
+                string[] targetCodes = task.NextAddress.Split("-");
+                if (targetCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+                string[] sourceCodes = task.CurrentAddress.Split("-");
+                if (sourceCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+            }
+            return stackerCraneTaskCommand;
+        }
+    }
+}
diff --git "a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_YS.cs" "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_YS.cs"
new file mode 100644
index 0000000..3c2ad85
--- /dev/null
+++ "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\240\206\345\236\233\346\234\272/StackerCraneJob_YS.cs"
@@ -0,0 +1,441 @@
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Quartz;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
+using WIDESEAWCS_Tasks.StackerCraneJob;
+using WIDESEAWCS_Tasks;
+using WIDESEAWCS_Common.APIEnum;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Caches;
+using Newtonsoft.Json;
+using WIDESEAWCS_TaskInfoService;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using WIDESEAWCS_QuartzJob.Repository;
+using Autofac.Core;
+using WIDESEAWCS_DTO.TaskInfo;
+using AutoMapper;
+using System.Collections;
+using WIDESEAWCS_Common.Helper;
+using WIDESEAWCS_QuartzJob.DTO;
+
+namespace WIDESEAWCS_Tasks
+{
+    [DisallowConcurrentExecution]
+    public class StackerCraneJob_YS : JobBase, IJob
+    {
+        private readonly IMapper _mapper;
+        private readonly ICacheService _cacheService;
+        private readonly ITaskService _taskService;
+        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+        private readonly ITaskRepository _taskRepository;
+        private readonly IRouterService _routerService;
+        private readonly IStationMangerRepository _stationMangerRepository;
+        private readonly IRouterRepository _routerRepository;
+        private List<Dt_ApiInfo> apiInfos;
+        private readonly List<Dt_WarehouseDevice> warehouseDevices;
+
+        public StackerCraneJob_YS(IMapper mapper, ITaskService taskService, ICacheService cacheService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository)
+        {
+            _mapper = mapper;
+            _taskService = taskService;
+            _taskExecuteDetailService = taskExecuteDetailService;
+            _taskRepository = taskRepository;
+            _routerService = routerService;
+            _stationMangerRepository = stationMangerRepository;
+            _cacheService = cacheService;
+            _routerRepository = routerRepository;
+
+            string? apiInfoStr = _cacheService.Get("apiInfos");
+            if (!string.IsNullOrEmpty(apiInfoStr))
+            {
+                List<Dt_ApiInfo>? infos = JsonConvert.DeserializeObject<List<Dt_ApiInfo>>(apiInfoStr);
+                if (infos == null || infos.Count == 0)
+                {
+                    apiInfos = new List<Dt_ApiInfo>();
+                }
+                else
+                {
+                    apiInfos = infos;
+                }
+            }
+
+
+            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
+            if (!string.IsNullOrEmpty(warehouseDevicesStr))
+            {
+                warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
+            }
+            else
+            {
+                warehouseDevices = new List<Dt_WarehouseDevice>();
+            }
+        }
+
+        public Task Execute(IJobExecutionContext context)
+        {
+            try
+            {
+                CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
+                if (commonStackerCrane != null)
+                {
+                    Dt_WarehouseDevice? warehouseDevice = warehouseDevices.FirstOrDefault(x => x.DeviceCode == commonStackerCrane.DeviceCode);
+                    if (warehouseDevice == null)
+                    {
+                        WriteError(commonStackerCrane.DeviceName, $"璇烽厤缃粨搴撹澶囦俊鎭�");
+                        return Task.CompletedTask;
+                    }
+
+                    if (!commonStackerCrane.IsEventSubscribed)
+                    {
+                        commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
+                    }
+                    commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
+                    if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
+                    {
+                        Thread.Sleep(1000);
+                        Dt_Task? task = GetTask(commonStackerCrane);
+                        if (task != null)
+                        {
+                            StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
+                            if (stackerCraneTaskCommand != null)
+                            {
+                                bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
+                                if (sendFlag)
+                                {
+                                    commonStackerCrane.LastTaskType = task.TaskType;
+                                    task.Dispatchertime = DateTime.Now;
+                                    task.ExceptionMessage = "";
+                                    _taskService.UpdateTask(task, TaskStatusEnum.SC_Executing);
+                                    //寤舵椂1s
+                                    Thread.Sleep(1000);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                WriteError(nameof(CommonStackerCraneJob), ex.Message, ex);
+            }
+            return Task.CompletedTask;
+        }
+
+        /// <summary>
+        /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e)
+        {
+            try
+            {
+                CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane;
+                if (commonStackerCrane != null)
+                {
+                    //if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
+                    {
+                        if (e.TaskNum != 0)
+                        {
+                            WriteDebug(commonStackerCrane.DeviceCode, $"璇诲彇鍒颁换鍔″畬鎴�,浠诲姟鍙�:{e.TaskNum}");
+                            StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceCode);
+                            commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                WriteError(nameof(StackerCraneJob_BC), "浠诲姟瀹屾垚澶辫触", ex);
+            }
+        }
+
+        public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceCode)
+        {
+            try
+            {
+                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+                if (task != null)
+                {
+                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                    {
+                        Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == deviceCode);
+                        if (stationManger == null)
+                        {
+                            _taskService.UpdateTaskExceptionMessage(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                            WriteError(deviceCode, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                            return WebResponseContent.Instance.Error($"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+                        }
+                        _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: task.NextAddress);
+                    }
+                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+                    {
+                        _taskService.TaskCompleted(taskNum);
+                    }
+                    else
+                    {
+                        WriteError(deviceCode, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                        _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                        _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+                    }
+
+                }
+                else
+                {
+                    WriteError(deviceCode, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+                    return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+                }
+
+                return WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                WriteError(deviceCode, $"浠诲姟瀹屾垚閿欒", ex);
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇浠诲姟
+        /// </summary>
+        /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param>
+        /// <returns></returns>
+        private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
+        {
+            try
+            {
+                //Dt_Task oldTask = _taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt());
+                //if (oldTask != null)
+                //{
+                //    StackerCraneTaskCompleted(oldTask.TaskNum, commonStackerCrane.DeviceCode);
+                //}
+            }
+            catch { }
+            if (_taskRepository.QueryFirst(x => x.DeviceCode == commonStackerCrane.DeviceCode && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt()) != null)
+            {
+                return null;
+            }
+
+            WriteDebug(commonStackerCrane.DeviceCode, $"璇诲彇鍒板綋鍓嶄换鍔″彿:{commonStackerCrane.CurrentTaskNum}");
+            Dt_Task task;
+            if (commonStackerCrane.LastTaskType == null)
+            {
+                task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
+            }
+            else
+            {
+                if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                {
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                    if (task == null)
+                    {
+                        task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+                    }
+                }
+                else
+                {
+                    task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+                    if (task == null)
+                    {
+                        task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                    }
+                }
+            }
+
+            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+            {
+                task = OutTaskStationIsOccupied(task);
+                if (task == null)
+                {
+                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+                }
+            }
+            return task;
+        }
+
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢�
+        /// </summary>
+        /// <param name="task">浠诲姟瀹炰綋</param>
+        /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
+        private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
+        {
+            Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => (x.StationCode == task.NextAddress || x.StackerCraneStationCode == task.NextAddress) && x.StackerCraneCode == task.DeviceCode);
+            if (stationManger != null)
+            {
+                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+                if (device != null)
+                {
+                    CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+                    DeviceProDTO? deviceProRead = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManger.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                    if (deviceProRead != null)
+                    {
+                        R_ConveyorLineInfo conveyorLineInfoRead = conveyorLine.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
+                        if (conveyorLineInfoRead != null)
+                        {
+                            R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>();
+
+                            if (conveyorLineStatus.Online && conveyorLineStatus.Free && !conveyorLineStatus.Alarm && !conveyorLineStatus.Goods)
+                            {
+                                return task;
+                            }
+                        }
+                    }
+                }
+                else
+                {
+                    WriteError(task.DeviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+                }
+            }
+            else
+            {
+                WriteError(task.DeviceCode, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+                _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+            }
+            return null;
+        }
+
+        /// <summary>
+        /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
+        /// </summary>
+        /// <param name="task">浠诲姟瀹炰綋</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
+        {
+            StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
+
+            stackerCraneTaskCommand.Barcode = task.PalletCode;
+            stackerCraneTaskCommand.TaskNum = task.TaskNum;
+            stackerCraneTaskCommand.WorkType = 1;
+            //stackerCraneTaskCommand.TrayType = (short)task.PalletType;
+            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
+            {
+                Dt_StationManger dt_Station = _stationMangerRepository.QueryFirst(x => x.StationCode == task.CurrentAddress);
+                if (dt_Station == null)
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+                string[] startCodes = dt_Station.StackerCraneStationCode.Split("-");
+                if (startCodes.Length == 3)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]);
+                }
+                else
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+
+                string[] targetCodes = task.TargetAddress.Split("-");
+                if (targetCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+            }
+            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+            {
+                Dt_StationManger dt_Station = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
+                if (dt_Station == null)
+                {
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+                string[] targetCodes = dt_Station.StackerCraneStationCode.Split("-");
+                if (targetCodes.Length == 3)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+
+                string[] sourceCodes = task.SourceAddress.Split("-");
+                if (sourceCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+            }
+            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+            {
+                string[] targetCodes = task.NextAddress.Split("-");
+                if (targetCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    WriteError(task.DeviceCode, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+                    return null;
+                }
+                string[] sourceCodes = task.CurrentAddress.Split("-");
+                if (sourceCodes.Length == 5)
+                {
+                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
+                }
+                else
+                {
+                    //鏁版嵁閰嶇疆閿欒
+                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    WriteError(task.DeviceCode, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+                    return null;
+                }
+            }
+            return stackerCraneTaskCommand;
+        }
+    }
+}
diff --git a/WMS/WIDESEA_WMSClient.zip b/WMS/WIDESEA_WMSClient.zip
new file mode 100644
index 0000000..926323d
--- /dev/null
+++ b/WMS/WIDESEA_WMSClient.zip
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2 b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2
index c7152bb..bd4f441 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c62f823c-87b1-4254-8b92-340321c32c9b.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1bead05d-815e-41a3-9cb1-28425ac6117a.vsidx
similarity index 84%
rename from WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c62f823c-87b1-4254-8b92-340321c32c9b.vsidx
rename to WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1bead05d-815e-41a3-9cb1-28425ac6117a.vsidx
index 6f7ceb5..a89d813 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c62f823c-87b1-4254-8b92-340321c32c9b.vsidx
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/1bead05d-815e-41a3-9cb1-28425ac6117a.vsidx
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2 b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2
index 62d76cb..15c8d1c 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
index 5c0eb9e..de84b0c 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
index 1d0dc26..ac870f4 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
@@ -7,16 +7,60 @@
       "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\outbound\\dt_outboundorderdetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\outbound\\dt_outboundorderdetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\service\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\service\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\basic\\materielinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\basic\\materielinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\base\\materielinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -25,10 +69,6 @@
     {
       "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\enums\\orderenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\orderenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_stockservice\\service\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -55,14 +95,6 @@
       "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\helper\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
-      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\outbound\\dt_outboundlockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\outbound\\dt_outboundlockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -87,14 +119,6 @@
       "RelativeMoniker": "D:0:0:{3E1C6F64-6E74-4E76-9E5D-7EE6A7AA1F26}|WIDESEA_IInboundService\\WIDESEA_IInboundService.csproj|solutionrelative:widesea_iinboundservice\\iinboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -105,14 +129,6 @@
     {
       "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\service\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\service\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\base\\outboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -146,10 +162,6 @@
       "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\materielinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\basic\\dt_materielinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\basic\\dt_materielinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -158,20 +170,12 @@
       "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\imaterielinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\enums\\warehouseenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\warehouseenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_ibasicservice\\ipallettypeinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -229,25 +233,11 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 7,
+          "SelectedChildIndex": 5,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "PartialTaskService_Outbound.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
-              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
-              "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
-              "ViewState": "AgIAALkBAAAAAAAAAAAvwMoBAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-18T01:49:20.466Z",
-              "IsPinned": true,
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
+              "DocumentIndex": 17,
               "Title": "StockInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\Service\\StockInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StockService\\Service\\StockInfoService.cs",
@@ -261,7 +251,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 16,
+              "DocumentIndex": 24,
               "Title": "ILocationInfoRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicRepository\\ILocationInfoRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_IBasicRepository\\ILocationInfoRepository.cs",
@@ -270,6 +260,19 @@
               "ViewState": "AgIAABoAAAAAAAAAAADgvyoAAAAuAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-23T15:31:21.803Z",
+              "IsPinned": true
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "Title": "PartialTaskService_Outbound.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+              "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAACMBAAAeAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-18T01:49:20.466Z",
               "IsPinned": true,
               "EditorCaption": ""
             },
@@ -279,33 +282,167 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 1,
               "Title": "PartialTaskService_Inbound.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
               "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
               "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
-              "ViewState": "AgIAABoAAAAAAAAAAADwvyEAAAAIAAAAAAAAAA==",
+              "ViewState": "AgIAAGYAAAAAAAAAAAAAwIQAAAA+AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-06-05T07:54:51.319Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "TaskService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
+              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAA8AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-17T14:37:06.649Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "TaskController.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "ViewState": "AgIAACMAAAAAAAAAAAAjwD4AAAA5AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-17T14:35:32.265Z"
+            },
+            {
+              "$type": "Document",
               "DocumentIndex": 3,
+              "Title": "ITaskService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "ViewState": "AgIAABAAAAAAAAAAAAD4vyUAAAA1AAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-20T09:10:37.56Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
+              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
+              "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAaAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-08-01T07:15:31.005Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "AssignInboundTaskLocation_BC.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "RelativeToolTip": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAiAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-17T14:35:21.398Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "InboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "ViewState": "AgIAADgAAAAAAAAAAAAWwFIAAAANAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-24T09:24:11.704Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "InboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "ViewState": "AgIAANQAAAAAAAAAAAAWwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T08:11:31.842Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 8,
+              "Title": "InboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T08:11:31.05Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "Dt_OutboundOrderDetail.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "ViewState": "AgIAACIAAAAAAAAAAAAiwCYAAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-08-04T05:01:10.301Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 12,
+              "Title": "OutboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-23T15:22:57.784Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "OutboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "ViewState": "AgIAABgAAAAAAAAAAAAAAPUAAAAwAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-29T02:10:53.178Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
               "Title": "MaterielInfoController.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
               "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
               "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
-              "ViewState": "AgIAAA0AAAAAAAAAAAAkwCIAAABlAAAAAAAAAA==",
+              "ViewState": "AgIAABMAAAAAAAAAAAAkwBUAAAALAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-24T13:57:25.318Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
+              "DocumentIndex": 14,
               "Title": "LocationInfoService_BC.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
@@ -318,20 +455,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "TaskService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
-              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAGUBAAAAAAAAAAAvwHcBAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-17T14:37:06.649Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
+              "DocumentIndex": 15,
               "Title": "MaterielInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
@@ -339,12 +463,11 @@
               "RelativeToolTip": "WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
               "ViewState": "AgIAABAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-08-04T02:27:14.382Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-08-04T02:27:14.382Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 8,
+              "DocumentIndex": 18,
               "Title": "StockInfoRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_StockRepository\\StockInfoRepository.cs",
@@ -357,7 +480,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 5,
+              "DocumentIndex": 16,
               "Title": "OrderEnum.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\OrderEnum.cs",
               "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\OrderEnum.cs",
@@ -365,12 +488,11 @@
               "RelativeToolTip": "WIDESEA_Core\\Enums\\OrderEnum.cs",
               "ViewState": "AgIAAAwBAAAAAAAAAADgvx4BAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-28T06:25:34.338Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-28T06:25:34.338Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 9,
+              "DocumentIndex": 19,
               "Title": "IOutboundOrderDetailService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
@@ -378,12 +500,11 @@
               "RelativeToolTip": "WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
               "ViewState": "AgIAAAoAAAAAAAAAAAAWwCIAAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T15:32:40.083Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-23T15:32:40.083Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 10,
+              "DocumentIndex": 20,
               "Title": "LocationInfoRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
@@ -391,12 +512,11 @@
               "RelativeToolTip": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
               "ViewState": "AgIAACYAAAAAAAAAAAAtwDsAAABNAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T06:57:39.417Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-23T06:57:39.417Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 11,
+              "DocumentIndex": 21,
               "Title": "OutboundOrderDetailService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
@@ -409,7 +529,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 12,
+              "DocumentIndex": 22,
               "Title": "HttpHelper.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs",
               "RelativeDocumentMoniker": "WIDESEA_Core\\Helper\\HttpHelper.cs",
@@ -422,33 +542,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "InboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "ViewState": "AgIAAFQBAAAAAAAAAAAvwGYBAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T09:24:11.704Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
-              "Title": "appsettings.json",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
-              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
-              "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvw4AAAAsAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2025-08-01T07:15:31.005Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 15,
+              "DocumentIndex": 23,
               "Title": "Dt_OutboundLockInfo.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
               "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
@@ -456,12 +550,11 @@
               "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
               "ViewState": "AgIAAB0AAAAAAAAAAAAnwCsAAAAXAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:27:57.406Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-31T08:27:57.406Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 17,
+              "DocumentIndex": 25,
               "Title": "IStockInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IStockService\\IStockInfoService.cs",
@@ -469,12 +562,11 @@
               "RelativeToolTip": "WIDESEA_IStockService\\IStockInfoService.cs",
               "ViewState": "AgIAAAYAAAAAAAAAAAAnwBoAAABUAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-08-01T03:27:23.904Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-08-01T03:27:23.904Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 20,
+              "DocumentIndex": 28,
               "Title": "IInboundOrderService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IInboundService\\IInboundOrderService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IInboundService\\IInboundOrderService.cs",
@@ -482,12 +574,11 @@
               "RelativeToolTip": "WIDESEA_IInboundService\\IInboundOrderService.cs",
               "ViewState": "AgIAAAIAAAAAAAAAAAArwBIAAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:25.441Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-31T08:11:25.441Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 18,
+              "DocumentIndex": 26,
               "Title": "OutStockLockInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
@@ -495,38 +586,11 @@
               "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T15:22:59.796Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-23T15:22:59.796Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "InboundOrderDetailService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
-              "RelativeToolTip": "WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:31.05Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 21,
-              "Title": "InboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "ViewState": "AgIAAJcAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:31.842Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 19,
+              "DocumentIndex": 27,
               "Title": "StockRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_StockRepository\\StockRepository.cs",
@@ -534,12 +598,11 @@
               "RelativeToolTip": "WIDESEA_StockRepository\\StockRepository.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAABAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:19:50.203Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-31T08:19:50.203Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 23,
+              "DocumentIndex": 29,
               "Title": "InboundOrderDetailService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderDetailService.cs",
               "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderDetailService.cs",
@@ -547,38 +610,11 @@
               "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderDetailService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:29.435Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-31T08:11:29.435Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 27,
-              "Title": "OutboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T15:22:57.784Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 26,
-              "Title": "OutboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "ViewState": "AgIAAOwAAAAAAAAAAAAgwPUAAAAwAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-29T02:10:53.178Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 25,
+              "DocumentIndex": 31,
               "Title": "LocationInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\LocationInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
@@ -586,12 +622,11 @@
               "RelativeToolTip": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
               "ViewState": "AgIAADgAAAAAAAAAAAAcwIQAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-18T08:50:09.655Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-18T08:50:09.655Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 24,
+              "DocumentIndex": 30,
               "Title": "HouseMaterielinfo.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\HouseMaterielinfo.cs",
               "RelativeDocumentMoniker": "WIDESEA_Common\\HouseMaterielinfo.cs",
@@ -599,12 +634,11 @@
               "RelativeToolTip": "WIDESEA_Common\\HouseMaterielinfo.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAEsAAAAWAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-28T06:28:01.921Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-28T06:28:01.921Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 28,
+              "DocumentIndex": 32,
               "Title": "OutboundOrderDetailService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderDetailService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderDetailService.cs",
@@ -616,7 +650,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 29,
+              "DocumentIndex": 33,
               "Title": "IOutStockLockInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
@@ -628,7 +662,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 30,
+              "DocumentIndex": 34,
               "Title": "RepositoryBase.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
               "RelativeDocumentMoniker": "WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
@@ -640,7 +674,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 31,
+              "DocumentIndex": 35,
               "Title": "PartialTaskService_AGV.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_AGV.cs",
               "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_AGV.cs",
@@ -652,7 +686,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 32,
+              "DocumentIndex": 36,
               "Title": "LocationInfoService_Common.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
@@ -664,7 +698,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 33,
+              "DocumentIndex": 37,
               "Title": "Microsoft.Common.CurrentVersion.targets",
               "DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
               "ToolTip": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
@@ -674,7 +708,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 34,
+              "DocumentIndex": 38,
               "Title": "IStockInfoRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockRepository\\IStockInfoRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_IStockRepository\\IStockInfoRepository.cs",
@@ -686,7 +720,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 38,
+              "DocumentIndex": 41,
               "Title": "IMaterielInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\IMaterielInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IBasicService\\IMaterielInfoService.cs",
@@ -698,7 +732,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 37,
+              "DocumentIndex": 40,
               "Title": "Dt_MaterielInfo.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_MaterielInfo.cs",
               "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Basic\\Dt_MaterielInfo.cs",
@@ -710,7 +744,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 41,
+              "DocumentIndex": 43,
               "Title": "WarehouseEnum.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\WarehouseEnum.cs",
               "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\WarehouseEnum.cs",
@@ -722,7 +756,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 35,
+              "DocumentIndex": 39,
               "Title": "MaterielInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\MaterielInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\MaterielInfoService.cs",
@@ -735,7 +769,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 45,
+              "DocumentIndex": 46,
               "Title": "StockViewService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\Service\\StockViewService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StockService\\Service\\StockViewService.cs",
@@ -747,7 +781,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 44,
+              "DocumentIndex": 45,
               "Title": "StockInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\Base\\StockInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StockService\\Base\\StockInfoService.cs",
@@ -759,7 +793,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 40,
+              "DocumentIndex": 42,
               "Title": "ILocationInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IBasicService\\ILocationInfoService.cs",
@@ -771,7 +805,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 47,
+              "DocumentIndex": 48,
               "Title": "PalletTypeInfoRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\PalletTypeInfoRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicRepository\\PalletTypeInfoRepository.cs",
@@ -783,7 +817,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 48,
+              "DocumentIndex": 49,
               "Title": "PalletTypeInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\PalletTypeInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\PalletTypeInfoService.cs",
@@ -795,7 +829,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 43,
+              "DocumentIndex": 44,
               "Title": "IPalletTypeInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\IPalletTypeInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IBasicService\\IPalletTypeInfoService.cs",
@@ -807,7 +841,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 50,
+              "DocumentIndex": 51,
               "Title": "TaskTypeEnum.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
               "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
@@ -819,7 +853,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 51,
+              "DocumentIndex": 52,
               "Title": "TaskEnumHelper.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskEnumHelper.cs",
               "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskEnumHelper.cs",
@@ -831,7 +865,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 53,
+              "DocumentIndex": 54,
               "Title": "Dt_Task_Hty.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\TaskInfo\\Dt_Task_Hty.cs",
               "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task_Hty.cs",
@@ -843,7 +877,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 49,
+              "DocumentIndex": 50,
               "Title": "Dt_Task.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
               "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
@@ -855,19 +889,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 42,
-              "Title": "ITaskService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-20T09:10:37.56Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 46,
+              "DocumentIndex": 47,
               "Title": "LocationInfoController.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs",
               "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs",
@@ -879,7 +901,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 54,
+              "DocumentIndex": 55,
               "Title": "TaskRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoRepository\\TaskRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_TaskInfoRepository\\TaskRepository.cs",
@@ -891,7 +913,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 52,
+              "DocumentIndex": 53,
               "Title": "Dt_LocationInfo.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_LocationInfo.cs",
               "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Basic\\Dt_LocationInfo.cs",
@@ -900,30 +922,6 @@
               "ViewState": "AgIAAAEAAAAAAAAAAAAewBgAAAAzAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-18T09:01:10.434Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 36,
-              "Title": "TaskController.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAA6wBoAAABDAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-17T14:35:32.265Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 39,
-              "Title": "AssignInboundTaskLocation_BC.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "RelativeToolTip": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "ViewState": "AgIAABwAAAAAAAAAAAAAwBIAAAAiAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-17T14:35:21.398Z"
             }
           ]
         }
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
index 5ebfb62..182ab7e 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
@@ -7,16 +7,64 @@
       "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_stockservice\\service\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|solutionrelative:widesea_stockservice\\service\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\outbound\\dt_outboundorderdetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\outbound\\dt_outboundorderdetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -27,16 +75,8 @@
       "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\service\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\basic\\materielinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\basic\\materielinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\base\\materielinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -45,10 +85,6 @@
     {
       "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\enums\\orderenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\orderenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_stockservice\\service\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|solutionrelative:widesea_stockservice\\service\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{B9E62A73-1270-4FFC-B23C-F75C075D8460}|WIDESEA_StockRepository\\WIDESEA_StockRepository.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_stockrepository\\stockinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -69,10 +105,6 @@
     {
       "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\helper\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\helper\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
-      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\outbound\\dt_outboundlockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -99,24 +131,12 @@
       "RelativeMoniker": "D:0:0:{3E1C6F64-6E74-4E76-9E5D-7EE6A7AA1F26}|WIDESEA_IInboundService\\WIDESEA_IInboundService.csproj|solutionrelative:widesea_iinboundservice\\iinboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\service\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_common\\housematerielinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\housematerielinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\base\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\base\\outboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -135,10 +155,6 @@
       "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_agv.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
     },
     {
@@ -150,10 +166,6 @@
       "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\materielinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\basic\\dt_materielinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\basic\\dt_materielinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
@@ -162,20 +174,8 @@
       "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\imaterielinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\assigninboundtasklocation_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\enums\\warehouseenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\warehouseenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|e:\\khgithub\\jianliku\\wms\\widesea_wmsserver\\widesea_ibasicservice\\ipallettypeinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -233,17 +233,17 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 5,
+          "SelectedChildIndex": 7,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 11,
+              "DocumentIndex": 1,
               "Title": "StockInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\Service\\StockInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StockService\\Service\\StockInfoService.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\Service\\StockInfoService.cs",
               "RelativeToolTip": "WIDESEA_StockService\\Service\\StockInfoService.cs",
-              "ViewState": "AgIAAGQAAAAAAAAAAAAvwHUAAAAIAAAAAAAAAA==",
+              "ViewState": "AgIAAEAAAAAAAAAAAAArwHUAAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-29T02:51:46.53Z",
               "IsPinned": true,
@@ -251,7 +251,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 19,
+              "DocumentIndex": 27,
               "Title": "ILocationInfoRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicRepository\\ILocationInfoRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_IBasicRepository\\ILocationInfoRepository.cs",
@@ -260,22 +260,20 @@
               "ViewState": "AgIAABoAAAAAAAAAAADgvyoAAAAuAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-23T15:31:21.803Z",
-              "IsPinned": true,
-              "EditorCaption": ""
+              "IsPinned": true
             },
             {
               "$type": "Document",
-              "DocumentIndex": 2,
+              "DocumentIndex": 15,
               "Title": "PartialTaskService_Outbound.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
               "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
               "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
-              "ViewState": "AgIAAC0BAAAAAAAAAAAnwCMBAAAeAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAACMBAAAeAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-18T01:49:20.466Z",
-              "IsPinned": true,
-              "EditorCaption": ""
+              "IsPinned": true
             },
             {
               "$type": "Bookmark",
@@ -283,15 +281,41 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "Dt_OutboundOrderDetail.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
-              "ViewState": "AgIAACIAAAAAAAAAAAAiwCYAAAAIAAAAAAAAAA==",
+              "DocumentIndex": 3,
+              "Title": "LocationInfoService_Common.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+              "RelativeToolTip": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+              "ViewState": "AgIAAA8AAAAAAAAAAAAuwDEAAAAuAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-08-04T05:01:10.301Z",
+              "WhenOpened": "2025-07-19T01:48:01.156Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "LocationInfoService_BC.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+              "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAADgv74AAAANAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-17T14:59:10.823Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "LocationInfoService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\LocationInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\LocationInfoService.cs",
+              "RelativeToolTip": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
+              "ViewState": "AgIAAEkAAAAAAAAAAAAtwCMBAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-18T08:50:09.655Z",
               "EditorCaption": ""
             },
             {
@@ -300,50 +324,24 @@
               "Title": "PartialTaskService_Inbound.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
               "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
-              "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
-              "ViewState": "AgIAABcAAAAAAAAAAAAwwCAAAAByAAAAAAAAAA==",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs*",
+              "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs*",
+              "ViewState": "AgIAAD4BAAAAAAAAAADgv1IBAAANAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-06-05T07:54:51.319Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
-              "Title": "InboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
-              "ViewState": "AgIAAF0BAAAAAAAAAAAvwGUBAAAyAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T09:24:11.704Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
               "DocumentIndex": 5,
-              "Title": "OutboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Title": "ILocationInfoService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IBasicService\\ILocationInfoService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs",
+              "RelativeToolTip": "WIDESEA_IBasicService\\ILocationInfoService.cs",
+              "ViewState": "AgIAAAsAAAAAAAAAAAAlwB8AAAAZAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T15:22:57.784Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "OutboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
-              "ViewState": "AgIAABgAAAAAAAAAAAAAAPUAAAAwAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-29T02:10:53.178Z",
+              "WhenOpened": "2025-07-22T13:51:05.355Z",
               "EditorCaption": ""
             },
             {
@@ -354,7 +352,7 @@
               "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
               "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
-              "ViewState": "AgIAAGUBAAAAAAAAAAAvwHcBAAAIAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAA8AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-17T14:37:06.649Z",
               "EditorCaption": ""
@@ -362,188 +360,78 @@
             {
               "$type": "Document",
               "DocumentIndex": 7,
-              "Title": "MaterielInfoController.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
-              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
-              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
-              "ViewState": "AgIAABMAAAAAAAAAAAAkwBUAAAALAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T13:57:25.318Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "LocationInfoService_BC.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
-              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
-              "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
-              "ViewState": "AgIAAGMAAAAAAAAAAADgv3oAAAAUAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-17T14:59:10.823Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "MaterielInfoService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
-              "RelativeToolTip": "WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-08-04T02:27:14.382Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 12,
-              "Title": "StockInfoRepository.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
-              "RelativeDocumentMoniker": "WIDESEA_StockRepository\\StockInfoRepository.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
-              "RelativeToolTip": "WIDESEA_StockRepository\\StockInfoRepository.cs",
-              "ViewState": "AgIAAEQAAAAAAAAAAAAvwE4AAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-22T02:34:49.057Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "OrderEnum.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\OrderEnum.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\OrderEnum.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\OrderEnum.cs",
-              "RelativeToolTip": "WIDESEA_Core\\Enums\\OrderEnum.cs",
-              "ViewState": "AgIAAAwBAAAAAAAAAADgvx4BAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-28T06:25:34.338Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "IOutboundOrderDetailService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
-              "RelativeToolTip": "WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
-              "ViewState": "AgIAAAoAAAAAAAAAAAAWwCIAAAAbAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T15:32:40.083Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
-              "Title": "LocationInfoRepository.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
-              "RelativeDocumentMoniker": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
-              "RelativeToolTip": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
-              "ViewState": "AgIAACYAAAAAAAAAAAAtwDsAAABNAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T06:57:39.417Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 15,
-              "Title": "OutboundOrderDetailService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
-              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
-              "ViewState": "AgIAADkBAAAAAAAAAADgv0oBAAAQAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-18T01:49:20.492Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 16,
-              "Title": "HttpHelper.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Core\\Helper\\HttpHelper.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs",
-              "RelativeToolTip": "WIDESEA_Core\\Helper\\HttpHelper.cs",
-              "ViewState": "AgIAAIMAAAAAAAAAAADwv44AAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-30T09:06:39.85Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 17,
               "Title": "appsettings.json",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
               "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
               "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
               "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvw4AAAAsAAAAAAAAAA==",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAaAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2025-08-01T07:15:31.005Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-08-01T07:15:31.005Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 18,
-              "Title": "Dt_OutboundLockInfo.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
-              "ViewState": "AgIAAB0AAAAAAAAAAAAnwCsAAAAXAAAAAAAAAA==",
+              "DocumentIndex": 8,
+              "Title": "ITaskService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+              "ViewState": "AgIAABAAAAAAAAAAAAD4vyUAAAA1AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:27:57.406Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-20T09:10:37.56Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 20,
-              "Title": "IStockInfoService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_IStockService\\IStockInfoService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockInfoService.cs",
-              "RelativeToolTip": "WIDESEA_IStockService\\IStockInfoService.cs",
-              "ViewState": "AgIAAAYAAAAAAAAAAAAnwBoAAABUAAAAAAAAAA==",
+              "DocumentIndex": 9,
+              "Title": "TaskController.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+              "ViewState": "AgIAACMAAAAAAAAAAAAjwD4AAAA5AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-08-01T03:27:23.904Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-17T14:35:32.265Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 23,
-              "Title": "IInboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IInboundService\\IInboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_IInboundService\\IInboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IInboundService\\IInboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_IInboundService\\IInboundOrderService.cs",
-              "ViewState": "AgIAAAIAAAAAAAAAAAArwBIAAAAbAAAAAAAAAA==",
+              "DocumentIndex": 10,
+              "Title": "AssignInboundTaskLocation_BC.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "RelativeToolTip": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAiAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:25.441Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-17T14:35:21.398Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 21,
-              "Title": "OutStockLockInfoService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
-              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "DocumentIndex": 11,
+              "Title": "InboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+              "ViewState": "AgIAADgAAAAAAAAAAAAWwFIAAAANAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-23T15:22:59.796Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-24T09:24:11.704Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 25,
+              "DocumentIndex": 12,
+              "Title": "InboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
+              "ViewState": "AgIAANQAAAAAAAAAAAAWwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T08:11:31.842Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 13,
               "Title": "InboundOrderDetailService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
               "RelativeDocumentMoniker": "WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
@@ -551,25 +439,191 @@
               "RelativeToolTip": "WIDESEA_InboundService\\Service\\InboundOrderDetailService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:31.05Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-31T08:11:31.05Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 24,
-              "Title": "InboundOrderService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_InboundService\\Service\\InboundOrderService.cs",
-              "ViewState": "AgIAAJcAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
+              "DocumentIndex": 14,
+              "Title": "Dt_OutboundOrderDetail.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundOrderDetail.cs",
+              "ViewState": "AgIAACIAAAAAAAAAAAAiwCYAAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:31.842Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-08-04T05:01:10.301Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 17,
+              "Title": "OutboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-23T15:22:57.784Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 16,
+              "Title": "OutboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+              "ViewState": "AgIAABgAAAAAAAAAAAAAAPUAAAAwAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-29T02:10:53.178Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 18,
+              "Title": "MaterielInfoController.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
+              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
+              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Basic\\MaterielInfoController.cs",
+              "ViewState": "AgIAABMAAAAAAAAAAAAkwBUAAAALAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-24T13:57:25.318Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 19,
+              "Title": "MaterielInfoService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
+              "RelativeToolTip": "WIDESEA_BasicService\\Base\\MaterielInfoService.cs",
+              "ViewState": "AgIAABAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-08-04T02:27:14.382Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 21,
+              "Title": "StockInfoRepository.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
+              "RelativeDocumentMoniker": "WIDESEA_StockRepository\\StockInfoRepository.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
+              "RelativeToolTip": "WIDESEA_StockRepository\\StockInfoRepository.cs",
+              "ViewState": "AgIAAEQAAAAAAAAAAAAvwE4AAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-22T02:34:49.057Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 20,
+              "Title": "OrderEnum.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\OrderEnum.cs",
+              "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\OrderEnum.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\OrderEnum.cs",
+              "RelativeToolTip": "WIDESEA_Core\\Enums\\OrderEnum.cs",
+              "ViewState": "AgIAAAwBAAAAAAAAAADgvx4BAAAIAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-28T06:25:34.338Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 22,
+              "Title": "IOutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_IOutboundService\\IOutboundOrderDetailService.cs",
+              "ViewState": "AgIAAAoAAAAAAAAAAAAWwCIAAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-23T15:32:40.083Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 23,
+              "Title": "LocationInfoRepository.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+              "RelativeDocumentMoniker": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+              "RelativeToolTip": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+              "ViewState": "AgIAACYAAAAAAAAAAAAtwDsAAABNAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-23T06:57:39.417Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 24,
+              "Title": "OutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+              "ViewState": "AgIAADkBAAAAAAAAAADgv0oBAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-18T01:49:20.492Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 25,
+              "Title": "HttpHelper.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs",
+              "RelativeDocumentMoniker": "WIDESEA_Core\\Helper\\HttpHelper.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs",
+              "RelativeToolTip": "WIDESEA_Core\\Helper\\HttpHelper.cs",
+              "ViewState": "AgIAAIMAAAAAAAAAAADwv44AAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-30T09:06:39.85Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 26,
+              "Title": "Dt_OutboundLockInfo.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
+              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
+              "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_OutboundLockInfo.cs",
+              "ViewState": "AgIAAB0AAAAAAAAAAAAnwCsAAAAXAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T08:27:57.406Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 28,
+              "Title": "IStockInfoService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IStockService\\IStockInfoService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockInfoService.cs",
+              "RelativeToolTip": "WIDESEA_IStockService\\IStockInfoService.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAnwBoAAABUAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-08-01T03:27:23.904Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 31,
+              "Title": "IInboundOrderService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IInboundService\\IInboundOrderService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IInboundService\\IInboundOrderService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IInboundService\\IInboundOrderService.cs",
+              "RelativeToolTip": "WIDESEA_IInboundService\\IInboundOrderService.cs",
+              "ViewState": "AgIAAAIAAAAAAAAAAAArwBIAAAAbAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-31T08:11:25.441Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 29,
+              "Title": "OutStockLockInfoService.cs",
+              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+              "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-23T15:22:59.796Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 30,
               "Title": "StockRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_StockRepository\\StockRepository.cs",
@@ -577,12 +631,11 @@
               "RelativeToolTip": "WIDESEA_StockRepository\\StockRepository.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAABAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:19:50.203Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-31T08:19:50.203Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 26,
+              "DocumentIndex": 32,
               "Title": "InboundOrderDetailService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderDetailService.cs",
               "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderDetailService.cs",
@@ -590,25 +643,11 @@
               "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderDetailService.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-31T08:11:29.435Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-31T08:11:29.435Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 28,
-              "Title": "LocationInfoService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\LocationInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Base\\LocationInfoService.cs",
-              "RelativeToolTip": "WIDESEA_BasicService\\Base\\LocationInfoService.cs",
-              "ViewState": "AgIAADgAAAAAAAAAAAAcwIQAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-18T08:50:09.655Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 27,
+              "DocumentIndex": 33,
               "Title": "HouseMaterielinfo.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\HouseMaterielinfo.cs",
               "RelativeDocumentMoniker": "WIDESEA_Common\\HouseMaterielinfo.cs",
@@ -616,12 +655,11 @@
               "RelativeToolTip": "WIDESEA_Common\\HouseMaterielinfo.cs",
               "ViewState": "AgIAAAAAAAAAAAAAAAAAAEsAAAAWAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-28T06:28:01.921Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-28T06:28:01.921Z"
             },
             {
               "$type": "Document",
-              "DocumentIndex": 29,
+              "DocumentIndex": 34,
               "Title": "OutboundOrderDetailService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderDetailService.cs",
               "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderDetailService.cs",
@@ -633,7 +671,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 30,
+              "DocumentIndex": 35,
               "Title": "IOutStockLockInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
@@ -645,7 +683,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 31,
+              "DocumentIndex": 36,
               "Title": "RepositoryBase.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
               "RelativeDocumentMoniker": "WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
@@ -657,7 +695,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 32,
+              "DocumentIndex": 37,
               "Title": "PartialTaskService_AGV.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_AGV.cs",
               "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_AGV.cs",
@@ -669,19 +707,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 33,
-              "Title": "LocationInfoService_Common.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
-              "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
-              "RelativeToolTip": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
-              "ViewState": "AgIAAAoAAAAAAAAAAADgvxkAAAAIAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-19T01:48:01.156Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 34,
+              "DocumentIndex": 38,
               "Title": "Microsoft.Common.CurrentVersion.targets",
               "DocumentMoniker": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
               "ToolTip": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\Bin\\amd64\\Microsoft.Common.CurrentVersion.targets",
@@ -691,7 +717,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 35,
+              "DocumentIndex": 39,
               "Title": "IStockInfoRepository.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockRepository\\IStockInfoRepository.cs",
               "RelativeDocumentMoniker": "WIDESEA_IStockRepository\\IStockInfoRepository.cs",
@@ -703,7 +729,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 39,
+              "DocumentIndex": 42,
               "Title": "IMaterielInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\IMaterielInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_IBasicService\\IMaterielInfoService.cs",
@@ -715,7 +741,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 38,
+              "DocumentIndex": 41,
               "Title": "Dt_MaterielInfo.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_MaterielInfo.cs",
               "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Basic\\Dt_MaterielInfo.cs",
@@ -727,7 +753,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 42,
+              "DocumentIndex": 43,
               "Title": "WarehouseEnum.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\WarehouseEnum.cs",
               "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\WarehouseEnum.cs",
@@ -739,7 +765,7 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 36,
+              "DocumentIndex": 40,
               "Title": "MaterielInfoService.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\MaterielInfoService.cs",
               "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\MaterielInfoService.cs",
@@ -747,8 +773,7 @@
               "RelativeToolTip": "WIDESEA_BasicService\\Service\\MaterielInfoService.cs",
               "ViewState": "AgIAACkAAAAAAAAAAAAAACkAAAAkAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-24T09:21:38.542Z",
-              "EditorCaption": ""
+              "WhenOpened": "2025-07-24T09:21:38.542Z"
             },
             {
               "$type": "Document",
@@ -773,18 +798,6 @@
               "ViewState": "AgIAAAYAAAAAAAAAAAAuwBYAAABdAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-23T15:21:09.137Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 41,
-              "Title": "ILocationInfoService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_IBasicService\\ILocationInfoService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs",
-              "RelativeToolTip": "WIDESEA_IBasicService\\ILocationInfoService.cs",
-              "ViewState": "AgIAABIAAAAAAAAAAAA5wB4AAAAMAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-22T13:51:05.355Z"
             },
             {
               "$type": "Document",
@@ -872,18 +885,6 @@
             },
             {
               "$type": "Document",
-              "DocumentIndex": 43,
-              "Title": "ITaskService.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-20T09:10:37.56Z"
-            },
-            {
-              "$type": "Document",
               "DocumentIndex": 47,
               "Title": "LocationInfoController.cs",
               "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs",
@@ -917,30 +918,6 @@
               "ViewState": "AgIAAAEAAAAAAAAAAAAewBgAAAAzAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
               "WhenOpened": "2025-07-18T09:01:10.434Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 37,
-              "Title": "TaskController.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAA6wBoAAABDAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-17T14:35:32.265Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 40,
-              "Title": "AssignInboundTaskLocation_BC.cs",
-              "DocumentMoniker": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "ToolTip": "E:\\KHGITHUB\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "RelativeToolTip": "WIDESEA_TaskInfoService\\AssignInboundTaskLocation_BC.cs",
-              "ViewState": "AgIAABwAAAAAAAAAAAAAwBIAAAAiAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-07-17T14:35:21.398Z"
             }
           ]
         }
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\350\276\223\351\200\201\347\272\277\357\274\214RGV\345\257\271\346\216\245\345\215\217\350\256\256/~$WCS\344\270\216PLC\351\200\232\344\277\241\345\215\217\350\256\256\0501\051.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\350\276\223\351\200\201\347\272\277\357\274\214RGV\345\257\271\346\216\245\345\215\217\350\256\256/~$WCS\344\270\216PLC\351\200\232\344\277\241\345\215\217\350\256\256\0501\051.xlsx"
new file mode 100644
index 0000000..1e0c8b3
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\350\276\223\351\200\201\347\272\277\357\274\214RGV\345\257\271\346\216\245\345\215\217\350\256\256/~$WCS\344\270\216PLC\351\200\232\344\277\241\345\215\217\350\256\256\0501\051.xlsx"
Binary files differ

--
Gitblit v1.9.3