wangxinhui
2025-08-30 fa968655ce72364ad3e847fbe451ffeace03a497
Merge branch 'master' of http://115.159.85.185:8098/r/ZhiHuiQiCe/LongDeLiLiKu

# Conflicts:
# 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/码垛/MDJob_CP.cs
已修改6个文件
已添加13个文件
1023 ■■■■ 文件已修改
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json 184 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 197 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_IPackInfoRepository/IDt_PackaxisRepository.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_IPackInfoRepository/WIDESEAWCS_IPackInfoRepository.csproj 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_IPackInfoService/IDt_PackaxisService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_IPackInfoService/WIDESEAWCS_IPackInfoService.csproj 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_Model/Models/PackInfo/Dt_Packaxis.cs 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_PackInfoRepository/Dt_PackaxisRepository.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_PackInfoRepository/WIDESEAWCS_PackInfoRepository.csproj 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_PackInfoService/WIDESEAWCS_PackInfoService.csproj 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_Server.sln 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/Fakes/WIDESEAWCS_PackInfoService.fakes 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/FakesAssemblies/WIDESEAWCS_PackInfoService.Fakes.dll 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/FakesAssemblies/WIDESEAWCS_PackInfoService.Fakes.fakesconfig 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/FakesAssemblies/WIDESEAWCS_PackInfoService.Fakes.xml 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/码垛/MDJob_CP.cs 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
@@ -3,36 +3,40 @@
  "WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    }
  ],
  "DocumentGroupContainers": [
@@ -42,7 +46,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 8,
          "SelectedChildIndex": 10,
          "Children": [
            {
              "$type": "Bookmark",
@@ -54,106 +58,114 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAB0BAAAAAAAAAAAqwDMBAABnAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T08:43:23.403Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "DocumentIndex": 2,
              "Title": "ConveyorLineJob_YL1ndFloor.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "ViewState": "AgIAAIAAAAAAAAAAAAAQwKIAAAAhAAAAAAAAAA==",
              "ViewState": "AgIAAG4AAAAAAAAAAAAQwIkAAABoAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T08:14:32.595Z",
              "WhenOpened": "2025-08-30T07:16:03.123Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "StackerCraneJob_YLSC2.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "ViewState": "AgIAABsBAAAAAAAAAAAAADkBAAA3AAAAAAAAAA==",
              "Title": "Dt_ApiInfo.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAAxwCoAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T07:36:02.568Z",
              "EditorCaption": ""
              "WhenOpened": "2025-08-29T08:39:38.773Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAABIAAAAAAAAAAAAAAB0AAABFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-29T08:39:25.012Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "StackerCraneJob_YLSC3.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "ViewState": "AgIAAIoAAAAAAAAAAADwv3MAAAA7AAAAAAAAAA==",
              "Title": "Dt_Packaxis.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "ViewState": "AgIAABUAAAAAAAAAAAAlwCkAAAASAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T03:21:04.215Z",
              "WhenOpened": "2025-08-29T08:39:16.544Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAMcDAAAAAAAAAAAAAMoDAAAAAAAAAAAAAA==",
              "DocumentIndex": 6,
              "Title": "ConveyorLineJob_CPC.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "ViewState": "AgIAAEgAAAAAAAAAAAAkwEoAAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T02:24:09.743Z",
              "EditorCaption": ""
              "WhenOpened": "2025-08-29T07:57:43.158Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "ConveyorLineJob_YL2ndFloor.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "ViewState": "AgIAAHQAAAAAAAAAAAAEwI4AAABkAAAAAAAAAA==",
              "Title": "RGVJob_CP.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "ViewState": "AgIAAFYAAAAAAAAAAAAqwEoAAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T01:28:18.859Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "RequestInbound.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ViewState": "AgIAADMAAAAAAAAAAADwv0sAAACIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T02:42:07.772Z",
              "WhenOpened": "2025-08-29T07:52:50.611Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "StackerCraneTaskCommand.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "ViewState": "AgIAAF4AAAAAAAAAAAAswHQAAAAfAAAAAAAAAA==",
              "Title": "RequestInbound.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T06:12:44.394Z",
              "WhenOpened": "2025-08-29T06:39:10.96Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvxAAAABgAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2025-08-29T06:03:36.387Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "MDJob_CP.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "ViewState": "AgIAAFgAAAAAAAAAAAAswGoAAADNAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-29T05:53:11.231Z",
              "EditorCaption": ""
            }
          ]
ÏîÄ¿´úÂë/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -3,40 +3,40 @@
  "WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    }
  ],
  "DocumentGroupContainers": [
@@ -46,7 +46,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 7,
          "SelectedChildIndex": 10,
          "Children": [
            {
              "$type": "Bookmark",
@@ -58,119 +58,114 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "TaskTypeEnum.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
              "ViewState": "AgIAAKQAAAAAAAAAAAAAwMIAAAATAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T09:21:46.138Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 2,
              "Title": "ConveyorLineJob_YL1ndFloor.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
              "ViewState": "AgIAAGQAAAAAAAAAAAAQwIQAAABAAAAAAAAAAA==",
              "ViewState": "AgIAAG4AAAAAAAAAAAAQwIkAAABoAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T08:14:32.595Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "StackerCraneJob_YLSC2.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
              "ViewState": "AgIAABsBAAAAAAAAAAAAADkBAAA3AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T07:36:02.568Z",
              "WhenOpened": "2025-08-30T07:16:03.123Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "StackerCraneJob_YLSC3.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
              "ViewState": "AgIAAIoAAAAAAAAAAADwv3MAAAA7AAAAAAAAAA==",
              "Title": "Dt_ApiInfo.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAAxwCoAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T03:21:04.215Z",
              "EditorCaption": ""
              "WhenOpened": "2025-08-29T08:39:38.773Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAMcDAAAAAAAAAAAAAMoDAAAAAAAAAAAAAA==",
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAABIAAAAAAAAAAAAAAB0AAABFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T02:24:09.743Z",
              "WhenOpened": "2025-08-29T08:39:25.012Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "Dt_Packaxis.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
              "ViewState": "AgIAABUAAAAAAAAAAAAlwCkAAAASAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-29T08:39:16.544Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "ConveyorLineJob_YL2ndFloor.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
              "ViewState": "AgIAAI4AAAAAAAAAAAAMwJwAAABAAAAAAAAAAA==",
              "DocumentIndex": 6,
              "Title": "ConveyorLineJob_CPC.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
              "ViewState": "AgIAAEgAAAAAAAAAAAAkwEoAAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T01:28:18.859Z",
              "EditorCaption": ""
              "WhenOpened": "2025-08-29T07:57:43.158Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "RequestInbound.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ViewState": "AgIAABYAAAAAAAAAAAAAwBwAAAAkAAAAAAAAAA==",
              "DocumentIndex": 5,
              "Title": "RGVJob_CP.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
              "ViewState": "AgIAAFYAAAAAAAAAAAAqwEoAAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T02:42:07.772Z",
              "WhenOpened": "2025-08-29T07:52:50.611Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAB0BAAAAAAAAAAAqwDMBAABnAAAAAAAAAA==",
              "Title": "RequestInbound.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T08:43:23.403Z",
              "EditorCaption": ""
              "WhenOpened": "2025-08-29T06:39:10.96Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "StackerCraneTaskCommand.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "ViewState": "AgIAAF4AAAAAAAAAAAAswHQAAAAfAAAAAAAAAA==",
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvxAAAABgAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2025-08-29T06:03:36.387Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "MDJob_CP.cs",
              "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
              "ViewState": "AgIAAEAAAAAAAAAAAAAqwFcAAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-26T06:12:44.394Z",
              "WhenOpened": "2025-08-29T05:53:11.231Z",
              "EditorCaption": ""
            }
          ]
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_IPackInfoRepository/IDt_PackaxisRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Model.Models.PackInfo;
namespace WIDESEAWCS_IPackInfoRepository
{
    public interface IDt_PackaxisRepository : IRepository<Dt_Packaxis>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_IPackInfoRepository/WIDESEAWCS_IPackInfoRepository.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_DTO\WIDESEAWCS_DTO.csproj" />
  </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_IPackInfoService/IDt_PackaxisService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models.PackInfo;
namespace WIDESEAWCS_PackInfoService
{
    public interface IDt_PackaxisService : IService<Dt_Packaxis>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_IPackInfoService/WIDESEAWCS_IPackInfoService.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_PackInfoRepository\WIDESEAWCS_PackInfoRepository.csproj" />
  </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_Model/Models/PackInfo/Dt_Packaxis.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models.PackInfo
{
    [SugarTable(nameof(Dt_Packaxis), "码垛坐标")]
    public class Dt_Packaxis : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int id { get; set; }
        /// <summary>
        /// è®¾å¤‡ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "设备编号")]
        public string DeviceCode { get; set; }
        /// <summary>
        /// ç«™å°ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "站台编号")]
        public int StationCode { get; set; }
        /// <summary>
        /// åž›åž‹
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "垛型")]
        public string PackType { get; set; }
        /// <summary>
        /// ç åž›æ•°é‡
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "码垛数量")]
        public int PackNum { get; set; }
        /// <summary>
        /// X坐标
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "X坐标")]
        public int AxisX { get; set; }
        /// <summary>
        /// X坐标个数
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "X坐标个数")]
        public int AxisXCount { get; set; }
        /// <summary>
        /// X坐标间距
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "X坐标间距")]
        public int AxisXSpacing { get; set; }
        /// <summary>
        /// Y坐标
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "Y坐标")]
        public int AxisY { get; set; }
        /// <summary>
        /// Y坐标个数
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "Y坐标个数")]
        public int AxisYCount { get; set; }
        /// <summary>
        /// Y坐标间距
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "Y坐标间距")]
        public int AxisYSpacing { get; set; }
        /// <summary>
        /// Z坐标
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "Z坐标")]
        public int AxisZ { get; set; }
        /// <summary>
        /// Z坐标个数
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "Z坐标个数")]
        public int AxisZCount { get; set; }
        /// <summary>
        /// Z坐标间距
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "Z坐标间距")]
        public int AxisZSpacing { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_PackInfoRepository/Dt_PackaxisRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_IPackInfoRepository;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Model.Models.PackInfo;
namespace WIDESEAWCS_PackInfoRepository
{
    public class Dt_PackaxisRepository : RepositoryBase<Dt_Packaxis>, IDt_PackaxisRepository
    {
        public Dt_PackaxisRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_PackInfoRepository/WIDESEAWCS_PackInfoRepository.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_IPackInfoRepository\WIDESEAWCS_IPackInfoRepository.csproj" />
  </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_IPackInfoRepository;
using WIDESEAWCS_Model.Models.PackInfo;
namespace WIDESEAWCS_PackInfoService
{
    public class Dt_PackaxisService : ServiceBase<Dt_Packaxis, IDt_PackaxisRepository>, IDt_PackaxisService
    {
        public Dt_PackaxisService(IDt_PackaxisRepository BaseDal) : base(BaseDal)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_PackInfoService/WIDESEAWCS_PackInfoService.csproj
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_IPackInfoService\WIDESEAWCS_IPackInfoService.csproj" />
  </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_Server.sln
@@ -58,6 +58,18 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_BasicInfoRepository", "WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj", "{D0CC28FA-6426-4FDE-A5B9-24CF06787863}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackInfo", "PackInfo", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_IPackInfoService", "WIDESEAWCS_IPackInfoService\WIDESEAWCS_IPackInfoService.csproj", "{38EB3059-AE1C-423C-9AEB-791EE1946434}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_PackInfoService", "WIDESEAWCS_PackInfoService\WIDESEAWCS_PackInfoService.csproj", "{E1633BFD-8807-4A29-89F2-0A7F26DF6976}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PackInfo", "PackInfo", "{45FE3B01-5480-40E1-9741-49E588714F70}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_IPackInfoRepository", "WIDESEAWCS_IPackInfoRepository\WIDESEAWCS_IPackInfoRepository.csproj", "{C3C4C4A9-AFC8-4C7B-A7B0-53E66EB54AC8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_PackInfoRepository", "WIDESEAWCS_PackInfoRepository\WIDESEAWCS_PackInfoRepository.csproj", "{E8934C36-AC56-46FE-94EE-4D4C01C9F696}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
@@ -132,6 +144,22 @@
        {D0CC28FA-6426-4FDE-A5B9-24CF06787863}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {D0CC28FA-6426-4FDE-A5B9-24CF06787863}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {D0CC28FA-6426-4FDE-A5B9-24CF06787863}.Release|Any CPU.Build.0 = Release|Any CPU
        {38EB3059-AE1C-423C-9AEB-791EE1946434}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {38EB3059-AE1C-423C-9AEB-791EE1946434}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {38EB3059-AE1C-423C-9AEB-791EE1946434}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {38EB3059-AE1C-423C-9AEB-791EE1946434}.Release|Any CPU.Build.0 = Release|Any CPU
        {E1633BFD-8807-4A29-89F2-0A7F26DF6976}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {E1633BFD-8807-4A29-89F2-0A7F26DF6976}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {E1633BFD-8807-4A29-89F2-0A7F26DF6976}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {E1633BFD-8807-4A29-89F2-0A7F26DF6976}.Release|Any CPU.Build.0 = Release|Any CPU
        {C3C4C4A9-AFC8-4C7B-A7B0-53E66EB54AC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {C3C4C4A9-AFC8-4C7B-A7B0-53E66EB54AC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {C3C4C4A9-AFC8-4C7B-A7B0-53E66EB54AC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {C3C4C4A9-AFC8-4C7B-A7B0-53E66EB54AC8}.Release|Any CPU.Build.0 = Release|Any CPU
        {E8934C36-AC56-46FE-94EE-4D4C01C9F696}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {E8934C36-AC56-46FE-94EE-4D4C01C9F696}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {E8934C36-AC56-46FE-94EE-4D4C01C9F696}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {E8934C36-AC56-46FE-94EE-4D4C01C9F696}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
@@ -155,6 +183,12 @@
        {B778DFFD-A5BA-4CAF-805E-2630CF080CDC} = {93EFF637-042E-4DD0-A74B-7F0CF998CF96}
        {3B954A6E-CE88-4B33-BEAC-757BE4BE1204} = {5CC8AEFF-2F75-4053-9569-73419839875A}
        {D0CC28FA-6426-4FDE-A5B9-24CF06787863} = {5CC8AEFF-2F75-4053-9569-73419839875A}
        {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {A12315CA-9D81-412C-A09B-B23D95CFFE16}
        {38EB3059-AE1C-423C-9AEB-791EE1946434} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
        {E1633BFD-8807-4A29-89F2-0A7F26DF6976} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
        {45FE3B01-5480-40E1-9741-49E588714F70} = {4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}
        {C3C4C4A9-AFC8-4C7B-A7B0-53E66EB54AC8} = {45FE3B01-5480-40E1-9741-49E588714F70}
        {E8934C36-AC56-46FE-94EE-4D4C01C9F696} = {45FE3B01-5480-40E1-9741-49E588714F70}
    EndGlobalSection
    GlobalSection(ExtensibilityGlobals) = postSolution
        SolutionGuid = {C9A356D5-D4FE-414B-B982-6C97792BE6C6}
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json
@@ -14,10 +14,10 @@
  //连接字符串
  //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
  //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //"ConnectionString": "Data Source=192.168.35.3;Initial Catalog=TestWCS_TC;User ID=sa;Password=Sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TESTWCSCP_WCS;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //"WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //"WMSConnectionStrings": "Data Source=10.30.4.92;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //跨域
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_TaskInfoService/Fakes/WIDESEAWCS_PackInfoService.fakes
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_TaskInfoService/FakesAssemblies/WIDESEAWCS_PackInfoService.Fakes.dll
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_TaskInfoService/FakesAssemblies/WIDESEAWCS_PackInfoService.Fakes.fakesconfig
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_TaskInfoService/FakesAssemblies/WIDESEAWCS_PackInfoService.Fakes.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,155 @@
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>WIDESEAWCS_PackInfoService.Fakes</name>
    </assembly>
    <members>
        <member name="T:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService">
            <summary>WIDESEAWCS_PackInfoService.Dt_PackaxisService çš„填充码类型</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.#ctor">
            <summary>初始化新的填充码实例</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.#ctor(WIDESEAWCS_PackInfoService.Dt_PackaxisService)">
            <summary>初始化给定实例的新填充码</summary>
        </member>
        <member name="T:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.AllInstances">
            <summary>为所有实例成员定义填充码</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.BehaveAsCurrent">
            <summary>为已填充的类型的所有方法分配“Current”行为</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.BehaveAsNotImplemented">
            <summary>为已填充的类型的所有方法分配“NotImplemented”行为</summary>
        </member>
        <member name="P:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.Behavior">
            <summary>为已填充的类型的所有方法分配行为</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.Bind(WIDESEAWCS_Core.IDependency)">
            <summary>将接口的成员绑定到此填充码。</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.Bind(WIDESEAWCS_Core.BaseServices.IService{WIDESEAWCS_Model.Models.PackInfo.Dt_Packaxis})">
            <summary>将接口的成员绑定到此填充码。</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.Bind(WIDESEAWCS_PackInfoService.IDt_PackaxisService)">
            <summary>将接口的成员绑定到此填充码。</summary>
        </member>
        <member name="P:WIDESEAWCS_PackInfoService.Fakes.ShimDt_PackaxisService.ConstructorIDt_PackaxisRepository">
            <summary>设置 Dt_PackaxisService.Dt_PackaxisService(Dt_PackaxisService this, IDt_PackaxisRepository BaseDal) çš„ å¡«å……码</summary>
        </member>
        <member name="T:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService">
            <summary>WIDESEAWCS_PackInfoService.Dt_PackaxisService çš„存根类型</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.#ctor(WIDESEAWCS_IPackInfoRepository.IDt_PackaxisRepository)">
            <summary>初始化新实例</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.AddData(System.Collections.Generic.List{WIDESEAWCS_Model.Models.PackInfo.Dt_Packaxis})">
            <summary>设置 ServiceBase`2.AddData(ServiceBase`2 this, List`1 entities) çš„ å­˜æ ¹</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.AddData(WIDESEAWCS_Core.SaveModel)">
            <summary>设置 ServiceBase`2.AddData(ServiceBase`2 this, SaveModel saveModel) çš„ å­˜æ ¹</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.AddData(WIDESEAWCS_Model.Models.PackInfo.Dt_Packaxis)">
            <summary>设置 ServiceBase`2.AddData(ServiceBase`2 this, Dt_Packaxis entity) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.AddDataDt_Packaxis">
            <summary>设置 ServiceBase`2.AddData(ServiceBase`2 this, Dt_Packaxis entity) çš„ stub</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.AddDataListOfDt_Packaxis">
            <summary>设置 ServiceBase`2.AddData(ServiceBase`2 this, List`1 entities) çš„ stub</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.AddDataSaveModel">
            <summary>设置 ServiceBase`2.AddData(ServiceBase`2 this, SaveModel saveModel) çš„ stub</summary>
        </member>
        <member name="P:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.CallBase">
            <summary>获取或设置一个值,该值指示是否应调用基方法而不调用回退行为</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteData(System.Collections.Generic.List{WIDESEAWCS_Model.Models.PackInfo.Dt_Packaxis})">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, List`1 entities) çš„ å­˜æ ¹</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteData(System.Object)">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, Object key) çš„ å­˜æ ¹</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteData(WIDESEAWCS_Model.Models.PackInfo.Dt_Packaxis)">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, Dt_Packaxis entity) çš„ å­˜æ ¹</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteData(System.Object[])">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, Object[] keys) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteDataDt_Packaxis">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, Dt_Packaxis entity) çš„ stub</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteDataListOfDt_Packaxis">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, List`1 entities) çš„ stub</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteDataObject">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, Object key) çš„ stub</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DeleteDataObjectArray">
            <summary>设置 ServiceBase`2.DeleteData(ServiceBase`2 this, Object[] keys) çš„ stub</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DownLoadTemplate">
            <summary>设置 ServiceBase`2.DownLoadTemplate(ServiceBase`2 this) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.DownLoadTemplate01">
            <summary>设置 ServiceBase`2.DownLoadTemplate(ServiceBase`2 this) çš„ stub</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.Export(WIDESEAWCS_Core.PageDataOptions)">
            <summary>设置 ServiceBase`2.Export(ServiceBase`2 this, PageDataOptions options) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.ExportPageDataOptions">
            <summary>设置 ServiceBase`2.Export(ServiceBase`2 this, PageDataOptions options) çš„ stub</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.GetDetailPage(WIDESEAWCS_Core.PageDataOptions)">
            <summary>设置 ServiceBase`2.GetDetailPage(ServiceBase`2 this, PageDataOptions pageData) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.GetDetailPagePageDataOptions">
            <summary>设置 ServiceBase`2.GetDetailPage(ServiceBase`2 this, PageDataOptions pageData) çš„ stub</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.GetPageData(WIDESEAWCS_Core.PageDataOptions)">
            <summary>设置 ServiceBase`2.GetPageData(ServiceBase`2 this, PageDataOptions options) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.GetPageDataPageDataOptions">
            <summary>设置 ServiceBase`2.GetPageData(ServiceBase`2 this, PageDataOptions options) çš„ stub</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.Import(System.Collections.Generic.List{Microsoft.AspNetCore.Http.IFormFile})">
            <summary>设置 ServiceBase`2.Import(ServiceBase`2 this, List`1 files) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.ImportListOfIFormFile">
            <summary>设置 ServiceBase`2.Import(ServiceBase`2 this, List`1 files) çš„ stub</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.InitializeStub">
            <summary>初始化 type StubDt_PackaxisService çš„æ–°å®žä¾‹</summary>
        </member>
        <member name="P:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.InstanceBehavior">
            <summary>获取或设置实例行为。</summary>
        </member>
        <member name="P:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.InstanceObserver">
            <summary>获取或设置实例观察者。</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.UpdateData(System.Collections.Generic.List{WIDESEAWCS_Model.Models.PackInfo.Dt_Packaxis})">
            <summary>设置 ServiceBase`2.UpdateData(ServiceBase`2 this, List`1 entities) çš„ å­˜æ ¹</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.UpdateData(WIDESEAWCS_Core.SaveModel)">
            <summary>设置 ServiceBase`2.UpdateData(ServiceBase`2 this, SaveModel saveModel) çš„ å­˜æ ¹</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.UpdateData(WIDESEAWCS_Model.Models.PackInfo.Dt_Packaxis)">
            <summary>设置 ServiceBase`2.UpdateData(ServiceBase`2 this, Dt_Packaxis entity) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.UpdateDataDt_Packaxis">
            <summary>设置 ServiceBase`2.UpdateData(ServiceBase`2 this, Dt_Packaxis entity) çš„ stub</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.UpdateDataListOfDt_Packaxis">
            <summary>设置 ServiceBase`2.UpdateData(ServiceBase`2 this, List`1 entities) çš„ stub</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.UpdateDataSaveModel">
            <summary>设置 ServiceBase`2.UpdateData(ServiceBase`2 this, SaveModel saveModel) çš„ stub</summary>
        </member>
        <member name="M:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.Upload(System.Collections.Generic.List{Microsoft.AspNetCore.Http.IFormFile})">
            <summary>设置 ServiceBase`2.Upload(ServiceBase`2 this, List`1 files) çš„ å­˜æ ¹</summary>
        </member>
        <member name="F:WIDESEAWCS_PackInfoService.Fakes.StubDt_PackaxisService.UploadListOfIFormFile">
            <summary>设置 ServiceBase`2.Upload(ServiceBase`2 this, List`1 files) çš„ stub</summary>
        </member>
    </members>
</doc>
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj
@@ -7,8 +7,26 @@
    </PropertyGroup>
    <ItemGroup>
      <Compile Remove="FakesAssemblies\**" />
      <Compile Remove="Fakes\**" />
      <EmbeddedResource Remove="FakesAssemblies\**" />
      <EmbeddedResource Remove="Fakes\**" />
      <None Remove="FakesAssemblies\**" />
      <None Remove="Fakes\**" />
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="Microsoft.QualityTools.Testing.Fakes" Version="17.5.0-beta.23060.1" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj" />
        <ProjectReference Include="..\WIDESEAWCS_ITaskInfoService\WIDESEAWCS_ITaskInfoService.csproj" />
        <ProjectReference Include="..\WIDESEAWCS_PackInfoService\WIDESEAWCS_PackInfoService.csproj" />
    </ItemGroup>
    <ItemGroup>
      <AdditionalDesignTimeBuildInput Remove="FakesAssemblies\**" />
    </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_Tasks/Âë¶â/MDJob_CP.cs
@@ -1,8 +1,11 @@
using Microsoft.AspNetCore.Components.Routing;
using Autofac.Core;
using Microsoft.AspNetCore.Components.Routing;
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using Quartz;
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Linq;
using System.Reflection.Metadata;
using System.Text;
@@ -14,9 +17,11 @@
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_IPackInfoRepository;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Model.Models.PackInfo;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
using WIDESEAWCS_QuartzJob.DTO;
@@ -37,12 +42,13 @@
        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
        private readonly ITaskRepository _taskRepository;
        private readonly IStationMangerRepository _stationMangerRepository;
        private readonly IDt_PackaxisRepository _packaxisRepository;
        private readonly IRouterRepository _routerRepository;
        private readonly IRouterService _routerService;
        private readonly IRouterExtension _routerExtension;
        private readonly List<Dt_WarehouseDevice> warehouseDevices;
        public MDJob_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
        public MDJob_CP(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension, IDt_PackaxisRepository packaxisRepository)
        {
            _cacheService = cacheService;
            _taskService = taskService;
@@ -52,6 +58,7 @@
            _routerRepository = routerRepository;
            _routerService = routerService;
            _routerExtension = routerExtension;
            _packaxisRepository = packaxisRepository;
            string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
            if (!string.IsNullOrEmpty(warehouseDevicesStr))
@@ -76,96 +83,77 @@
                    //获取协议
                    DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StackerCraneCode && x.DeviceProParamType == nameof(R_MDDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
                    DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StackerCraneCode && x.DeviceProParamType == nameof(W_MDDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
                    if (deviceProRead != null && deviceProWrite != null && item.IsOccupied==0)
                    if (deviceProRead != null && deviceProWrite != null && item.IsOccupied == 0)
                    {
                        short Allow = device.GetValue<R_MDDB, short>(R_MDDB.R_MDAllow, item.StackerCraneCode);
                        #region è¯»å–工位状态
                        short R_MDStatus1 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus1, item.StackerCraneCode);
                        short R_MDStatus2 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus2, item.StackerCraneCode);
                        short R_MDStatus3 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus3, item.StackerCraneCode);
                        short R_MDStatus4 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDStatus4, item.StackerCraneCode);
                        short R_MDQtys1 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDQtys1, item.StackerCraneCode);
                        short R_MDQtys2 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDQtys2, item.StackerCraneCode);
                        short R_MDQtys3 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDQtys3, item.StackerCraneCode);
                        short R_MDQtys4 = device.GetValue<R_MDDB, short>(R_MDDB.R_MDQtys4, item.StackerCraneCode);
                        #endregion
                        short PackState = device.GetValue<R_MDDB, short>(GetPackStateEnum(item.StackerCraneStationCode), item.StackerCraneCode);
                        short PackNum = device.GetValue<R_MDDB, short>(GetPackNumEnum(item.StackerCraneStationCode), item.StackerCraneCode);
                        if (R_MDStatus1 == 1 || R_MDStatus2 == 1 || R_MDStatus3 == 1 || R_MDStatus4 == 1)
                        {
                            Thread.Sleep(500);
                            device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDReceiveDone.ToString()).DeviceProDataBlock, 0);
                        }
                        if (R_MDQtys2==18)
                        if (PackState == 2)
                        {
                            device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSend2.ToString()).DeviceProDataBlock, 2);
                            device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 0);
                        }
                        if (R_MDStatus2 == 2)
                        var axis = _packaxisRepository.QueryFirst(x => x.DeviceCode == item.StackerCraneCode && x.StationCode == Convert.ToInt32(item.StackerCraneStationCode));
                        if (axis != null)
                        {
                            device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSend2.ToString()).DeviceProDataBlock, 0);
                        }
                        //获取当前任务
                        Dt_Task task = _taskRepository.QueryData(x => x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.MD_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode).OrderBy(x=>x.TaskNum).First();
                        if (task!=null) //码垛申请
                        {
                            if ((Allow==3 || Allow == 7))
                            if (Convert.ToInt32(PackNum) == axis.PackNum)
                            {
                                if ( R_MDQtys1 / 6 ==1)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDZ.ToString()).DeviceProDataBlock, 400);
                                }
                                else if (R_MDQtys1 / 6 == 2)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDZ.ToString()).DeviceProDataBlock, 800);
                                }
                                else
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDZ.ToString()).DeviceProDataBlock, 0);
                                }
                                if (item.StackerCraneStationCode == "1")
                                {
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSend1.ToString()).DeviceProDataBlock, 1);
                                }
                                else if (item.StackerCraneStationCode == "2")
                                {
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSend2.ToString()).DeviceProDataBlock, 1);
                                }
                                device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSendID.ToString()).DeviceProDataBlock, Convert.ToInt16(item.StackerCraneStationCode));
                                if (R_MDQtys1 % 6==0)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, 1670);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, -1140);
                                }
                                else if (R_MDQtys1 % 6 == 1)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, 1670);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, -1480);
                                }
                                else if (R_MDQtys1 % 6 == 2)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, 1670);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, -1820);
                                }
                                else if (R_MDQtys1 % 6 == 3)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, 1243);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, -1140);
                                }
                                else if (R_MDQtys1 % 6 == 4)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, 1243);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, -1480);
                                }
                                else if (R_MDQtys1 % 6 == 5)
                                {
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, 1243);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, -1820);
                                }
                                device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDA.ToString()).DeviceProDataBlock, 1);
                                device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDReceiveDone.ToString()).DeviceProDataBlock, 3);
                                //更新任务信息
                                //_taskService.TaskCompleted(task.TaskNum);
                                task.TaskState = TaskStatusEnum.Finish.ObjToInt();
                                _taskRepository.UpdateData(task);
                                Thread.Sleep(1500);
                                WriteInfo(item.StationName, $"任务号{task.TaskNum}码垛");
                                device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 2);
                            }
                            //获取当前任务
                            Dt_Task task = _taskRepository.QueryData(x => x.NextAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskStatusEnum.MD_Executing.ObjToInt() && x.DeviceCode == device.DeviceCode).OrderBy(x => x.TaskNum).FirstOrDefault();
                            if (task != null) //码垛申请
                            {
                                if (Allow == 3 || Allow == 7)
                                {
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == GetPackSendEnum(item.StackerCraneStationCode).ToString()).DeviceProDataBlock, 1);
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDSendID.ToString()).DeviceProDataBlock, Convert.ToInt16(item.StackerCraneStationCode));
                                    #region èŽ·å–å†™å…¥ç åž›X、Y、Z坐标
                                    (int, int, int) result = GetAxis(PackNum, axis, item.StackerCraneStationCode);
                                    WriteInfo(item.StationName, $"码垛数量【{PackNum}】,下发码垛坐标X、Y、Z【{result.Serialize()}】");
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDX.ToString()).DeviceProDataBlock, result.Item1);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDY.ToString()).DeviceProDataBlock, result.Item2);
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDZ.ToString()).DeviceProDataBlock, result.Item3);
                                    #endregion
                                    device.Communicator.Write<float>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDA.ToString()).DeviceProDataBlock, 1);
                                    device.Communicator.Write<short>(device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == W_MDDB.W_MDReceiveDone.ToString()).DeviceProDataBlock, 3);
                                    //更新任务信息
                                    //_taskService.TaskCompleted(task.TaskNum);
                                    task.TaskState = TaskStatusEnum.Finish.ObjToInt();
                                    _taskRepository.UpdateData(task);
                                    Thread.Sleep(1500);
                                    WriteInfo(item.StationName, $"任务号{task.TaskNum}码垛");
                                }
                            }
                        }
                        else
                        {
                            WriteError(item.StationName, $"未找到该工位{item.StationName}的坐标信息,请核对数据");
                        }
                    }
                    else
@@ -176,5 +164,80 @@
            }
            return Task.CompletedTask;
        }
        public R_MDDB GetPackNumEnum(string StationCode)
        {
            switch (StationCode)
            {
                case "1":
                    return R_MDDB.R_MDQtys1;
                case "2":
                    return R_MDDB.R_MDQtys2;
                case "3":
                    return R_MDDB.R_MDQtys3;
                case "4":
                    return R_MDDB.R_MDQtys4;
                default:
                    throw new Exception("未定义工位");
            }
        }
        public R_MDDB GetPackStateEnum(string StationCode)
        {
            switch (StationCode)
            {
                case "1":
                    return R_MDDB.R_MDStatus1;
                case "2":
                    return R_MDDB.R_MDStatus2;
                case "3":
                    return R_MDDB.R_MDStatus3;
                case "4":
                    return R_MDDB.R_MDStatus4;
                default:
                    throw new Exception("未定义工位");
            }
        }
        public W_MDDB GetPackSendEnum(string StationCode)
        {
            switch (StationCode)
            {
                case "1":
                    return W_MDDB.W_MDSend1;
                case "2":
                    return W_MDDB.W_MDSend2;
                case "3":
                    return W_MDDB.W_MDSend3;
                case "4":
                    return W_MDDB.W_MDSend4;
                default:
                    throw new Exception("未定义工位");
            }
        }
        public (int, int ,int) GetAxis(int PackNum, Dt_Packaxis axis, string StationCode)
        {
            int X = PackNum / axis.AxisYCount % axis.AxisXCount;
            int Y = PackNum % axis.AxisYCount;
            int Z = PackNum / (axis.AxisYCount * axis.AxisXCount) % axis.AxisZCount;
            int axisx = 0;
            int axisy = 0;
            int axisz = 0;
            if (axis == null)
            {
                throw new Exception("未找到坐标值");
            }
            switch (StationCode)
            {
                case "1":
                    return (axisx = axis.AxisX - X * axis.AxisXSpacing, axisy = axis.AxisY + Y * axis.AxisYSpacing,axisz=  axis.AxisZ + Z * axis.AxisZSpacing);
                case "2":
                    return (axisx = axis.AxisX - X * axis.AxisXSpacing, axisy = axis.AxisY - Y * axis.AxisYSpacing, axisz = axis.AxisZ + Z * axis.AxisZSpacing);
                case "3":
                    return (axisx = axis.AxisX + X * axis.AxisXSpacing, axisy = axis.AxisY + Y * axis.AxisYSpacing, axisz = axis.AxisZ + Z * axis.AxisZSpacing);
                case "4":
                    return (axisx = axis.AxisX + X * axis.AxisXSpacing, axisy = axis.AxisY - Y * axis.AxisYSpacing, axisz = axis.AxisZ + Z * axis.AxisZSpacing);
                default:
                    throw new Exception("未定义工位");
            }
        }
    }
}