海波 张
7 天以前 b67787b031e357c60565d3e1aa8b829706e520e2
Mes接口修改
8个文件已修改
1056 ■■■■■ 已修改文件
.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json 230 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json 252 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/ApiModel.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/WmsController.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
core/Monitor.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dispatch/WcsTask.cs 304 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
process/TaskProcess.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wms/TaskHelper.cs 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.backup.json
@@ -3,8 +3,16 @@
  "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\\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\\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\\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\\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}",
@@ -15,24 +23,24 @@
      "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\\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\\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\\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\\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\\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\\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\\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\\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\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.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}",
@@ -63,16 +71,8 @@
      "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\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.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\\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\\util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -118,7 +118,7 @@
      "DocumentGroups": [
        {
          "DockedHeight": 387,
          "SelectedChildIndex": 2,
          "SelectedChildIndex": 12,
          "Children": [
            {
              "$type": "Bookmark",
@@ -126,127 +126,80 @@
            },
            {
              "$type": "Bookmark",
              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
            },
            {
              "$type": "Bookmark",
              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "WcsTask.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
              "RelativeDocumentMoniker": "dispatch\\WcsTask.cs",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs*",
              "RelativeToolTip": "dispatch\\WcsTask.cs*",
              "ViewState": "AgIAAOgDAAAAAAAAAAAIwAgEAAAuAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:19:48.409Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "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": "AgIAADEAAAAAAAAAAADgv08AAAAqAAAAAAAAAA==",
              "ViewState": "AgIAADAAAAAAAAAAAAAYwE8AAAAmAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-12T09:36:08.931Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "DocumentIndex": 1,
              "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": "AgIAAD0AAAAAAAAAAAAuwBwAAAAmAAAAAAAAAA==",
              "ViewState": "AgIAAAUAAAAAAAAAAAAcwBwAAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-06-30T05:56:36.418Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "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": "AgIAADcAAAAAAAAAAAAnwFcAAACwAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-29T07:39:06.007Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "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": 8,
              "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T03:17:31.542Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 7,
              "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": "AgIAAAoAAAAAAAAAAAAlwC0AAAAqAAAAAAAAAA==",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\api\\MoboxController.cs",
              "RelativeToolTip": "api\\MoboxController.cs",
              "ViewState": "AgIAAEQAAAAAAAAAAADgv28AAAAZAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-20T00:59:46.638Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "DocumentIndex": 6,
              "Title": "TaskProcess.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
              "RelativeDocumentMoniker": "process\\TaskProcess.cs",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
              "RelativeToolTip": "process\\TaskProcess.cs",
              "ViewState": "AgIAAM0DAAAAAAAAAAAIwOwDAAA/AAAAAAAAAA==",
              "ViewState": "AgIAAM4DAAAAAAAAAADgv+QDAAAjAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T00:45:23.095Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "DocumentIndex": 4,
              "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": "AgIAAAkDAAAAAAAAAADwvxEDAAAVAAAAAAAAAA==",
              "ViewState": "AgIAABsDAAAAAAAAAAAhwDEDAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:35:57.671Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "DocumentIndex": 8,
              "Title": "TaskCore.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
              "RelativeDocumentMoniker": "core\\TaskCore.cs",
@@ -259,20 +212,20 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 3,
              "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": "AgIAAKYAAAAAAAAAAAAkwMYAAABBAAAAAAAAAA==",
              "ViewState": "AgIAALQAAAAAAAAAAADgv8MAAAArAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:11:55.478Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "DocumentIndex": 14,
              "Title": "ContainerHelper.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
              "RelativeDocumentMoniker": "wms\\ContainerHelper.cs",
@@ -284,7 +237,82 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "DocumentIndex": 9,
              "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": "AgIAAPQBAAAAAAAAAAAEwAcCAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:39:17.635Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "WcsTask.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
              "RelativeDocumentMoniker": "dispatch\\WcsTask.cs",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs*",
              "RelativeToolTip": "dispatch\\WcsTask.cs*",
              "ViewState": "AgIAAMICAAAAAAAAAAAhwN4CAABbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:19:48.409Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "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": 5,
              "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": "AgIAAJABAAAAAAAAAAAhwHkBAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:22:54.115Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T03:17:31.542Z"
            },
            {
              "$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": "AgIAADcAAAAAAAAAAAAnwFcAAACwAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-29T07:39:06.007Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "WcsModel.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
              "RelativeDocumentMoniker": "wms\\WcsModel.cs",
@@ -296,7 +324,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "DocumentIndex": 13,
              "Title": "WMSModel.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
@@ -308,7 +336,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "DocumentIndex": 15,
              "Title": "LocationHelper.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
@@ -320,19 +348,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "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": "AgIAALEDAAAAAAAAAAASwLsDAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:39:17.635Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "DocumentIndex": 17,
              "Title": "HttpHelper.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
              "RelativeDocumentMoniker": "util\\HttpHelper.cs",
@@ -341,18 +357,6 @@
              "ViewState": "AgIAAKMAAAAAAAAAAAAhwK0AAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-06-24T08:21:19.702Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "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": "AgIAAJABAAAAAAAAAAAhwHkBAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:22:54.115Z"
            },
            {
              "$type": "Document",
.vs/HH.WCS.ZhongCeJinTan/v17/DocumentLayout.json
@@ -3,36 +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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\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\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.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}",
@@ -63,16 +71,8 @@
      "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\\api\\apimodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8E589C0D-7D65-474D-8CED-E34E081926A1}|HH.WCS.ZhongCeJinTan.csproj|solutionrelative:api\\apimodel.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\\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\\util\\settings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -118,7 +118,7 @@
      "DocumentGroups": [
        {
          "DockedHeight": 387,
          "SelectedChildIndex": 4,
          "SelectedChildIndex": 7,
          "Children": [
            {
              "$type": "Bookmark",
@@ -126,127 +126,80 @@
            },
            {
              "$type": "Bookmark",
              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
            },
            {
              "$type": "Bookmark",
              "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "WcsTask.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
              "RelativeDocumentMoniker": "dispatch\\WcsTask.cs",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
              "RelativeToolTip": "dispatch\\WcsTask.cs",
              "ViewState": "AgIAAPIEAAAAAAAAAAAIwAoFAAAqAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:19:48.409Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "DocumentIndex": 4,
              "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": "AgIAADEAAAAAAAAAAADgv0kAAAAWAAAAAAAAAA==",
              "ViewState": "AgIAADAAAAAAAAAAAAAYwE8AAAAmAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-12T09:36:08.931Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "DocumentIndex": 3,
              "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": "AgIAACwAAAAAAAAAAAAqwEkAAAAmAAAAAAAAAA==",
              "ViewState": "AgIAAAUAAAAAAAAAAAAcwBwAAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-06-30T05:56:36.418Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "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": "AgIAADcAAAAAAAAAAAAnwFcAAACwAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-29T07:39:06.007Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "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": 8,
              "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T03:17:31.542Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "DocumentIndex": 7,
              "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": "AgIAAAQAAAAAAAAAAAAlwCYAAAAAAAAAAAAAAA==",
              "ViewState": "AgIAAEQAAAAAAAAAAADgv28AAAAZAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-20T00:59:46.638Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "DocumentIndex": 6,
              "Title": "TaskProcess.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
              "RelativeDocumentMoniker": "process\\TaskProcess.cs",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\process\\TaskProcess.cs",
              "RelativeToolTip": "process\\TaskProcess.cs",
              "ViewState": "AgIAAM0DAAAAAAAAAAAIwOwDAAA/AAAAAAAAAA==",
              "ViewState": "AgIAAM4DAAAAAAAAAADgv+QDAAAjAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T00:45:23.095Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 0,
              "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": "AgIAAD8CAAAAAAAAAAAuwE0CAAA6AAAAAAAAAA==",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\TaskHelper.cs*",
              "RelativeToolTip": "wms\\TaskHelper.cs*",
              "ViewState": "AgIAAJMBAAAAAAAAAAAhwKsBAAAnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:35:57.671Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "DocumentIndex": 8,
              "Title": "TaskCore.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\TaskCore.cs",
              "RelativeDocumentMoniker": "core\\TaskCore.cs",
@@ -259,20 +212,20 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "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": "AgIAALsAAAAAAAAAAAAmwN0AAAAoAAAAAAAAAA==",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\core\\Monitor.cs*",
              "RelativeToolTip": "core\\Monitor.cs*",
              "ViewState": "AgIAAIkAAAAAAAAAAADgv5wAAAA4AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:11:55.478Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "DocumentIndex": 14,
              "Title": "ContainerHelper.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\ContainerHelper.cs",
              "RelativeDocumentMoniker": "wms\\ContainerHelper.cs",
@@ -284,7 +237,82 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "DocumentIndex": 9,
              "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": "AgIAAPQBAAAAAAAAAAAEwAcCAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:39:17.635Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "WcsTask.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
              "RelativeDocumentMoniker": "dispatch\\WcsTask.cs",
              "ToolTip": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\dispatch\\WcsTask.cs",
              "RelativeToolTip": "dispatch\\WcsTask.cs",
              "ViewState": "AgIAAMUCAAAAAAAAAAAhwNwCAAA0AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:19:48.409Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "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": 5,
              "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": "AgIAAJABAAAAAAAAAAAhwHkBAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:22:54.115Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T03:17:31.542Z"
            },
            {
              "$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": "AgIAADcAAAAAAAAAAAAnwFcAAACwAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-29T07:39:06.007Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "WcsModel.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WcsModel.cs",
              "RelativeDocumentMoniker": "wms\\WcsModel.cs",
@@ -296,7 +324,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "DocumentIndex": 13,
              "Title": "WMSModel.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\WMSModel.cs",
              "RelativeDocumentMoniker": "wms\\WMSModel.cs",
@@ -308,7 +336,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "DocumentIndex": 15,
              "Title": "LocationHelper.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\wms\\LocationHelper.cs",
              "RelativeDocumentMoniker": "wms\\LocationHelper.cs",
@@ -320,19 +348,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "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": "AgIAALEDAAAAAAAAAAASwLsDAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-14T02:39:17.635Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "DocumentIndex": 17,
              "Title": "HttpHelper.cs",
              "DocumentMoniker": "C:\\Users\\29562\\source\\repos\\HH-0129_ZhongCeJinTan\\util\\HttpHelper.cs",
              "RelativeDocumentMoniker": "util\\HttpHelper.cs",
@@ -341,18 +357,6 @@
              "ViewState": "AgIAAKMAAAAAAAAAAAAhwK0AAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-06-24T08:21:19.702Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "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": "AgIAAJABAAAAAAAAAAAhwHkBAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-13T09:22:54.115Z"
            },
            {
              "$type": "Document",
api/ApiModel.cs
@@ -163,6 +163,58 @@
            public int errCode { get; set; }
        }
        /// <summary>
        /// 查询库位记录接口返回
        /// </summary>
        public class LocationRecordsResult
        {
            /// <summary>
            /// 错误说明,当success为False时,errCode有值
            /// </summary>
            public string Msg { get; set; }
            /// <summary>
            /// 接口调用结果 true成功 false失败
            /// </summary>
            public bool Success { get; set; }
            /// <summary>
            /// 接口反馈码 无错误为0
            /// </summary>
            public int Code { get; set; }
            public List <LocationRecord> Data { get; set; }
        }
        public class LocationRecord
        {
            /// <summary>
            /// 操作类型 1入库 2出库
            /// </summary>
            public string Task_type { get; set; }
            /// <summary>
            /// 周转卡号
            /// </summary>
            public string TurnCardNum { get; set; }
            /// <summary>
            /// 工装编号
            /// </summary>
            public string TOOLS_NO { get; set; }
            /// <summary>
            /// 起点库区编号
            /// </summary>
            public string Location_From { get; set; }
            /// <summary>
            /// 起点货位编码
            /// </summary>
            public string Location_FromNo { get; set; }
            /// <summary>
            /// 目的库区编号
            /// </summary>
            public string Location_To { get; set; }
            /// <summary>
            /// 目的货位编码
            /// </summary>
            public string Location_ToNo { get; set; }
        }
        public class zcResult
        {
@@ -400,6 +452,22 @@
            public string task_no { get; set; }
        }
        /// <summary>
        /// 库位操作记录参数
        /// </summary>
        public class LocationRecordsParme
        {
            /// <summary>
            /// 操作开始时间
            /// </summary>
            public DateTime operatestarttime { get; set; }
            /// <summary>
            /// 操作结束时间
            /// </summary>
            public DateTime operateendtime { get; set; }
        }
        /// <summary>
        /// 修改物料参数
        /// </summary>
api/WmsController.cs
@@ -130,18 +130,19 @@
        /// 库位操作记录接口
        /// </summary>
        /// <returns></returns>
        //[HttpPost]
        //public Result LocationRecords(MesUdeItemParme model)
        //{
        //    LogHelper.Info("MesUdeItem 参数:" + JsonConvert.SerializeObject(model), "物料绑定解绑");
        //    var res = TaskProcess.MesUdeItem(model);
        //    LogHelper.Info("MesUdeItem 返回:" + JsonConvert.SerializeObject(res), "物料绑定解绑");
        //    return res;
        //}
        [HttpPost]
        [Route("api/WmsApi/LocationRecords")]
        public LocationRecordsResult LocationRecords(LocationRecordsParme model)
        {
            LogHelper.Info("LocationRecords 参数:" + JsonConvert.SerializeObject(model), "物料绑定解绑");
            var res = TaskProcess.LocationRecords(model);
            LogHelper.Info("LocationRecords 返回:" + JsonConvert.SerializeObject(res), "物料绑定解绑");
            return res;
        }
    }
}
core/Monitor.cs
@@ -154,10 +154,10 @@
                                switch (model.state)
                                {
                                    case 1:
                                        TaskHelper.opMesTask(wmsTask, 1);
                                        TaskHelper.Begin(wmsTask, model.forklift_no);
                                        //胎面交互
                                        TaskHelper.TmSafety(wmsTask);
                                        TaskHelper.opMesTask(wmsTask,1);
                                        break;
                                    case 3:
                                        TaskHelper.UpdateStatus(wmsTask, "开始取货");
@@ -189,10 +189,14 @@
                                        LogHelper.Info($"任务{wmsTask.S_CODE}完成,判断入库优先级", "入库优先级");
                                        TaskProcess.inPri(wmsTask);
                                        TaskHelper.End(wmsTask);
                                        TaskHelper.opMesTask(wmsTask, 2);
                                        break;
                                    case 7:
                                            var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
                                        if (!LocationHelper.GetErroArea(wmsTask.S_END_AREA)) {
                                            TaskHelper.opMesTask(wmsTask, 3);
                                        }
                                        var wcsTask1 = TaskHelper.GetTaskByWorkNo(wmsTask.S_OP_CODE, "wcs");
                                            if (wcsTask1 != null)
                                            {
                                                //agv执行通知 wcs取消  
@@ -210,16 +214,19 @@
                                            ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
                                            ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
                                        }
                                        //出库取消判断接驳位是否有货,有货需要解绑
                                        if (!WcsTask.WcsCvstate(wmsTask))
                                        {
                                            LogHelper.Info($"Wcs立库接驳位无货,解绑货位:{wmsTask.S_START_LOC}", "立库");
                                            TaskProcess.OperateStatus(wmsTask, 4);
                                            ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
                                            ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
                                        else {
                                            //出库取消判断接驳位是否有货,有货需要解绑
                                            if (!WcsTask.WcsCvstate(wmsTask))
                                            {
                                                LogHelper.Info($"Wcs立库接驳位无货,解绑货位:{wmsTask.S_START_LOC}", "立库");
                                                TaskProcess.OperateStatus(wmsTask, 4);
                                                ContainerHelper.delCntr(wmsTask.S_CNTR_CODE);
                                                ContainerHelper.delCntrItem(wmsTask.S_CNTR_CODE);
                                            }
                                        }
                                        TaskHelper.opMesTask(wmsTask, 3);
                                        break;
                                }
dispatch/WcsTask.cs
@@ -41,79 +41,87 @@
            string Traycode = mst.S_CNTR_CODE;
            var isFu = "0";
            var cntr = ContainerHelper.GetCntr(Traycode);
            if (cntr!=null)
            try
            {
                if (cntr.N_DETAIL_COUNT>0)
                var cntr = ContainerHelper.GetCntr(Traycode);
                if (cntr != null)
                {
                    isFu = "1";
                    if (cntr.N_DETAIL_COUNT > 0)
                    {
                        isFu = "1";
                    }
                }
            }
            var workFlow = TaskHelper.selectWorkFlowByType(mst.N_TYPE.ToString(), mst.TOOLSTYPE);
                var workFlow = TaskHelper.selectWorkFlowByType(mst.N_TYPE.ToString(), mst.TOOLSTYPE);
            if (workFlow != null)
            {
                if (workFlow.INOROUT.Contains("入库"))
                if (workFlow != null)
                {
                    Type = "1";
                    if (workFlow.INOROUT.Contains("入库"))
                    {
                        Type = "1";
                    }
                    if (workFlow.INOROUT.Contains("出库"))
                    {
                        Type = "2";
                        var count = TaskHelper.GetConnectionTask(mst.S_END_LOC);
                        if (count >= 2)
                        {
                            return false;
                        }
                    }
                }
                if (workFlow.INOROUT.Contains("出库"))
                if (mst.S_CNTR_CODE.Contains("KJZ"))
                {
                    Type = "2";
                    var count = TaskHelper.GetConnectionTask(mst.S_END_LOC);
                    if (count>=2)
                    TrayType = "KJZ";
                }
                var interact = new
                {
                    requestPk = mst.S_CODE,//任务号
                    contNo = Traycode,//托盘号
                    contType = TrayType,//托盘类型
                    trkType = Type,//任务类型
                    trkPrty = mst.N_PRIORITY,//任务优先级
                    frmPos = mst.S_START_LOC,//起始位置
                    toPos = mst.S_END_LOC,//目的地
                    isFull = isFu,//空托 满托
                    groupNo = Item?.S_ITEM_NAME,//搬送组号
                    clientCode = "WMS",//操作人
                    operationTime = DateTime.Now.ToString()//操作时间
                };
                LogHelper.Info("Wcs立库下发任务 地址信息:" + baseUrl + "receive", "立库下发任务");
                LogHelper.Info("Wcs立库下发任务 参数信息:" + JsonConvert.SerializeObject(interact), "立库下发任务");
                var result = apiHelper.Post(baseUrl + "receive", JsonConvert.SerializeObject(interact));
                LogHelper.Info("Wcs立库下发任务 返回信息:" + JsonConvert.SerializeObject(result), "立库下发任务");
                if (!string.IsNullOrEmpty(result))
                {
                    var res = JsonConvert.DeserializeObject<WcsTaskReturn>(result);
                    if (res.code == "0")
                    {
                        TaskHelper.UpdateStatus(mst, "已推送");
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            if (mst.S_CNTR_CODE.Contains("KJZ"))
            {
                TrayType = "KJZ";
            }
            var interact = new
            {
                requestPk = mst.S_CODE,//任务号
                contNo = Traycode,//托盘号
                contType = TrayType,//托盘类型
                trkType = Type,//任务类型
                trkPrty = mst.N_PRIORITY,//任务优先级
                frmPos = mst.S_START_LOC,//起始位置
                toPos = mst.S_END_LOC,//目的地
                isFull = isFu,//空托 满托
                groupNo = Item?.S_ITEM_NAME,//搬送组号
                clientCode = "WMS",//操作人
                operationTime = DateTime.Now.ToString()//操作时间
            };
            LogHelper.Info("Wcs立库下发任务 地址信息:" + baseUrl + "receive", "立库下发任务");
            LogHelper.Info("Wcs立库下发任务 参数信息:" + JsonConvert.SerializeObject(interact), "立库下发任务");
            var result = apiHelper.Post(baseUrl + "receive", JsonConvert.SerializeObject(interact));
            LogHelper.Info("Wcs立库下发任务 返回信息:" + JsonConvert.SerializeObject(result), "立库下发任务");
            if (!string.IsNullOrEmpty(result))
            {
                var res = JsonConvert.DeserializeObject<WcsTaskReturn>(result);
                if (res.code == "0")
                {
                    TaskHelper.UpdateStatus(mst, "已推送");
                    return true;
                }
                else
                {
                    LogHelper.Info("Wcs立库下发任务 返回信息为空", "立库下发任务");
                    return false;
                }
            }
            else
            catch (Exception)
            {
                LogHelper.Info("Wcs立库下发任务 返回信息为空", "立库下发任务");
                return false;
                throw;
            }
        }
@@ -673,8 +681,7 @@
                                RfidChek.S_RESULT = "RFID校验失败";
                                if (WcsCancellTask(transportTask))
                                {
                                    ContainerHelper.delCntr(transportTask.S_CNTR_CODE);
                                    ContainerHelper.delCntrItem(transportTask.S_CNTR_CODE);
                                    TaskHelper.Fail(transportTask);
                                    TaskProcess.OperateStatus(transportTask, 7);
@@ -721,6 +728,11 @@
                                        throw new Exception("修改任务表失败");
                                    }
                                    newDb.CommitTran();
                                    var agvTask1 = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv");
                                    TaskHelper.opMesTask(agvTask1, 3);
                                    ContainerHelper.delCntr(transportTask.S_CNTR_CODE);
                                    ContainerHelper.delCntrItem(transportTask.S_CNTR_CODE);
                                }
                                else {
                                    LogHelper.Info($"RFID校验失败,通知Wcs取消任务失败", "Wcs任务执行通知");
@@ -989,100 +1001,112 @@
            string bit = "";
            var Meshod = "";
            var newDb = new SqlHelper<object>().GetInstance();
            var tac = newDb.Queryable<WcsSafety>().Where(a => a.TaskNo == mst.S_CODE && a.Sign == state).ToList();
            if (tac.Count() > 0)
            try
            {
                LogHelper.Info("查询到安全请求信号记录表已经存在数据,此次信号不下达给立库", "agv执行通知");
                return true;
            }
            switch (state)
            {
                case 1101:
                    Type = "1";
                    bit = mst.S_START_LOC;
                    Meshod = "AgvRequest";
                    break;
                case 1102:
                    Type = "1";
                    bit = mst.S_START_LOC;
                    Meshod = "Complete";
                    break;
                case 1103:
                    Type = "2";
                    bit = mst.S_END_LOC;
                    Meshod = "AgvRequest";
                    break;
                case 1104:
                    Type = "2";
                    bit = mst.S_END_LOC;
                    Meshod = "Complete";
                    break;
                case 7:
                    Type = "5";
                    if (mst.S_TYPE.Contains("出库"))
                    {
                        bit = mst.S_START_LOC;
                    }
                    else {
                        bit = mst.S_END_LOC;
                    }
                    //退库取消发agv起点
                    if (LocationHelper.GetErroArea(mst.S_END_AREA))
                    {
                        bit = mst.S_START_LOC;
                    }
                    Meshod = "AgvRequestCancel";
                    break;
            }
            var interact = new
            {
                requestPk = mst.S_CODE,//任务号
                trkType = Type,//任务类型
                method = Meshod,//API名称
                stnNo = bit,//目的地站台号
                carNo = forkliftNo,// 车号
                clientCode = "WMS",//操作人
                operationTime = DateTime.Now.ToString()//操作时间
            };
            LogHelper.Info("agv执行通知 地址信息:" + baseUrl + "agvCallback", "agv执行通知");
            LogHelper.Info("agv执行通知 参数信息:" + JsonConvert.SerializeObject(interact), "agv执行通知");
            var result = apiHelper.Post(baseUrl + "agvCallback", JsonConvert.SerializeObject(interact));
            LogHelper.Info("agv执行通知 返回信息:" + JsonConvert.SerializeObject(result), "agv执行通知");
            if (!string.IsNullOrEmpty(result))
            {
                var res = JsonConvert.DeserializeObject<WcsTaskCallBack>(result);
                if (res.code == "0")
                var tac = newDb.Queryable<WcsSafety>().Where(a => a.TaskNo == mst.S_CODE && a.Sign == state).ToList();
                if (tac.Count() > 0)
                {
                    WcsSafety Sign = new WcsSafety();
                    Sign.TaskNo = mst.S_CODE;
                    Sign.Sign = state;
                    newDb.BeginTran();
                    var B = newDb.Insertable(Sign).ExecuteCommand();
                    if (B == 0)
                    {
                        newDb.RollbackTran();
                    }
                    newDb.CommitTran();
                    LogHelper.Info("agv执行通知成功:", "agv执行通知");
                    LogHelper.Info("查询到安全请求信号记录表已经存在数据,此次信号不下达给立库", "agv执行通知");
                    return true;
                }
                switch (state)
                {
                    case 1101:
                        Type = "1";
                        bit = mst.S_START_LOC;
                        Meshod = "AgvRequest";
                        break;
                    case 1102:
                        Type = "1";
                        bit = mst.S_START_LOC;
                        Meshod = "Complete";
                        break;
                    case 1103:
                        Type = "2";
                        bit = mst.S_END_LOC;
                        Meshod = "AgvRequest";
                        break;
                    case 1104:
                        Type = "2";
                        bit = mst.S_END_LOC;
                        Meshod = "Complete";
                        break;
                    case 7:
                        Type = "5";
                        if (mst.S_TYPE.Contains("出库"))
                        {
                            bit = mst.S_START_LOC;
                        }
                        else
                        {
                            bit = mst.S_END_LOC;
                        }
                        //退库取消发agv起点
                        if (LocationHelper.GetErroArea(mst.S_END_AREA))
                        {
                            bit = mst.S_START_LOC;
                        }
                        Meshod = "AgvRequestCancel";
                        break;
                }
                var interact = new
                {
                    requestPk = mst.S_CODE,//任务号
                    trkType = Type,//任务类型
                    method = Meshod,//API名称
                    stnNo = bit,//目的地站台号
                    carNo = forkliftNo,// 车号
                    clientCode = "WMS",//操作人
                    operationTime = DateTime.Now.ToString()//操作时间
                };
                LogHelper.Info("agv执行通知 地址信息:" + baseUrl + "agvCallback", "agv执行通知");
                LogHelper.Info("agv执行通知 参数信息:" + JsonConvert.SerializeObject(interact), "agv执行通知");
                var result = apiHelper.Post(baseUrl + "agvCallback", JsonConvert.SerializeObject(interact));
                LogHelper.Info("agv执行通知 返回信息:" + JsonConvert.SerializeObject(result), "agv执行通知");
                if (!string.IsNullOrEmpty(result))
                {
                    var res = JsonConvert.DeserializeObject<WcsTaskCallBack>(result);
                    if (res.code == "0")
                    {
                        WcsSafety Sign = new WcsSafety();
                        Sign.TaskNo = mst.S_CODE;
                        Sign.Sign = state;
                        newDb.BeginTran();
                        var B = newDb.Insertable(Sign).ExecuteCommand();
                        if (B == 0)
                        {
                            newDb.RollbackTran();
                        }
                        newDb.CommitTran();
                        LogHelper.Info("agv执行通知成功:", "agv执行通知");
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    LogHelper.Info("agv执行通知成功 返回信息为空", "agv执行通知");
                    return false;
                }
            }
            else
            catch (Exception)
            {
                LogHelper.Info("agv执行通知成功 返回信息为空", "agv执行通知");
                return false;
                throw;
            }
        }
@@ -1351,7 +1375,7 @@
        public string code { get; set; }
        public string msg { get; set; }
        public bool success { get; set; }
        public DataItem lastTime { get; set; }
        public DateTime lastTime { get; set; }
    }
    /// <summary>
process/TaskProcess.cs
@@ -638,6 +638,15 @@
            return result;
        }
        internal static LocationRecordsResult LocationRecords(LocationRecordsParme model) {
            var result = new LocationRecordsResult();
            var db = new SqlHelper<object>().GetInstance();
            return result;
        }
        internal static Result MesUdeItem(MesUdeItemParme model)
        {
            var result = new Result();
@@ -956,34 +965,22 @@
            {
                var task = TaskHelper.GetTaskByWorkNo(model.task_no, "agv");
                var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no,"wcs");
                var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no, "wcs");
                if (task != null && wcsTask != null)
                if (task != null)
                {
                    LogHelper.Info($"cancelTask1取消agv任务{task.S_CODE}:", "取消");
                    if (task.S_B_STATE.Trim() == "未执行")
                    {
                        //未执行直接修改状态为取消
                        LogHelper.Info("cancelTask1取消agv任务:", "取消");
                        TaskHelper.opMesTask(task, 3);
                        TaskHelper.Fail(task);
                        TaskProcess.CacheBitCancelUpdate(task);
                        if (task.S_TYPE.Contains("入库") || task.S_TYPE.Contains("回库"))
                        {
                            ContainerHelper.delCntr(task.S_CNTR_CODE);
                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
                        }
                        else {
                           WcsTask.WcsCancellTask(wcsTask);
                        }
                        TaskHelper.Fail(wcsTask);
                        TaskProcess.OperateStatus(wcsTask, 7);
                        result.errCode = 0;
                        result.errMsg = "取消成功";
                        result.success = true;
                        return result;
                    }
                    else if (task.S_B_STATE.Trim() != "取消"  && task.S_B_STATE.Trim() != "失败")
                    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();
@@ -997,22 +994,13 @@
                            result.success = false;
                            return result;
                        }
                        TaskHelper.opMesTask(task, 3);
                        //已推送但是没有完成或者取消,通知hosttoagv
                        TaskHelper.Fail(task);
                        NDCApi.CancelOrder(task.S_CODE.Trim());
                        TaskProcess.CacheBitCancelUpdate(task);
                        if (task.S_TYPE.Contains("入库") || task.S_TYPE.Contains("回库"))
                        {
                            ContainerHelper.delCntr(task.S_CNTR_CODE);
                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
                        }
                        else {
                            WcsTask.WcsCancellTask(wcsTask);
                        }
                        TaskHelper.Fail(wcsTask);
                        TaskProcess.OperateStatus(wcsTask, 7);
                        result.errCode = 0;
                        result.errMsg = "取消成功";
                        result.success = true;
@@ -1030,11 +1018,52 @@
                    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("入库") || task.S_TYPE.Contains("回库"))
                        {
                            ContainerHelper.delCntr(task.S_CNTR_CODE);
                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
                        }
                        TaskHelper.Fail(wcsTask);
                        TaskProcess.OperateStatus(wcsTask, 7);
                        result.errCode = 0;
                        result.errMsg = "取消成功";
                        result.success = true;
                        return result;
                    }
                    else if (wcsTask.S_B_STATE.Trim() != "取消" && wcsTask.S_B_STATE.Trim() != "失败" && wcsTask.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 == "5").First();
                        if (qhflag != null)
                        {
                            LogHelper.Info($"该任务{task.S_CODE}已经取货完成", "取消");
                            result.errCode = 1;
                            result.errMsg = "任务已经取货完成,不允许取消";
                            result.success = false;
                            return result;
                        }
                        WcsTask.WcsCancellTask(wcsTask);
                        TaskHelper.Fail(wcsTask);
                        TaskProcess.OperateStatus(wcsTask, 7);
                        result.errCode = 0;
                        result.errMsg = "取消成功";
                        result.success = true;
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Info("cancelTask1取消任务异常:"+ex.Message, "取消");
                LogHelper.Info("cancelTask1取消任务异常:" + ex.Message, "取消");
                result.errCode = 1;
                result.errMsg = "取消任务异常";
                return result;
wms/TaskHelper.cs
@@ -425,7 +425,7 @@
                    LogHelper.Info($"任务{task1.S_CODE},{task2.S_CODE}创建成功", "任务");
                    var db = new SqlHelper<object>().GetInstance();
                    db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand();
                    LogHelper.Info($"回报{task1.S_OP_CODE}", "回报Mes任务");
                    TaskHelper.opMesTask(task1, 0);
                }
                else
@@ -597,16 +597,48 @@
                var cntrItem = ContainerHelper.GetCntrItem(task.S_CNTR_CODE);
                if (cntrItem == null)
                {
                    LogHelper.Info($"任务{task.S_CODE}没查到容器物料{task.S_CNTR_CODE}", "上下架记录");
                    LogHelper.Info($"任务{task.S_CODE}没查到容器物料{task.S_CNTR_CODE}", "回报Mes任务");
                    return false;
                }
                var work = TaskHelper.GetWmsWork(task.S_OP_CODE);
                if (work == null) {
                    LogHelper.Info($"任务{task.S_CODE}没查到作业{task.S_OP_CODE}", "回报Mes任务");
                    return false;
                }
                var endArea = "";
                if (LocationHelper.GetErroArea(task.S_END_AREA))
                {
                    if (task.S_TYPE.Contains("出库"))
                    {
                        endArea = task.S_END_LOC;
                    }
                    else {
                        endArea = task.S_END_AREA;
                    }
                }
                else {
                    if (task.S_TYPE.Contains("出库"))
                    {
                        endArea = task.S_END_LOC;
                    }
                    else {
                        endArea = work.S_END_AREA;
                    }
                }
                var interact = new
                {
                    taskNo = task.S_OP_CODE,//任务号
                    updater = "WMS",// 操作人 如WMS/MES等
                    endStock = task.S_END_LOC,//终点
                    endStock = endArea,//终点
                    taskStatus = state,//0:初始状态,1:进行中,2:完成,3:任务取消
                    updateTime = DateTime.Now.ToString(),//操作时间
                    TurnCardNum  = cntrItem.TurnCardNum,//周转卡号
@@ -798,6 +830,22 @@
                LocationHelper.LockLoc(task.S_END_LOC, "出库锁", 2);
            }
            if (task.S_SCHEDULE_TYPE.Contains("agv"))
            {
                if (LocationHelper.GetErroArea(task.S_END_AREA))
                {
                    db.Deleteable<Container>().Where(it => it.S_CODE == task.S_CNTR_CODE).ExecuteCommand();
                    db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
                    db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
                }
                else
                {
                    TaskHelper.opMesTask(task, 2);
                }
            }
            if (task.S_TYPE.Contains("出库") && task.S_SCHEDULE_TYPE.Contains("agv"))
            {
                var location = db.Queryable<Location>().Where(a => a.S_CODE == task.S_END_LOC).First();
@@ -807,15 +855,6 @@
                db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
                db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
            }
            if (LocationHelper.GetErroArea(task.S_END_AREA)) {
                db.Deleteable<Container>().Where(it => it.S_CODE == task.S_CNTR_CODE).ExecuteCommand();
                db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
                db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand();
            }
        }