From 61ece19b5b178d1b23bed16c733b01af1185f838 Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期日, 20 七月 2025 23:11:43 +0800
Subject: [PATCH] 0720

---
 wms/TaskHelper.cs                                |    2 
 wms/LocationHelper.cs                            |   59 ++
 core/Monitor.cs                                  |   79 +++
 dispatch/WcsTask.cs                              |  105 +++-
 api/WcsController.cs                             |   20 
 util/LogHelper.cs                                |    2 
 .vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json |  493 ++++++------------------
 process/TaskProcess.cs                           |  415 ++++++++++++--------
 api/MoboxController.cs                           |    9 
 9 files changed, 582 insertions(+), 602 deletions(-)

diff --git a/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json b/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json
index 1157f58..4505469 100644
--- a/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json
+++ b/.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json
@@ -3,48 +3,44 @@
   "WorkspaceRootPath": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|c:\\users\\29562\\source\\repos\\hh-0129_zhongcejintan\\process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\taskprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|c:\\users\\29562\\source\\repos\\hh-0129_zhongcejintan\\core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\taskcore.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:core\\monitor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wmscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\wcscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\wcscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\taskhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:config\\config.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\locationhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\moboxcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -55,82 +51,68 @@
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\loghelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wmshelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:process\\deviceprocess.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\containerhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:wms\\wcsmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\gzrobot.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:dispatch\\ndcapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\topsdk.dll||{177559E0-D141-11D0-92DF-00A0C9138C45}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\topsdk.dll||{177559E0-D141-11D0-92DF-00A0C9138C45}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\stattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\stattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\dingtalk.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:util\\dingtalk.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
     {
-      "Orientation": 1,
+      "Orientation": 0,
       "VerticalTabListWidth": 256,
       "DocumentGroups": [
         {
-          "DockedHeight": 387,
-          "SelectedChildIndex": 3,
+          "DockedWidth": 200,
+          "SelectedChildIndex": 4,
           "Children": [
             {
-              "$type": "Bookmark",
-              "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
+              "$type": "Document",
+              "DocumentIndex": 8,
+              "Title": "LocationHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
+              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
+              "RelativeToolTip": "wms\\LocationHelper.cs",
+              "ViewState": "AQIAAJsAAAAAAAAAAAAnwLcAAAAxAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-19T07:28:38.256Z"
             },
             {
-              "$type": "Bookmark",
-              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "Monitor.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
+              "RelativeDocumentMoniker": "core\\Monitor.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
+              "RelativeToolTip": "core\\Monitor.cs",
+              "ViewState": "AQIAAPgAAAAAAAAAAAArwCYBAAAwAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-19T07:16:20.278Z",
+              "EditorCaption": ""
             },
             {
-              "$type": "Bookmark",
-              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+              "$type": "Document",
+              "DocumentIndex": 11,
+              "Title": "LogHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
+              "RelativeDocumentMoniker": "util\\LogHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
+              "RelativeToolTip": "util\\LogHelper.cs",
+              "ViewState": "AQIAADYAAAAAAAAAAAAQwFcAAABlAQAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-19T07:07:37.009Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "TaskHelper.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
+              "RelativeDocumentMoniker": "wms\\TaskHelper.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
+              "RelativeToolTip": "wms\\TaskHelper.cs",
+              "ViewState": "AQIAABcDAAAAAAAAAAArwDgDAAAsAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-07-19T06:18:06.875Z",
+              "EditorCaption": ""
             },
             {
               "$type": "Document",
@@ -140,87 +122,9 @@
               "RelativeDocumentMoniker": "process\\TaskProcess.cs",
               "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
               "RelativeToolTip": "process\\TaskProcess.cs",
-              "ViewState": "AgIAAGwHAAAAAAAAAADgv4IHAAA1AAAAAAAAAA==",
+              "ViewState": "AQIAAD0AAAAAAAAAAAAnwG4AAAAlAAAA",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T00:45:23.095Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "Monitor.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
-              "RelativeDocumentMoniker": "core\\Monitor.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs",
-              "RelativeToolTip": "core\\Monitor.cs",
-              "ViewState": "AgIAAKYAAAAAAAAAAAAkwL4AAAA9AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:11:55.478Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "WcsController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
-              "RelativeDocumentMoniker": "api\\WcsController.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
-              "RelativeToolTip": "api\\WcsController.cs",
-              "ViewState": "AgIAAEwAAAAAAAAAAAAkwFgAAAAmAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-30T05:56:36.418Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 8,
-              "Title": "TaskHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
-              "RelativeDocumentMoniker": "wms\\TaskHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs",
-              "RelativeToolTip": "wms\\TaskHelper.cs",
-              "ViewState": "AgIAACUAAAAAAAAAAIAywDkAAAAgAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:35:57.671Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "WmsController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
-              "RelativeDocumentMoniker": "api\\WmsController.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
-              "RelativeToolTip": "api\\WmsController.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-12T09:36:08.931Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 1,
-              "Title": "LocationHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
-              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
-              "RelativeToolTip": "wms\\LocationHelper.cs",
-              "ViewState": "AgIAACEBAAAAAAAAAAAtwKYBAAAlAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T09:13:15.283Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 10,
-              "Title": "WMSModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
-              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
-              "RelativeToolTip": "wms\\WMSModel.cs",
-              "ViewState": "AgIAALYBAAAAAAAAAADgv8gBAAAWAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-12T09:36:05.064Z",
+              "WhenOpened": "2025-07-19T06:17:33.794Z",
               "EditorCaption": ""
             },
             {
@@ -231,243 +135,98 @@
               "RelativeDocumentMoniker": "dispatch\\WcsTask.cs",
               "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
               "RelativeToolTip": "dispatch\\WcsTask.cs",
-              "ViewState": "AgIAAEoAAAAAAAAAAAAhwCQAAAAbAAAAAAAAAA==",
+              "ViewState": "AQIAAFsCAAAAAAAAAAAAAFsCAAA6AAAA",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T09:19:48.409Z",
+              "WhenOpened": "2025-07-19T05:57:16.784Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 11,
-              "Title": "ApiModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
-              "RelativeDocumentMoniker": "api\\ApiModel.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
-              "RelativeToolTip": "api\\ApiModel.cs",
-              "ViewState": "AgIAABIDAAAAAAAAAAAhwCgDAAAaAAAAAAAAAA==",
+              "DocumentIndex": 4,
+              "Title": "WcsController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
+              "RelativeDocumentMoniker": "api\\WcsController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WcsController.cs",
+              "RelativeToolTip": "api\\WcsController.cs",
+              "ViewState": "AQIAAAkAAAAAAAAAAADgvxwAAAAoAAAA",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T02:39:17.635Z",
+              "WhenOpened": "2025-07-19T05:57:10.112Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 9,
-              "Title": "config.json",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json",
-              "RelativeDocumentMoniker": "config\\config.json",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\config\\config.json",
-              "RelativeToolTip": "config\\config.json",
-              "ViewState": "AgIAAEsAAAAAAAAAAAAAAAgAAAApAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
-              "WhenOpened": "2025-05-13T02:21:47.086Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "MoboxController.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
-              "RelativeDocumentMoniker": "api\\MoboxController.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
-              "RelativeToolTip": "api\\MoboxController.cs",
-              "ViewState": "AgIAADEAAAAAAAAAAAAuwM0AAAAJAAAAAAAAAA==",
+              "DocumentIndex": 7,
+              "Title": "WMSModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
+              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
+              "RelativeToolTip": "wms\\WMSModel.cs",
+              "ViewState": "AQIAAPYCAAAAAAAAAAArwBQDAAAqAAAA",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-20T00:59:46.638Z",
+              "WhenOpened": "2025-06-13T11:06:05.595Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 3,
+              "DocumentIndex": 2,
               "Title": "TaskCore.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
               "RelativeDocumentMoniker": "core\\TaskCore.cs",
               "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
               "RelativeToolTip": "core\\TaskCore.cs",
-              "ViewState": "AgIAAIcAAAAAAAAAAAAhwJQAAAAoAAAAAAAAAA==",
+              "ViewState": "AQIAAF4AAAAAAAAAAAAAwHoAAAAoAAAA",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T01:45:08.835Z",
+              "WhenOpened": "2025-06-13T11:06:02.634Z",
               "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "WmsController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
+              "RelativeDocumentMoniker": "api\\WmsController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\WmsController.cs",
+              "RelativeToolTip": "api\\WmsController.cs",
+              "ViewState": "AQIAAAYAAAAAAAAAAADwvyAAAAAmAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-13T11:05:16.48Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 9,
+              "Title": "MoboxController.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
+              "RelativeDocumentMoniker": "api\\MoboxController.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
+              "RelativeToolTip": "api\\MoboxController.cs",
+              "ViewState": "AQIAAEMAAAAAAAAAAAAmwGoAAAAAAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-13T11:05:15.607Z"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 10,
+              "Title": "ApiModel.cs",
+              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
+              "RelativeDocumentMoniker": "api\\ApiModel.cs",
+              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\ApiModel.cs",
+              "RelativeToolTip": "api\\ApiModel.cs",
+              "ViewState": "AQIAAKYBAAAAAAAAAAAhwL8BAAAkAAAA",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-06-13T11:05:13.549Z"
             },
             {
               "$type": "Document",
               "DocumentIndex": 12,
-              "Title": "LogHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
-              "RelativeDocumentMoniker": "util\\LogHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\LogHelper.cs",
-              "RelativeToolTip": "util\\LogHelper.cs",
-              "ViewState": "AgIAADcAAAAAAAAAAAAnwFcAAABnAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-29T07:39:06.007Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 13,
-              "Title": "WMSHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSHelper.cs",
-              "RelativeDocumentMoniker": "wms\\WMSHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSHelper.cs",
-              "RelativeToolTip": "wms\\WMSHelper.cs",
-              "ViewState": "AgIAAA8AAAAAAAAAAAASwCMAAAAdAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-23T00:51:59.167Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 14,
-              "Title": "DeviceProcess.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
-              "RelativeDocumentMoniker": "process\\DeviceProcess.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\DeviceProcess.cs",
-              "RelativeToolTip": "process\\DeviceProcess.cs",
-              "ViewState": "AgIAAJAAAAAAAAAAAAAlwKQAAAB5AAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T09:22:54.115Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 15,
-              "Title": "ContainerHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
-              "RelativeDocumentMoniker": "wms\\ContainerHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
-              "RelativeToolTip": "wms\\ContainerHelper.cs",
-              "ViewState": "AgIAAC8AAAAAAAAAAAAlwDoAAAARAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-23T09:31:28.026Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 16,
-              "Title": "Settings.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
-              "RelativeDocumentMoniker": "util\\Settings.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\Settings.cs",
-              "RelativeToolTip": "util\\Settings.cs",
-              "ViewState": "AgIAAAYAAAAAAAAAAAAhwBwAAAAmAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-22T02:36:21.595Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 18,
-              "Title": "Startup.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
-              "RelativeDocumentMoniker": "api\\Startup.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\Startup.cs",
-              "RelativeToolTip": "api\\Startup.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAeAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-30T00:50:07.591Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 17,
               "Title": "AgvController.cs",
               "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
               "RelativeDocumentMoniker": "api\\AgvController.cs",
               "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\AgvController.cs",
               "RelativeToolTip": "api\\AgvController.cs",
-              "ViewState": "AgIAAAEAAAAAAAAAAAASwBoAAAAiAAAAAAAAAA==",
+              "ViewState": "AQIAABQAAAAAAAAAAAAAwAAAAAAAAAAA",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-13T03:17:31.542Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 19,
-              "Title": "WcsModel.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
-              "RelativeDocumentMoniker": "wms\\WcsModel.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
-              "RelativeToolTip": "wms\\WcsModel.cs",
-              "ViewState": "AgIAAGkAAAAAAAAAAAASwHEAAAAVAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T06:24:55.849Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 20,
-              "Title": "HttpHelper.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
-              "RelativeDocumentMoniker": "util\\HttpHelper.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
-              "RelativeToolTip": "util\\HttpHelper.cs",
-              "ViewState": "AgIAAKMAAAAAAAAAAAAhwK0AAAAWAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-24T08:21:19.702Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 21,
-              "Title": "Program.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
-              "RelativeDocumentMoniker": "Program.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\Program.cs",
-              "RelativeToolTip": "Program.cs",
-              "ViewState": "AgIAABAAAAAAAAAAAAAewF0AAAAqAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-14T08:30:12.949Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 22,
-              "Title": "GZRobot.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
-              "RelativeDocumentMoniker": "dispatch\\GZRobot.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\GZRobot.cs",
-              "RelativeToolTip": "dispatch\\GZRobot.cs",
-              "ViewState": "AgIAACoBAAAAAAAAAAArwEoBAAAZAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-12T05:54:01.617Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 23,
-              "Title": "NDCApi.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
-              "RelativeDocumentMoniker": "dispatch\\NDCApi.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\NDCApi.cs",
-              "RelativeToolTip": "dispatch\\NDCApi.cs",
-              "ViewState": "AgIAAJEAAAAAAAAAAIA0wKMAAAAkAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-27T06:31:46.399Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 24,
-              "Title": "TopSdk.dll",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll",
-              "RelativeDocumentMoniker": "util\\TopSdk.dll",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\TopSdk.dll",
-              "RelativeToolTip": "util\\TopSdk.dll",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001697|",
-              "WhenOpened": "2025-06-23T01:24:38.765Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 25,
-              "Title": "STAttribute.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\STAttribute.cs",
-              "RelativeDocumentMoniker": "util\\STAttribute.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\STAttribute.cs",
-              "RelativeToolTip": "util\\STAttribute.cs",
-              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-06-23T01:24:23.953Z"
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 26,
-              "Title": "DingTalk.cs",
-              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\DingTalk.cs",
-              "RelativeDocumentMoniker": "util\\DingTalk.cs",
-              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\DingTalk.cs",
-              "RelativeToolTip": "util\\DingTalk.cs",
-              "ViewState": "AgIAAFQBAAAAAAAAAAAswGsBAAAPAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-05-19T06:20:50.133Z"
+              "WhenOpened": "2025-06-13T11:04:05.322Z"
             }
           ]
         }
diff --git a/api/MoboxController.cs b/api/MoboxController.cs
index 7baf13f..0f5b344 100644
--- a/api/MoboxController.cs
+++ b/api/MoboxController.cs
@@ -61,7 +61,7 @@
             return result;
         }
 
-        internal static Result cancelTask1(cancleTaskParme model)
+        internal static Result cancelTask1(MoboxTaskBase model)
         {
             var result = new Result();
             LogHelper.Info("cancelTask1鍙栨秷浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(model), "鍙栨秷");
@@ -75,9 +75,9 @@
 
             try
             {
-                var task = TaskHelper.GetTaskByWorkNo(model.task_no, "agv");
+                var task = TaskHelper.GetTaskByWorkNo(model.TaskNo, "agv");
 
-                var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no, "wcs");
+                var wcsTask = TaskHelper.GetTaskByWorkNo(model.TaskNo, "wcs");
 
                 if (task != null)
                 {
@@ -141,8 +141,9 @@
                 else
                 {
                     result.errCode = 1;
-                    result.errMsg = $"{model.task_no}浠诲姟涓嶅瓨鍦�;
+                    result.errMsg = $"{model.TaskNo}浠诲姟涓嶅瓨鍦�;
                     result.success = false;
+                    return result;
                 }
 
                 if (wcsTask != null)
diff --git a/api/WcsController.cs b/api/WcsController.cs
index d0a90f8..e7a3f56 100644
--- a/api/WcsController.cs
+++ b/api/WcsController.cs
@@ -78,16 +78,30 @@
 
 
         /// <summary>
-        /// Wcs鏀捐揣鏈夎揣 闇�鏀归亾  鍙栬揣鏃犺揣 鍙栨秷浠诲姟
+        /// Wcs鏀捐揣鏈夎揣 闇�鏀归亾 
         /// </summary>
         /// <returns></returns>
         [HttpPost]
         [Route("api/ZcInChangeBit")]
         public WcsWarningReurn ZcInChangeBit(changeBitParme model)
         {
-            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣鎴栧彇璐ф棤璐у弬鏁帮細" + JsonConvert.SerializeObject(model), "鏀捐揣鏈夎揣");
+            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣鍙傛暟锛� + JsonConvert.SerializeObject(model), "鏀捐揣鏈夎揣");
             var res = WcsTask.ZcInChangeBit(model);
-            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣鎴栧彇璐ф棤璐ц繑鍥烇細" + JsonConvert.SerializeObject(res), "鏀捐揣鏈夎揣");
+            LogHelper.Info("ZcInChangeBit 鏀捐揣鏈夎揣杩斿洖锛� + JsonConvert.SerializeObject(res), "鏀捐揣鏈夎揣");
+            return res;
+        }
+
+        /// <summary>
+        /// Wcs鍙栬揣鏃犺揣 鍙栨秷浠诲姟
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("api/ZcOutChangeBit")]
+        public WcsWarningReurn ZcOutChangeBit(changeBitParme model)
+        {
+            LogHelper.Info("ZcOutChangeBit 鍙栬揣鏃犺揣鍙傛暟锛� + JsonConvert.SerializeObject(model), "鍙栬揣鏃犺揣");
+            var res = WcsTask.ZcOutChangeBit(model);
+            LogHelper.Info("ZcOutChangeBit 鍙栬揣鏃犺揣杩斿洖锛� + JsonConvert.SerializeObject(res), "鍙栬揣鏃犺揣");
             return res;
         }
 
diff --git a/core/Monitor.cs b/core/Monitor.cs
index fb5cd58..620b137 100644
--- a/core/Monitor.cs
+++ b/core/Monitor.cs
@@ -14,6 +14,7 @@
 using System.Threading;
 using System.Threading.Tasks;
 using System.Web.Services.Description;
+using Top.Api;
 using static HH.WCS.ZhongCeJinTan.api.ApiModel;
 
 namespace HH.WCS.ZhongCeJinTan.core
@@ -197,28 +198,59 @@
                                         LogHelper.Info($"浠诲姟{wmsTask.S_CODE}瀹屾垚锛屽垽鏂叆搴撲紭鍏堢骇", "鍏ュ簱浼樺厛绾�);
                                         TaskProcess.inPri(wmsTask);
                                         TaskHelper.End(wmsTask);
-                                       
                                         break;
                                     case 7:
                                         if (!LocationHelper.GetErroArea(wmsTask.S_END_AREA)) {
                                             TaskHelper.opMesTask(wmsTask, 3);
                                         }
+                                        TaskHelper.Fail(wmsTask);
+                                        TaskProcess.OperateStatus(wmsTask, 7);
+                                        
+                                        
+                                        WmsTaskAction ac4 = TaskHelper.GetActionRecord(wmsTask.S_CODE, "4");
+                                        //宸茬粡鍙栬揣瀹屾垚
+                                        if (ac4 != null)
+                                        { 
                                             
-                                        var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
+                                        }
+
+                                            var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
                                             if (wcsTask1 != null)
                                             {
-                                                //agv鎵ц閫氱煡 wcs鍙栨秷  
-                                                WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no.ToString());
                                                 if (wcsTask1.S_B_STATE.Trim() != "鍙栨秷" && wcsTask1.S_B_STATE.Trim() != "澶辫触" && wcsTask1.S_B_STATE.Trim() != "瀹屾垚")
                                                 {
                                                     TaskHelper.Fail(wcsTask1);
                                                     TaskProcess.OperateStatus(wcsTask1, 7);
-                                                }
+                                                    if (wmsTask.S_TYPE.Contains("鍑哄簱"))
+                                                    {
+                                                        WmsTaskAction ac1101 = TaskHelper.GetActionRecord(wmsTask.S_CODE, "1101");
+                                                        WmsTaskAction ac1102 = TaskHelper.GetActionRecord(wmsTask.S_CODE, "1102");
+                                                        if ((ac1101 != null))
+                                                        {
+                                                            if (ac1102 == null)
+                                                            {
+                                                                //agv鎵ц閫氱煡 wcs鍙栨秷  
+                                                                WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no.ToString());
+                                                            }
+                                                        }
+                                                    }
+                                                    else
+                                                    {
+                                                        WmsTaskAction ac1103 = TaskHelper.GetActionRecord(wmsTask.S_CODE, "1103");
+                                                        WmsTaskAction ac1104 = TaskHelper.GetActionRecord(wmsTask.S_CODE, "1104");
+                                                        if ((ac1103 != null))
+                                                        {
+                                                            if (ac1104 == null)
+                                                            {
+                                                                //agv鎵ц閫氱煡 wcs鍙栨秷  
+                                                                WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no.ToString());
+                                                            }
+                                                        }
+                                                    }
+                                                  }
                                             }
                                         
-
-                                        TaskHelper.Fail(wmsTask);
-                                        TaskProcess.OperateStatus(wmsTask, 7);
+                                       
                                         //鍏ュ簱鎴栬�鍥炲簱浠诲姟鍙栨秷鍒犻櫎鎵樼洏鐗╂枡
                                         if (wmsTask.S_TYPE.Contains("鍏ュ簱") || wmsTask.S_TYPE.Contains("鍥炲簱"))
                                         {
@@ -228,19 +260,32 @@
                                         }
                                         else {
                                             //鍑哄簱鍙栨秷鍒ゆ柇鎺ラ┏浣嶆槸鍚︽湁璐э紝鏈夎揣闇�瑙g粦
-                                            if (!WcsTask.WcsCvstate(wmsTask))
+                                            var wmsWork = TaskHelper.GetWmsWork(wmsTask.S_OP_CODE);
+                                            if (wmsWork != null)
                                             {
-                                                LogHelper.Info($"Wcs绔嬪簱鎺ラ┏浣嶆棤璐э紝瑙g粦璐т綅:{wmsTask.S_START_LOC}", "绔嬪簱");
-                                                TaskProcess.OperateStatus(wmsTask, 4);
-                                                ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
-                                                ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
+                                                if (!string.IsNullOrEmpty(wmsWork.CONNECTION))
+                                                {
+                                                    var agvTask = LocationHelper.GetConnectionTask(wmsWork.CONNECTION, "agv",wmsTask.T_CREATE);
+                                                    LogHelper.Info($"鍙栨秷浠诲姟{wmsTask.S_CODE}锛屽綋鍓嶆帴椹充綅{wmsWork.CONNECTION}锛岀涓�釜agv浠诲姟淇℃伅" + JsonConvert.SerializeObject(agvTask), "agv鍔ㄤ綔缂撳瓨");
+                                                    if (agvTask != null)
+                                                    {
+                                                        WmsTaskAction qh = TaskHelper.GetActionRecord(agvTask.S_CODE, "4");
+                                                        //宸茬粡鍙栬揣瀹屾垚
+                                                        if (qh != null)
+                                                        {
+                                                            if (!WcsTask.WcsCvstate(wmsTask))
+                                                            {
+                                                                LogHelper.Info($"Wcs绔嬪簱鎺ラ┏浣嶆棤璐э紝瑙g粦璐т綅:{wmsTask.S_START_LOC}", "绔嬪簱");
+                                                                TaskProcess.OperateStatus(wmsTask, 4);
+                                                                ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
+                                                                ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
+                                                            }
+                                                        }
+                                                    }
+                                                }
                                             }
                                         }
-                                        
-                                      
-                                       
                                         break;
-
                                 }
                                 TaskHelper.AddActionRecord(wmsTask.S_CODE, model.state, model.forklift_no, model.ext_data);
                             }
diff --git a/dispatch/WcsTask.cs b/dispatch/WcsTask.cs
index 5b084a7..7ee98e1 100644
--- a/dispatch/WcsTask.cs
+++ b/dispatch/WcsTask.cs
@@ -16,6 +16,7 @@
 using System.Web.Services.Description;
 using Top.Api;
 using static HH.WCS.ZhongCeJinTan.api.ApiModel;
+using static HH.WCS.ZhongCeJinTan.util.Settings;
 using static HH.WCS.ZhongCeJinTan.wms.WcsModel;
 
 namespace HH.WCS.ZhongCeJinTan.dispatch
@@ -1207,8 +1208,72 @@
             }
 
         }
+        
+        /// <summary>
+        /// 鍙栬揣鏃犺揣
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        public static WcsWarningReurn ZcOutChangeBit(changeBitParme model)
+        {
+            var result = new WcsWarningReurn();
+            var newDb = new SqlHelper<object>().GetInstance();
 
+            try
+            {
+                if (string.IsNullOrEmpty(model.taskNo))
+                {
+                    throw new Exception("浠诲姟鍙蜂负绌�);
+                }
 
+                var task = TaskHelper.GetTask(model.taskNo);
+                if (task == null)
+                {
+                    throw new Exception($"鏈煡璇㈠埌浠诲姟鍙穥model.taskNo}鐨勪换鍔�);
+                }
+
+                if (task.S_TYPE.Contains("鍑哄簱"))
+                {
+                    //鍙栬揣鏃犺揣
+                    LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栬揣鏃犺揣,鍙栨秷浠诲姟", "鍙栬揣鏃犺揣");
+                    if (WcsCancellTask(task))
+                    {
+                        LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栨秷浠诲姟鎴愬姛锛岃捣鐐箋task.S_START_LOC}璁句负寮傚父", "鍙栬揣鏃犺揣");
+                        TaskHelper.Fail(task);
+                        TaskProcess.OperateStatus(task, 7);
+                        LocationHelper.updateLocLock(task.S_START_LOC, 3, "鍏朵粬閿�);
+                        var agvTask = TaskHelper.GetTaskByWorkNo(task.S_OP_CODE, "agv");
+                        if (agvTask != null)
+                        {
+                            if (agvTask.S_B_STATE != "鏈墽琛�)
+                            {
+                                NDCApi.CancelOrder(agvTask.S_CODE.Trim());
+                            }
+                            TaskHelper.Fail(agvTask);
+                            TaskProcess.CacheBitCancelUpdate(agvTask);
+                        }
+                    }
+
+                }
+                else
+                {
+                    throw new Exception($"浠诲姟鍙穥model.taskNo},浠诲姟绫诲瀷{task.S_TYPE}");
+                }
+                result.msg = "Wcs鍙栬揣鏃犺揣澶勭悊鎴愬姛";
+                result.code = "0";
+                result.requestPk = model.requestPk;
+                return result;
+            }
+            catch (Exception ex)
+            {
+                newDb.RollbackTran();
+                result.msg = "Wcs鍙栬揣鏃犺揣寮傚父";
+                result.code = "1";
+                result.requestPk = model.requestPk;
+                LogHelper.Info("Wcs鍙栬揣鏃犺揣寮傚父" + ex.Message, "鍙栬揣鏃犺揣");
+                return result;
+            }
+        }
 
         /// <summary>
         /// 鏀捐揣鏈夎揣
@@ -1233,39 +1298,16 @@
                             throw new Exception($"鏈煡璇㈠埌浠诲姟鍙穥model.taskNo}鐨勪换鍔�);
                         }
 
-                    if (task.S_TYPE.Contains("鍑哄簱"))
-                    {
-                        //鍙栬揣鏃犺揣
-                        LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栬揣鏃犺揣,鍙栨秷浠诲姟", "鏀捐揣鏈夎揣");
-                        if (WcsCancellTask(task))
-                        {
-                            LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栨秷浠诲姟鎴愬姛锛岃捣鐐箋task.S_START_LOC}璁句负寮傚父", "鏀捐揣鏈夎揣");
-                            TaskHelper.Fail(task);
-                            TaskProcess.OperateStatus(task, 7);
-                            LocationHelper.updateLocLock(task.S_START_LOC, 3, "鍏朵粬閿�);
-                            var agvTask = TaskHelper.GetTaskByWorkNo(task.S_OP_CODE, "agv");
-                            if (agvTask != null)
-                            {
-                                if (agvTask.S_B_STATE!="鏈墽琛�)
-                                {
-                                    NDCApi.CancelOrder(agvTask.S_CODE.Trim());
-                                }
-                                TaskHelper.Fail(agvTask);
-                                TaskProcess.CacheBitCancelUpdate(agvTask);
-                            }
-                        }
-
-                    }
-                    else {
+                    if (!task.S_TYPE.Contains("鍑哄簱")) {
                         //鍗歌揣鏈夎揣
-                        if (task.S_B_STATE.Contains("瀹屾垚") || task.S_B_STATE.Contains("鍙栨秷") || task.S_B_STATE.Contains("澶辫触"))
+                        if (task.S_B_STATE == "瀹屾垚" || task.S_B_STATE.Contains("鍙栨秷") || task.S_B_STATE.Contains("澶辫触"))
                         {
                             throw new Exception($"浠诲姟鍙穥model.taskNo}锛屼换鍔$姸鎬侊細{task.S_B_STATE}锛屼笉鑳芥敼閬�);
                         }
 
                         var endLoc = LocationHelper.GetLocOne(task.S_END_LOC);
 
-                        var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0 && a.C_ENABLE == "Y").OrderBy(b => b.N_COL).First();
+                        var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROADWAY == endLoc.N_ROADWAY && a.N_COL != endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0 && a.C_ENABLE == "Y").OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).First();
 
                         LogHelper.Info($"Wcs鏀捐揣鏈夎揣瀵绘壘鏂扮粓鐐逛俊鎭� + JsonConvert.SerializeObject(end), "鏀捐揣鏈夎揣");
 
@@ -1282,17 +1324,19 @@
                             result.msg = end.S_CODE;
                             result.code = "0";
                             result.requestPk = model.requestPk;
+                            return result;
                         }
                         else
                         {
                             throw new Exception($"鏈煡璇㈠埌搴撳尯{endLoc.S_AREA_CODE}鏈夌鍚堢殑璐т綅");
                         }
+                    }else
+                        {
+                        throw new Exception($"浠诲姟鍙穥model.taskNo},浠诲姟绫诲瀷{task.S_TYPE}");
+
                     }
 
-                        result.msg = "Wcs鏀捐揣鏈夎揣/鍙栬揣鏃犺揣澶勭悊鎴愬姛";
-                        result.code = "0";
-                        result.requestPk = model.requestPk;
-                        return result;
+                   
                     }
                     catch (Exception ex)
                     {
@@ -1303,7 +1347,6 @@
                         LogHelper.Info("Wcs鏀捐揣鏈夎揣寮傚父" + ex.Message, "鏀捐揣鏈夎揣");
                     return result;
                     }
-                    return result;
              }
 
 
diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index c2088d3..89acc60 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -560,7 +560,7 @@
                         }
 
                         //鎺ラ┏浣嶄袱涓猘gv浠诲姟锛宎浠诲姟鍙栬揣瀹屾垚 鎺ㄩ�b浠诲姟
-                        var agvTask = LocationHelper.GetConnectionTask(wmsWork.CONNECTION,"agv");
+                        var agvTask = LocationHelper.GetConnectionTask(wmsWork.CONNECTION,"agv", mst.T_CREATE);
 
                         LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽綋鍓嶆帴椹充綅{wmsWork.CONNECTION}锛岀涓�釜agv浠诲姟淇℃伅"+JsonConvert.SerializeObject(agvTask), "NDC");
                         //if (agvTask==null)
@@ -990,105 +990,182 @@
                 return result;
             }
 
+            if (string.IsNullOrEmpty(model.task_no))
+            {
+                result.errMsg = "task_no涓簄ull";
+                result.errCode = 1;
+                result.success = false;
+                return result;
+            }
+
+
             try
             {
                 var task = TaskHelper.GetTaskByWorkNo(model.task_no, "agv");
 
                 var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no, "wcs");
 
-                if (task != null)
+                var work = TaskHelper.GetWmsWork(model.task_no);
+
+                if (work==null)
                 {
-                    LogHelper.Info($"cancelTask1鍙栨秷agv浠诲姟{task.S_CODE}锛�, "鍙栨秷");
-                    if (task.S_B_STATE.Trim() == "鏈墽琛�)
+                    result.errCode = 1;
+                    result.errMsg = $"{model.task_no}浣滀笟涓嶅瓨鍦紝涓嶅厑璁稿彇娑�;
+                    result.success = false;
+                    return result;
+                }
+
+                //浣滀笟娌℃湁鎺ラ┏浣嶏紝涓�浠诲姟鍙栨秷
+                if (string.IsNullOrEmpty(work.CONNECTION)) {
+                    if (task != null)
                     {
-                        //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
-                        TaskHelper.opMesTask(task, 3);
-                        TaskHelper.Fail(task);
-                        TaskProcess.CacheBitCancelUpdate(task);
-                        
-                        if (task.S_TYPE.Contains("鍏ュ簱") || task.S_TYPE.Contains("鍥炲簱"))
+                        if (task.S_TYPE.Contains("鍑哄簱"))
                         {
-                            ContainerHelper.delCntr(task.S_CNTR_CODE);
-                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
-
+                            
                         }
-                        result.errCode = 0;
-                        result.errMsg = "鍙栨秷鎴愬姛";
-                        result.success = true;
-                    }
-                    else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触" && task.S_B_STATE.Trim() != "瀹屾垚")
-                    {
-                        var db = new SqlHelper<object>().GetInstance();
-                        var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First();
+                        else {
+                            if (task.S_B_STATE.Trim() == "鏈墽琛�)
+                            {
+                                //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
+                                TaskHelper.opMesTask(task, 3);
+                                TaskHelper.Fail(task);
+                                TaskProcess.CacheBitCancelUpdate(task);
 
+                                ContainerHelper.delCntr(task.S_CNTR_CODE);
+                                ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                                
+                                result.errCode = 0;
+                                result.errMsg = "鍙栨秷鎴愬姛";
+                                result.success = true;
+                            }
+                            else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触" && task.S_B_STATE.Trim() != "瀹屾垚")
+                            {
+                                var db = new SqlHelper<object>().GetInstance();
+                                var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First();
 
-                        if (qhflag != null)
-                        {
-                            LogHelper.Info($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷");
-                            result.errCode = 1;
-                            result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷";
-                            result.success = false;
-                            return result;
+                                if (qhflag != null)
+                                {
+                                    LogHelper.Info($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷");
+                                    result.errCode = 1;
+                                    result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷";
+                                    result.success = false;
+                                    return result;
+                                }
+                                  ContainerHelper.delCntr(task.S_CNTR_CODE);
+                                  ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                                  ContainerHelper.delCntrLoc(task.S_CNTR_CODE);
+                                
+
+                                TaskHelper.opMesTask(task, 3);
+                                //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
+                                TaskHelper.Fail(task);
+
+                                NDCApi.CancelOrder(task.S_CODE.Trim());
+                                TaskProcess.CacheBitCancelUpdate(task);
+
+                                result.errCode = 0;
+                                result.errMsg = "鍙栨秷鎴愬姛";
+                                result.success = true;
+                            }
+                            else
+                            {
+                                result.errCode = 1;
+                                result.errMsg = "浠诲姟宸茬粡缁撴潫";
+                                result.success = false;
+                            }
                         }
-                        if (task.S_TYPE.Contains("鍏ュ簱") || task.S_TYPE.Contains("鍥炲簱"))
-                        {
-                            ContainerHelper.delCntr(task.S_CNTR_CODE);
-                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
-                            ContainerHelper.delCntrLoc(task.S_CNTR_CODE);
-                        }
-
-                        TaskHelper.opMesTask(task, 3);
-                        //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
-                        TaskHelper.Fail(task);
-
-                        NDCApi.CancelOrder(task.S_CODE.Trim());
-                        TaskProcess.CacheBitCancelUpdate(task);
-
-                        result.errCode = 0;
-                        result.errMsg = "鍙栨秷鎴愬姛";
-                        result.success = true;
+                        LogHelper.Info($"cancelTask1鍙栨秷agv浠诲姟{task.S_CODE}锛�, "鍙栨秷");
                     }
                     else
                     {
                         result.errCode = 1;
-                        result.errMsg = "浠诲姟宸茬粡缁撴潫";
+                        result.errMsg = $"{model.task_no},Agv浠诲姟涓嶅瓨鍦�;
                         result.success = false;
                     }
-                }
-                else
+                }else
                 {
-                    result.errCode = 1;
-                    result.errMsg = $"{model.task_no}浠诲姟涓嶅瓨鍦�;
-                    result.success = false;
-                }
+                    //浜屾浠诲姟鍙栨秷
 
-                if (wcsTask != null)
-                {
-                    LogHelper.Info($"cancelTask1鍙栨秷Wcs浠诲姟{wcsTask.S_CODE}", "鍙栨秷");
-                    if (wcsTask.S_B_STATE.Trim() == "鏈墽琛�)
+                    if (task.S_TYPE.Contains("鍑哄簱"))
                     {
-                        //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
-                        if (wcsTask.S_TYPE.Contains("鍏ュ簱") || wcsTask.S_TYPE.Contains("鍥炲簱"))
+                        if (wcsTask != null)
                         {
-                            ContainerHelper.delCntr(wcsTask.S_CNTR_CODE);
-                            ContainerHelper.delCntrItem(wcsTask.S_CNTR_CODE);
+                            LogHelper.Info($"cancelTask1鍙栨秷Wcs浠诲姟{wcsTask.S_CODE}", "鍙栨秷");
+                            if (wcsTask.S_B_STATE.Trim() == "鏈墽琛� && task.S_B_STATE.Trim() == "鏈墽琛�)
+                            {
+                                //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
+                                TaskHelper.opMesTask(task, 3);
+                                TaskHelper.Fail(task);
+                                TaskProcess.OperateStatus(task,7);
+                                TaskHelper.Fail(wcsTask);
+                                TaskProcess.OperateStatus(wcsTask, 7);
+                                result.errCode = 0;
+                                result.errMsg = "鍙栨秷鎴愬姛";
+                                result.success = true;
+                                return result;
+                            }
+                            else
+                            {
+                                LogHelper.Info($"璇ヤ换鍔wcsTask.S_CODE}宸茬粡鎺ㄩ�", "鍙栨秷");
+                                result.errCode = 1;
+                                result.errMsg = "浠诲姟宸茬粡鎺ㄩ�锛屼笉鍏佽鍙栨秷";
+                                result.success = false;
+                                return result;
+                            }
                         }
-                        TaskHelper.Fail(wcsTask);
-                        TaskProcess.OperateStatus(wcsTask, 7);
-                        result.errCode = 0;
-                        result.errMsg = "鍙栨秷鎴愬姛";
-                        result.success = true;
-                        return result;
                     }
-                    else 
+                    else
                     {
-                            LogHelper.Info($"璇ヤ换鍔wcsTask.S_CODE}宸茬粡鎺ㄩ�", "鍙栨秷");
+                        if (task.S_B_STATE.Trim() == "鏈墽琛�)
+                        {
+                            //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
+                            TaskHelper.opMesTask(task, 3);
+                            TaskHelper.Fail(task);
+                            TaskProcess.CacheBitCancelUpdate(task);
+
+                            ContainerHelper.delCntr(task.S_CNTR_CODE);
+                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+
+                            result.errCode = 0;
+                            result.errMsg = "鍙栨秷鎴愬姛";
+                            result.success = true;
+                        }
+                        else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触" && task.S_B_STATE.Trim() != "瀹屾垚")
+                        {
+                            var db = new SqlHelper<object>().GetInstance();
+                            var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First();
+
+                            if (qhflag != null)
+                            {
+                                LogHelper.Info($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷");
+                                result.errCode = 1;
+                                result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷";
+                                result.success = false;
+                                return result;
+                            }
+                            ContainerHelper.delCntr(task.S_CNTR_CODE);
+                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                            ContainerHelper.delCntrLoc(task.S_CNTR_CODE);
+
+
+                            TaskHelper.opMesTask(task, 3);
+                            //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
+                            TaskHelper.Fail(task);
+
+                            NDCApi.CancelOrder(task.S_CODE.Trim());
+                            TaskProcess.CacheBitCancelUpdate(task);
+
+                            result.errCode = 0;
+                            result.errMsg = "鍙栨秷鎴愬姛";
+                            result.success = true;
+                        }
+                        else
+                        {
                             result.errCode = 1;
-                            result.errMsg = "浠诲姟宸茬粡鎺ㄩ�锛屼笉鍏佽鍙栨秷";
+                            result.errMsg = "浠诲姟宸茬粡缁撴潫";
                             result.success = false;
-                            return result;
-                       
-                    }
+                        }
+                    }      
                 }
             }
             catch (Exception ex)
@@ -1726,6 +1803,12 @@
                     throw new Exception("缂哄皯鍙傛暟task_no");
                 }
 
+                var work = TaskHelper.GetWmsWork(model.task_no);
+                if (work != null)
+                {
+                    throw new Exception($"浠诲姟{model.task_no}宸茬粡鍒涘缓浣滀笟锛岃鍕块噸澶嶇敵璇�);
+                }
+
 
                 //var wmsWork = TaskHelper.GetTaskByCntrCode(model.TOOLS_NO);
 
@@ -1843,112 +1926,112 @@
                     {
 
                         //姝e紡浠g爜锛岃皟鐢ㄦ帴鍙e鎵惧彲鐢ㄦ帴椹充綅
-                        //var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
-                        //var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList);
-                        //if (usableConnectionList != null && usableConnectionList.code == "0")
-                        //{
-                        //    var balanceConnectionList = LocationHelper.GetConnectionListByst(usableConnectionList.available);
-                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍙敤鎺ラ┏浣� + JsonConvert.SerializeObject(balanceConnectionList), "Mes浠诲姟涓嬪彂");
-
-                        //    if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2")
-                        //    {
-                        //        //婊℃墭鍏�-                        //        balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
-
-                        //        if (TOOLSTYPE == "25" || TOOLSTYPE == "35") {
-                        //            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
-                        //            balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO);
-                        //        }
-
-
-
-                        //    }
-                        //    else if (workFlow.FLOWCODE == "3")
-                        //    {
-                        //        //绌烘墭鍏ョ珛搴撳尯
-                        //        cntrCount = 0;
-                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
-                        //        balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
-                        //    }
-
-                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘缁堢偣鏁伴噺{balanceLocList.Count}", "Mes浠诲姟涓嬪彂");
-
-                        //    foreach (var item in balanceLocList)
-                        //    {
-                        //        if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM == 0)
-                        //        {
-                        //           // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂item淇℃伅" + JsonConvert.SerializeObject(item), "Mes浠诲姟涓嬪彂");
-                        //            foreach (var item1 in balanceConnectionList)
-                        //            {
-                        //                if (item1.CONNEC_ROADWAY == item.N_ROADWAY)
-                        //                {
-                        //                    connection = item1.S_CODE;
-                        //                    connectionArea = item1.S_AREA_Name;
-                        //                    end = item;
-                        //                    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂");
-                        //                    break;
-                        //                }
-                        //            }
-                        //            if (end!=null)
-                        //            {
-                        //                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂");
-                        //                break;
-                        //            }
-                        //        }
-                        //    }
-                        //    if (connection == "")
-                        //    {
-                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
-                        //        throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅");
-                        //    }
-                        //}
-                        //else
-                        //{
-                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂");
-                        //    throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�);
-                        //}
-
-
-                        if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2" || workFlow.FLOWCODE == "5" || workFlow.FLOWCODE == "8" || workFlow.FLOWCODE == "11")
+                        var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
+                        var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList);
+                        if (usableConnectionList != null && usableConnectionList.code == "0")
                         {
-                            //婊℃墭鍏�+                            var balanceConnectionList = LocationHelper.GetConnectionListByst(usableConnectionList.available);
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍙敤鎺ラ┏浣� + JsonConvert.SerializeObject(balanceConnectionList), "Mes浠诲姟涓嬪彂");
 
-                            if (TOOLSTYPE == "25" || TOOLSTYPE == "35")
+                            if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2" || workFlow.FLOWCODE == "5" || workFlow.FLOWCODE == "8" || workFlow.FLOWCODE == "11")
                             {
-                                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
-                                end = LocationHelper.FindBalanceEndcolByLocListItem(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no, model.PROD_NO);
+                                //婊℃墭鍏�+                                if (TOOLSTYPE == "25" || TOOLSTYPE == "35")
+                                {
+                                    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
+                                    balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO);
+                                }
+                                else {
+                                    balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
+                                }
 
                             }
-                            else {
-                                end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
+                            else if (workFlow.FLOWCODE == "3" || workFlow.FLOWCODE == "10")
+                            {
+                                //绌烘墭鍏ョ珛搴撳尯
+                                cntrCount = 0;
+                                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
+                                balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
                             }
 
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘缁堢偣鏁伴噺{balanceLocList.Count}", "Mes浠诲姟涓嬪彂");
+
+                            foreach (var item in balanceLocList)
+                            {
+                                if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM == 0)
+                                {
+                                    // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂item淇℃伅" + JsonConvert.SerializeObject(item), "Mes浠诲姟涓嬪彂");
+                                    foreach (var item1 in balanceConnectionList)
+                                    {
+                                        if (item1.CONNEC_ROADWAY == item.N_ROADWAY)
+                                        {
+                                            connection = item1.S_CODE;
+                                            connectionArea = item1.S_AREA_Name;
+                                            end = item;
+                                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂");
+                                            break;
+                                        }
+                                    }
+                                    if (end != null)
+                                    {
+                                        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂");
+                                        break;
+                                    }
+                                }
+                            }
+                            if (connection == "")
+                            {
+                                   LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐瑰贩閬撴垨鎺ラ┏浣嶄笉鍙敤", "Mes浠诲姟涓嬪彂");
+                                   throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�宸烽亾鎴栨帴椹充綅涓嶅彲鐢�);
+                            }
                         }
-                        else if (workFlow.FLOWCODE == "3" || workFlow.FLOWCODE == "10")
+                        else
                         {
-                            //绌烘墭鍏ョ珛搴撳尯
-                            cntrCount = 0;
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
-                            end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
-                        }
-
-                        if (end == null)
-                        {
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐瑰贩閬撴垨鎺ラ┏浣嶄笉鍙敤", "Mes浠诲姟涓嬪彂");
-                            throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�宸烽亾鎴栨帴椹充綅涓嶅彲鐢�);
-                        }
-
-                        var jb = LocationHelper.GetConnectionByEnd(workFlow.CONNECTION, end.N_ROADWAY);
-
-                        if (jb==null)
-                        {
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
-                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅");
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂");
+                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�);
                         }
 
 
-                        connection = jb.S_CODE;
-                        connectionArea = jb.S_AREA_Name;
+                        //if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2" || workFlow.FLOWCODE == "5" || workFlow.FLOWCODE == "8" || workFlow.FLOWCODE == "11")
+                        //{
+                        //    //婊℃墭鍏�+
+                        //    if (TOOLSTYPE == "25" || TOOLSTYPE == "35")
+                        //    {
+                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
+                        //        end = LocationHelper.FindBalanceEndcolByLocListItem(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no, model.PROD_NO);
+
+                        //    }
+                        //    else {
+                        //        end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
+                        //    }
+
+                        //}
+                        //else if (workFlow.FLOWCODE == "3" || workFlow.FLOWCODE == "10")
+                        //{
+                        //    //绌烘墭鍏ョ珛搴撳尯
+                        //    cntrCount = 0;
+                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
+                        //    end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
+                        //}
+
+                        //if (end == null)
+                        //{
+                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐瑰贩閬撴垨鎺ラ┏浣嶄笉鍙敤", "Mes浠诲姟涓嬪彂");
+                        //    throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�宸烽亾鎴栨帴椹充綅涓嶅彲鐢�);
+                        //}
+
+                        //var jb = LocationHelper.GetConnectionByEnd(workFlow.CONNECTION, end.N_ROADWAY);
+
+                        //if (jb==null)
+                        //{
+                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
+                        //    throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅");
+                        //}
+
+
+                        //connection = jb.S_CODE;
+                        //connectionArea = jb.S_AREA_Name;
 
 
                     }
diff --git a/util/LogHelper.cs b/util/LogHelper.cs
index 6a019cd..8cd130c 100644
--- a/util/LogHelper.cs
+++ b/util/LogHelper.cs
@@ -85,7 +85,7 @@
         /// 閫氳繃閰嶇疆鏂囦欢閰嶇疆鏃ュ織
         /// </summary>
         static LogFactory() {
-            var loggerNames = new List<string>() { "ModBus", "API", "HosttoagvTask", "浠诲姟","寮哄埗瀹屾垚","鐐瑰埌鐐�,"鍙栨秷", "NDC", "鐗╂枡缁戝畾瑙g粦", "淇敼鐗╂枡", "绔嬪簱", "鎶ヨ涓婃姤", "Mes浠诲姟涓嬪彂", "鎺ラ┏浣�, "Wcs浠诲姟鎵ц閫氱煡", "绔嬪簱涓嬪彂浠诲姟", "绔嬪簱鍙栨秷浠诲姟", "宸烽亾鍙敤涓婃姤", "閫氱煡纭", "agv鎵ц閫氱煡", "瀹夊叏浜や簰", "鏀捐揣鏈夎揣", "鑳庨潰浜や簰", "鏀归亾瀹夊叏浜や簰", "涓婁笅鏋惰褰�, "Wcs涓嬪彂浠诲姟", "闂ㄤ氦浜�, "HosttoagvCar", "閽夐拤閫氱煡", "绌烘墭鍑哄簱", "鍏ュ簱浼樺厛绾�, "agv鍔ㄤ綔缂撳瓨", "鍥炴姤Mes浠诲姟" };
+            var loggerNames = new List<string>() { "ModBus", "API", "HosttoagvTask", "浠诲姟","寮哄埗瀹屾垚","鐐瑰埌鐐�,"鍙栨秷", "NDC", "鐗╂枡缁戝畾瑙g粦", "淇敼鐗╂枡", "绔嬪簱", "鎶ヨ涓婃姤", "Mes浠诲姟涓嬪彂", "鎺ラ┏浣�, "Wcs浠诲姟鎵ц閫氱煡", "绔嬪簱涓嬪彂浠诲姟", "绔嬪簱鍙栨秷浠诲姟", "宸烽亾鍙敤涓婃姤", "閫氱煡纭", "agv鎵ц閫氱煡", "瀹夊叏浜や簰", "鏀捐揣鏈夎揣", "鑳庨潰浜や簰", "鏀归亾瀹夊叏浜や簰", "涓婁笅鏋惰褰�, "Wcs涓嬪彂浠诲姟", "闂ㄤ氦浜�, "HosttoagvCar", "閽夐拤閫氱煡", "绌烘墭鍑哄簱", "鍏ュ簱浼樺厛绾�, "agv鍔ㄤ綔缂撳瓨", "鍥炴姤Mes浠诲姟", "鍙栬揣鏃犺揣" };
             LogManager.Configuration = DefaultConfig(loggerNames);
         }
         public static ILogger CreateLogger(string name) {
diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs
index 8e4ee1b..9dbae35 100644
--- a/wms/LocationHelper.cs
+++ b/wms/LocationHelper.cs
@@ -105,6 +105,19 @@
             return result;
         }
 
+        internal static List<string> GetConnectionListNoYN(string S_AREA_CODE)
+        {
+            var db = new SqlHelper<object>().GetInstance();
+            var ConnectionList = db.Queryable<Location>().Where(s => s.S_AREA_CODE == S_AREA_CODE ).OrderBy(a => a.N_ROW).OrderBy(a => a.N_COL).ToList();
+            List<string> result = new List<string>();
+            foreach (var item in ConnectionList)
+            {
+                result.Add(item.S_CODE);
+            }
+            return result;
+        }
+
+
         /// <summary>
         /// 鑾峰彇璐т綅淇℃伅,鍙傛暟搴撳尯缂栧彿
         /// </summary>
@@ -163,7 +176,17 @@
             var db = new SqlHelper<object>().GetInstance();
             
           return db.Queryable<WMSTask>().Where(a => ( a.S_START_LOC.Contains(jbLoc)&& a.S_SCHEDULE_TYPE.Contains(type)  && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷" && a.S_B_STATE != "澶辫触" && a.S_B_STATE != "宸插畬鎴� && a.S_B_STATE != "鏈墽琛�)).OrderBy(b=>b.T_CREATE).First();
-        
+        }
+
+        /// <summary>
+        /// 杩斿洖鍑哄簱agv浠诲姟
+        /// </summary>
+        internal static WMSTask GetConnectionTask(string jbLoc, string type,DateTime time)
+        {
+            var db = new SqlHelper<object>().GetInstance();
+
+            return db.Queryable<WMSTask>().Where(a => (a.S_START_LOC.Contains(jbLoc) && a.S_SCHEDULE_TYPE.Contains(type) && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷" && a.S_B_STATE != "澶辫触" && a.S_B_STATE != "宸插畬鎴� && a.S_B_STATE != "鏈墽琛�&&a.T_CREATE<time)).OrderBy(b => b.T_CREATE).First();
+
         }
 
         /// <summary>
@@ -325,8 +348,13 @@
                 //鑾峰彇string鎺ラ┏浣嶉泦鍚�                 var connectionList = LocationHelper.GetConnectionList(CONNECTION);
 
+
+                var connectionListNoYN = LocationHelper.GetConnectionListNoYN(CONNECTION); 
+
                 //涓嶅彲鐢ㄦ帴椹充綅闆嗗悎
-                var flaseConnectionList = LocationHelper.GetConnectionListByst(connectionList);
+                var flaseConnectionList = LocationHelper.GetConnectionListByst(connectionListNoYN);
+
+
 
                 List<Location> jblist = new List<Location>();
 
@@ -341,7 +369,7 @@
                     List<Location> difference = flaseConnectionList
     .Where(loc1 => !balanceConnectionList.Any(loc2 => loc2.S_CODE == loc1.S_CODE))
     .ToList();
-
+                    
                     jblist = difference;
 
 
@@ -404,8 +432,13 @@
                     {
                         if (rowList.Count(a => a.N_ROADWAY == item2.CONNEC_ROADWAY) > 0)
                         {
-                            flag2 = true;
-                            break;
+                            var ConnectionY = db.Queryable<Location>().Where(s => s.S_AREA_CODE == CONNECTION && s.C_ENABLE == "Y" && s.CONNEC_ROADWAY == item2.CONNEC_ROADWAY).First();
+                            if (ConnectionY == null)
+                            {
+                                flag2 = true;
+                                break;
+                            }
+                            
                         }
                     }
 
@@ -463,8 +496,10 @@
                 //鑾峰彇string鎺ラ┏浣嶉泦鍚�                 var connectionList = LocationHelper.GetConnectionList(CONNECTION);
 
+                var connectionListNoYN = LocationHelper.GetConnectionListNoYN(CONNECTION);
+
                 //涓嶅彲鐢ㄦ帴椹充綅闆嗗悎
-                var flaseConnectionList = LocationHelper.GetConnectionListByst(connectionList);
+                var flaseConnectionList = LocationHelper.GetConnectionListByst(connectionListNoYN);
 
                 List<Location> jblist = new List<Location>();
 
@@ -539,8 +574,12 @@
                     {
                         if (rowList.Count(a => a.N_ROADWAY == item2.CONNEC_ROADWAY) > 0)
                         {
-                            flag2 = true;
-                            break;
+                            var ConnectionY = db.Queryable<Location>().Where(s => s.S_AREA_CODE == CONNECTION && s.C_ENABLE == "Y" && s.CONNEC_ROADWAY == item2.CONNEC_ROADWAY).First();
+                            if (ConnectionY == null)
+                            {
+                                flag2 = true;
+                                break;
+                            }
                         }
                     }
 
@@ -1265,10 +1304,6 @@
 
                 var balanceConnectionList = LocationHelper.GetConnectionListByst(connectionList);
 
-
-                
-
-                
 
                 LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鎺掗櫎涓嶅彲鐢ㄥ贩閬撳紑濮�, "Mes浠诲姟涓嬪彂");
                 //浣滀笟娴佺▼鐨勫贩閬�diff --git a/wms/TaskHelper.cs b/wms/TaskHelper.cs
index 68ee6f2..9bfeac9 100644
--- a/wms/TaskHelper.cs
+++ b/wms/TaskHelper.cs
@@ -65,7 +65,7 @@
 
         internal static WmsWork GetWmsWork(string no) {
             var db = new SqlHelper<WmsWork>().GetInstance();
-            return db.Queryable<WmsWork>().Where(it => it.S_CODE == no).First();
+            return db.Queryable<WmsWork>().Where(it => it.S_CODE == no).OrderByDescending(b=>b.T_CREATE).First();
         }
       
 

--
Gitblit v1.9.1