hutongqing
2024-10-16 e0dabde622e384c2dc5849f65acab82d0b8a0adb
新增堆垛机封装类
已删除3个文件
已修改5个文件
已添加4个文件
已重命名1个文件
988 ■■■■■ 文件已修改
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/078b01da-50c9-418f-b786-6be6a1d88327.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5566a577-d3a3-4aec-ac1f-a75f741d371f.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/56ac81f3-c5f5-4fcb-aeb1-84e3a8b4d62f.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5ead9c27-0bc7-4044-9913-9c5ae188b07c.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7b5064e4-2439-4dbf-97c4-f0c06363474f.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9cb1276c-c1a8-4ba0-84c0-29f8bfefcbb5.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 689 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Common/CommonStackerCrane.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/078b01da-50c9-418f-b786-6be6a1d88327.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5566a577-d3a3-4aec-ac1f-a75f741d371f.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/56ac81f3-c5f5-4fcb-aeb1-84e3a8b4d62f.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5ead9c27-0bc7-4044-9913-9c5ae188b07c.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7b5064e4-2439-4dbf-97c4-f0c06363474f.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9cb1276c-c1a8-4ba0-84c0-29f8bfefcbb5.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -3,23 +3,59 @@
  "WorkspaceRootPath": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_communicator\\siemens\\siemenss7communicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\siemens\\siemenss7communicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\loghelper\\quartzlogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\stackercrane\\enum\\stackercranestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\enum\\stackercranestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartznet\\jobfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\jobfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\devicebase\\devicestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\devicestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\stackercranetaskcompletedeventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\stackercranetaskcompletedeventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\siemens\\siemenss7communicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\siemens\\siemenss7communicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\loghelper\\quartzlogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\loghelper\\quartzlogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -29,10 +65,6 @@
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\wideseawcs_tasks.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
@@ -51,19 +83,19 @@
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\shuttlecarjob\\shuttlecarjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypegroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_common\\taskenum\\tasktypegroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypegroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\taskstatusgroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_common\\taskenum\\taskstatusgroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\taskstatusgroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\taskenumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_common\\taskenum\\taskenumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\taskenumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -91,7 +123,7 @@
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\idevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -103,7 +135,7 @@
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -111,11 +143,11 @@
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\apilogmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\enums\\linqexpressiontype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\enums\\linqexpressiontype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\linqexpressiontype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\enums\\enumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\enums\\enumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\enumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -131,7 +163,7 @@
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\filter\\apiauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\filter\\apiauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\filter\\apiauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -147,16 +179,8 @@
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartznet\\jobfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\jobfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobdatatablehostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -347,20 +371,8 @@
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\testjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\conveyorline\\enum\\conveyorlinestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\enum\\conveyorlinestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\stackercrane\\enum\\stackercranestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\enum\\stackercranestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\devicebase\\devicestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\devicestatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\service\\irouterservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -459,10 +471,6 @@
      "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\siemens\\siemensdbdatatype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_communicator\\wideseawcs_communicator.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
      "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\wideseawcs_communicator.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
    },
@@ -486,7 +494,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 11,
          "SelectedChildIndex": 13,
          "Children": [
            {
              "$type": "Bookmark",
@@ -506,20 +514,149 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "DeviceStatus.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABkAAAAcAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T08:40:14.553Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "SchedulerCenterServer.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs",
              "ViewState": "AQIAAI4AAAAAAAAAAAAAALUAAAAxAAAA",
              "ViewState": "AQIAALUAAAAAAAAAAAAAALUAAAAxAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T09:01:37.68Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "QuartzJobHostedService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "ViewState": "AQIAAFEAAAAAAAAAAAAAAGwAAABEAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-02T01:18:58.688Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "CommonStackerCraneJob.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ViewState": "AQIAABwAAAAAAAAAAAAswCwAAABTAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T11:10:29.565Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "JobFactory.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "ViewState": "AQIAACIAAAAAAAAAAIAxwD4AAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T09:01:11.961Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABoAAAAYAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2024-10-10T08:25:54.692Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "StackerCraneStatus.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAuwBoAAAAiAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T08:41:37.31Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "SpeStackerCrane.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAG0AAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-16T05:41:54.682Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "WIDESEAWCS_QuartzJob",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2024-08-30T03:42:44.713Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "IStackerCrane.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "ViewState": "AQIAAGQAAAAAAAAAAAAAAGQAAAA0AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T08:58:48.769Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "StackerCraneTaskCompletedEventArgs.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-16T05:40:45.15Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
@@ -527,51 +664,11 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AQIAAEYAAAAAAAAAAADwv2UAAAAmAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T11:32:06.014Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-29T11:32:06.014Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "Program.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AQIAADAAAAAAAAAAAAAEwD8AAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-02T01:19:12.814Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "CommonStackerCraneJob.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ViewState": "AQIAACcAAAAAAAAAAAAIwFAAAAA1AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T11:10:29.565Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "JobBase.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\JobBase.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\JobBase.cs",
              "ViewState": "AQIAABkAAAAAAAAAAAAAwEUAAAAeAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T02:39:12.089Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "DocumentIndex": 13,
              "Title": "QuartzLogger.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\LogHelper\\QuartzLogger.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\LogHelper\\QuartzLogger.cs",
@@ -579,38 +676,48 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\LogHelper\\QuartzLogger.cs",
              "ViewState": "AQIAAAwAAAAAAAAAAAAiwDEAAABVAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T02:28:02.218Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T02:28:02.218Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABoAAAAZAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2024-10-10T08:25:54.692Z",
              "EditorCaption": ""
              "DocumentIndex": 12,
              "Title": "JobBase.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\JobBase.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\JobBase.cs",
              "ViewState": "AQIAABkAAAAAAAAAAAAAwEUAAAAeAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T02:39:12.089Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "DocumentIndex": 15,
              "Title": "Program.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AQIAADAAAAAAAAAAAAAEwD8AAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-02T01:19:12.814Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "SiemensS7Communicator.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs",
              "RelativeToolTip": "WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs",
              "ViewState": "AQIAAFMAAAAAAAAAAAA9wGIAAAAxAAAA",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAFkAAAAVAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T10:58:24.015Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "DocumentIndex": 16,
              "Title": "WIDESEAWCS_Tasks.csproj",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
@@ -618,12 +725,11 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "ViewState": "AQIAAAAAAAAAAAAAAADwvwAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2024-08-29T11:11:54.978Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-29T11:11:54.978Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "DocumentIndex": 17,
              "Title": "StackerCraneTaskCommand.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
@@ -631,12 +737,11 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
              "ViewState": "AQIAABsAAAAAAAAAAAAuwBsAAAAyAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T11:10:38.27Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-29T11:10:38.27Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "DocumentIndex": 18,
              "Title": "StackerCraneDBName.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
@@ -644,12 +749,11 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
              "ViewState": "AQIAABkAAAAAAAAAAAAuwBkAAAAiAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T11:30:57.917Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-29T11:30:57.917Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "DocumentIndex": 19,
              "Title": "ShuttleCarJob.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ShuttleCarJob\\ShuttleCarJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ShuttleCarJob\\ShuttleCarJob.cs",
@@ -657,12 +761,11 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ShuttleCarJob\\ShuttleCarJob.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAACoAAAAmAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-14T07:44:12.691Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-14T07:44:12.691Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "DocumentIndex": 20,
              "Title": "TaskTypeGroup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeGroup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeGroup.cs",
@@ -670,12 +773,11 @@
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeGroup.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAUAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:40:01.473Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:40:01.473Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "DocumentIndex": 21,
              "Title": "TaskTypeEnum.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
@@ -683,12 +785,11 @@
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskTypeEnum.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAAkAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:39:58.105Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:39:58.105Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "DocumentIndex": 22,
              "Title": "TaskStatusGroup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusGroup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusGroup.cs",
@@ -696,12 +797,11 @@
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusGroup.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAkAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:39:54.198Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:39:54.198Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "DocumentIndex": 23,
              "Title": "TaskEnumHelper.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskEnumHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskEnumHelper.cs",
@@ -709,12 +809,11 @@
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskEnumHelper.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAuwAUAAAAHAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:39:31.87Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:39:31.87Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "DocumentIndex": 24,
              "Title": "Storage.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Storage.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Storage.cs",
@@ -722,12 +821,11 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Storage.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABcAAAAFAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-04T08:10:26.395Z",
              "EditorCaption": ""
              "WhenOpened": "2024-09-04T08:10:26.395Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "DocumentIndex": 25,
              "Title": "Sys_DictionaryController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs",
@@ -735,12 +833,11 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs",
              "ViewState": "AQIAACYAAAAAAAAAAAAiwEAAAAAzAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-04T08:18:22.162Z",
              "EditorCaption": ""
              "WhenOpened": "2024-09-04T08:18:22.162Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "DocumentIndex": 27,
              "Title": "BaseCommunicator.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\BaseCommunicator.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\BaseCommunicator.cs",
@@ -748,12 +845,11 @@
              "RelativeToolTip": "WIDESEAWCS_Communicator\\BaseCommunicator.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABUAAAAhAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T10:57:42.018Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-29T10:57:42.018Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "DocumentIndex": 28,
              "Title": "DeviceStatus.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceEnum\\DeviceStatus.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceEnum\\DeviceStatus.cs",
@@ -761,12 +857,11 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceEnum\\DeviceStatus.cs",
              "ViewState": "AQIAABQAAAAAAAAAAAAuwBgAAAApAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T08:39:33.43Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-30T08:39:33.43Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "DocumentIndex": 29,
              "Title": "IDevice.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\IDevice.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\IDevice.cs",
@@ -774,12 +869,11 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\IDevice.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABgAAAApAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T11:16:45.45Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-29T11:16:45.45Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "DocumentIndex": 26,
              "Title": "Sys_DictionaryService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
@@ -787,12 +881,11 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABwAAACGAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-03T01:33:05.724Z",
              "EditorCaption": ""
              "WhenOpened": "2024-09-03T01:33:05.724Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "DocumentIndex": 31,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
@@ -800,12 +893,11 @@
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AQIAADgAAAAAAAAAAAAjwFgAAAAmAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-29T11:58:29.741Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-29T11:58:29.741Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "DocumentIndex": 30,
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
@@ -813,12 +905,11 @@
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAAkAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:39:51.461Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:39:51.461Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "DocumentIndex": 32,
              "Title": "TaskExecuteDetailService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
@@ -826,12 +917,11 @@
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "ViewState": "AQIAACAAAAAAAAAAAAAWwDoAAAAyAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-02T01:07:18.935Z",
              "EditorCaption": ""
              "WhenOpened": "2024-09-02T01:07:18.935Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "DocumentIndex": 33,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
@@ -839,12 +929,11 @@
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AQIAAEUAAAAAAAAAAAAWwF8AAAA4AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:49:17.744Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:49:17.744Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "DocumentIndex": 35,
              "Title": "LinqExpressionType.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\LinqExpressionType.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\LinqExpressionType.cs",
@@ -852,12 +941,11 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\LinqExpressionType.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:23:54.876Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:23:54.876Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "DocumentIndex": 36,
              "Title": "EnumHelper.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\EnumHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\EnumHelper.cs",
@@ -870,7 +958,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 33,
              "DocumentIndex": 41,
              "Title": "IShuttleCar.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs",
@@ -878,12 +966,11 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAgAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-14T07:37:28.248Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-14T07:37:28.248Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "DocumentIndex": 38,
              "Title": "RequestLogModel.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\LogHelper\\RequestLogModel.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\LogHelper\\RequestLogModel.cs",
@@ -891,12 +978,11 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\LogHelper\\RequestLogModel.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAgAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-14T08:48:48.637Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-14T08:48:48.637Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "DocumentIndex": 39,
              "Title": "ServiceBase.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs",
@@ -904,12 +990,11 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs",
              "ViewState": "AQIAAIgAAAAAAAAAAAASwKAAAAArAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-03T01:21:44.407Z",
              "EditorCaption": ""
              "WhenOpened": "2024-09-03T01:21:44.407Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "DocumentIndex": 34,
              "Title": "ApiLogMiddleware.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs",
@@ -917,25 +1002,11 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs",
              "ViewState": "AQIAADwAAAAAAAAAAAAIwFoAAAANAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-14T08:18:18.521Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-14T08:18:18.521Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 36,
              "Title": "QuartzJobHostedService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs",
              "ViewState": "AQIAADkAAAAAAAAAAAAuwGwAAABEAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-02T01:18:58.688Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "DocumentIndex": 37,
              "Title": "Sys_Log.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_Log.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Sys_Log.cs",
@@ -943,12 +1014,11 @@
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\Sys_Log.cs",
              "ViewState": "AQIAACMAAAAAAAAAAAAQwDQAAAA9AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-14T09:20:02.356Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-14T09:20:02.356Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 34,
              "DocumentIndex": 42,
              "Title": "ShuttleCar.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs",
@@ -956,12 +1026,11 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs",
              "ViewState": "AQIAAA0AAAAAAAAAAAAAAA0AAAAVAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-14T07:38:00.587Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-14T07:38:00.587Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 41,
              "DocumentIndex": 47,
              "Title": "JobSetup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs",
@@ -973,7 +1042,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 40,
              "DocumentIndex": 46,
              "Title": "QuartzJobAutofacModuleRegister.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs",
@@ -985,7 +1054,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 37,
              "DocumentIndex": 44,
              "Title": "LogAOP.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\LogAOP.cs",
@@ -993,12 +1062,11 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\LogAOP.cs",
              "ViewState": "AQIAALkAAAAAAAAAAAAUwN4AAABPAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-14T09:51:47.204Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-14T09:51:47.204Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 32,
              "DocumentIndex": 40,
              "Title": "ApiAuthorizeFilter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
@@ -1006,12 +1074,11 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "ViewState": "AQIAAAkAAAAAAAAAAAAAAAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-10-15T01:08:35.683Z",
              "EditorCaption": ""
              "WhenOpened": "2024-10-15T01:08:35.683Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 35,
              "DocumentIndex": 43,
              "Title": "ConveyorLineDBName.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs",
@@ -1019,12 +1086,11 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs",
              "ViewState": "AQIAAB4AAAAAAAAAAAAAAB4AAAAbAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-09-02T04:10:35.23Z",
              "EditorCaption": ""
              "WhenOpened": "2024-09-02T04:10:35.23Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 39,
              "DocumentIndex": 45,
              "Title": "QuartzJobDataTableHostedService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs",
@@ -1036,19 +1102,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 38,
              "Title": "JobFactory.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAADEAAABXAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T09:01:11.961Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 43,
              "DocumentIndex": 49,
              "Title": "SqlsugarSetup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs",
@@ -1060,7 +1114,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 42,
              "DocumentIndex": 48,
              "Title": "AutofacModuleRegister.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
@@ -1072,7 +1126,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 44,
              "DocumentIndex": 50,
              "Title": "Sys_UserService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
@@ -1084,7 +1138,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 47,
              "DocumentIndex": 53,
              "Title": "IUser.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\HttpContextUser\\IUser.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\HttpContextUser\\IUser.cs",
@@ -1096,7 +1150,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 46,
              "DocumentIndex": 52,
              "Title": "AspNetUser.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\HttpContextUser\\AspNetUser.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\HttpContextUser\\AspNetUser.cs",
@@ -1108,7 +1162,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 48,
              "DocumentIndex": 54,
              "Title": "ActionExecuteFilter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ActionExecuteFilter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ActionExecuteFilter.cs",
@@ -1120,7 +1174,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 49,
              "DocumentIndex": 55,
              "Title": "SqlSugarAop.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs",
@@ -1132,19 +1186,18 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 45,
              "DocumentIndex": 51,
              "Title": "WIDESEAWCS_Core",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj",
              "RelativeToolTip": "WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2024-08-30T03:47:14.954Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-30T03:47:14.954Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 52,
              "DocumentIndex": 58,
              "Title": "Sys_UserController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
@@ -1156,7 +1209,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 54,
              "DocumentIndex": 60,
              "Title": "MemoryCacheService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs",
@@ -1168,7 +1221,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 59,
              "DocumentIndex": 65,
              "Title": "ICaching.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICaching.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\ICaching.cs",
@@ -1180,7 +1233,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 55,
              "DocumentIndex": 61,
              "Title": "ICacheService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICacheService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\ICacheService.cs",
@@ -1192,7 +1245,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 56,
              "DocumentIndex": 62,
              "Title": "Sys_MenuService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_MenuService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_MenuService.cs",
@@ -1204,7 +1257,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 50,
              "DocumentIndex": 56,
              "Title": "RepositoryBase.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
@@ -1216,7 +1269,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 51,
              "DocumentIndex": 57,
              "Title": "BaseEntity.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\Models\\BaseEntity.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\DB\\Models\\BaseEntity.cs",
@@ -1228,7 +1281,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 58,
              "DocumentIndex": 64,
              "Title": "ISys_MenuService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs",
@@ -1240,7 +1293,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 53,
              "DocumentIndex": 59,
              "Title": "MemoryCacheSetup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\MemoryCacheSetup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\MemoryCacheSetup.cs",
@@ -1252,7 +1305,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 57,
              "DocumentIndex": 63,
              "Title": "BaseDBConfig.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\BaseDBConfig.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\DB\\BaseDBConfig.cs",
@@ -1264,7 +1317,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 64,
              "DocumentIndex": 70,
              "Title": "JwtHelper.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\JwtHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\JwtHelper.cs",
@@ -1276,7 +1329,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 60,
              "DocumentIndex": 66,
              "Title": "DeviceProtocolService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs",
@@ -1288,7 +1341,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 61,
              "DocumentIndex": 67,
              "Title": "EntityProperties.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Utilities\\EntityProperties.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Utilities\\EntityProperties.cs",
@@ -1300,7 +1353,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 62,
              "DocumentIndex": 68,
              "Title": "ServiceFunFilter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceFunFilter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\ServiceFunFilter.cs",
@@ -1312,7 +1365,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 63,
              "DocumentIndex": 69,
              "Title": "Dt_Router.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_Router.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_Router.cs",
@@ -1324,7 +1377,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 67,
              "DocumentIndex": 73,
              "Title": "ISchedulerCenter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\ISchedulerCenter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\ISchedulerCenter.cs",
@@ -1336,7 +1389,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 68,
              "DocumentIndex": 74,
              "Title": "CustomProfile.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
@@ -1348,7 +1401,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 70,
              "DocumentIndex": 76,
              "Title": "IService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\IService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\IService.cs",
@@ -1360,7 +1413,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 66,
              "DocumentIndex": 72,
              "Title": "ModelValidateAttribute.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs",
@@ -1372,7 +1425,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 65,
              "DocumentIndex": 71,
              "Title": "ModelValidate.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Utilities\\ModelValidate.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Utilities\\ModelValidate.cs",
@@ -1384,7 +1437,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 71,
              "DocumentIndex": 77,
              "Title": "Dt_DeviceInfo.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs",
@@ -1396,7 +1449,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 72,
              "DocumentIndex": 78,
              "Title": "Dt_DeviceProtocol.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs",
@@ -1408,7 +1461,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 79,
              "DocumentIndex": 85,
              "Title": "AutofacPropertityModuleReg.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutofacPropertityModuleReg.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\AutofacPropertityModuleReg.cs",
@@ -1420,7 +1473,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 69,
              "DocumentIndex": 75,
              "Title": "ApiBaseController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
@@ -1432,7 +1485,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 78,
              "DocumentIndex": 84,
              "Title": "AutoMapperConfig.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperConfig.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\AutoMapperConfig.cs",
@@ -1444,7 +1497,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 77,
              "DocumentIndex": 83,
              "Title": "AutoMapperSetup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs",
@@ -1456,7 +1509,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 76,
              "DocumentIndex": 82,
              "Title": "CustomAuthorizeFilter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomAuthorizeFilter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomAuthorizeFilter.cs",
@@ -1468,7 +1521,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 75,
              "DocumentIndex": 81,
              "Title": "SecurityEncDecryptHelper.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\SecurityEncDecryptHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\SecurityEncDecryptHelper.cs",
@@ -1480,7 +1533,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 74,
              "DocumentIndex": 80,
              "Title": "DBSeed.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Seed\\DBSeed.cs",
@@ -1493,7 +1546,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 73,
              "DocumentIndex": 79,
              "Title": "Sys_Dictionary.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_Dictionary.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Sys_Dictionary.cs",
@@ -1505,7 +1558,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 80,
              "DocumentIndex": 86,
              "Title": "VueDictionaryDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\VueDictionaryDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\System\\VueDictionaryDTO.cs",
@@ -1517,7 +1570,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 81,
              "DocumentIndex": 87,
              "Title": "HttpContextSetup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\HttpContextSetup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\HttpContextSetup.cs",
@@ -1529,7 +1582,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 82,
              "DocumentIndex": 88,
              "Title": "ExporterHeaderFilter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ExporterHeaderFilter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ExporterHeaderFilter.cs",
@@ -1541,7 +1594,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 85,
              "DocumentIndex": 91,
              "Title": "TestJob.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\TestJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TestJob.cs",
@@ -1553,7 +1606,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 83,
              "DocumentIndex": 89,
              "Title": "RouterService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\RouterService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\RouterService.cs",
@@ -1565,7 +1618,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 84,
              "DocumentIndex": 90,
              "Title": "ConveyorLineTaskCommand.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs",
@@ -1577,19 +1630,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 86,
              "Title": "IStackerCrane.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs",
              "ViewState": "AQIAAD4AAAAAAAAAAAApwGQAAAA0AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T08:58:48.769Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 87,
              "DocumentIndex": 92,
              "Title": "ConveyorLineStatus.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\Enum\\ConveyorLineStatus.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\Enum\\ConveyorLineStatus.cs",
@@ -1601,31 +1642,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 88,
              "Title": "StackerCraneStatus.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Enum\\StackerCraneStatus.cs",
              "ViewState": "AQIAAFIAAAAAAAAAAAAAwFgAAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T08:41:37.31Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 89,
              "Title": "DeviceStatus.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceStatus.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAADIAAAAPAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-30T08:40:14.553Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 90,
              "DocumentIndex": 93,
              "Title": "IRouterService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IRouterService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IRouterService.cs",
@@ -1637,7 +1654,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 91,
              "DocumentIndex": 94,
              "Title": "RouterController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs",
@@ -1649,7 +1666,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 92,
              "DocumentIndex": 95,
              "Title": "DispatchInfoService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DispatchInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DispatchInfoService.cs",
@@ -1661,7 +1678,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 93,
              "DocumentIndex": 96,
              "Title": "IDispatchInfoService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDispatchInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDispatchInfoService.cs",
@@ -1673,7 +1690,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 94,
              "DocumentIndex": 97,
              "Title": "DeviceProtocolDetailService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolDetailService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolDetailService.cs",
@@ -1685,7 +1702,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 95,
              "DocumentIndex": 98,
              "Title": "IDeviceProtocolDetailService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolDetailService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolDetailService.cs",
@@ -1697,7 +1714,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 97,
              "DocumentIndex": 100,
              "Title": "IDeviceProtocolService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolService.cs",
@@ -1709,7 +1726,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 98,
              "DocumentIndex": 101,
              "Title": "IDeviceInfoService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
@@ -1721,7 +1738,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 102,
              "DocumentIndex": 105,
              "Title": "DeviceProtocolDetailDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceProtocolDetailDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DeviceProtocolDetailDTO.cs",
@@ -1733,7 +1750,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 96,
              "DocumentIndex": 99,
              "Title": "DeviceInfoService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
@@ -1745,7 +1762,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 101,
              "DocumentIndex": 104,
              "Title": "DispatchStatusDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DispatchStatusDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DispatchStatusDTO.cs",
@@ -1757,7 +1774,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 100,
              "DocumentIndex": 103,
              "Title": "RoutersAddDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\RoutersAddDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\RoutersAddDTO.cs",
@@ -1769,7 +1786,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 99,
              "DocumentIndex": 102,
              "Title": "DeviceInfoRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Repository\\DeviceInfoRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Repository\\DeviceInfoRepository.cs",
@@ -1781,7 +1798,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 105,
              "DocumentIndex": 108,
              "Title": "DeviceInfoDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceInfoDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DeviceInfoDTO.cs",
@@ -1793,7 +1810,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 106,
              "DocumentIndex": 109,
              "Title": "Dt_DispatchInfo.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs",
@@ -1805,7 +1822,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 107,
              "DocumentIndex": 110,
              "Title": "Dt_DeviceProtocolDetail.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs",
@@ -1817,7 +1834,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 104,
              "DocumentIndex": 107,
              "Title": "DeviceProDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs",
@@ -1829,7 +1846,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 103,
              "DocumentIndex": 106,
              "Title": "DispatchInfoDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DispatchInfoDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DispatchInfoDTO.cs",
@@ -1841,7 +1858,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 108,
              "DocumentIndex": 111,
              "Title": "DeviceCommand.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs",
@@ -1853,7 +1870,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 110,
              "DocumentIndex": 113,
              "Title": "IDeviceInfoRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Repository\\IDeviceInfoRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Repository\\IDeviceInfoRepository.cs",
@@ -1865,7 +1882,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 111,
              "DocumentIndex": 114,
              "Title": "QuartzJobException.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\CustomException\\QuartzJobException.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\CustomException\\QuartzJobException.cs",
@@ -1877,7 +1894,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 109,
              "DocumentIndex": 112,
              "Title": "RouterRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Repository\\RouterRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Repository\\RouterRepository.cs",
@@ -1889,7 +1906,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 112,
              "DocumentIndex": 115,
              "Title": "CommunicationException.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CommunicationException.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\CommunicationException.cs",
@@ -1901,7 +1918,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 113,
              "DocumentIndex": 116,
              "Title": "SiemensDBDataType.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Siemens\\SiemensDBDataType.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Siemens\\SiemensDBDataType.cs",
@@ -1913,30 +1930,18 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 114,
              "Title": "WIDESEAWCS_QuartzJob",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2024-08-30T03:42:44.713Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 115,
              "DocumentIndex": 117,
              "Title": "WIDESEAWCS_Communicator",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj",
              "RelativeToolTip": "WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2024-08-30T03:33:43.09Z",
              "EditorCaption": ""
              "WhenOpened": "2024-08-30T03:33:43.09Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 116,
              "DocumentIndex": 118,
              "Title": "IRouterRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Repository\\IRouterRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Repository\\IRouterRepository.cs",
@@ -1948,7 +1953,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 117,
              "DocumentIndex": 119,
              "Title": "IDeviceProtocolRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Repository\\IDeviceProtocolRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Repository\\IDeviceProtocolRepository.cs",
@@ -1960,7 +1965,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 118,
              "DocumentIndex": 120,
              "Title": "IDispatchInfoRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Repository\\IDispatchInfoRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Repository\\IDispatchInfoRepository.cs",
WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Common/CommonStackerCrane.cs
ÎļþÃû´Ó WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/CommonStackerCrane.cs ÐÞ¸Ä
@@ -289,8 +289,7 @@
                List<DeviceProDTO> devicePros = _deviceProDTOs.Where(x => x.DeviceProParamType == protocolParamType).ToList();
                if (devicePros.Count == 0)
                {
                    //todo åè®®ä¿¡æ¯æœªèŽ·å–åˆ°æ—¶æŠ›å‡ºå¼‚å¸¸
                    throw new Exception();
                    throw new Exception("未获取到协议信息");
                }
                for (int i = 0; i < devicePros.Count; i++)
                {
WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/StackerCrane/Spec/SpeStackerCrane.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,286 @@
using HslCommunication;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Communicator;
using WIDESEAWCS_QuartzJob.DeviceBase;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.StackerCrane;
using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
namespace WIDESEAWCS_QuartzJob
{
    /// <summary>
    /// è‡ªå®šä¹‰å †åž›æœº
    /// </summary>
    /// <typeparam name="T1">堆垛机状态1泛型</typeparam>
    /// <typeparam name="T2">堆垛机状态2泛型</typeparam>
    /// <typeparam name="T3">堆垛机状态3泛型</typeparam>
    [Description("堆垛机")]
    public class SpeStackerCrane : IStackerCrane
    {
        #region Private Member
        /// <summary>
        /// å †åž›æœºé€šè®¯å¯¹è±¡
        /// </summary>
        private BaseCommunicator _communicator;
        /// <summary>
        /// å †åž›æœºåè®®ä¿¡æ¯
        /// </summary>
        private readonly List<DeviceProDTO> _deviceProDTOs;
        /// <summary>
        /// å †åž›æœºåè®®æ˜Žç»†ä¿¡æ¯
        /// </summary>
        private readonly List<DeviceProtocolDetailDTO> _deviceProtocolDetailDTOs;
        /// <summary>
        /// è®¾å¤‡ç¼–号
        /// </summary>
        public readonly string _deviceCode;
        /// <summary>
        /// è®¾å¤‡åç§°
        /// </summary>
        public readonly string _deviceName;
        /// <summary>
        /// ä¸Šä¸€æ¬¡ä»»åŠ¡å·
        /// </summary>
        private int _lastTaskNum;
        private bool _isChecked = false;
        private bool _heartStatr = true;
        private bool _isConnected = true;
        #endregion Private Member
        #region Public Member
        public BaseCommunicator Communicator => _communicator;
        public List<DeviceProDTO> DeviceProDTOs => _deviceProDTOs;
        public List<DeviceProtocolDetailDTO> DeviceProtocolDetailDTOs => _deviceProtocolDetailDTOs;
        public int LastTaskNum => _lastTaskNum;
        public int CurrentTaskNum => GetCurrentTaskNum();
        public int? LastTaskType { get; set; } = null;
        public string DeviceCode => _deviceCode;
        public string DeviceName => _deviceName;
        public bool IsFault => throw new NotImplementedException();
        public bool IsConnected => Communicator.IsConnected && _isConnected;
        public DeviceStatus Status => throw new NotImplementedException();
        /// <summary>
        /// æ— ç”¨
        /// </summary>
        public event EventHandler<StackerCraneTaskCompletedEventArgs> StackerCraneTaskCompletedEventHandler;
        public object StackerCraneTaskCommand { get; set; }
        #endregion
        #region Constructor Function
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="communicator">堆垛机通讯对象</param>
        /// <param name="deviceProDTOs">堆垛机协议信息</param>
        /// <param name="deviceProtocolDetailDTOs">堆垛机协议明细信息</param>
        /// <param name="deviceCode">设备编号</param>
        /// <param name="deviceName">设备名称</param>
        public SpeStackerCrane(BaseCommunicator communicator, List<DeviceProDTO> deviceProDTOs, List<DeviceProtocolDetailDTO> deviceProtocolDetailDTOs, string deviceCode, string deviceName)
        {
            _communicator = communicator;
            _deviceProDTOs = deviceProDTOs;
            _deviceProtocolDetailDTOs = deviceProtocolDetailDTOs;
            _deviceCode = deviceCode;
            _deviceName = deviceName;
            CheckConnect();
        }
        #endregion
        #region Private Method
        private object GetStatus(string protocolParamType)
        {
            if (Communicator.IsConnected)
            {
                List<DeviceProDTO> devicePros = _deviceProDTOs.Where(x => x.DeviceProParamType == protocolParamType).ToList();
                if (devicePros.Count == 0)
                {
                    throw new Exception("未获取到协议信息");
                }
                for (int i = 0; i < devicePros.Count; i++)
                {
                    object readStatus = Communicator.ReadAsObj(devicePros[i].DeviceProAddress, devicePros[i].DeviceDataType);
                    //todo åè®®æ˜Žç»†ä¿¡æ¯æœªèŽ·å–åˆ°æ—¶æŠ›å‡ºå¼‚å¸¸
                    DeviceProtocolDetailDTO? deviceProtocolDetail = _deviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == devicePros[i].DeviceProParamName) ?? throw new Exception();
                    deviceProtocolDetail = _deviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == devicePros[i].DeviceProParamType && x.ProtocalDetailValue.Equals(readStatus.ToString()));
                    if (deviceProtocolDetail != null)
                    {
                        return Convert.ToInt32(readStatus);
                    }
                    return -1;
                }
            }
            //todo é€šè®¯æœªè¿žæŽ¥æ—¶æŠ›å‡ºå¼‚常
            return -1;
        }
        private int GetCurrentTaskNum()
        {
            DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CurrentTaskNum));
            return devicePro == null ? throw new Exception() : (int)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType);
        }
        private void CheckConnect()
        {
            Task.Run(() =>
            {
                while (_heartStatr)
                {
                    try
                    {
                        DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault();
                        if (devicePro == null)
                            _isConnected = false;
                        else
                            Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType);
                        _isConnected = true;
                    }
                    catch (Exception ex)
                    {
                        _isConnected = false;
                    }
                    Thread.Sleep(500);
                }
            });
        }
        #endregion
        #region Public Method
        public T GetStackerCraneStatus<T>()
        where T : notnull, Enum
        {
            return (T)GetStatus(typeof(T).Name);
        }
        public void Dispose()
        {
            _heartStatr = false;
            _communicator.Dispose();
            GC.SuppressFinalize(this);
        }
        public TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum
        {
            if (!IsConnected) throw new Exception($"通讯连接错误,请检查网络");
            DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString());
            return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType);
        }
        public void Heartbeat()
        {
        }
        public bool SendCommand<T>(T command) where T : IDataTransfer, new()
        {
            if (!IsConnected) throw new Exception($"通讯连接错误,请检查网络");
            DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
            if (devicePro == null)
            {
                return false;
            }
            if (Communicator.WriteCustomer(devicePro.DeviceProAddress, command))
            {
                StackerCraneTaskCommand = command;
                //CheckStackerCraneTaskCompleted();
                return true;
            }
            return false;
        }
        /// <summary>
        /// ç›‘测堆垛机任务是否完成(防止任务完成事件监测超时,定义手动触发功能)
        /// </summary>
         void CheckStackerCraneTaskCompleted()
        {
            if (_isChecked)
                return;
            Task.Run(() =>
            {
                _isChecked = true;
                try
                {
                    DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(StackerCraneWorkStatus));
                    if (devicePro != null)
                    {
                        DeviceProtocolDetailDTO? deviceProtocolDetail = _deviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == devicePro.DeviceProParamName && x.ProtocolDetailType == StackerCraneWorkStatus.WorkCompleted.ToString());
                        if (deviceProtocolDetail != null)
                        {
                            OperateResult<TimeSpan> operateResult = new OperateResult<TimeSpan>();
                            TypeCode typeCode = SiemensDBDataType.GetTypeCode(devicePro.DeviceDataType);
                            switch (typeCode)
                            {
                                case TypeCode.Boolean:
                                    operateResult = Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000, Convert.ToBoolean(deviceProtocolDetail.ProtocalDetailValue));
                                    break;
                                case TypeCode.Byte:
                                    operateResult = Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000, Convert.ToByte(deviceProtocolDetail.ProtocalDetailValue));
                                    break;
                                case TypeCode.Int16:
                                    operateResult = Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000, Convert.ToInt16(deviceProtocolDetail.ProtocalDetailValue));
                                    break;
                                case TypeCode.Int32:
                                    operateResult = Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000, Convert.ToInt32(deviceProtocolDetail.ProtocalDetailValue));
                                    break;
                                case TypeCode.UInt16:
                                    operateResult = Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000, Convert.ToUInt16(deviceProtocolDetail.ProtocalDetailValue));
                                    break;
                                case TypeCode.UInt32:
                                    operateResult = Communicator.Wait(devicePro.DeviceProAddress, 500, 10 * 6000, Convert.ToUInt32(deviceProtocolDetail.ProtocalDetailValue));
                                    break;
                                default:
                                    break;
                            }
                            int taskNum = CurrentTaskNum;
                            if (operateResult.IsSuccess /*&& LastTaskNum != taskNum*/)
                            {
                                StackerCraneTaskCompletedEventArgs args = new(taskNum);
                                StackerCraneTaskCompletedEventHandler?.Invoke(this, args);
                                _lastTaskNum = taskNum;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    _isChecked = false;
                }
            });
        }
        public bool SetValue<TEnum, TValue>(TEnum @enum, TValue value)
            where TEnum : Enum
            where TValue : notnull
        {
            if (!IsConnected) throw new Exception($"通讯连接错误,请检查网络");
            DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString());
            return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value);
        }
        #endregion
    }
}
WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj
@@ -4,7 +4,8 @@
        <TargetFramework>net6.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <Description>设备管理及调度</Description>
        <Description>新增堆垛机封装</Description>
        <Version>2.0.0</Version>
    </PropertyGroup>
    <ItemGroup>
WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -24,5 +24,5 @@
  "ApiName": "WIDESEA",
  "ExpMinutes": 120,
  "QuartzJobAutoStart": true,
  "LogDeubgEnable": false
  "LogDeubgEnable": true
}
WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -40,6 +40,11 @@
        {
            try
            {
                // speStackerCrane.GetStackerCraneStatus<StackerCraneAutoStatus>();
                // speStackerCrane.GetStackerCraneStatus<StackerCraneWorkStatus>();
                // speStackerCrane.GetStackerCraneStatus<StackerCraneStatus>();
                CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
                if (commonStackerCrane != null)
                {