z8018
2025-04-01 7ad4c76e91735cf3333c8bc0d2016bacf6ae7d04
更新

1.删除无用代码及文件
2.新建容器,容器项,订单容器绑定关系表
3.升级WIDESEAWCS_Core,WIDESEAWCS_QuartzJobb版本
已删除12个文件
已修改28个文件
已添加24个文件
97174 ■■■■■ 文件已修改
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json 959 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 959 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/ContainerItemRepository.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/ContainerRepository.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/OrderContainerRepository.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/WIDESEAWCS_BasicInfoRepository.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ContainerService.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/PlaceBlockService.cs 323 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ContainerStatusEnum.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ItemStatusEnum.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WIDESEAWCS_DTO.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IContainerItemRepository.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IContainerRepository.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IOrderContainerRepository.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/WIDESEAWCS_IBasicInfoRepository.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IContainerService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/WIDESEAWCS_IBasicInfoService.csproj 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/WIDESEAWCS_ISystemRepository.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/WIDESEAWCS_ISystemServices.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/WIDESEAWCS_ITaskInfoRepository.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITask_HtyService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/WIDESEAWCS_ITaskInfoService.csproj 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Container.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ContainerItem.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_OrderContainer.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_hty.cs 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DeviceInfo.tsv 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DeviceProtocol.tsv 2977 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DeviceProtocolDetail.tsv 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DispatchInfo.tsv 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_Router.tsv 362 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_Task.tsv 5651 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_TaskExecuteDetail.tsv 83282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/WIDESEAWCS_SystemRepository.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/WIDESEAWCS_SystemServices.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/WIDESEAWCS_TaskInfoRepository.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 790 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Task_HtyService.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Gantry/GantryDBName.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Gantry/GantryJob.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/LogJob.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-shm
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-wal
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,959 @@
{
  "Version": 1,
  "WorkspaceRootPath": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\task_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\task_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itask_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itask_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_taskexecutedetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_taskexecutedetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_task_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\wideseawcs_itaskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\wideseawcs_itaskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\wideseawcs_tasks.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\wideseawcs_tasks.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\wideseawcs_model.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\wideseawcs_model.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\http\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\http\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\wideseawcs_common.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\wideseawcs_common.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_ordercontainer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_ordercontainer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_containeritem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_containeritem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_container.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_container.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{09D05F35-CEA2-48D9-86D0-FB95982BA511}|WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinforepository\\wideseawcs_itaskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{09D05F35-CEA2-48D9-86D0-FB95982BA511}|WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj|solutionrelative:wideseawcs_itaskinforepository\\wideseawcs_itaskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{35054AA5-CF40-4F38-9414-C76742C29382}|WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinforepository\\wideseawcs_taskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{35054AA5-CF40-4F38-9414-C76742C29382}|WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj|solutionrelative:wideseawcs_taskinforepository\\wideseawcs_taskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_isystemrepository\\wideseawcs_isystemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|solutionrelative:wideseawcs_isystemrepository\\wideseawcs_isystemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemrepository\\wideseawcs_systemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|solutionrelative:wideseawcs_systemrepository\\wideseawcs_systemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\wideseawcs_systemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\wideseawcs_systemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_isystemservices\\wideseawcs_isystemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\wideseawcs_isystemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\wideseawcs_taskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\wideseawcs_taskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinfoservice\\icontainerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\icontainerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinfoservice\\wideseawcs_ibasicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\wideseawcs_ibasicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\wideseawcs_ibasicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\wideseawcs_ibasicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\iordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\iordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\icontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\icontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\icontaineritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\icontaineritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\wideseawcs_dto.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\wideseawcs_dto.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\itemstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\itemstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\containerstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\containerstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinfoservice\\wideseawcs_basicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\wideseawcs_basicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinfoservice\\placeblockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\placeblockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinfoservice\\containerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\containerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\wideseawcs_basicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\wideseawcs_basicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\ordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\ordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\containerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\containerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\containeritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\containeritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\gantry\\gantryjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\gantry\\gantryjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\orderdetailsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\orderdetailsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\orderrowsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\orderrowsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\ylbapi\\ylbapicontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\ylbapi\\ylbapicontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\orderrows.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\orderrows.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\orderdetails.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\orderdetails.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\agvstation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\agvstation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\agvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\agvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_isystemservices\\iagvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\iagvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
    {
      "Orientation": 0,
      "VerticalTabListWidth": 256,
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 7,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "Program.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AgIAAG0AAAAAAAAAAAAswIsAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:14:58.172Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "Dt_TaskExecuteDetail.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "ViewState": "AgIAAEUAAAAAAAAAAAA7wAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:14:26.218Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "Dt_Task_hty.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:12:58.829Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAAkAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2025-03-05T08:20:20.92Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "CustomProfile.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAsAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T08:47:30.61Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "Task_HtyService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "ViewState": "AgIAAD4AAAAAAAAAAAAEwDEAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-25T01:34:52.91Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AgIAAA8AAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:16:33.54Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "WIDESEAWCS_Server",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "RelativeToolTip": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "ViewState": "AgIAAAMAAAAAAAAAAAAAABYAAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:03:40.529Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "ITask_HtyService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACAAAAAZAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:16:15.576Z",
              "EditorCaption": ""
            },
            {
              "$type": "Bookmark",
              "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}"
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "index.html",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\index.html",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html",
              "RelativeToolTip": "WIDESEAWCS_Server\\index.html",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|",
              "WhenOpened": "2025-03-05T08:20:18.026Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "WIDESEAWCS_Tasks",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAABCAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:05:25.064Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "HttpHelper.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "ViewState": "AgIAAAIAAAAAAAAAAAAUwB8AAAA1AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:04:22.962Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "WIDESEAWCS_Model",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "RelativeToolTip": "WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:03:06.655Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAADYAAAAAAAAAAAAqwFAAAAA0AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-25T01:33:47.609Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACYAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:01:50.708Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAI0AAAAqAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:04:42.244Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "Title": "Dt_OrderContainer.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:02:56.808Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "WIDESEAWCS_ITaskInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:28.923Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "Dt_ContainerItem.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:02:37.07Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "Dt_Container.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:02:19.589Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "WIDESEAWCS_ITaskInfoRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:02:03.029Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "WIDESEAWCS_Common",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "RelativeToolTip": "WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T02:59:40.69Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "Title": "WIDESEAWCS_TaskInfoRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:56.644Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "Title": "WIDESEAWCS_ISystemRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:49.843Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "Title": "WIDESEAWCS_SystemRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:45.586Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "Title": "WIDESEAWCS_SystemServices",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:41.467Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "Title": "WIDESEAWCS_ISystemServices",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:37.899Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "Title": "WIDESEAWCS_TaskInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:33.098Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "Title": "IContainerService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:01:11.112Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "Title": "WIDESEAWCS_IBasicInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:00:58.932Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "Title": "WIDESEAWCS_IBasicInfoRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:00:46.791Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "Title": "IOrderContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:00:37.599Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 32,
              "Title": "IContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:00:21.89Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 33,
              "Title": "IContainerItemRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:00:04.406Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 34,
              "Title": "WIDESEAWCS_DTO",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "RelativeToolTip": "WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T02:59:48.812Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 35,
              "Title": "ItemStatusEnum.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:59:24.105Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 36,
              "Title": "ContainerStatusEnum.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:58:51.743Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 37,
              "Title": "WIDESEAWCS_BasicInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T02:58:18.859Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 38,
              "Title": "PlaceBlockService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "ViewState": "AgIAAAcBAAAAAAAAAAAqwEIBAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:57:58.314Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 39,
              "Title": "ContainerService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "ViewState": "AgIAACIAAAAAAAAAAAAqwFwAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:57:33.892Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 41,
              "Title": "OrderContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:56:59.66Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 42,
              "Title": "ContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:56:39.447Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 43,
              "Title": "ContainerItemRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:56:17.242Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 46,
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAuwKMAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:01:11.106Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 45,
              "Title": "GantryJob.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "ViewState": "AgIAABkAAAAAAAAAAAAwwC4AAABDAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T01:43:14.184Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 40,
              "Title": "WIDESEAWCS_BasicInfoRepository.csproj",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAASAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-03-25T01:32:15.358Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 44,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:19:49.013Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 48,
              "Title": "OrderrowsService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEMAAAAaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:21:44.533Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 47,
              "Title": "OrderDetailsService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAFcAAAAOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:21:45.807Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 49,
              "Title": "YLBapiController.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABoAAAAiAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-14T08:44:05.818Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 50,
              "Title": "Orderrows.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T06:06:14.046Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 51,
              "Title": "OrderDetails.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "ViewState": "AgIAACkAAAAAAAAAAAAgwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T06:06:08.475Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 52,
              "Title": "AGVStation.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T06:06:03.601Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 53,
              "Title": "AgvStationService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "ViewState": "AgIAADIAAAAAAAAAAAAAwEQAAAByAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:22:31.369Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 54,
              "Title": "IAgvStationService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACUAAAAgAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-14T08:46:38.077Z",
              "EditorCaption": ""
            }
          ]
        }
      ]
    }
  ]
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,959 @@
{
  "Version": 1,
  "WorkspaceRootPath": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\wideseawcs_server.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\task_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\task_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itask_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itask_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_taskexecutedetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_taskexecutedetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_task_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task_hty.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\wideseawcs_itaskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\wideseawcs_itaskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\wideseawcs_tasks.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\wideseawcs_tasks.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\wideseawcs_model.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\wideseawcs_model.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\http\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\http\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\wideseawcs_common.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\wideseawcs_common.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_ordercontainer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_ordercontainer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_containeritem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_containeritem.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_container.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_container.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{09D05F35-CEA2-48D9-86D0-FB95982BA511}|WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinforepository\\wideseawcs_itaskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{09D05F35-CEA2-48D9-86D0-FB95982BA511}|WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj|solutionrelative:wideseawcs_itaskinforepository\\wideseawcs_itaskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{35054AA5-CF40-4F38-9414-C76742C29382}|WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinforepository\\wideseawcs_taskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{35054AA5-CF40-4F38-9414-C76742C29382}|WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj|solutionrelative:wideseawcs_taskinforepository\\wideseawcs_taskinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_isystemrepository\\wideseawcs_isystemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|solutionrelative:wideseawcs_isystemrepository\\wideseawcs_isystemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemrepository\\wideseawcs_systemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|solutionrelative:wideseawcs_systemrepository\\wideseawcs_systemrepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\wideseawcs_systemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\wideseawcs_systemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_isystemservices\\wideseawcs_isystemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\wideseawcs_isystemservices.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\wideseawcs_taskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\wideseawcs_taskinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinfoservice\\icontainerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\icontainerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinfoservice\\wideseawcs_ibasicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\wideseawcs_ibasicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\wideseawcs_ibasicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\wideseawcs_ibasicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\iordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\iordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\icontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\icontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_ibasicinforepository\\icontaineritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\icontaineritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\wideseawcs_dto.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\wideseawcs_dto.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\itemstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\itemstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_common\\containerstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\containerstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinfoservice\\wideseawcs_basicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\wideseawcs_basicinfoservice.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinfoservice\\placeblockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\placeblockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinfoservice\\containerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\containerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\wideseawcs_basicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\wideseawcs_basicinforepository.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\ordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\ordercontainerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\containerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\containerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_basicinforepository\\containeritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\containeritemrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\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:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\gantry\\gantryjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\gantry\\gantryjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\orderdetailsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\orderdetailsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\orderrowsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\orderrowsservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\ylbapi\\ylbapicontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\ylbapi\\ylbapicontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\orderrows.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\orderrows.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\orderdetails.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\orderdetails.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\agvstation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\agvstation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemservices\\agvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\agvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\zhejianghantong\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_isystemservices\\iagvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\iagvstationservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
    {
      "Orientation": 0,
      "VerticalTabListWidth": 256,
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 7,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "Program.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AgIAAG0AAAAAAAAAAAAswIsAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:14:58.172Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "Dt_TaskExecuteDetail.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs",
              "ViewState": "AgIAAEUAAAAAAAAAAAA7wAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:14:26.218Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "Dt_Task_hty.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task_hty.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:12:58.829Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAAkAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2025-03-05T08:20:20.92Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "CustomProfile.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAsAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T08:47:30.61Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "Task_HtyService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\Task_HtyService.cs",
              "ViewState": "AgIAAD4AAAAAAAAAAAAEwDEAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-25T01:34:52.91Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AgIAAA8AAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:16:33.54Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "WIDESEAWCS_Server",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "RelativeToolTip": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj",
              "ViewState": "AgIAAAkAAAAAAAAAAAAAABYAAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:03:40.529Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "ITask_HtyService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITask_HtyService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACAAAAAZAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:16:15.576Z",
              "EditorCaption": ""
            },
            {
              "$type": "Bookmark",
              "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}"
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "index.html",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\index.html",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html",
              "RelativeToolTip": "WIDESEAWCS_Server\\index.html",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|",
              "WhenOpened": "2025-03-05T08:20:18.026Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "WIDESEAWCS_Tasks",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAABCAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:05:25.064Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "HttpHelper.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\Http\\HttpHelper.cs",
              "ViewState": "AgIAAAIAAAAAAAAAAAAUwB8AAAA1AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:04:22.962Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "WIDESEAWCS_Model",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "RelativeToolTip": "WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:03:06.655Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAADYAAAAAAAAAAAAqwFAAAAA0AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-25T01:33:47.609Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACYAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:01:50.708Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAI0AAAAqAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:04:42.244Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "Title": "Dt_OrderContainer.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_OrderContainer.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:02:56.808Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "WIDESEAWCS_ITaskInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:28.923Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "Dt_ContainerItem.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ContainerItem.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:02:37.07Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "Dt_Container.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Container.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:02:19.589Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "WIDESEAWCS_ITaskInfoRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoRepository\\WIDESEAWCS_ITaskInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:02:03.029Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "WIDESEAWCS_Common",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "RelativeToolTip": "WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T02:59:40.69Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "Title": "WIDESEAWCS_TaskInfoRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoRepository\\WIDESEAWCS_TaskInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:56.644Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "Title": "WIDESEAWCS_ISystemRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:49.843Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "Title": "WIDESEAWCS_SystemRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:45.586Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 25,
              "Title": "WIDESEAWCS_SystemServices",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:41.467Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 26,
              "Title": "WIDESEAWCS_ISystemServices",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:37.899Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 27,
              "Title": "WIDESEAWCS_TaskInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:01:33.098Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 28,
              "Title": "IContainerService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IContainerService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:01:11.112Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 29,
              "Title": "WIDESEAWCS_IBasicInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:00:58.932Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 30,
              "Title": "WIDESEAWCS_IBasicInfoRepository",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T03:00:46.791Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 31,
              "Title": "IOrderContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IOrderContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:00:37.599Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 32,
              "Title": "IContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:00:21.89Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 33,
              "Title": "IContainerItemRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IContainerItemRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T03:00:04.406Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 34,
              "Title": "WIDESEAWCS_DTO",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "RelativeToolTip": "WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T02:59:48.812Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 35,
              "Title": "ItemStatusEnum.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\ItemStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:59:24.105Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 36,
              "Title": "ContainerStatusEnum.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\ContainerStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:58:51.743Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 37,
              "Title": "WIDESEAWCS_BasicInfoService",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-04-01T02:58:18.859Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 38,
              "Title": "PlaceBlockService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\PlaceBlockService.cs",
              "ViewState": "AgIAAAcBAAAAAAAAAAAqwEIBAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:57:58.314Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 39,
              "Title": "ContainerService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\ContainerService.cs",
              "ViewState": "AgIAACIAAAAAAAAAAAAqwFwAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:57:33.892Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 41,
              "Title": "OrderContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\OrderContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:56:59.66Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 42,
              "Title": "ContainerRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\ContainerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:56:39.447Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 43,
              "Title": "ContainerItemRepository.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\ContainerItemRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:56:17.242Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 46,
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAuwKMAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T02:01:11.106Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 45,
              "Title": "GantryJob.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\Gantry\\GantryJob.cs",
              "ViewState": "AgIAABkAAAAAAAAAAAAwwC4AAABDAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-01T01:43:14.184Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 40,
              "Title": "WIDESEAWCS_BasicInfoRepository.csproj",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAASAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
              "WhenOpened": "2025-03-25T01:32:15.358Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 44,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:19:49.013Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 48,
              "Title": "OrderrowsService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\OrderrowsService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEMAAAAaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:21:44.533Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 47,
              "Title": "OrderDetailsService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\OrderDetailsService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAFcAAAAOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:21:45.807Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 49,
              "Title": "YLBapiController.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\YLBapi\\YLBapiController.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABoAAAAiAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-14T08:44:05.818Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 50,
              "Title": "Orderrows.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\Orderrows.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T06:06:14.046Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 51,
              "Title": "OrderDetails.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\OrderDetails.cs",
              "ViewState": "AgIAACkAAAAAAAAAAAAgwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T06:06:08.475Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 52,
              "Title": "AGVStation.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\AGVStation.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-24T06:06:03.601Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 53,
              "Title": "AgvStationService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\AgvStationService.cs",
              "ViewState": "AgIAADIAAAAAAAAAAAAAwEQAAAByAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-05T08:22:31.369Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 54,
              "Title": "IAgvStationService.cs",
              "DocumentMoniker": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "ToolTip": "E:\\0.\u9879\u76EE\u96C6\\\u53CB\u529B\u5E2E\\ZheJiangHanTong\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "RelativeToolTip": "WIDESEAWCS_ISystemServices\\IAgvStationService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACUAAAAgAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-03-14T08:46:38.077Z",
              "EditorCaption": ""
            }
          ]
        }
      ]
    }
  ]
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/ContainerItemRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public class ContainerItemRepository : RepositoryBase<Dt_ContainerItem>, IContainerItemRepository
    {
        public ContainerItemRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/ContainerRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public class ContainerRepository : RepositoryBase<Dt_Container>, IContainerRepository
    {
        public ContainerRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/OrderContainerRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public class OrderContainerRepository : RepositoryBase<Dt_OrderContainer>, IOrderContainerRepository
    {
        public OrderContainerRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/WIDESEAWCS_BasicInfoRepository.csproj
@@ -7,10 +7,6 @@
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_IBasicInfoRepository\WIDESEAWCS_IBasicInfoRepository.csproj" />
  </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ContainerService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using WIDESEAWCS_BasicInfoService;
using WIDESEAWCS_Common;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoService
{
    public class ContainerService : ServiceBase<Dt_Container, IContainerRepository>, IContainerService
    {
        private readonly IMapper _mapper;
        public ContainerService(IContainerRepository BaseDal, IMapper mapper) : base(BaseDal)
        {
            _mapper = mapper;
        }
        public void GetPosition(string orderNo, int length, int width, int height)
        {
            List<Dt_OrderContainer> containerInfos = new List<Dt_OrderContainer>();
            List<Dt_OrderContainer> orderContainers = Db.Queryable<Dt_OrderContainer>().Where(it => it.OrderNo == orderNo).ToList();
            if (orderContainers != null)
            {
                containerInfos = orderContainers;
                if (containerInfos.Count == 1)
                {
                    Dt_Container container = Db.Queryable<Dt_Container>().First(x => x.ContainerStatus == ContainerStatusEnum.Empty.ObjToInt());
                    if (container != null)
                    {
                        Dt_OrderContainer containerInfo = _mapper.Map<Dt_OrderContainer>(container);
                        containerInfos.Add(containerInfo);
                    }
                }
            }
            else
            {
                List<Dt_Container> containers = Db.Queryable<Dt_Container>().Where(x => x.ContainerStatus == ContainerStatusEnum.Empty.ObjToInt()).Take(2).ToList();
                if (containers != null && containers.Count > 0)
                {
                    containerInfos = _mapper.Map<List<Dt_OrderContainer>>(containers);
                }
            }
            {
                List<Dt_Container> containers = Db.Queryable<Dt_Container>().Where(it => containerInfos.Any(x => x.ContainerId == it.Id && x.ContainerCode == it.ContainerCode)).Includes(x => x.Items).ToList();
                foreach (var container in containers)
                {
                    List<PlacedBlock> placedBlocks = new List<PlacedBlock>();
                    if (container.Items != null && container.Items.Count > 0)
                    {
                        foreach (var item in container.Items)
                        {
                            Point3D point3D = new Point3D(item.ItemPositionX, item.ItemPositionY, item.ItemPositionZ);
                            placedBlocks.Add(new PlacedBlock(point3D, item.ItemLength, item.ItemWidth, item.ItemHeight));
                        }
                        ContainerSize containerSize = new ContainerSize(container.ContainerLength, container.ContainerWidth, container.ContainerHeight);
                        PlaceBlockService placeBlockService = new PlaceBlockService(containerSize, placedBlocks);
                        Point3D? axis = placeBlockService.PlaceBlock(length, width, height);
                        if (axis != null)
                        {
                            Dt_ContainerItem containerItem = new Dt_ContainerItem()
                            {
                                ContainerId = container.Id,
                                ItemCode = "ItemCode",
                                ItemHeight = height,
                                ItemLength = length,
                                ItemName = "ItemName",
                                ItemPositionX = axis.Value.X,
                                ItemPositionY = axis.Value.Y,
                                ItemPositionZ = axis.Value.Z,
                                ItemWidth = width,
                                ItemStatus = ItemStatusEnum.Assigned.ObjToInt()
                            };
                            Db.Insertable(containerItem).ExecuteCommand();
                        }
                    }
                }
            }
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/PlaceBlockService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,323 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_IBasicInfoService;
namespace WIDESEAWCS_BasicInfoService
{
    public class PlaceBlockService
    {
        public const int SPACING = 5;
        /// <summary>
        /// å®¹å™¨å°ºå¯¸
        /// </summary>
        public ContainerSize ContainerSize { get; private set; }
        /// <summary>
        /// å·²æ”¾ç½®è´§ç‰©
        /// </summary>
        public List<PlacedBlock> PlacedBlocks { get; private set; }
        private readonly PlacedBlock containerFloor;
        public PlaceBlockService(ContainerSize containerSize, List<PlacedBlock>? placedBlocks = null)
        {
            ContainerSize = containerSize;
            if (placedBlocks == null || placedBlocks.Count == 0)
            {
                PlacedBlocks = new List<PlacedBlock>();
            }
            else
            {
                PlacedBlocks = placedBlocks;
            }
            containerFloor = new PlacedBlock(new Point3D(SPACING, SPACING, 0), ContainerSize.Length - 2 * SPACING, ContainerSize.Width - 2 * SPACING, 0);
        }
        /// <summary>
        /// ä¸»æ”¾ç½®æ–¹æ³•:尝试放置指定尺寸的货物
        /// </summary>
        /// <param name="length">货物长度(X轴方向)</param>
        /// <param name="width">货物宽度(Y轴方向)</param>
        /// <param name="height">货物高度(Z轴方向)</param>
        /// <returns>
        /// æˆåŠŸï¼šè¿”å›žå¯æ”¾ç½®ä½ç½®çš„å·¦ä¸‹å‰è§’Point3D坐标
        /// å¤±è´¥ï¼šè¿”回null(尺寸无效或空间不足)
        /// </returns>
        public Point3D? PlaceBlock(int length, int width, int height)
        {
            if (!IsValidBlock(length, width, height))
                return null;
            return FindStackablePosition(length, width, height);
        }
        /// <summary>
        /// éªŒè¯è´§ç‰©å°ºå¯¸æœ‰æ•ˆæ€§
        /// æ ¡éªŒè§„则:
        /// 1. å„维度尺寸必须大于等于50mm
        /// 2. å„维度尺寸不得超过容器对应维度(扣除间隔后)
        /// 3. é«˜åº¦å¿…é¡» <= å®¹å™¨å‰©ä½™é«˜åº¦
        /// </summary>
        /// <param name="l"></param>
        /// <param name="w"></param>
        /// <param name="h"></param>
        /// <returns></returns>
        private bool IsValidBlock(int l, int w, int h)
        {
            return l > 0 && w > 0 && h > 0 &&
                   l <= ContainerSize.Length - 2 * SPACING &&
                   w <= ContainerSize.Width - 2 * SPACING &&
                   h < ContainerSize.Height;
        }
        /// <summary>
        /// åœ¨çŽ°æœ‰è´§ç‰©é¡¶éƒ¨å¯»æ‰¾å æ”¾ä½ç½®ï¼ˆå †å æ¨¡å¼ï¼‰
        /// å æ”¾æ¡ä»¶ï¼š
        /// - æ”¯æ’‘面积 >= è¢«æ”¯æ’‘面面积的70%
        /// - æ–°è´§ç‰©å®Œå…¨ä½äºŽæ”¯æ’‘货物上方
        /// - æ»¡è¶³é—´éš”要求
        /// </summary>
        /// <param name="l">长度</param>
        /// <param name="w">宽度</param>
        /// <param name="h">高度</param>
        /// <returns></returns>
        private Point3D? FindStackablePosition(int l, int w, int h)
        {
            // ç”Ÿæˆå€™é€‰æ”¯æ’‘层(包含容器底部)
            var candidateLayers = PlacedBlocks
                .Select(b => b.Position.Z + b.Height)
                .Append(0)
                .Distinct()
                .OrderBy(z => z)
                .ToList();
            foreach (var baseZ in candidateLayers)
            {
                if (baseZ + h > ContainerSize.Height) continue;
                // èŽ·å–å½“å‰å±‚çš„æ”¯æ’‘å—ï¼ˆåŒ…å«è™šæ‹Ÿå®¹å™¨åº•éƒ¨ï¼‰
                var supports = GetSupportBlocks(baseZ);
                foreach (var support in supports)
                {
                    // è®¡ç®—有效叠放区域(修正间隔逻辑)
                    int xStart = support.Position.X;
                    int yStart = support.Position.Y;
                    // å®¹å™¨åº•部支撑必须内缩间隔(即使尺寸相同)
                    if (support == containerFloor)
                    {
                        xStart = support.Position.X;
                        yStart = support.Position.Y;
                    }
                    int xEnd = support.Position.X + support.Length - l;
                    int yEnd = support.Position.Y + support.Width - w;
                    // æ™®é€šæ”¯æ’‘块仅在尺寸不同时加间隔
                    if (support != containerFloor &&
                       (l != support.Length && w != support.Width))
                    {
                        xStart += SPACING;
                        yStart += SPACING;
                        xEnd -= SPACING;
                        yEnd -= SPACING;
                    }
                    // æœ€ç»ˆå®¹å™¨è¾¹ç•Œçº¦æŸ
                    xEnd = Math.Min(xEnd, ContainerSize.Length - l - SPACING);
                    yEnd = Math.Min(yEnd, ContainerSize.Width - w - SPACING);
                    // éªŒè¯æ”¯æ’‘面积
                    //int supportArea = support.Length * support.Width;
                    //int requiredSupportArea = (int)(l * w * 0.7); // æ”¯æ’‘面积 >= è¢«æ”¯æ’‘面面积的70%
                    //if (supportArea < requiredSupportArea) continue;
                    if (xStart > xEnd || yStart > yEnd) continue;
                    // ä¼˜åŒ–搜索:优先角落位置
                    for (int y = yStart; y <= yEnd; y += 10)
                    {
                        for (int x = xStart; x <= xEnd; x += 10)
                        {
                            var candidate = new Point3D(x, y, baseZ);
                            if (IsPositionValid(candidate, l, w, h))
                            {
                                var placed = new PlacedBlock(candidate, l, w, h);
                                PlacedBlocks.Add(placed);
                                return candidate;
                            }
                        }
                    }
                }
            }
            return null;
        }
        /// <summary>
        /// èŽ·å–æ”¯æ’‘å½“å‰è´§ç‰©çš„åº•å±‚è´§ç‰©åˆ—è¡¨
        /// ç‰¹æ®Šå¤„理:当baseZ=0时返回虚拟容器底部作为支撑
        /// æ”¯æ’‘条件:货物底面与支撑货物顶面接触且Z坐标匹配
        /// </summary>
        /// <param name="baseZ">支撑块高度</param>
        /// <returns></returns>
        private IEnumerable<PlacedBlock> GetSupportBlocks(int baseZ)
        {
            var blocks = PlacedBlocks
                .Where(b => b.Position.Z + b.Height == baseZ)
                .OrderByDescending(b => b.Length * b.Width);
            // å½“baseZ=0时添加容器底部支撑
            if (baseZ == 0 && !blocks.Any())
            {
                return new List<PlacedBlock> { containerFloor };
            }
            return blocks;
            //// èŽ·å–æ‰€æœ‰åœ¨ baseZ é«˜åº¦çš„æ”¯æ’‘块
            //var blocks = PlacedBlocks
            //    .Where(b => b.Position.Z + b.Height == baseZ)
            //    .ToList();
            //// å½“ baseZ=0 æ—¶æ·»åŠ å®¹å™¨åº•éƒ¨æ”¯æ’‘
            //if (baseZ == 0 && !blocks.Any())
            //{
            //    return new List<PlacedBlock> { containerFloor };
            //}
            //// è®¡ç®—整体平面
            //if (blocks.Any())
            //{
            //    int minX = blocks.Min(b => b.Position.X);
            //    int minY = blocks.Min(b => b.Position.Y);
            //    int maxX = blocks.Max(b => b.Position.X + b.Length);
            //    int maxY = blocks.Max(b => b.Position.Y + b.Width);
            //    var overallSupport = new PlacedBlock(
            //        new Point3D(minX, minY, baseZ),
            //        maxX - minX,
            //        maxY - minY,
            //        0
            //    );
            //    return new List<PlacedBlock> { overallSupport };
            //}
            //return blocks;
        }
        /// <summary>
        /// éªŒè¯æŒ‡å®šä½ç½®æ˜¯å¦åˆæ³•
        /// æ ¡éªŒå†…容:
        /// 1. è¾¹ç•Œæ¡ä»¶ï¼šè´§ç‰©ä¸å¾—超出容器有效空间
        /// 2. ç¢°æ’žæ£€æµ‹ï¼šä¸Žå·²æ”¾ç½®è´§ç‰©æ— ç©ºé—´é‡å 
        /// 3. é—´éš”要求:保持最小间隔(SPACING常量)
        /// </summary>
        /// <param name="pos">坐标</param>
        /// <param name="l">长度</param>
        /// <param name="w">宽度</param>
        /// <param name="h">高度</param>
        /// <returns></returns>
        private bool IsPositionValid(Point3D pos, int l, int w, int h)
        {
            // è¾¹ç•Œæ£€æŸ¥ï¼ˆå«å®¹å™¨è¾¹ç¼˜é—´éš”)
            if (pos.X < SPACING ||
                pos.Y < SPACING ||
                pos.X + l > ContainerSize.Length - SPACING ||
                pos.Y + w > ContainerSize.Width - SPACING)
                return false;
            // ä¸‰ç»´ç¢°æ’žæ£€æµ‹
            var newBlock = new PlacedBlock(pos, l, w, h);
            return !PlacedBlocks.Any(existing =>
            {
                bool xOverlap = newBlock.Position.X < existing.Position.X + existing.Length + SPACING &&
                              newBlock.Position.X + newBlock.Length + SPACING > existing.Position.X;
                bool yOverlap = newBlock.Position.Y < existing.Position.Y + existing.Width + SPACING &&
                              newBlock.Position.Y + newBlock.Width + SPACING > existing.Position.Y;
                bool zOverlap = newBlock.Position.Z < existing.Position.Z + existing.Height &&
                              newBlock.Position.Z + h > existing.Position.Z;
                return xOverlap && yOverlap && zOverlap;
            });
        }
    }
    /// <summary>
    /// ä¸‰ç»´åæ ‡ç»“构体
    /// è¡¨ç¤ºè´§ç‰©æ”¾ç½®ä½ç½®çš„左下前角坐标(X,Y,Z)
    /// åæ ‡ç³»è¯´æ˜Žï¼š
    /// - X轴:沿容器长度方向
    /// - Y轴:沿容器宽度方向
    /// - Z轴:垂直方向(高度)
    /// </summary>
    public struct Point3D
    {
        /// <summary>X轴坐标(毫米)</summary>
        public int X { get; }
        /// <summary>Y轴坐标(毫米)</summary>
        public int Y { get; }
        /// <summary>Z轴坐标(毫米)</summary>
        public int Z { get; }
        public Point3D(int x, int y, int z)
        {
            X = x;
            Y = y;
            Z = z;
        }
    }
    /// <summary>
    /// å·²æ”¾ç½®è´§ç‰©ä¿¡æ¯ç±»
    /// è®°å½•每个货物的位置和尺寸信息
    /// åæ ‡ç³»è¯´æ˜Žï¼šä½ç½®ç‚¹ä¸ºè´§ç‰©çš„左下前角坐标
    /// </summary>
    public class PlacedBlock
    {
        /// <summary>货物左下前角坐标</summary>
        public Point3D Position { get; }
        /// <summary>沿X轴方向长度(毫米)</summary>
        public int Length { get; }
        /// <summary>沿Y轴方向宽度(毫米)</summary>
        public int Width { get; }
        /// <summary>沿Z轴方向高度(毫米)</summary>
        public int Height { get; }
        public PlacedBlock(Point3D position, int length, int width, int height)
        {
            Position = position;
            Length = length;
            Width = width;
            Height = height;
        }
    }
    public struct ContainerSize
    {
        public int Length { get; set; }
        public int Width { get; set; }
        public int Height { get; set; }
        public ContainerSize(int length, int width, int height)
        {
            Length = length;
            Width = width;
            Height = height;
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj
@@ -7,11 +7,6 @@
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    <PackageReference Include="WIDESEAWCS_QuartzJob" Version="2.1.2" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_IBasicInfoService\WIDESEAWCS_IBasicInfoService.csproj" />
  </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ContainerStatusEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Common
{
    public enum ContainerStatusEnum
    {
        Empty = 0,
        NonEmpty = 1,
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ItemStatusEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Common
{
    public enum ItemStatusEnum
    {
        [Description("已分配")]
        Assigned = 1,
        [Description("放置中")]
        Placing = 2,
        [Description("完成")]
        Placed = 3,
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj
@@ -7,8 +7,7 @@
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    <PackageReference Include="WIDESEAWCS_Core" Version="1.0.19" />
  </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskStatusEnum.cs
@@ -144,4 +144,24 @@
        [Description("出库任务异常")]
        OutException = 199,
    }
    public enum TaskStatusEnum
    {
        /// <summary>
        /// å¾…执行
        /// </summary>
        [Description("待执行")]
        Gantry_New = 101,
        /// <summary>
        /// æ‰§è¡Œä¸­
        /// </summary>
        [Description("执行中")]
        Gantry_Executing = 102,
        /// <summary>
        /// å®Œæˆ
        /// <summary>
        [Description("完成")]
        Gantry_Finish = 103,
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WIDESEAWCS_DTO.csproj
@@ -14,8 +14,4 @@
      <Folder Include="BasicInfo\" />
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IContainerItemRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public interface IContainerItemRepository : IRepository<Dt_ContainerItem>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IContainerRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public interface IContainerRepository : IRepository<Dt_Container>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IOrderContainerRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public interface IOrderContainerRepository : IRepository<Dt_OrderContainer>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/WIDESEAWCS_IBasicInfoRepository.csproj
@@ -7,10 +7,6 @@
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_DTO\WIDESEAWCS_DTO.csproj" />
  </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IContainerService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoService
{
    public interface IContainerService : IService<Dt_Container>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/WIDESEAWCS_IBasicInfoService.csproj
@@ -5,11 +5,7 @@
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj" />
  </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/WIDESEAWCS_ISystemRepository.csproj
@@ -7,10 +7,6 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_DTO\WIDESEAWCS_DTO.csproj" />
    </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/WIDESEAWCS_ISystemServices.csproj
@@ -7,10 +7,6 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_SystemRepository\WIDESEAWCS_SystemRepository.csproj" />
    </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/WIDESEAWCS_ITaskInfoRepository.csproj
@@ -7,10 +7,6 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
      <ProjectReference Include="..\WIDESEAWCS_DTO\WIDESEAWCS_DTO.csproj" />
    </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -34,200 +34,8 @@
{
    public interface ITaskService : IService<Dt_Task>
    {
        /// <summary>
        /// ä»»åŠ¡æŽ’åº
        /// </summary>
        public Dictionary<string, OrderByType> TaskOrderBy { get; set; }
        /// <summary>
        /// æ‰€æœ‰å…¥åº“任务类型
        /// </summary>
        public List<int> TaskInboundTypes { get; }
        Dt_Task? QueryAGantryUnExecuteTask(string gantryDeviceNo);
        /// <summary>
        /// æ‰€æœ‰å‡ºåº“任务类型
        /// </summary>
        public List<int> TaskOutboundTypes {  get; }
        /// <summary>
        /// æŽ¥æ”¶WMS任务信息
        /// </summary>
        /// <param name="taskDTOs">WMS任务对象集合</param>
        /// <returns>返回处理结果</returns>
        WebResponseContent ReceiveWMSTask(Dt_Task taskDTOs);
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址查询输送线未执行的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress);
        /// <summary>
        /// æŸ¥è¯¢å½“前地址是否有该任务
        /// </summary>
        /// <param name="deviceNo"></param>
        /// <param name="currentAddress"></param>
        /// <returns></returns>
        List<string> QueryConveyorLineTaskSourceAddress();
        /// <summary>
        /// æŸ¥æ‰¾ä»»åŠ¡æ˜¯å¦éœ€è¦åœ°å€
        /// </summary>
        /// <returns></returns>
        Dt_Task QueryConveyorLineTaskRoadway(int agvarea);
        /// <summary>
        /// æŸ¥æ‰¾è¯¥åœ°å€æ˜¯å¦æœ‰èµ·ç‚¹è´§ç»ˆç‚¹ä»»åŠ¡
        /// </summary>
        /// <returns></returns>
        bool QueryConveyorLinetaeersuadd(string taeersuadd);
        /// <summary>
        /// ä¿®æ”¹ä»»åŠ¡ä¿¡æ¯ï¼Œæ·»åŠ ç›®æ ‡åœ°å€
        /// </summary>
        /// <param name="TaskId"></param>
        /// <param name="TargetAddress"></param>
        /// <returns></returns>
        WebResponseContent UpdateTargetAddress(int TaskId, string TargetAddress);
        /// <summary>
        /// æ ¹æ®ä»»åŠ¡å·ã€ä¸‹ä¸€åœ°å€æŸ¥è¯¢è¾“é€çº¿æ‰§è¡Œä¸­çš„ä»»åŠ¡
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="nextAddress">下一地址</param>
        /// <returns></returns>
        Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress);
        /// <summary>
        /// æ ¹æ®ä»»åŠ¡å·ã€å½“å‰åœ°å€æŸ¥è¯¢è¾“é€çº¿å®Œæˆçš„ä»»åŠ¡
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress);
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、任务类型分组(可选)按照优先级以及创建时间排序查询任务池新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="taskTypeGroup">任务类型分组(可选)</param>
        /// <returns></returns>
        Dt_Task? QuertStackerCraneTask(string deviceNo, TaskTypeGroup? taskTypeGroup = null);
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "");
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号查当前在做任务号
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        Dt_Task IngStackerCraneTask(string deviceNo);
        Dt_Task IngStackerCraneTask2(string deviceNo);
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池入库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = "");
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "");
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="outStationCodes">当前地址</param>
        /// <returns>返回任务实体对象集合,可能为null</returns>
        List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes);
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="outStationCodes">当前地址</param>
        /// <returns>返回任务实体对象集合,可能为null</returns>
        List<Dt_Task> QueryStationIsOccupiedOutTasks(string deviceNo, string SourceAddress);
        /// <summary>
        /// æ›´æ–°ä»»åŠ¡å¼‚å¸¸ä¿¡æ¯æ˜¾ç¤º
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="message">异常信息</param>
        WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message);
        /// <summary>
        /// æ›´æ–°ä»»åŠ¡çŠ¶æ€ä¿¡æ¯ï¼Œå¹¶åŒæ­¥è‡³WMS
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="status">任务状态</param>
        void UpdateTaskStatus(int taskNum, int status);
        /// <summary>
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
        /// </summary>
        /// <param name="taskNum">任务号</param>
        WebResponseContent UpdateTaskStatusToNext(int taskNum);
        /// <summary>
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
        /// </summary>
        /// <param name="task">任务实体对象</param>
        /// <returns></returns>
        WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task);
        /// <summary>
        /// æ ¹æ®ä»»åŠ¡å·ã€å½“å‰åœ°å€æ›´æ–°ä»»åŠ¡ä½ç½®ä¿¡æ¯
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        Dt_Task? UpdatePosition(int taskNum, string currentAddress);
        /// <summary>
        /// ä»»åŠ¡å®Œæˆ
        /// </summary>
        /// <param name="taskNum">任务编号</param>
        /// <returns>返回处理结果</returns>
        WebResponseContent StackCraneTaskCompleted(int taskNum);
        /// <summary>
        /// æ¢å¤æŒ‚起任务
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <returns>返回处理结果</returns>
        WebResponseContent TaskStatusRecovery(int taskNum);
        /// <summary>
        /// å›žæ»šä»»åŠ¡çŠ¶æ€
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <returns>返回处理结果</returns>
        WebResponseContent RollbackTaskStatusToLast(int taskNum);
        /// <summary>
        /// å‰ç«¯å±•示
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        WebResponseContent GetAgvStatusData();
        WebResponseContent GetAgvStatusData2();
        WebResponseContent GetAgvTaskData();
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITask_HtyService.cs
@@ -32,7 +32,6 @@
{
    public interface ITask_HtyService : IService<Dt_Task_hty>
    {
        public WebResponseContent AddTaskHty(Dt_Task task);
        WebResponseContent fifteenTotal_quantityndex();
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/WIDESEAWCS_ITaskInfoService.csproj
@@ -7,7 +7,7 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
      <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.9" />
    </ItemGroup>
    <ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Container.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    [SugarTable]
    public class Dt_Container : BaseEntity
    {
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "编号")]
        public string ContainerCode { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "长")]
        public int ContainerLength { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "宽")]
        public int ContainerWidth { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "高")]
        public int ContainerHeight { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "X坐标")]
        public int ContainerPositionX { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "Y坐标")]
        public int ContainerPositionY { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "Z坐标")]
        public int ContainerPositionZ { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "状态")]
        public int ContainerStatus { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "排序")]
        public int ContainerSort { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "备注")]
        public string ContainerRemark { get; set; }
        [Navigate(NavigateType.OneToMany, nameof(Dt_ContainerItem.ContainerId), nameof(Id))]
        public List<Dt_ContainerItem> Items { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ContainerItem.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    [SugarTable]
    public class Dt_ContainerItem : BaseEntity
    {
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "容器主表主键")]
        public int ContainerId { get; set; }
        [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "编号")]
        public string ItemCode { get; set; }
        [SugarColumn(IsNullable = true, Length = 100, ColumnDescription = "名称")]
        public string ItemName { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "长")]
        public int ItemLength { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "宽")]
        public int ItemWidth { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "高")]
        public int ItemHeight { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "X坐标")]
        public int ItemPositionX { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "Y坐标")]
        public int ItemPositionY { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "Z坐标")]
        public int ItemPositionZ { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "状态")]
        public int ItemStatus { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_OrderContainer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    [SugarTable]
    public class Dt_OrderContainer : BaseEntity
    {
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "订单主键")]
        public int OrderId { get; set; }
        [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "订单编号")]
        public string OrderNo { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "容器主键")]
        public int ContainerId { get; set; }
        [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "容器编号")]
        public string ContainerCode { get; set; }
        [SugarColumn(IsNullable = false, Length = 255, ColumnDescription = "备注")]
        public string Remark { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
@@ -54,12 +54,12 @@
        public string PalletCode { get; set; }
        /// <summary>
        /// åŒºåŸŸå·
        /// è®¾å¤‡ç¼–号
        /// </summary>
        [ImporterHeader(Name = "区域号")]
        [ExporterHeader(DisplayName = "区域号")]
        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "区域号")]
        public string Roadway { get; set; }
        [ImporterHeader(Name = "设备编号")]
        [ExporterHeader(DisplayName = "设备编号")]
        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "设备编号")]
        public string? DeviceCode { get; set; }
        /// <summary>
        /// ä»»åŠ¡ç±»åž‹
@@ -126,14 +126,6 @@
        public int Grade { get; set; }
        /// <summary>
        /// WMS任务主键
        /// </summary>
        [ImporterHeader(Name = "WMS任务主键")]
        [ExporterHeader(DisplayName = "WMS任务主键")]
        [SugarColumn(IsNullable = false, ColumnDescription = "WMS任务主键")]
        public int WMSId { get; set; }
        /// <summary>
        /// ä»»åŠ¡ä¸‹å‘æ—¶é—´
        /// </summary>
        [ImporterHeader(Name = "任务下发时间")]
@@ -148,27 +140,5 @@
        [ExporterHeader(DisplayName = "备注")]
        [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "备注")]
        public string Remark { get; set; }
        /// <summary>
        /// æ‰˜ç›˜æ•°é‡
        /// </summary>
        [ImporterHeader(Name = "托盘数量")]
        [ExporterHeader(DisplayName = "托盘数量")]
        [SugarColumn(IsNullable = true, ColumnDescription = "托盘数量")]
        public int PalletCodequantity { get; set; }
        /// <summary>
        /// åŽŸææ–™åŽ»å‘
        /// </summary>
        [ImporterHeader(Name = "原材料去向")]
        [ExporterHeader(DisplayName = "原材料去向")]
        [SugarColumn(IsNullable = false, ColumnDescription = "原材料去向")]
        public int PLCTo { get; set; }
        /// <summary>
        /// ç‰©æ–™ç±»åž‹
        /// </summary>
        [ExporterHeader(DisplayName = "物料类型")]
        [SugarColumn(IsNullable = false, ColumnDescription = "物料类型")]
        public int MaterialType { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_hty.cs
@@ -27,147 +27,15 @@
namespace WIDESEAWCS_Model.Models
{
    [SugarTable(nameof(Dt_Task_hty), "任务信息")]
    public class Dt_Task_hty : BaseEntity
    public class Dt_Task_hty : BaseEntity, IBaseHistoryEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [ImporterHeader(Name = "主键")]
        [ExporterHeader(DisplayName = "主键")]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int TaskId { get; set; }
        [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "原表主键")]
        public int SourceId { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        [ImporterHeader(Name = "任务号")]
        [ExporterHeader(DisplayName = "任务号")]
        [SugarColumn(IsNullable = false, ColumnDescription = "任务号")]
        public int TaskNum { get; set; }
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "操作类型")]
        public string OperateType { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç¼–号
        /// </summary>
        [ImporterHeader(Name = "托盘编号")]
        [ExporterHeader(DisplayName = "托盘编号")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "托盘编号")]
        public string PalletCode { get; set; }
        /// <summary>
        /// å··é“号
        /// </summary>
        [ImporterHeader(Name = "巷道号")]
        [ExporterHeader(DisplayName = "巷道号")]
        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "巷道号")]
        public string Roadway { get; set; }
        /// <summary>
        /// ä»»åŠ¡ç±»åž‹
        /// </summary>
        [ImporterHeader(Name = "任务类型")]
        [ExporterHeader(DisplayName = "任务类型")]
        [SugarColumn(IsNullable = false, ColumnDescription = "任务类型")]
        public int TaskType { get; set; }
        /// <summary>
        /// ä»»åŠ¡çŠ¶æ€
        /// </summary>
        [ImporterHeader(Name = "任务状态")]
        [ExporterHeader(DisplayName = "任务状态")]
        [SugarColumn(IsNullable = false, ColumnDescription = "任务状态")]
        public int TaskState { get; set; }
        /// <summary>
        /// èµ·å§‹åœ°å€
        /// </summary>
        [ImporterHeader(Name = "起始地址")]
        [ExporterHeader(DisplayName = "起始地址")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "起始地址")]
        public string SourceAddress { get; set; }
        /// <summary>
        /// ç›®æ ‡åœ°å€
        /// </summary>
        [ImporterHeader(Name = "目标地址")]
        [ExporterHeader(DisplayName = "目标地址")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "目标地址")]
        public string TargetAddress { get; set; }
        /// <summary>
        /// å½“前位置
        /// </summary>
        [ImporterHeader(Name = "当前位置")]
        [ExporterHeader(DisplayName = "当前位置")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "当前位置")]
        public string CurrentAddress { get; set; }
        /// <summary>
        /// ä¸‹ä¸€åœ°å€
        /// </summary>
        [ImporterHeader(Name = "下一地址")]
        [ExporterHeader(DisplayName = "下一地址")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "下一地址")]
        public string NextAddress { get; set; }
        /// <summary>
        /// å¼‚常信息
        /// </summary>
        [ImporterHeader(Name = "异常信息")]
        [ExporterHeader(DisplayName = "异常信息")]
        [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "异常信息")]
        public string? ExceptionMessage { get; set; }
        /// <summary>
        /// ä¼˜å…ˆçº§
        /// </summary>
        [ImporterHeader(Name = "优先级")]
        [ExporterHeader(DisplayName = "优先级")]
        [SugarColumn(IsNullable = false, ColumnDescription = "优先级")]
        public int Grade { get; set; }
        /// <summary>
        /// WMS任务主键
        /// </summary>
        [ImporterHeader(Name = "WMS任务主键")]
        [ExporterHeader(DisplayName = "WMS任务主键")]
        [SugarColumn(IsNullable = false, ColumnDescription = "WMS任务主键")]
        public int WMSId { get; set; }
        /// <summary>
        /// ä»»åŠ¡ä¸‹å‘æ—¶é—´
        /// </summary>
        [ImporterHeader(Name = "任务下发时间")]
        [ExporterHeader(DisplayName = "任务下发时间")]
        [SugarColumn(IsNullable = true, ColumnDescription = "任务下发时间")]
        public DateTime? Dispatchertime { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [ImporterHeader(Name = "备注")]
        [ExporterHeader(DisplayName = "备注")]
        [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "备注")]
        public string Remark { get; set; }
        /// <summary>
        /// æ‰˜ç›˜æ•°é‡
        /// </summary>
        [ImporterHeader(Name = "托盘数量")]
        [ExporterHeader(DisplayName = "托盘数量")]
        [SugarColumn(IsNullable = false, ColumnDescription = "托盘数量")]
        public int PalletCodequantity { get; set; }
        /// <summary>
        /// åŽŸææ–™åŽ»å‘
        /// </summary>
        [ImporterHeader(Name = "原材料去向")]
        [ExporterHeader(DisplayName = "原材料去向")]
        [SugarColumn(IsNullable = false, ColumnDescription = "原材料去向")]
        public int PLCTo { get; set; }
        /// <summary>
        /// ç‰©æ–™ç±»åž‹PalletCodequantity
        /// </summary>
        [ExporterHeader(DisplayName = "物料类型")]
        [SugarColumn(IsNullable = false, ColumnDescription = "物料类型")]
        public int MaterialType { get; set; }
        [SugarColumn(IsNullable = false, ColumnDescription = "移入历史时间")]
        public DateTime InsertTime { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
@@ -8,15 +8,11 @@
    <ItemGroup>
        <PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
        <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
        <PackageReference Include="WIDESEAWCS_Core" Version="1.0.19" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_Common\WIDESEAWCS_Common.csproj" />
    </ItemGroup>
    <ItemGroup>
      <Folder Include="Models\BasicInfo\" />
    </ItemGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -19,53 +19,6 @@
            _httpContextAccessor = httpContextAccessor;
        }
        [HttpPost, Route("ReceiveTask"), AllowAnonymous]
        public WebResponseContent ReceiveWMSTask(Dt_Task taskDTOs)
        {
            return Service.ReceiveWMSTask(taskDTOs);
        }
        [HttpPost, HttpGet, Route("UpdateTaskExceptionMessage")]
        public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message)
        {
            return Service.UpdateTaskExceptionMessage(taskNum, message);
        }
        [HttpPost, HttpGet, Route("UpdateTaskStatusToNext")]
        public WebResponseContent UpdateTaskStatusToNext(int taskNum)
        {
            return Service.UpdateTaskStatusToNext(taskNum);
        }
        [HttpPost, HttpGet, Route("TaskStatusRecovery")]
        public WebResponseContent TaskStatusRecovery(int taskNum)
        {
            return Service.TaskStatusRecovery(taskNum);
        }
        [HttpPost, HttpGet, Route("RollbackTaskStatusToLast")]
        public WebResponseContent RollbackTaskStatusToLast(int taskNum)
        {
            return Service.RollbackTaskStatusToLast(taskNum);
        }
        [HttpGet, Route("GetAgvStatusData"), AllowAnonymous]
        public WebResponseContent GetAgvStatusData()
        {
            return Service.GetAgvStatusData();
        }
        [HttpGet, Route("GetAgvStatusData2"), AllowAnonymous]
        public WebResponseContent GetAgvStatusData2()
        {
            return Service.GetAgvStatusData2();
        }
        [HttpGet, Route("GetAgvTaskData"), AllowAnonymous]
        public WebResponseContent GetAgvTaskData()
        {
            return Service.GetAgvTaskData();
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Filter/CustomProfile.cs
@@ -22,8 +22,9 @@
        {
            CreateMap<Sys_Menu, MenuDTO>();
            CreateMap<Dt_DeviceInfo,DeviceInfoDTO>();
            CreateMap<WMSTaskDTO, Dt_Task>().ForMember(a => a.WMSId, b => b.MapFrom(b => b.Id));
            CreateMap<WMSTaskDTO, Dt_Task>();
            CreateMap<Dt_Task, ConveyorLineTaskCommand>().ForMember(a => a.TargetAddress, b => b.MapFrom(b => b.NextAddress)).ForMember(a => a.Barcode, b => b.MapFrom(b => b.PalletCode)).ForMember(a => a.TaskNum, b => b.MapFrom(b => b.TaskNum));
            CreateMap<Dt_Container, Dt_OrderContainer>().ForMember(a => a.ContainerId, b => b.MapFrom(b => b.Id));
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
@@ -43,7 +43,7 @@
builder.Services.AddAllOptionRegister();//读取配置文件
builder.Services.AddMemoryCacheSetup();//缓存
builder.Services.AddSqlsugarSetup();//SqlSugar å¯åŠ¨æœåŠ¡
//builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
builder.Services.AddDbSetup();//Db å¯åŠ¨æœåŠ¡
//builder.Services.AddScoped<QuartzJobCreateDataTabel>();
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
@@ -8,13 +8,6 @@
    </PropertyGroup>
    <ItemGroup>
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceInfo.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocol.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocolDetail.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DispatchInfo.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Router.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Task.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_TaskExecuteDetail.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Dictionary.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_DictionaryList.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Menu.tsv" />
@@ -31,50 +24,28 @@
        <EmbeddedResource Include="index.html">
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceInfo.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocol.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocolDetail.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DispatchInfo.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Router.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Task.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_TaskExecuteDetail.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Dictionary.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_DictionaryList.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Menu.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Role.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_RoleAuth.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_User.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
          <CopyToOutputDirectory>Never</CopyToOutputDirectory>
        </EmbeddedResource>
    </ItemGroup>
    <ItemGroup>
        <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
        <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -1,28 +1,32 @@
{
  "urls": "http://*:8099", //web服务端口,如果用IIS部署,把这个去掉
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType,agvStationEnum,agvareaEnum",
  "ToMesScan_sync": "http://47.110.241.74:3000/mock/164/api/product/batchProcess/scan_sync", //测
  "AllowedHosts": "*",
  "ConnectionStringsEncryption": false,
  "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
  //连接字符串
  //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_HT;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //跨域
  "Cors": {
    "PolicyName": "CorsIpAccess", //策略名称
    "EnableAllIPs": true, //当为true时,开放所有IP均可访问。
    // æ”¯æŒå¤šä¸ªåŸŸåç«¯å£ï¼Œæ³¨æ„ç«¯å£å·åŽä¸è¦å¸¦/斜杆:比如localhost:8000/,是错的
    // æ³¨æ„ï¼Œhttp://127.0.0.1:1818 å’Œ http://localhost:1818 æ˜¯ä¸ä¸€æ ·çš„
    "IPs": "http://127.0.0.1:8081,http://localhost:8081"
  },
  "ApiName": "WIDESEA",
  "ExpMinutes": 120,
  "QuartzJobAutoStart": true
    "urls": "http://*:8099", //web服务端口,如果用IIS部署,把这个去掉
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.AspNetCore": "Warning"
        }
    },
    "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType,agvStationEnum,agvareaEnum",
    "ToMesScan_sync": "http://47.110.241.74:3000/mock/164/api/product/batchProcess/scan_sync", //测
    "AllowedHosts": "*",
    "ConnectionStringsEncryption": false,
    "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
    "DBType": "SqlServer",
    //连接字符串
    //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
    "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_HT;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
    //跨域
    "Cors": {
        "PolicyName": "CorsIpAccess", //策略名称
        "EnableAllIPs": true, //当为true时,开放所有IP均可访问。
        // æ”¯æŒå¤šä¸ªåŸŸåç«¯å£ï¼Œæ³¨æ„ç«¯å£å·åŽä¸è¦å¸¦/斜杆:比如localhost:8000/,是错的
        // æ³¨æ„ï¼Œhttp://127.0.0.1:1818 å’Œ http://localhost:1818 æ˜¯ä¸ä¸€æ ·çš„
        "IPs": "http://127.0.0.1:8081,http://localhost:8081"
    },
    "ApiName": "WIDESEAWCS",
    "ExpMinutes": 120,
    "QuartzJobAutoStart": true,
    "LogDeubgEnable": true, //是否记录调试日志
    "PrintSql": true, //打印SQL语句
    "LogAOPEnable": true //是否记录AOP日志
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DeviceInfo.tsv
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DeviceProtocol.tsv
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DeviceProtocolDetail.tsv
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_DispatchInfo.tsv
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_Router.tsv
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_Task.tsv
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_TaskExecuteDetail.tsv
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/WIDESEAWCS_SystemRepository.csproj
@@ -7,10 +7,6 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_ISystemRepository\WIDESEAWCS_ISystemRepository.csproj" />
    </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/WIDESEAWCS_SystemServices.csproj
@@ -7,10 +7,6 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_ISystemServices\WIDESEAWCS_ISystemServices.csproj" />
    </ItemGroup>
    
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/WIDESEAWCS_TaskInfoRepository.csproj
@@ -7,10 +7,6 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_ITaskInfoRepository\WIDESEAWCS_ITaskInfoRepository.csproj" />
        <ProjectReference Include="..\WIDESEAWCS_Model\WIDESEAWCS_Model.csproj" />
    </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -51,7 +51,6 @@
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Service;
using static Microsoft.IO.RecyclableMemoryStreamManager;
namespace WIDESEAWCS_TaskInfoService
{
@@ -63,19 +62,6 @@
        private readonly ITask_HtyService _task_HtyService;
        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, ITask_HtyService task_HtyService) : base(BaseDal)
        {
            _routerService = routerService;
@@ -85,782 +71,14 @@
            _mapper = mapper;
        }
        /// <summary>
        /// æŽ¥æ”¶WMS任务信息
        /// </summary>
        /// <param name="taskDTOs">WMS任务对象集合</param>
        /// <returns>返回处理结果</returns>
        public WebResponseContent ReceiveWMSTask(Dt_Task taskDTOs)
        public Dt_Task? QueryAGantryUnExecuteTask(string gantryDeviceNo)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                BaseDal.AddData(taskDTOs);
                content = WebResponseContent.Instance.OK("成功");
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error($"生成任务失败,错误信息:{ex.Message}");
            }
            finally
            {
                WriteLog.GetLog("生成任务").Write(JsonConvert.SerializeObject(content), "生成任务");
            }
            return content;
            return BaseDal.QueryFirst(x => x.TaskState == (int)TaskStatusEnum.Gantry_New && x.DeviceCode == gantryDeviceNo);
        }
        /// <summary>
        /// æŸ¥æ‰¾è¯¥ç«™å°æ˜¯å¦æœ‰ä»»åŠ¡
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        public List<string> QueryConveyorLineTaskSourceAddress()
        public WebResponseContent CreateTask(string takePosition, string putPosition, string deviceCode)
        {
            return BaseDal.QueryData().Select(task => task.SourceAddress).ToList();
        }
        /// <summary>
        /// ä¿®æ”¹ä»»åŠ¡ï¼Œæ·»åŠ ç›®æ ‡åœ°å€
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        public WebResponseContent UpdateTargetAddress(int TaskId,string TargetAddress)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                Dt_Task dt_Task = BaseDal.QueryFirst(x => x.TaskId == TaskId);
                dt_Task.TargetAddress = TargetAddress;
                dt_Task.NextAddress = TargetAddress;
                BaseDal.UpdateData(dt_Task);
                content = WebResponseContent.Instance.OK("成功");
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error($"任务接收错误,错误信息:{ex.Message}");
            }
            finally
            {
                WriteLog.GetLog("接收任务").Write(JsonConvert.SerializeObject(content), "接收任务");
            }
            return content;
        }
        /// <summary>
        /// æŸ¥æ‰¾æ˜¯å¦æœ‰ä»»åŠ¡å¯ä»¥æ”¾åœ¨è¯¥ä½ç½®
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        public Dt_Task QueryConveyorLineTaskRoadway(int agvarea)
        {
            return BaseDal.QueryFirst(x => x.Roadway == agvarea.ToString() && x.MaterialType == (int)AgvStationEnum.BoardUnload && x.TargetAddress =="");
        }
        public bool QueryConveyorLinetaeersuadd(string taeersuadd)
        {
            Dt_Task dt_= BaseDal.QueryFirst(x => x.SourceAddress == taeersuadd || x.TargetAddress == taeersuadd);
            if(dt_==null) return true;
            else return false;
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址查询输送线未执行的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress)
        {
            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);
        }
        /// <summary>
        /// æ ¹æ®ä»»åŠ¡å·ã€ä¸‹ä¸€åœ°å€æŸ¥è¯¢è¾“é€çº¿æ‰§è¡Œä¸­çš„ä»»åŠ¡
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="nextAddress">下一地址</param>
        /// <returns></returns>
        public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress)
        {
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
        }
        /// <summary>
        /// æ ¹æ®ä»»åŠ¡å·ã€å½“å‰åœ°å€æŸ¥è¯¢è¾“é€çº¿å®Œæˆçš„ä»»åŠ¡
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        public Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress)
        {
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish), TaskOrderBy);
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、任务类型分组(可选)按照优先级以及创建时间排序查询任务池新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="taskTypeGroup">任务类型分组(可选)</param>
        /// <returns></returns>
        public Dt_Task? QuertStackerCraneTask(string deviceNo, TaskTypeGroup? taskTypeGroup = null)
        {
            if(taskTypeGroup == null)
                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);
            if(taskTypeGroup.Value == TaskTypeGroup.InboundGroup)
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish, TaskOrderBy);
            if(taskTypeGroup.Value == TaskTypeGroup.OutbondGroup)
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
            return null;
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "")
        {
            return BaseDal.QueryFirst(x => x.TaskState == (int)TaskOutStatusEnum.OutNew && (deviceNo == "AGV01" ? x.Roadway == AgvareaEnum.AreaOne.ToString() : x.Roadway != AgvareaEnum.AreaOne.ToString()),TaskOrderBy);
        }
        public Dt_Task IngStackerCraneTask(string deviceNo)
        {
            //string deviceNot = deviceNo == "SC01" ? "1" : "2";
            return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskState == (int)TaskInStatusEnum.SC_InExecuting);
        }
        public Dt_Task IngStackerCraneTask2(string deviceNo)
        {
            //string deviceNot = deviceNo == "SC01" ? "1" : "2";
            try
            {
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池入库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = "")
        {
            if (string.IsNullOrEmpty(currentAddress))
                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 && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "")
        {
            if (string.IsNullOrEmpty(currentAddress))
                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 && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象集合,可能为null</returns>
        public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes)
        {
            return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.CurrentAddress), TaskOrderBy);
        }
        /// <summary>
        /// æ ¹æ®å‡ºåº“货位查询是否有当前浅货位任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象集合,可能为null</returns>
        public List<Dt_Task> QueryStationIsOccupiedOutTasks(string deviceNo, string SourceAddress)
        {
            return BaseDal.QueryData(x => x.Roadway == deviceNo && SourceAddress.Contains(x.SourceAddress), TaskOrderBy);
        }
        /// <summary>
        /// æ›´æ–°ä»»åŠ¡å¼‚å¸¸ä¿¡æ¯æ˜¾ç¤º
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="message">异常信息</param>
        public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    task.TaskState = (int)TaskOutStatusEnum.OutPending;
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    task.TaskState = (int)TaskInStatusEnum.InPending;
                }
                task.ExceptionMessage = message;
                task.ModifyDate = DateTime.Now;
                BaseDal.UpdateData(task);
                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, task.ExceptionMessage);
                content = WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// æ›´æ–°ä»»åŠ¡çŠ¶æ€ä¿¡æ¯ï¼Œå¹¶åŒæ­¥è‡³WMS
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="status">任务状态</param>
        public void UpdateTaskStatus(int taskNum, int status)
        {
            Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
            if (task == null) return;
            task.TaskState = status;
            task.ModifyDate = DateTime.Now;
            BaseDal.UpdateData(task);
        }
        /// <summary>
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
        /// </summary>
        /// <param name="taskNum">任务号</param>
        public WebResponseContent UpdateTaskStatusToNext(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                return UpdateTaskStatusToNext(task);
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
        /// </summary>
        /// <param name="task">任务实体对象</param>
        /// <returns></returns>
        public WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                int oldState = task.TaskState;
                if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
                {
                    if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish)
                    {
                        return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    }
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
                    task.TaskState = nextStatus;
                    if (task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                    {
                        task.Dispatchertime = DateTime.Now;
                    }
                }
                else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound)
                {
                    if (task.TaskState >= (int)TaskInStatusEnum.InFinish)
                    {
                        return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    }
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    task.TaskState = nextStatus;
                    if (task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
                    {
                        task.Dispatchertime = DateTime.Now;
                    }
                    if (task.TaskState == (int)TaskRelocationTypeEnum.Relocation)
                    {
                        Random random = new Random();
                        task.CurrentAddress = task.NextAddress;
                        task.NextAddress = $"{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}";
                        task.TargetAddress = task.NextAddress;
                    }
                }
                else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound)
                {
                    if (task.TaskState <= (int)TaskRelocationStatusEnum.SC_RelocationFinish)
                    {
                        return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    }
                    int nextStatus = (int)TaskRelocationStatusEnum.SC_RelocationExecuting;
                    task.TaskState = nextStatus;
                    if (task.TaskState == (int)TaskRelocationStatusEnum.SC_RelocationExecuting)
                    {
                        task.Dispatchertime = DateTime.Now;
                    }
                }
                else
                {
                    throw new Exception($"任务类型错误,未找到该任务类型,任务号:【{task.TaskNum}】,任务类型:【{task.TaskType}】");
                }
                if (task.TaskState <= 0)
                {
                    return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                }
                task.ModifyDate = DateTime.Now;
                task.Modifier = "System";
                BaseDal.UpdateData(task);
                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"人工手动将任务状态从【{oldState}】跳转到【{task.TaskState}】" : $"系统自动流程,任务状态从【{oldState}】转到【{task.TaskState}】");
                content = WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// æ ¹æ®ä»»åŠ¡å·ã€å½“å‰åœ°å€æ›´æ–°ä»»åŠ¡ä½ç½®ä¿¡æ¯
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns></returns>
        public Dt_Task? UpdatePosition(int taskNum, string currentAddress)
        {
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress);
                if (task == null) throw new Exception($"未找到该任务信息,任务号:【{taskNum}】");
                string oldCurrentPos = task.CurrentAddress;
                string oldNextPos = task.NextAddress;
                List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
                if (!routers.Any()) throw new Exception($"未找到设备路由信息");
                task.CurrentAddress = task.NextAddress;
                task.NextAddress = routers.FirstOrDefault().ChildPosi;
                task.ModifyDate = DateTime.Now;
                task.Modifier = "System";
                BaseDal.UpdateData(task);
                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"系统自动流程,更新当前位置【{oldCurrentPos} ----> {task.CurrentAddress}】和下一位置【{oldNextPos} ----> {task.NextAddress}】");
                return task;
            }
            catch (Exception ex)
            {
            }
            return null;
        }
        public WebResponseContent StackCraneTaskCompleted(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                {
                    /*List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
                    if (!routers.Any()) return WebResponseContent.Instance.Error($"未找到设备路由信息");*/
                    task.TaskState = (int)TaskOutStatusEnum.OutFinish;
                    task.ModifyDate = DateTime.Now;
                    BaseDal.DeleteData(task);
                    _task_HtyService.AddTaskHty(task);
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"出库完成");
                    //todo åŒæ­¥åˆ°WMS
                    //暂不考虑多个出库口
                }
                else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
                {
                    //todo
                    //int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    task.TaskState = (int)TaskInStatusEnum.InFinish;
                    task.ModifyDate = DateTime.Now;
                    task.Modifier = "System";
                    BaseDal.DeleteData(task);
                    _task_HtyService.AddTaskHty(task);
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"入库完成");
                }
                else
                {
                    throw new Exception($"任务类型错误,未找到该任务类型,任务号:【{taskNum}】,任务类型:【{task.TaskType}】");
                }
                content = WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error($"任务完成异常,任务号:【{taskNum}】");
            }
            return content;
        }
        /// <summary>
        /// æ¢å¤æŒ‚起任务
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <returns>返回处理结果</returns>
        public WebResponseContent TaskStatusRecovery(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                if (task.TaskState != (int)TaskInStatusEnum.InPending && task.TaskState != (int)TaskOutStatusEnum.OutPending)
                {
                    return content = WebResponseContent.Instance.Error($"该任务状态不可恢复,任务号:【{taskNum}】,任务状态:【{task.TaskState}】");
                }
                Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.IsNormal, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
                if (taskExecuteDetail != null)
                {
                    task.TaskState = taskExecuteDetail.TaskState;
                }
                else
                {
                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                    {
                        task.TaskState = (int)TaskOutStatusEnum.OutNew;
                    }
                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                    {
                        task.TaskState = (int)TaskInStatusEnum.InNew;
                    }
                    //todo
                }
                task.ExceptionMessage = string.Empty;
                BaseDal.UpdateData(task);
                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"人工恢复挂起任务,恢复挂起时任务状态【{task.TaskState}】");
                content = WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// å›žæ»šä»»åŠ¡çŠ¶æ€
        /// </summary>
        /// <param name="taskNum">任务号</param>
        /// <returns>返回处理结果</returns>
        public WebResponseContent RollbackTaskStatusToLast(int taskNum)
        {
            WebResponseContent content = new();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                int oldState = task.TaskState;
                Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
                if (taskExecuteDetail != null)
                {
                    task.TaskState = taskExecuteDetail.TaskState;
                    task.CurrentAddress = taskExecuteDetail.CurrentAddress;
                    task.NextAddress = taskExecuteDetail.NextAddress;
                }
                else
                {
                    return content = WebResponseContent.Instance.Error($"未找到任务明细信息,该任务状态不可回滚到上一步,任务号:【{taskNum}】,任务状态:【{task.TaskState}】");
                }
                task.ExceptionMessage = string.Empty;
                BaseDal.UpdateData(task);
                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"人工将任务状态从【{oldState}】回滚到【{task.TaskState}】");
                content = WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// åˆ é™¤æ•°æ®
        /// </summary>
        /// <param name="keys">主键数组</param>
        /// <returns></returns>
        public virtual WebResponseContent DeleteData(object[] keys)
        {
            try
            {
                List<Dt_Task> tasks = BaseDal.QureyDataByIds(keys);
                foreach (Dt_Task task in tasks)
                {
                    _task_HtyService.AddTaskHty(task);
                }
                if (typeof(Dt_Task).GetNavigatePro() == null)
                    return BaseDal.DeleteDataByIds(keys) ? WebResponseContent.Instance.OK() : WebResponseContent.Instance.Error();
                else
                {
                    if (keys != null)
                    {
                        Type detailType = typeof(Dt_Task).GetDetailType();
                        string name = typeof(Dt_Task).GetMainIdByDetail();
                        List<object> dynamicDelKeys = new List<object>();
                        for (int i = 0; i < keys.Length; i++)
                        {
                            dynamicDelKeys.Add(keys[i]);
                        }
                        ((SqlSugarClient)BaseDal.Db).BeginTran();
                        if (dynamicDelKeys.Count > 0)
                            BaseDal.Db.Deleteable<object>().AS(detailType.Name).Where($"{name} in (@id)", new { id = dynamicDelKeys.ToArray() }).ExecuteCommandHasChange();
                        BaseDal.DeleteDataByIds(keys);
                        ((SqlSugarClient)BaseDal.Db).CommitTran();
                        return WebResponseContent.Instance.OK();
                    }
                    else
                    {
                        return WebResponseContent.Instance.Error("参数错误");
                    }
                }
            }
            catch (Exception ex)
            {
                ((SqlSugarClient)BaseDal.Db).RollbackTran();
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        //agv任务
        public WebResponseContent GetAgvTaskData()
        {
            WebResponseContent content=new WebResponseContent();
            List<Dt_Task> tasks = BaseDal.QueryData().ToList();
            List<AGCTaskDto> agvdto = new List<AGCTaskDto>();
            foreach (var item in tasks)
            {
                AGCTaskDto aGCTaskDto = new AGCTaskDto();
                aGCTaskDto.TaskNum = item.TaskNum;
                aGCTaskDto.SourceAddress= item.SourceAddress;
                aGCTaskDto.TargetAddress= item.TargetAddress==null? "暂定" : item.TargetAddress;
                aGCTaskDto.Dispatchertime = item.Dispatchertime;
                aGCTaskDto.TaskState = item.TaskState == (int)TaskInStatusEnum.InNew ? "新建任务" : (item.TaskState == (int)TaskInStatusEnum.AGV_InExecuting ? "AGV任务执行" : "任务完成");
                aGCTaskDto.TaskType = item.TaskType.ToString();
                aGCTaskDto.Roadway = item.Roadway=="1"?"区域一":(item.Roadway == "2" ? "区域二": item.Roadway == "3" ? "区域三":"区域四");
                agvdto.Add(aGCTaskDto);
            }
            return content.OK(data: agvdto);
        }
        //agv状态
        public WebResponseContent GetAgvStatusData()
        {
            var response = new WebResponseContent();
            try
            {
                //agv类型:0-潜伏型,1 - ç‰µå¼•型,2 - æ‰¿è½½åž‹ï¼Œ3 - ä¸¾å‡åž‹ï¼Œ4 -辊道型,5 - å‰è½¦åž‹ï¼Œ6 - å…¶ä»–
                int agvType = 0;
                //agv编号
                int agvCode = 2;
                //agv上下线状态,0-下线,1 - ä¸Šçº¿
                int agvOnline = 4;
                //agv当前地标号
                int agvRfidLabel = 6;
                //agv当前x坐标值
                int agvXcoordinate = 8;
                //agv当前y坐标值
                int agvYcoordinate = 12;
                //agv运行状态 ï¼š0-停止,1 - è¡Œé©¶ï¼Œ2 - æš‚停
                int agvStatus = 16;
                //agv当前运行速度(mm / s)
                int agvSpeed = 18;
                //agv报警代码(按位状态提取,最多可表示32种报警
                int agvAlarmCode = 20;
                bool isFirst = true;
                List<AGVStatus> statusList = new List<AGVStatus>();
                for (int i = 0; i < 3; i++)
                {
                    AGVStatus aGVStatus = new AGVStatus();
                    aGVStatus.agvCode = i;
                    aGVStatus.agvType = 1+i;
                    aGVStatus.agvOnline = "123" + i;
                    aGVStatus.agvRfidLabel = 2 + i;
                    aGVStatus.agvXcoordinate = 3 + i;
                    aGVStatus.agvYcoordinate = 4 + i;
                    aGVStatus.agvStatus = 5 + i;
                    aGVStatus.agvSpeed = 6 + i;
                    aGVStatus.agvAlarmCode = i+99; //client.SiemensPLCClient.SiemensS7NetClient.Read("DB1001." + agvAlarmCode.ToString(), 32).Content;
                    statusList.Add(aGVStatus);
                }
                response.OK(data: statusList);
            }
            catch (Exception ex)
            {
                response.Error(ex.Message);
            }
            return response;
        }
        public WebResponseContent GetAgvStatusData2()
        {
            var response = new WebResponseContent();
            try
            {
                //agv类型:0-潜伏型,1 - ç‰µå¼•型,2 - æ‰¿è½½åž‹ï¼Œ3 - ä¸¾å‡åž‹ï¼Œ4 -辊道型,5 - å‰è½¦åž‹ï¼Œ6 - å…¶ä»–
                int agvType = 0;
                //agv编号
                int agvCode = 2;
                //agv上下线状态,0-下线,1 - ä¸Šçº¿
                int agvOnline = 4;
                //agv当前地标号
                int agvRfidLabel = 6;
                //agv当前x坐标值
                int agvXcoordinate = 8;
                //agv当前y坐标值
                int agvYcoordinate = 12;
                //agv运行状态 ï¼š0-停止,1 - è¡Œé©¶ï¼Œ2 - æš‚停
                int agvStatus = 16;
                //agv当前运行速度(mm / s)
                int agvSpeed = 18;
                //agv报警代码(按位状态提取,最多可表示32种报警
                int agvAlarmCode = 20;
                bool isFirst = true;
                List<AGVStatus> statusList = new List<AGVStatus>();
                for (int i = 0; i < 6; i++)
                {
                    AGVStatus aGVStatus = new AGVStatus();
                    aGVStatus.agvCode = i;
                    aGVStatus.agvType = 1 + i;
                    aGVStatus.agvOnline = "123" + i;
                    aGVStatus.agvRfidLabel = 2 + i;
                    aGVStatus.agvXcoordinate = 3 + i;
                    aGVStatus.agvYcoordinate = 4 + i;
                    aGVStatus.agvStatus = 5 + i;
                    aGVStatus.agvSpeed = 6 + i;
                    aGVStatus.agvAlarmCode = i + 99; //client.SiemensPLCClient.SiemensS7NetClient.Read("DB1001." + agvAlarmCode.ToString(), 32).Content;
                    statusList.Add(aGVStatus);
                }
                response.OK(data: statusList);
            }
            catch (Exception ex)
            {
                response.Error(ex.Message);
            }
            return response;
        }
        public class AGVStatus
        {
            /// <summary>
            /// agv类型:0-潜伏型,1 - ç‰µå¼•型,2 - æ‰¿è½½åž‹ï¼Œ3 - ä¸¾å‡åž‹ï¼Œ4 -辊道型,5 - å‰è½¦åž‹ï¼Œ6 - å…¶ä»–
            /// </summary>
            public int agvType { get; set; }
            /// <summary>
            /// agv编号
            /// </summary>
            public int agvCode { get; set; }
            /// <summary>
            /// agv上下线状态,0-下线,1 - ä¸Šçº¿
            /// </summary>
            public string agvOnline { get; set; }
            /// <summary>
            /// agv当前地标号
            /// </summary>
            public int agvRfidLabel { get; set; }
            /// <summary>
            /// agv当前x坐标值
            /// </summary>
            public int agvXcoordinate { get; set; }
            /// <summary>
            /// agv当前y坐标值
            /// </summary>
            public int agvYcoordinate { get; set; }
            /// <summary>
            /// agv运行状态 ï¼š0-停止,1 - è¡Œé©¶ï¼Œ2 - æš‚停
            /// </summary>
            public int agvStatus { get; set; }
            /// <summary>
            /// agv当前运行速度(mm / s)
            /// </summary>
            public int agvSpeed { get; set; }
            /// <summary>
            /// agv报警代码(按位状态提取,最多可表示32种报警
            /// </summary>
            public int agvAlarmCode { get; set; }
            return WebResponseContent.Instance.OK();
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Task_HtyService.cs
@@ -60,35 +60,7 @@
            _taskExecuteDetailRepository = taskExecuteDetailRepository;
            _mapper = mapper;
        }
        public WebResponseContent AddTaskHty(Dt_Task task)
        {
            WebResponseContent content = new WebResponseContent();
            Dt_Task_hty task_Hty = new Dt_Task_hty()
            {
                TaskNum = task.TaskNum,
                PalletCode = task.PalletCode,
                Roadway = task.Roadway,
                TaskType = task.TaskType,
                TaskState = task.TaskState,
                SourceAddress = task.SourceAddress,
                TargetAddress = task.TargetAddress,
                CurrentAddress = task.CurrentAddress,
                NextAddress = task.NextAddress,
                ExceptionMessage = task.ExceptionMessage,
                Grade = task.Grade,
                WMSId = task.WMSId,
                Creater = task.Creater,
                TaskId = task.TaskId,
                CreateDate = task.CreateDate,
                Dispatchertime = task.Dispatchertime,
                Remark = task.Remark,
                Modifier = task.Modifier,
                ModifyDate = DateTime.Now,
                PalletCodequantity = task.PalletCodequantity,
            };
            BaseDal.AddData(task_Hty);
            return content;
        }
        public static List<string> MaterialCuttingOutletList = new List<string>() { "B102", "B202" , "B402" , "A203" , "A403", "A603", "A803"};
        public static List<string> EdgeBandingCuttingOutletList = new List<string>() { "F20", "F21"};
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj
@@ -7,10 +7,6 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj" />
        <ProjectReference Include="..\WIDESEAWCS_ITaskInfoService\WIDESEAWCS_ITaskInfoService.csproj" />
    </ItemGroup>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Gantry/GantryDBName.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Tasks
{
    internal enum GantryDBName
    {
        GantryStatus,
        GantryAutoStatus,
        GantryWorkStatus,
        CurrentTaskNum,
        TaskNum,
        TakePosition,
        TakePositionX,
        TakePositionY,
        TakePositionZ,
        TakePositionR,
        PutPosition,
        PutPositionX,
        PutPositionY,
        PutPositionZ,
        PutPositionR,
        Length,
        Width,
        Height,
        WorkType,
        StartCommand,
        TwoHand,
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Gantry/GantryJob.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Quartz;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
namespace WIDESEAWCS_Tasks
{
    /// <summary>
    /// é¾™é—¨æž¶
    /// </summary>
    [DisallowConcurrentExecution]
    public class GantryJob : JobBase, IJob
    {
        private readonly ITaskRepository _taskRepository;
        private readonly ITaskService _taskService;
        public GantryJob(ITaskRepository taskRepository, ITaskService taskService)
        {
            _taskRepository = taskRepository;
            _taskService = taskService;
        }
        public Task Execute(IJobExecutionContext context)
        {
            try
            {
                bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
                if (flag && value != null && value is OtherDevice)
                {
                    OtherDevice otherDevice = (OtherDevice)value;
                    byte gantryStatus = otherDevice.GetValue<GantryDBName, byte>(GantryDBName.GantryStatus);
                    byte gantryAutoStatus = otherDevice.GetValue<GantryDBName, byte>(GantryDBName.GantryAutoStatus);
                    byte gantryWorkStatus = otherDevice.GetValue<GantryDBName, byte>(GantryDBName.GantryWorkStatus);
                    if(gantryStatus == 1 && gantryAutoStatus == 3 && gantryWorkStatus == 0)
                    {
                        // é€»è¾‘处理
                        // 1. è¯»å–任务
                        // 2. ä»»åŠ¡æ‰§è¡Œ
                        // 3. ä»»åŠ¡å®Œæˆ
                        Dt_Task? task = _taskService.QueryAGantryUnExecuteTask(otherDevice.DeviceCode);
                        if(task != null)
                        {
                            string[] takePositions = task.CurrentAddress.Split("-");
                            if(takePositions.Length != 4)
                            {
                                //WriteError
                                return Task.CompletedTask;
                            }
                            string[] putPositions = task.NextAddress.Split("-");
                            if (putPositions.Length != 4)
                            {
                                //WriteError
                                return Task.CompletedTask;
                            }
                            otherDevice.SetValue(GantryDBName.TwoHand, task.TaskNum);
                            otherDevice.SetValue(GantryDBName.TaskNum, task.TaskNum);
                            otherDevice.SetValue(GantryDBName.TakePosition, Convert.ToInt32(takePositions[0]));
                            otherDevice.SetValue(GantryDBName.TakePositionX, Convert.ToInt32(takePositions[1]));
                            otherDevice.SetValue(GantryDBName.TakePositionY, Convert.ToInt32(takePositions[2]));
                            otherDevice.SetValue(GantryDBName.TakePositionZ, Convert.ToInt32(takePositions[3]));
                            otherDevice.SetValue(GantryDBName.TakePositionR, 0);
                            otherDevice.SetValue(GantryDBName.PutPosition, Convert.ToInt32(putPositions[0]));
                            otherDevice.SetValue(GantryDBName.PutPositionX, Convert.ToInt32(putPositions[1]));
                            otherDevice.SetValue(GantryDBName.PutPositionY, Convert.ToInt32(putPositions[2]));
                            otherDevice.SetValue(GantryDBName.PutPositionZ, Convert.ToInt32(putPositions[3]));
                            otherDevice.SetValue(GantryDBName.PutPositionR, 0);
                            otherDevice.SetValue(GantryDBName.Length, task.TaskNum);
                            otherDevice.SetValue(GantryDBName.Width, task.TaskNum);
                            otherDevice.SetValue(GantryDBName.Height, task.TaskNum);
                            otherDevice.SetValue(GantryDBName.WorkType, task.TaskNum);
                            otherDevice.SetValue(GantryDBName.StartCommand, task.TaskNum);
                        }
                    }
                    else if(gantryWorkStatus == 5)
                    {
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return Task.CompletedTask;
        }
        public Dt_Task GetTask()
        {
            return new Dt_Task();
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/LogJob.cs
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj
@@ -7,8 +7,7 @@
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="WIDESEAWCS_Core" Version="1.0.7" />
      <PackageReference Include="WIDESEAWCS_QuartzJob" Version="2.1.2" />
      <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.9" />
    </ItemGroup>
    <ItemGroup>