1
hutongqing
2024-08-26 a4122d504f8fc5f0626eaa0cbc270b47742812d9
1
已删除5个文件
已修改11个文件
已添加8个文件
1062 ■■■■■ 文件已修改
WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/06806fcb-1c4d-4ed6-941e-043f47ae2531.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/08f0fa8a-2d75-4852-a2d6-658202d6a07b.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/09ca3974-1d31-4f33-8f28-2e1360f179db.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0ef79c88-9995-493c-a84e-d80b9eb0515b.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6e419d5f-ae56-4820-a877-9746d90bab1c.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7473d672-9977-45bc-a84a-0d09bf0b6996.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/78cff53c-508e-411c-887e-80576f9dbbbc.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/809a017c-35ca-4286-9cfd-48562f355413.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d8b37285-dfc1-49db-8924-9ca884e3d787.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0c597ef-c6ac-4c62-a625-59e9694c77a7.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 743 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/TaskEnumHelper.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/TaskStatusGroup.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/TaskTypeGroup.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 158 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue
@@ -23,13 +23,13 @@
            class="grid-content"
            style="font-weight: bold; font-size: 18px; margin-left: 5%"
          >
            <el-form :rules="routeTypeRules">
              <el-form-item
                label="路由类型"
                label-width="120"
                prop="routerType"
              >
                <el-select v-model="routerType" filterable placeholder="请选择">
            <el-form :rules="routeTypeRules" :model="routerType">
              <el-form-item label="路由类型" label-width="120" prop="type">
                <el-select
                  v-model="routerType.type"
                  filterable
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in routerTypes"
                    :key="item.key"
@@ -172,7 +172,7 @@
      active: 0,
      showDetialBox: false,
      routerTypes: [],
      routerType: "",
      routerType: { type: "" },
      deviceCodes: [],
      filterDeviceCodes: [],
      childDeviceCodes: [],
@@ -199,8 +199,8 @@
        ],
      },
      routeTypeRules: {
        routerType: [
          { required: true, message: "请选择位置编号", trigger: "change" },
        type: [
          { required: true, message: "请选择路由类型", trigger: "change" },
        ],
      },
    };
@@ -208,7 +208,7 @@
  methods: {
    open() {
      this.routerTypes = [];
      this.routerType = "";
      this.routerType = { type: "" };
      this.deviceCode = "";
      this.deviceCodes = [];
      this.filterDeviceCodes = [];
@@ -282,7 +282,7 @@
      });
      this.http
        .post(
          "/api/Router/AddRouters?routerType=" + this.routerType,
          "/api/Router/AddRouters?routerType=" + this.routerType.type,
          this.routers,
          true
        )
WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue
@@ -92,14 +92,13 @@
            <el-table-column prop="isNormal" label="是否正常" width="90">
            </el-table-column>
            <el-table-column prop="description" label="描述"> </el-table-column>
            <el-table-column prop="createDate" label="创建时间" width="180">
            </el-table-column>
            <el-table-column prop="remark" label="备注" width="180">
            </el-table-column>
          </el-table>
        </div>
      </div>
      <footer>
        <el-button type="primary">关闭</el-button>
      </footer>
    </vol-box>
  </div>
</template>
WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin
Binary files differ
WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/06806fcb-1c4d-4ed6-941e-043f47ae2531.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/08f0fa8a-2d75-4852-a2d6-658202d6a07b.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/09ca3974-1d31-4f33-8f28-2e1360f179db.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0ef79c88-9995-493c-a84e-d80b9eb0515b.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6e419d5f-ae56-4820-a877-9746d90bab1c.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7473d672-9977-45bc-a84a-0d09bf0b6996.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/78cff53c-508e-411c-887e-80576f9dbbbc.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/809a017c-35ca-4286-9cfd-48562f355413.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d8b37285-dfc1-49db-8924-9ca884e3d787.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0c597ef-c6ac-4c62-a625-59e9694c77a7.vsidx
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2
Binary files differ
WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -3,39 +3,19 @@
  "WorkspaceRootPath": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\",
  "Documents": [
    {
      "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}"
    },
    {
      "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:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\middlewares\\jwttokenauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\jwttokenauthmiddleware.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\\authorization\\authorizationresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationresponse.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\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationsetup.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\\authorization\\jwthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\jwthelper.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\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\autofacmoduleregister.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\\conveyorlinejob\\commonconveyorlinejob.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\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_taskinfoservice\\taskservice.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\\basecontroller\\apibasecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\basecontroller\\apibasecontroller.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\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
@@ -43,8 +23,72 @@
      "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:{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\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "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:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_basicinfoservice\\routerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\routerservice.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\\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:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\enums\\taskenumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\taskenumhelper.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\\tasktypegroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\tasktypegroup.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\\taskstatusgroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\taskstatusgroup.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\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\tasktypeenum.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}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\enums\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\taskstatusenum.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}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\jwttokenauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\jwttokenauthmiddleware.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\\authorization\\authorizationresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationresponse.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\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationsetup.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\\authorization\\jwthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\jwthelper.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\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\autofacmoduleregister.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\\middlewares\\apilogmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -63,14 +107,6 @@
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\routerinouttype.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\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "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:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
@@ -85,22 +121,6 @@
    {
      "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\\enums\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\taskstatusenum.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:{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}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baserepository\\repositorybase.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\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -183,10 +203,6 @@
      "RelativeMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|solutionrelative:wideseawcs_isystemrepository\\isys_dictionarylistrepository.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\\basecontroller\\apibasecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\basecontroller\\apibasecontroller.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\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
@@ -202,7 +218,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 9,
          "SelectedChildIndex": 7,
          "Children": [
            {
              "$type": "Bookmark",
@@ -222,108 +238,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "AutofacModuleRegister.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "ViewState": "AQIAAEkAAAAAAAAAAAAAwAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:03:55.023Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "CommonConveyorLine.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ViewState": "AQIAAHsAAAAAAAAAAAAvwJQAAAAMAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T13:35:50.213Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "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": "AQIAACEAAAAAAAAAAAAAACMAAAAnAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T13:30:11.304Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "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": "AQIAAFsAAAAAAAAAAADgv3gAAAANAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:28:21.914Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "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": "AQIAAB0AAAAAAAAAAAAEwEEAAAA+AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T01:13:33.04Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "ApiAuthorizeFilter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "ViewState": "AQIAAB8AAAAAAAAAAAAiwCUAAAAJAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-22T13:43:30.318Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "JwtTokenAuthMiddleware.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "ViewState": "AQIAACwAAAAAAAAAAAAQwAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:04:13.745Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "AuthorizationResponse.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:04:21.523Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "JwtHelper.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\JwtHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\JwtHelper.cs",
@@ -336,7 +251,98 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "DocumentIndex": 6,
              "Title": "CommonConveyorLine.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ViewState": "AQIAAIAAAAAAAAAAAAAawJIAAAAeAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T13:35:50.213Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AQIAAIsBAAAAAAAAAAD4v7EBAABPAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T02:47:45.831Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AQIAAHkAAAAAAAAAAAAewJQAAABNAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T13:28:07.71Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "TaskEnumHelper.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAC8AAAAMAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:30:12.496Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AQIAABgAAAAAAAAAAAAAACAAAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T02:50:37.171Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "TaskTypeGroup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAASAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:39:07.114Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "ApiBaseController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "ViewState": "AQIAAFkAAAAAAAAAAAAEwHYAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T00:50:52.108Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "Title": "ConveyorLineTaskCommand.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs",
@@ -344,24 +350,194 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs",
              "ViewState": "AQIAABoAAAAAAAAAAAAtwIAAAAAdAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T14:31:56.7Z"
              "WhenOpened": "2024-08-23T14:31:56.7Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AQIAAFUAAAAAAAAAAAAiwIcAAAAsAAAA",
              "DocumentIndex": 9,
              "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": "AQIAAB0AAAAAAAAAAAAEwEEAAAA8AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T13:28:07.71Z",
              "WhenOpened": "2024-08-23T01:13:33.04Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "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": "AQIAAD4AAAAAAAAAAAAEwFkAAAAhAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:28:21.914Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "RepositoryBase.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "ViewState": "AQIAAOwBAAAAAAAAAAAlwAUCAAAMAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:02:37.028Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "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": "AQIAAAAAAAAAAAAAAAAAAA4AAABEAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2024-08-26T07:48:10.664Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "Title": "AuthorizationResponse.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:04:21.523Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "RouterService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "ViewState": "AQIAAEsAAAAAAAAAAAAAAEsAAAAQAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T09:26:22.975Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "TaskExecuteDetailService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "ViewState": "AQIAACIAAAAAAAAAAAAswNYAAAAtAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:04:59.694Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "TaskTypeEnum.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:29:47.916Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "TaskStatusGroup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T02:06:54.362Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "ApiAuthorizeFilter.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs",
              "ViewState": "AQIAABIAAAAAAAAAAAAcwCUAAAAJAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-22T13:43:30.318Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "JwtTokenAuthMiddleware.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs",
              "ViewState": "AQIAACwAAAAAAAAAAAAQwAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:04:13.745Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "ViewState": "AQIAAE0AAAAAAAAAAADwv2YAAAAgAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T17:40:06.251Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "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": "AQIAACEAAAAAAAAAAAAAACMAAAAnAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T13:30:11.304Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "AutofacModuleRegister.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs",
              "ViewState": "AQIAAEkAAAAAAAAAAAAAwAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-26T01:03:55.023Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "AuthorizationSetup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs",
@@ -374,7 +550,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "DocumentIndex": 24,
              "Title": "Storage.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Storage.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Storage.cs",
@@ -382,11 +558,12 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Storage.cs",
              "ViewState": "AQIAABQAAAAAAAAAAAAwwBsBAABTAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-24T17:15:23.687Z"
              "WhenOpened": "2024-08-24T17:15:23.687Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "DocumentIndex": 23,
              "Title": "LogAOP.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\LogAOP.cs",
@@ -394,23 +571,12 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\LogAOP.cs",
              "ViewState": "AQIAACoAAAAAAAAAAAAIwAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-24T17:17:15.799Z"
              "WhenOpened": "2024-08-24T17:17:15.799Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "RouterService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\RouterService.cs",
              "ViewState": "AQIAAJ4AAAAAAAAAAAAYwEsAAAAQAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T09:26:22.975Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "DocumentIndex": 25,
              "Title": "RouterInOutType.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\RouterInOutType.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\RouterInOutType.cs",
@@ -418,23 +584,12 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\RouterInOutType.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAfAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T04:08:51.45Z"
              "WhenOpened": "2024-08-23T04:08:51.45Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AQIAAHYAAAAAAAAAAAAvwKUAAAA1AAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T15:09:00.927Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "DocumentIndex": 22,
              "Title": "ApiLogMiddleware.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs",
@@ -442,11 +597,12 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs",
              "ViewState": "AQIAABEAAAAAAAAAAADwvwAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-24T17:17:27.296Z"
              "WhenOpened": "2024-08-24T17:17:27.296Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "DocumentIndex": 27,
              "Title": "ConveyorLineDBName.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs",
@@ -454,23 +610,12 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAACUAAAAhAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T15:15:06.783Z"
              "WhenOpened": "2024-08-23T15:15:06.783Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "TaskExecuteDetailService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs",
              "ViewState": "AQIAABoAAAAAAAAAAAAowCoAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:04:59.694Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "DocumentIndex": 31,
              "Title": "DeviceCommand.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs",
@@ -478,23 +623,12 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs",
              "ViewState": "AQIAAI0AAAAAAAAAAAD4v50AAAAMAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T14:29:17.46Z"
              "WhenOpened": "2024-08-23T14:29:17.46Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs",
              "ViewState": "AQIAAA4AAAAAAAAAAADwvwkAAAAgAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T17:40:06.251Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "DocumentIndex": 28,
              "Title": "IConveyorLine.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs",
@@ -502,35 +636,12 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs",
              "ViewState": "AQIAACoAAAAAAAAAAAAlwEQAAAANAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T16:02:39.259Z"
              "WhenOpened": "2024-08-23T16:02:39.259Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "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": "AQIAABYBAAAAAAAAAAAAABYBAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T13:30:15.329Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "Title": "RepositoryBase.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs",
              "ViewState": "AQIAAGcAAAAAAAAAAADgv34AAAAMAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:02:37.028Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "DocumentIndex": 30,
              "Title": "SqlsugarSetup.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs",
@@ -538,23 +649,12 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs",
              "ViewState": "AQIAABcAAAAAAAAAAADwvyEAAAAeAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T17:14:48.537Z"
              "WhenOpened": "2024-08-23T17:14:48.537Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AQIAACwAAAAAAAAAAAD4v0QAAAAuAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T15:13:32.255Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "DocumentIndex": 32,
              "Title": "CustomProfile.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
@@ -562,11 +662,12 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABcAAABYAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T02:43:34.925Z"
              "WhenOpened": "2024-08-23T02:43:34.925Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "DocumentIndex": 36,
              "Title": "AreaInfo.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\AreaInfo.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\AreaInfo.cs",
@@ -574,11 +675,12 @@
              "RelativeToolTip": "WIDESEAWCS_Common\\AreaInfo.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAASAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T06:15:23.48Z"
              "WhenOpened": "2024-08-23T06:15:23.48Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "DocumentIndex": 34,
              "Title": "RouterController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs",
@@ -591,7 +693,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 35,
              "DocumentIndex": 40,
              "Title": "QuartzJobDataTableHostedService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs",
@@ -599,11 +701,12 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAD8AAABRAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:22:56.699Z"
              "WhenOpened": "2024-08-23T03:22:56.699Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 34,
              "DocumentIndex": 39,
              "Title": "QuartzJobCreateDataTabel.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs",
@@ -611,11 +714,12 @@
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs",
              "ViewState": "AQIAABMAAAAAAAAAAAAUwEUAAAAYAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:18:28.489Z"
              "WhenOpened": "2024-08-23T03:18:28.489Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "DocumentIndex": 35,
              "Title": "RoutersAddDTO.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\BasicInfo\\RoutersAddDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\BasicInfo\\RoutersAddDTO.cs",
@@ -623,11 +727,12 @@
              "RelativeToolTip": "WIDESEAWCS_DTO\\BasicInfo\\RoutersAddDTO.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAAAXAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T09:27:06.865Z"
              "WhenOpened": "2024-08-23T09:27:06.865Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 40,
              "DocumentIndex": 45,
              "Title": "Sys_DictionaryListService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
@@ -635,11 +740,12 @@
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAAJAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:00:20.407Z"
              "WhenOpened": "2024-08-23T03:00:20.407Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "DocumentIndex": 33,
              "Title": "IRouterService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\IRouterService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IRouterService.cs",
@@ -647,11 +753,12 @@
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IRouterService.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAuwBIAAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T11:18:42.861Z"
              "WhenOpened": "2024-08-23T11:18:42.861Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 32,
              "DocumentIndex": 37,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
@@ -659,11 +766,12 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAlwBEAAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T02:41:48.282Z"
              "WhenOpened": "2024-08-23T02:41:48.282Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 41,
              "DocumentIndex": 46,
              "Title": "ISys_DictionaryListService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
@@ -671,11 +779,12 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAABNAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T02:59:37.615Z"
              "WhenOpened": "2024-08-23T02:59:37.615Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 33,
              "DocumentIndex": 38,
              "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",
@@ -688,7 +797,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 36,
              "DocumentIndex": 41,
              "Title": "FileHelper.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\FileHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\FileHelper.cs",
@@ -696,11 +805,12 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\FileHelper.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAANEAAAAIAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:23:20.234Z"
              "WhenOpened": "2024-08-23T03:23:20.234Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 42,
              "DocumentIndex": 47,
              "Title": "Sys_DictionaryListRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_DictionaryListRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemRepository\\Sys_DictionaryListRepository.cs",
@@ -708,11 +818,12 @@
              "RelativeToolTip": "WIDESEAWCS_SystemRepository\\Sys_DictionaryListRepository.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAABxAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T02:58:47.147Z"
              "WhenOpened": "2024-08-23T02:58:47.147Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 37,
              "DocumentIndex": 42,
              "Title": "DBSeed.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Seed\\DBSeed.cs",
@@ -725,7 +836,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 38,
              "DocumentIndex": 43,
              "Title": "ITaskExecuteDetailService.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
@@ -733,11 +844,12 @@
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAACQAAABPAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T03:06:44.58Z"
              "WhenOpened": "2024-08-23T03:06:44.58Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 43,
              "DocumentIndex": 48,
              "Title": "ISys_DictionaryRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_DictionaryRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryRepository.cs",
@@ -745,11 +857,12 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryRepository.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T02:58:01.587Z"
              "WhenOpened": "2024-08-23T02:58:01.587Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 39,
              "DocumentIndex": 44,
              "Title": "Sys_DictionaryListController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs",
@@ -757,11 +870,12 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAABAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T02:57:05.202Z"
              "WhenOpened": "2024-08-23T02:57:05.202Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 44,
              "DocumentIndex": 49,
              "Title": "ISys_DictionaryListRepository.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_DictionaryListRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryListRepository.cs",
@@ -769,11 +883,12 @@
              "RelativeToolTip": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryListRepository.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAABUAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T02:57:58.344Z"
              "WhenOpened": "2024-08-23T02:57:58.344Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 46,
              "DocumentIndex": 50,
              "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",
@@ -781,11 +896,12 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs",
              "ViewState": "AQIAAA8AAAAAAAAAAAAAAB4AAAAxAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T01:15:06.094Z"
              "WhenOpened": "2024-08-23T01:15:06.094Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 47,
              "DocumentIndex": 51,
              "Title": "App.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\App.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\App.cs",
@@ -793,19 +909,8 @@
              "RelativeToolTip": "WIDESEAWCS_Core\\App.cs",
              "ViewState": "AQIAAA8AAAAAAAAAAAAAAC4AAABLAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T01:12:28.607Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 45,
              "Title": "ApiBaseController.cs",
              "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "RelativeToolTip": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs",
              "ViewState": "AQIAAAAAAAAAAAAAAAAAABQAAAAyAAAA",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2024-08-23T00:50:52.108Z"
              "WhenOpened": "2024-08-23T01:12:28.607Z",
              "EditorCaption": ""
            }
          ]
        }
WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/TaskEnumHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Core.Enums
{
    public static class TaskEnumHelper
    {
        public static List<int> GetEnumIndexList(this Type type)
        {
            if (type is null) throw new ArgumentNullException("type");
            if (!type.IsEnum) return new List<int>();
            return Enum.GetValues(type).Cast<int>().ToList();
        }
        public static TaskTypeGroup GetTaskTypeGroup(this int taskType)
        {
            if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(taskType.ToString()).ToString(), out int result))
            {
                return TaskTypeGroup.OutbondGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskType.ToString()).ToString(), out result))
            {
                return TaskTypeGroup.InboundGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(taskType.ToString()).ToString(), out result))
            {
                return TaskTypeGroup.RelocationGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(taskType.ToString()).ToString(), out result))
            {
                return TaskTypeGroup.OtherGroup;
            }
            else
            {
                throw new NotImplementedException();
            }
        }
        public static int GetNextNotCompletedStatus<T>(this int currentStatus) where T : Enum
        {
            Type type = typeof(T);
            if (type is null) throw new ArgumentNullException();
            if (!type.IsEnum) return 0;
            if (type == typeof(TaskInStatusEnum))
            {
                List<int> taskInboundTypes = type.GetEnumIndexList();
                return taskInboundTypes.Where(x => x > currentStatus && x < (int)TaskInStatusEnum.InFinish).OrderBy(x => x).FirstOrDefault();
            }
            else if (type == typeof(TaskOutStatusEnum))
            {
                return type.GetEnumIndexList().Where(x => x > currentStatus && x < (int)TaskOutStatusEnum.OutFinish).OrderBy(x => x).FirstOrDefault();
            }
            else
            {
                throw new NotImplementedException();
            }
        }
    }
}
WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/TaskStatusGroup.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Core.Enums
{
    public enum TaskStatusGroup
    {
        NotCompleted,
        Completed,
        Exception
    }
}
WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/TaskTypeGroup.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Core.Enums
{
    public enum TaskTypeGroup
    {
        InboundGroup,
        OutbondGroup,
        RelocationGroup,
        OtherGroup
    }
}
WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -15,6 +15,7 @@
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -30,6 +31,21 @@
    public interface ITaskService : IService<Dt_Task>
    {
        /// <summary>
        /// ä»»åŠ¡æŽ’åº
        /// </summary>
        public Dictionary<string, OrderByType> TaskOrderBy { get; set; }
        /// <summary>
        /// æ‰€æœ‰å…¥åº“任务类型
        /// </summary>
        public List<int> TaskInboundTypes { get; }
        /// <summary>
        /// æ‰€æœ‰å‡ºåº“任务类型
        /// </summary>
        public List<int> TaskOutboundTypes {  get; }
        /// <summary>
        /// æŽ¥æ”¶WMS任务信息
        /// </summary>
        /// <param name="taskDTOs">WMS任务对象集合</param>
WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
@@ -63,7 +63,7 @@
builder.Services.AddHttpContextSetup();
//builder.Services.AddHostedService<QuartzJobHostedService>();
builder.Services.AddHostedService<QuartzJobHostedService>();
//todo
builder.Services.AddMvc(options =>
WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -44,6 +44,18 @@
        private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository;
        private readonly IMapper _mapper;
        private Dictionary<string, OrderByType> _taskOrderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
        public Dictionary<string, OrderByType> TaskOrderBy { get { return _taskOrderBy; } set { _taskOrderBy = value; } }
        public List<int> TaskInboundTypes => typeof(TaskInboundTypeEnum).GetEnumIndexList();
        public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper) : base(BaseDal)
        {
            _routerService = routerService;
@@ -71,7 +83,7 @@
                    }
                    Dt_Task task = _mapper.Map<Dt_Task>(item);
                    task.Creater = "WMS";
                    if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                    {
                        List<Dt_Router> routers = _routerService.QueryNextRoutes(item.RoadWay, item.TargetAddress);
                        //暂不考虑多路径
@@ -83,7 +95,7 @@
                        }
                    }
                    else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                    {
                        List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
                        //暂不考虑多路径
@@ -94,11 +106,7 @@
                            task.NextAddress = routers.FirstOrDefault().ChildPosi;
                        }
                    }
                    else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                    {
                    }
                    else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                    {
                    }
@@ -151,38 +159,17 @@
        public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress)
        {
            IEnumerable<int> taskInboundTypes = Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>();
            IEnumerable<int> taskOutboundTypes = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>();
            Dictionary<string, OrderByType> orderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
            return BaseDal.QueryFirst(x => (x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskInStatusEnum.InNew || x.TaskType >= taskOutboundTypes.Min() && x.TaskType <= taskOutboundTypes.Max() && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) && x.CurrentAddress == currentAddress, orderBy);
            return BaseDal.QueryFirst(x => (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew || TaskOutboundTypes.Contains( x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress)
        {
            Dictionary<string, OrderByType> orderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress, orderBy);
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress, TaskOrderBy);
        }
        public Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress)
        {
            Dictionary<string, OrderByType> orderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress, orderBy);
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
@@ -193,19 +180,10 @@
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "")
        {
            IEnumerable<int> taskInboundTypes = Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>();
            IEnumerable<int> taskOutboundTypes = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>();
            Dictionary<string, OrderByType> orderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
            if (string.IsNullOrEmpty(currentAddress))
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskType >= taskOutboundTypes.Min() && x.TaskType <= taskOutboundTypes.Max() && x.TaskState == (int)TaskOutStatusEnum.OutNew), orderBy);
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
            else
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskType >= taskOutboundTypes.Min() && x.TaskType <= taskOutboundTypes.Max() && x.TaskState == (int)TaskOutStatusEnum.OutNew), orderBy);
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
        }
        /// <summary>
@@ -216,18 +194,10 @@
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = "")
        {
            IEnumerable<int> taskInboundTypes = Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>();
            Dictionary<string, OrderByType> orderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
            if (string.IsNullOrEmpty(currentAddress))
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskInStatusEnum.Line_InFinish, orderBy);
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish, TaskOrderBy);
            else
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskInStatusEnum.Line_InFinish && x.CurrentAddress == currentAddress, orderBy);
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
@@ -238,18 +208,10 @@
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "")
        {
            IEnumerable<int> taskInboundTypes = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>();
            Dictionary<string, OrderByType> orderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
            if (string.IsNullOrEmpty(currentAddress))
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskOutStatusEnum.OutNew, orderBy);
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
            else
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, orderBy);
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
@@ -260,14 +222,7 @@
        /// <returns>返回任务实体对象集合,可能为null</returns>
        public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes)
        {
            IEnumerable<int> taskInboundTypes = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>();
            Dictionary<string, OrderByType> orderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
            return BaseDal.QueryData(x => x.Roadway == deviceNo && x.TaskType >= taskInboundTypes.Min() && x.TaskType <= taskInboundTypes.Max() && x.TaskState == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.CurrentAddress), orderBy);
            return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.CurrentAddress), TaskOrderBy);
        }
        /// <summary>
@@ -282,11 +237,11 @@
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    task.TaskState = (int)TaskOutStatusEnum.OutPending;
                }
                else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(task.TaskType.ToString()).ToString(), out result))
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    task.TaskState = (int)TaskInStatusEnum.InPending;
                }
@@ -331,26 +286,25 @@
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                int oldState = task.TaskState;
                if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish)
                    {
                        return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{taskNum}】,任务状态:【{task.TaskState}】");
                    }
                    List<int> list = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
                    int nextStatus = list.Where(x => x > task.TaskState && x < (int)TaskOutStatusEnum.OutFinish).OrderBy(x => x).FirstOrDefault();
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
                    task.TaskState = nextStatus;
                }
                else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    if (task.TaskState >= (int)TaskInStatusEnum.InFinish)
                    {
                        return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{taskNum}】,任务状态:【{task.TaskState}】");
                    }
                    int nextStatus = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x > task.TaskState && x < (int)TaskInStatusEnum.InFinish).OrderBy(x => x).FirstOrDefault();
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    task.TaskState = nextStatus;
                    if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
@@ -361,11 +315,11 @@
                        task.TargetAddress = task.NextAddress;
                    }
                }
                else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                {
                    //todo è°ƒç”¨WMS移库完成
                }
                else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
                {
                }
@@ -436,13 +390,12 @@
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result) && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                {
                    List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
                    if (!routers.Any()) return WebResponseContent.Instance.Error($"未找到设备路由信息");
                    List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
                    int nextStatus = enums.Where(x => x > task.TaskState).OrderBy(x => x).FirstOrDefault();
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
                    task.TaskState = nextStatus;
                    task.CurrentAddress = task.NextAddress;
                    task.NextAddress = routers.FirstOrDefault().ChildPosi;
@@ -455,10 +408,10 @@
                    //暂不考虑多个出库口
                }
                else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result) && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
                {
                    //todo 
                    int nextStatus = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x > task.TaskState).OrderBy(x => x).FirstOrDefault();
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    task.TaskState = nextStatus;
                    task.ModifyDate = DateTime.Now;
                    task.Modifier = "System";
@@ -480,11 +433,11 @@
                    content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
                }
                else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                {
                    //todo è°ƒç”¨WMS移库完成
                }
                else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
                {
                }
@@ -525,11 +478,11 @@
                }
                else
                {
                    if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                    {
                        task.TaskState = (int)TaskOutStatusEnum.OutNew;
                    }
                    else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                    {
                        task.TaskState = (int)TaskInStatusEnum.InNew;
                    }
@@ -575,35 +528,6 @@
                else
                {
                    return content = WebResponseContent.Instance.Error($"未找到任务明细信息,该任务状态不可回滚到上一步,任务号:【{taskNum}】,任务状态:【{task.TaskState}】");
                    //if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
                    //{
                    //    if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish || task.TaskState == (int)TaskOutStatusEnum.OutNew)
                    //    {
                    //        return content = WebResponseContent.Instance.Error($"该任务状态不可回滚到上一步,任务号:【{taskNum}】,任务状态:【{task.TaskState}】");
                    //    }
                    //    List<int> list = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
                    //    int preStatus = list.Where(x => x > (int)TaskOutStatusEnum.OutNew && x < task.TaskState).OrderBy(x => x).FirstOrDefault();
                    //    task.TaskState = preStatus;
                    //}
                    //else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result))
                    //{
                    //    if (task.TaskState >= (int)TaskInStatusEnum.InFinish || task.TaskState == (int)TaskInStatusEnum.InNew)
                    //    {
                    //        return content = WebResponseContent.Instance.Error($"该任务状态不可回滚到上一步,任务号:【{taskNum}】,任务状态:【{task.TaskState}】");
                    //    }
                    //    List<int> list = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList();
                    //    int preStatus = list.Where(x => x > (int)TaskInStatusEnum.InNew && x < task.TaskState).OrderBy(x => x).FirstOrDefault();
                    //    task.TaskState = preStatus;
                    //}
                    //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.CurrentAddress);
                    //if (!routers.Any()) return WebResponseContent.Instance.Error($"未找到设备路由信息");
                    //task.CurrentAddress = task.NextAddress;
                    //task.NextAddress = task.CurrentAddress;
                    //todo
                }
                task.ExceptionMessage = string.Empty;
WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -55,7 +55,7 @@
                            if (task != null)
                            {
                                StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
                                if(stackerCraneTaskCommand != null)
                                if (stackerCraneTaskCommand != null)
                                {
                                    bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
                                    if (sendFlag)
@@ -84,7 +84,7 @@
        private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e)
        {
            CommonStackerCrane commonStackerCrane = sender as CommonStackerCrane;
            if (commonStackerCrane.GetValue<StackerCraneDBName,short>(StackerCraneDBName.WorkType) != 5)
            if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
            {
                Console.Out.WriteLine("TaskCompleted" + e.TaskNum);
                _taskService.StackCraneTaskCompleted(e.TaskNum);
@@ -106,10 +106,10 @@
            }
            else
            {
                if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(commonStackerCrane.LastTaskType.ToString()).ToString(), out int taskType))
                if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
                    if(task == null)
                    if (task == null)
                    {
                        task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
                    }
@@ -120,7 +120,7 @@
                }
            }
            if (task != null && !int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
            {
                if (OutTaskStationIsOccupied(task) != null)
                {
@@ -189,7 +189,7 @@
            stackerCraneTaskCommand.TaskNum = task.TaskNum;
            stackerCraneTaskCommand.WorkType = 1;
            stackerCraneTaskCommand.TrayType = 0;
            if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))//判断是否是入库任务
            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//判断是否是入库任务
            {
                List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway);
                if (routers.Count > 0)
@@ -218,7 +218,7 @@
                    return null;
                }
            }
            else if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out result))
            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
            {
                List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress);
                if (routers.Count > 0)
@@ -247,7 +247,7 @@
                    return null;
                }
            }
            else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
            {
                string[] targetCodes = task.NextAddress.Split("-");
                if (targetCodes.Length == 3)
@@ -276,11 +276,6 @@
                    return null;
                }
            }
            else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
            {
            }
            return stackerCraneTaskCommand;
        }
    }