Admin
2026-01-15 7d6194cf002b8f54d41cdc50b7f1b1843c1da636
MES接口
已添加1个文件
已修改23个文件
819 ■■■■ 文件已修改
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json 265 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationTypeEnum.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Inbound/MES_InTaskDTO.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCStask.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCSTaskService.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/MesTaskController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/WCSTaskController.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/蓝图文件/~$智能工厂立体库项目软件系统蓝图 V6.0.docm 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
@@ -3,12 +3,12 @@
  "WorkspaceRootPath": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\inbound\\mes_intaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\inbound\\mes_intaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -19,48 +19,20 @@
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_stockservice\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|solutionrelative:widesea_stockservice\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_basicservice\\roadwayinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\roadwayinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_ibasicservice\\iroadwayinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\iroadwayinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\db\\models\\basewarehouseentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\db\\models\\basewarehouseentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\basic\\dt_warehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\basic\\dt_warehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\basic\\dt_roadwayinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\basic\\dt_roadwayinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{49716D78-720D-475D-948C-0FC6C5F079E5}|WIDESEA_IStockService\\WIDESEA_IStockService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istockservice\\istockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{49716D78-720D-475D-948C-0FC6C5F079E5}|WIDESEA_IStockService\\WIDESEA_IStockService.csproj|solutionrelative:widesea_istockservice\\istockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_common\\locationenum\\locationchangetype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\locationenum\\locationchangetype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -70,45 +42,32 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 1,
          "SelectedChildIndex": 0,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 0,
              "Title": "MESTaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
              "ViewState": "AgIAAB8AAAAAAAAAAAAhwAkBAAAcAAAAAAAAAA==",
              "ViewState": "AgIAAKsAAAAAAAAAAAAIwLkAAABvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T09:59:36.111Z",
              "WhenOpened": "2026-01-15T04:46:32.724Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "MES_InTaskDTO.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Inbound\\MES_InTaskDTO.cs",
              "RelativeDocumentMoniker": "WIDESEA_DTO\\Inbound\\MES_InTaskDTO.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Inbound\\MES_InTaskDTO.cs",
              "RelativeToolTip": "WIDESEA_DTO\\Inbound\\MES_InTaskDTO.cs",
              "ViewState": "AgIAAAQAAAAAAAAAAAAtwJ4AAAAAAAAAAAAAAA==",
              "DocumentIndex": 1,
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAFoAAAAAAAAAAAA1wGkAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T09:56:54.331Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "appsettings.json",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
              "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2026-01-14T09:54:26.771Z",
              "WhenOpened": "2026-01-15T03:43:08.208Z",
              "EditorCaption": ""
            },
            {
@@ -119,152 +78,74 @@
              "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAADUAAAAAAAAAAAAewEEAAAAcAAAAAAAAAA==",
              "ViewState": "AgIAAC0AAAAAAAAAAAAIwEAAAAAiAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:14:37.312Z",
              "WhenOpened": "2026-01-15T03:41:47.98Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "MesTaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "ViewState": "AgIAACMAAAAAAAAAAAAjwDMAAAAmAAAAAAAAAA==",
              "Title": "WCSTaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "ViewState": "AgIAABMAAAAAAAAAAAAewDQAAAAaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T05:22:05.425Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "BaseWarehouseEntity.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "RelativeToolTip": "WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:51:03.403Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAACcAAAAAAAAAAAApwD4AAABkAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:16:07.727Z",
              "WhenOpened": "2026-01-15T03:33:32.644Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "StockInfoService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\StockInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEA_StockService\\StockInfoService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\StockInfoService.cs",
              "RelativeToolTip": "WIDESEA_StockService\\StockInfoService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAABzAAAAAAAAAA==",
              "Title": "WCSTaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAawCQAAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:18:10.786Z",
              "WhenOpened": "2026-01-15T03:33:19.137Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "WCStask.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
              "RelativeDocumentMoniker": "WIDESEA_DTO\\Task\\WCStask.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
              "RelativeToolTip": "WIDESEA_DTO\\Task\\WCStask.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvxUAAAAXAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-15T03:30:03.161Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "appsettings.json",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
              "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvx0AAABBAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2026-01-15T03:14:10.484Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "RoadWayinfoService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\RoadWayinfoService.cs",
              "RelativeDocumentMoniker": "WIDESEA_BasicService\\RoadWayinfoService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\RoadWayinfoService.cs",
              "RelativeToolTip": "WIDESEA_BasicService\\RoadWayinfoService.cs",
              "ViewState": "AgIAAAcAAAAAAAAAAAAswB0AAAAsAAAAAAAAAA==",
              "Title": "TaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAAAB0AAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:51:18.321Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "IRoadWayinfoService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\IRoadWayinfoService.cs",
              "RelativeDocumentMoniker": "WIDESEA_IBasicService\\IRoadWayinfoService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\IRoadWayinfoService.cs",
              "RelativeToolTip": "WIDESEA_IBasicService\\IRoadWayinfoService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAuwBAAAAA4AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:53:39.582Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "Dt_Warehouse.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_Warehouse.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Basic\\Dt_Warehouse.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_Warehouse.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\Basic\\Dt_Warehouse.cs",
              "ViewState": "AgIAACAAAAAAAAAAAAA0wAoAAAAEAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:44:56.736Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "Dt_roadwayinfo.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "ViewState": "AgIAADIAAAAAAAAAAAAYwCYAAAAfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:46:28.429Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "LocationChangeType.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationChangeType.cs",
              "RelativeDocumentMoniker": "WIDESEA_Common\\LocationEnum\\LocationChangeType.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationChangeType.cs",
              "RelativeToolTip": "WIDESEA_Common\\LocationEnum\\LocationChangeType.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:32:50.229Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "IStockService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockService.cs",
              "RelativeDocumentMoniker": "WIDESEA_IStockService\\IStockService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockService.cs",
              "RelativeToolTip": "WIDESEA_IStockService\\IStockService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T05:55:03.241Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "PartialTaskService_Inbound.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvxYAAAAhAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T05:28:48.837Z",
              "WhenOpened": "2026-01-15T03:03:40.066Z",
              "EditorCaption": ""
            }
          ]
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
@@ -3,48 +3,36 @@
  "WorkspaceRootPath": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_stockservice\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7DC26D42-D8EE-46F0-BA66-A13457086885}|WIDESEA_StockService\\WIDESEA_StockService.csproj|solutionrelative:widesea_stockservice\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\db\\models\\basewarehouseentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\db\\models\\basewarehouseentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\basic\\dt_roadwayinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\basic\\dt_roadwayinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{49716D78-720D-475D-948C-0FC6C5F079E5}|WIDESEA_IStockService\\WIDESEA_IStockService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istockservice\\istockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{49716D78-720D-475D-948C-0FC6C5F079E5}|WIDESEA_IStockService\\WIDESEA_IStockService.csproj|solutionrelative:widesea_istockservice\\istockservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -54,147 +42,111 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 3,
          "SelectedChildIndex": 0,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAHUAAAAAAAAAAAAMwEQAAAApAAAAAAAAAA==",
              "DocumentIndex": 0,
              "Title": "MESTaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
              "ViewState": "AgIAAK4AAAAAAAAAAAAIwLoAAACWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:16:07.727Z",
              "IsPinned": true,
              "WhenOpened": "2026-01-15T04:46:32.724Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAACgAAAAAAAAAAIA9wDQAAAATAAAAAAAAAA==",
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAFoAAAAAAAAAAAA1wGkAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T13:40:55.165Z",
              "WhenOpened": "2026-01-15T03:43:08.208Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAC0AAAAAAAAAAAAIwEAAAAAiAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-15T03:41:47.98Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "WCSTaskService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
              "ViewState": "AgIAAAwAAAAAAAAAAADgvxkAAAAaAAAAAAAAAA==",
              "ViewState": "AgIAABMAAAAAAAAAAAAewDQAAAAaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T13:40:26.683Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "WCSTaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "ViewState": "AgIAABAAAAAAAAAAAAAawBwAAAApAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T13:35:29.078Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "TaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "ViewState": "AgIAABIAAAAAAAAAAADwvxgAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T13:35:13.9Z",
              "WhenOpened": "2026-01-15T03:33:32.644Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "MesTaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
              "ViewState": "AgIAAEIAAAAAAAAAAAAawGcAAAAAAAAAAAAAAA==",
              "Title": "WCSTaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAawCQAAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T13:20:25.746Z",
              "WhenOpened": "2026-01-15T03:33:19.137Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "WCStask.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
              "RelativeDocumentMoniker": "WIDESEA_DTO\\Task\\WCStask.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
              "RelativeToolTip": "WIDESEA_DTO\\Task\\WCStask.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvxUAAAAXAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-15T03:30:03.161Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "appsettings.json",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
              "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvx0AAABBAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
              "WhenOpened": "2026-01-15T03:14:10.484Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "StockInfoService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\StockInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEA_StockService\\StockInfoService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockService\\StockInfoService.cs",
              "RelativeToolTip": "WIDESEA_StockService\\StockInfoService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAABzAAAAAAAAAA==",
              "Title": "TaskController.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAAAAAB0AAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:18:10.786Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "Dt_roadwayinfo.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\Basic\\Dt_roadwayinfo.cs",
              "ViewState": "AgIAADIAAAAAAAAAAAAYwCYAAAAfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:46:28.429Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "IStockService.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockService.cs",
              "RelativeDocumentMoniker": "WIDESEA_IStockService\\IStockService.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStockService\\IStockService.cs",
              "RelativeToolTip": "WIDESEA_IStockService\\IStockService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T05:55:03.241Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "PartialTaskService_Inbound.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAAEwBYAAAAiAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T05:28:48.837Z",
              "WhenOpened": "2026-01-15T03:03:40.066Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "BaseWarehouseEntity.cs",
              "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "RelativeToolTip": "WIDESEA_Core\\DB\\Models\\BaseWarehouseEntity.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:51:03.403Z"
            }
          ]
        }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs
@@ -30,6 +30,9 @@
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IRepository<Dt_StockInfo> _stockInfoRepository;
        public IRepository<Dt_LocationInfo> Repository => BaseDal;
        private readonly static object _locker = new object();
        public static List<LocationCache> locationCaches = new List<LocationCache>();
        public LocationInfoService(IRepository<Dt_LocationInfo> BaseDal, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_StockInfo> stockInfoRepository) : base(BaseDal)
        {
@@ -172,5 +175,80 @@
            return roadwayGroups.RoadwayNo;
        }
        public Dt_LocationInfo? ShallowGetLocation(string roadway, int Locationtype,int row ,int Layer, int Column)
        {
            return BaseDal.QueryData(x => x.RoadwayNo == roadway && x.LocationType == Locationtype && x.Row==row && x.Layer== Layer && x.Column== Column).FirstOrDefault();
        }
        //查找新货位
        public Dt_LocationInfo? GetLocation(string roadway, int Locationtype)
        {
            lock (_locker)
            {
                List<LocationCache> removeItems = locationCaches.Where(x => (DateTime.Now - x.DateTime).TotalMinutes > 5).ToList();//查询添加静态变量超过10分钟的货位
                int count = removeItems.Count;
                for (int i = 0; i < count; i++)
                {
                    locationCaches.Remove(removeItems[i]);//移除查询添加静态变量超过5分钟的货位
                }
                List<string> lockLocations = locationCaches.Select(x => x.LocationCode).ToList();
                List<Dt_LocationInfo> locationInfos = null;
                locationInfos = BaseDal.QueryData(x => x.RoadwayNo == roadway && x.LocationType == Locationtype && x.EnableStatus == (int)EnableStatusEnum.Normal);
                List<Dt_LocationInfo> emptyLocations = locationInfos.Where(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && !lockLocations.Contains(x.LocationCode)).OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenByDescending(x => x.Depth).ThenBy(x => x.Row).ToList();//查询空货位信息并排除20分钟内分配的货位,根据层、列、深度、行排序
                for (int i = 0; i < emptyLocations.Count; i++)
                {
                    if (emptyLocations[i].Depth == 1)//判断是否1深货位
                    {
                        //查询深库位
                        int emprow = emptyLocations[i].Row == 2 ? 1 : 4;
                        Dt_LocationInfo? sencondDepthLocationShen = emptyLocations.FirstOrDefault(x => x.Row == emprow && x.Layer == emptyLocations[i].Layer && x.Column == emptyLocations[i].Column);
                        if (sencondDepthLocationShen != null && sencondDepthLocationShen.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                        {
                            locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = sencondDepthLocationShen.LocationCode });
                            return sencondDepthLocationShen;//1深货位及2深货位都为空的情况下,优先分配2深货位
                        }
                        else
                        {
                            Dt_LocationInfo? sencondDepthLo = locationInfos.FirstOrDefault(x => x.Row == emprow && x.Layer == emptyLocations[i].Layer && x.Column == emptyLocations[i].Column);
                            if (sencondDepthLo != null && sencondDepthLo.LocationStatus != LocationStatusEnum.Lock.ObjToInt() && sencondDepthLo.LocationStatus == LocationStatusEnum.InStock.ObjToInt() && !lockLocations.Contains(sencondDepthLo.LocationCode))
                            {
                                locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = emptyLocations[i].LocationCode });
                                return emptyLocations[i];
                            }
                        }
                    }
                    else
                    {
                        //查询2深货位对应的1深货位是否为空
                        int emprow = emptyLocations[i].Row == 4 ? 3 : 2;
                        Dt_LocationInfo? sencondDepthLocationQian = emptyLocations.FirstOrDefault(x => x.Row == emprow && x.Layer == emptyLocations[i].Layer && x.Column == emptyLocations[i].Column);
                        if (sencondDepthLocationQian != null && sencondDepthLocationQian.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                        {
                            locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = emptyLocations[i].LocationCode });
                            return emptyLocations[i];
                        }
                    }
                }
                return null;
            }
        }
        public class LocationCache
        {
            public string LocationCode { get; set; }
            public DateTime DateTime { get; set; }
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationTypeEnum.cs
@@ -36,10 +36,5 @@
        [Description("成品货位")]
        LargePallet = 3,
        /// <summary>
        /// ç©ºæ‰˜ç›˜
        /// </summary>
        [Description("空托盘")]
        ExtraPallet = 4,
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs
@@ -50,6 +50,7 @@
        /// <param name="entity"></param>
        /// <returns>影响行数</returns>
        int AddData(TEntity entity);
        TEntity AddDataId(TEntity entity);
        bool AddData<TChild>(TEntity entity, Expression<Func<TEntity, List<TChild>>> expression) where TChild : class, new();
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs
@@ -124,6 +124,12 @@
            return insert.ExecuteReturnIdentity();
        }
        public virtual TEntity AddDataId(TEntity entity)
        {
            IInsertable<TEntity> insert = _db.Insertable(entity);
            return insert.ExecuteReturnEntity();
        }
        public virtual bool AddData<TChild>(TEntity entity, Expression<Func<TEntity, List<TChild>>> expression) where TChild : class, new()
        {
            return _db.InsertNav(entity).Include(expression).ExecuteCommand();
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Inbound/MES_InTaskDTO.cs
@@ -90,8 +90,8 @@
        public ApiResponse Error(string message = null)
        {
            Code = 200;
            Msg = "成功";
            Code = -1;
            Msg = "失败";
            Data = new ResponseData
            {
                IsSuccess = false,
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs
@@ -28,7 +28,20 @@
        /// </summary>
        public int TaskType { get; set; }
        //
        /// <summary>
        /// èµ·ç‚¹
        /// </summary>
        public string FromPoint { get; set; }
        /// <summary>
        /// ç»ˆç‚¹
        /// </summary>
        public string ToPoint { get; set; }
        /// <summary>
        /// æœ€ç»ˆç‚¹
        /// </summary>
        public string FinalPoint { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCStask.cs
@@ -17,6 +17,11 @@
        public int TaskId { get; set; }
        /// <summary>
        /// å•据号
        /// </summary>
        public string TransNo { get; set; }
        /// <summary>
        /// å †åž›æœºç¼–号
        /// </summary>
        public int AreaNo { get; set; }
@@ -44,7 +49,7 @@
        /// <summary>
        /// æœ€ç»ˆç‚¹
        /// </summary>
        public string FinalPoint { get; set; }
        public string ToStation { get; set; }
    }
    public class WCSginseng
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs
@@ -1,4 +1,5 @@
using System;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -52,8 +53,13 @@
        /// <returns></returns>
        WebResponseContent InitializationLocation(InitializationLocationDTO initializationLocationDTO);
        //Dt_LocationInfo? GetLocation(string roadway, int Locationtype);
        /// <summary>
        /// èŽ·å–åº“ä½ä¿¡æ¯
        /// </summary>
        /// <param name="roadway">巷道号</param>
        /// <param name="Locationtype">库位类型</param>
        /// <returns></returns>
        Dt_LocationInfo? GetLocation(string roadway, int Locationtype);
        /// <summary>
        /// èŽ·å–å··é“å·
@@ -62,5 +68,11 @@
        /// <param name="LocationType">货位类型</param>
        /// <returns></returns>
        string AccessingTunnel(int WarehouseId, int LocationType);
        /// <summary>
        /// æŸ¥æ‰¾æµ…货位状态
        /// </summary>
        /// <returns></returns>
        Dt_LocationInfo? ShallowGetLocation(string roadway, int Locationtype, int row, int Layer, int Column);
    }
}
    }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs
@@ -15,6 +15,7 @@
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using Autofac.Core;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System;
@@ -40,8 +41,6 @@
    {
        IRepository<Dt_Task> Repository { get; }
        //任务反馈
        WebResponseContent TaskCompleted(WCSTaskDTO wCSTask);
        //WCS入库获取
@@ -50,9 +49,9 @@
        #region WCS任务模块
        //下发WCS输送线任务
        WCSginseng PLC_IssueTasks(int TaskId, int AreaNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint);
        WCSginseng PLC_IssueTasks(int TaskId, int AreaNo, string TransNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint, string ToStation);
        //下发WCS堆垛机任务
        WCSginseng SC_IssueTasks(int TaskId, int AreaNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint);
        WCSginseng SC_IssueTasks(int TaskId, int AreaNo, string TransNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint, string ToStation);
        #endregion
@@ -79,7 +78,7 @@
        //入库任务反馈接口
        MES_parameter InStoreDocCallback(string TransNo, string Result, string ResultMsg, string ContainerNo, string LocationCode);
        //出库任务反馈接口
        MES_parameter OutStoreDocCallback(string TransNo, string Result, string ResultMsg, string ContainerNo, string LocationCode);
        MES_parameter OutStoreDocCallback(string TransNo, string Result, string ResultMsg);
        //储位异动申请
        MES_parameter ApplicationChangeStorageLocation(string ContainerNo, string OriginalLocationCode, string NewLocationCode);
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs
@@ -42,7 +42,7 @@
        public string PalletCode { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç±»åž‹
        /// æ‰˜ç›˜ç±»åž‹(1--布卷,2-松布卷,1-成品)
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "托盘类型")]
        public string PalletType { get; set; }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs
@@ -52,12 +52,19 @@
                {
                    if (mES_In.containerType == "2") LocationType = 2;
                }
                else if (dt_Warehouse.WarehouseType == (int)WarehouseEnum.YMCP)
                {
                    LocationType = 3;
                }
                string Roadway = _locationInfoService.AccessingTunnel(dt_Warehouse.WarehouseId, LocationType);
                if (Roadway == "") return apiResponse.Error($"WMS未能查询道对应巷道编号,仓库编码:{mES_In.warehouseNo}");
                //获取对应PLC站台信息
                Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(Roadway);
                Dt_Task setask = BaseDal.QueryData(x => x.PalletCode == mES_In.containerNo).FirstOrDefault();
                if (setask != null) return apiResponse.Error($"WMS已有当前任务,不可重复下发,托盘编号:{mES_In.containerNo}");
                Dt_Task task = new Dt_Task();
@@ -126,6 +133,9 @@
                Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(dt_LocationInfo.RoadwayNo);
                Dt_Task setask = BaseDal.QueryData(x => x.PalletCode == mES_In.containerNo).FirstOrDefault();
                if (setask != null) return apiResponse.Error($"WMS已有当前任务,不可重复下发,托盘编号:{mES_In.containerNo}");
                Dt_Task task = new Dt_Task();
                task.TaskNum = mES_In.transNo;
                task.PalletCode = dt_Stock.PalletCode;
@@ -166,11 +176,12 @@
        //储位查询接口
        public ApiResponse GetLocationByContainer(MES_InTask mES_In)
        {
            WriteLog.GetLog("储位查询接口").Write($"参数:{mES_In.ToJson()}", $"任务接收参数");
            ApiResponse apiResponse = new ApiResponse();
            try
            {
                if (string.IsNullOrWhiteSpace(mES_In.containerNo)) return apiResponse.Error("托盘码不能为空");
                Dt_StockInfo dt_Stock = _stockInfoService.Repository.QueryData(x => x.PalletCode == mES_In.containerNo).FirstOrDefault();
                Dt_StockInfo dt_Stock = _stockInfoService.Repository.QueryData(x => x.PalletCode == mES_In.containerNo &&x.StockStatus==(int)StockStatusEmun.已入库).FirstOrDefault();
                if (dt_Stock == null) return apiResponse.Error($"WMS未能查找道该托盘条码的库存货位信息,条码:{mES_In.containerNo}");
                Dt_LocationInfo dt_LocationInfo = _locationInfoService.Repository.QueryData(x => x.LocationCode == dt_Stock.LocationCode).FirstOrDefault();
                if (dt_LocationInfo == null) return apiResponse.Error($"WMS未能查找道该托盘条码的库存货位信息,条码:{mES_In.containerNo},未找到货位号:{dt_Stock.LocationCode}");
@@ -244,8 +255,22 @@
                if (string.IsNullOrWhiteSpace(mES_In.transNo)) return apiResponse.Error("单据编号不能为空");
                Dt_Task dt_Task = BaseDal.QueryData(x => x.TaskNum == mES_In.transNo).FirstOrDefault();
                if (dt_Task == null) return apiResponse.Error($"WMS未能查找道对应单据任务,条码:{mES_In.transNo}");
                if(dt_Task.TaskStatus== (int)InTaskStatusEnum.InNew || dt_Task.TaskStatus == (int)OutTaskStatusEnum.OutNew)
                if(dt_Task.TaskStatus== (int)InTaskStatusEnum.InNew)
                {
                    Dt_StockInfo dt_StockInfo=_stockInfoService.Repository.QueryData(x=>x.PalletCode==dt_Task.PalletCode).FirstOrDefault();
                    if (dt_StockInfo == null) return apiResponse.Error("取消失败,WMS记录的托盘库存查找失败");
                    _stockInfoService.Repository.DeleteData(dt_StockInfo);
                    BaseDal.DeleteData(dt_Task);
                    return apiResponse.OK();
                }else if(dt_Task.TaskStatus == (int)OutTaskStatusEnum.OutNew)
                {
                    Dt_StockInfo dt_StockInfo = _stockInfoService.Repository.QueryData(x => x.PalletCode == dt_Task.PalletCode).FirstOrDefault();
                    Dt_LocationInfo dt_LocationInfo= _locationInfoService.Repository.QueryData(x=>x.LocationCode== dt_StockInfo.LocationCode).FirstOrDefault();
                    dt_StockInfo.StockStatus = (int)StockStatusEmun.已入库;
                    dt_LocationInfo.LocationStatus = (int)LocationStatusEnum.InStock;
                    _stockInfoService.Repository.UpdateData(dt_StockInfo);
                    _locationInfoService.Repository.UpdateData(dt_LocationInfo);
                    BaseDal.DeleteData(dt_Task);
                    return apiResponse.OK();
                }
@@ -286,17 +311,15 @@
        }
        //出库任务反馈接口
        public MES_parameter OutStoreDocCallback(string TransNo,string Result,string ResultMsg,string ContainerNo,string LocationCode)
        public MES_parameter OutStoreDocCallback(string TransNo,string Result,string ResultMsg)
        {
            MES_parameter mES_Parame = new MES_parameter();
            try
            {
                MesInResultResponse mesInResult = new MesInResultResponse();
                MesOutResultResponse mesInResult = new MesOutResultResponse();
                mesInResult.TransNo = TransNo;
                mesInResult.Result = Result;
                mesInResult.ResultMsg = ResultMsg;
                mesInResult.ContainerNo = ContainerNo;
                mesInResult.LocationCode = LocationCode;
                mES_Parame = HttpHelper.Post<MES_parameter>(MES_OutReporttask, mesInResult, "出库任务汇报");
                return mES_Parame;
            }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -13,6 +13,7 @@
using WIDESEA_Core;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Task;
using WIDESEA_Model.Models;
using static WIDESEA_ITaskInfoService.ITaskService;
@@ -32,16 +33,38 @@
                if (task.TaskStatus == (int)InTaskStatusEnum.InNew)
                {
                    //进行调取输送线下发任务
                    //PLC_IssueTasks(task.TaskId,task.Roadway,task.PalletCode,task.PalletType,task.);
                    WCSginseng WCS_Parame = PLC_IssueTasks(task.TaskId,int.Parse(task.Roadway),task.TaskNum,task.PalletCode, int.Parse(task.PalletType), wCSTask.FromPoint,task.NextAddress,"");
                    if (WCS_Parame.IsSuccess)
                    {
                        task.TaskStatus = (int)InTaskStatusEnum.PLC_InExecuting;
                        MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, "Start","操作成功",task.PalletCode,"");
                        if (mES_Parameter.Result == "Y")
                        {
                            //进行修改数据库
                            BaseDal.UpdateData(task);
                            return webResponse.OK("下发输送线任务成功");
                        }
                        else
                        {
                            return webResponse.Error("上传MES失败,原因:" + mES_Parameter.ResultMsg);
                        }
                    }
                    else
                    {
                        return webResponse.Error("下发输送线任务失败,原因:" + WCS_Parame.Message);
                    }
                }
                return WebResponseContent.Instance.Error($"未找到任务信息,托盘条码:{wCSTask.PalletCode}");
                else
                {
                    return webResponse.Error($"下发输送线任务失败,当前托盘条码:{task.PalletCode},不在新建中,不可重复下发");
                }
            }
            catch (Exception ex)
            {
                return webResponse.Error("任务获取失败,wms系统故障,原因:"+ex.Message);
            }
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -17,12 +17,17 @@
using AutoMapper;
using SqlSugar;
using System.Net;
using System.Reflection;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.OtherEnum;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Task;
using WIDESEA_IBasicService;
using WIDESEA_IInboundService;
@@ -55,10 +60,16 @@
        public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList();
        public TaskService(IRepository<Dt_Task> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
        public TaskService(IRepository<Dt_Task> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockInfoService stockInfoService, ILocationInfoService locationInfoService,
            IWarehouseService warehouseService, IRoadWayinfoService roadWayinfoService) : base(BaseDal)
        {
            _mapper = mapper;
            _unitOfWorkManage = unitOfWorkManage;
            _stockInfoService = stockInfoService;
            _locationInfoService = locationInfoService;
            _warehouseService = warehouseService;
            _roadWayinfoService=roadWayinfoService;
        }
        public string MES_InReporttask = WIDESEA_Core.Helper.AppSettings.Configuration["MES_InReporttask"]; //入库反馈信息
        public string MES_OutReporttask = WIDESEA_Core.Helper.AppSettings.Configuration["MES_OutReporttask"];   //出库反馈信息
@@ -79,11 +90,12 @@
        /// <returns></returns>
        public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask)
        {
            WebResponseContent webResponse= new WebResponseContent();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == wCSTask.TaskNum && x.PalletCode == wCSTask.PalletCode);
                if (task == null)
                    return WebResponseContent.Instance.Error("未找到任务信息");
                    return webResponse.Error("未找到任务信息");
                switch ((TaskTypeEnum)task.TaskType)
                {
@@ -94,27 +106,63 @@
                    case TaskTypeEnum.Relocation:
                        return HandleRelocationTask(task, wCSTask.TaskType);
                    default:
                        return WebResponseContent.Instance.Error($"任务类型错误,任务号:{task.TaskId},托盘编号:{task.PalletCode},类型:{task.TaskType}");
                        return webResponse.Error($"任务类型错误,任务号:{task.TaskId},托盘编号:{task.PalletCode},类型:{task.TaskType}");
                }
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error($"WMS任务完成错误:{ex.Message}");
                return webResponse.Error($"WMS任务完成错误:{ex.Message}");
            }
        }
        private WebResponseContent HandleInboundTask(Dt_Task task, int wcsTaskType)
        {
            WebResponseContent content = new WebResponseContent();
            switch (wcsTaskType)
            {
                case 1:
                    task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish;
                    int loctype = 0;
                    if (task.Roadway == "1" || task.Roadway == "2")
                    {
                        if(task.PalletType=="1") loctype = (int)LocationTypeEnum.SmallPallet;
                        else if(task.PalletType=="2") loctype = (int)LocationTypeEnum.MediumPallet;
                    }
                    else
                    {
                         loctype = (int)LocationTypeEnum.LargePallet;
                    }
                    //查找货位,更新任务
                    Dt_LocationInfo dt_Location=_locationInfoService.GetLocation(task.Roadway, loctype);
                    Dt_LocationInfo ShallowCargoHold = _locationInfoService.ShallowGetLocation(dt_Location.RoadwayNo, dt_Location.LocationType, dt_Location.Row, dt_Location.Layer, dt_Location.Column);
                    if(ShallowCargoHold==null) return content.Error($"未找到该货位信息,货位编号:{dt_Location.LocationCode}的浅货位");
                    if(ShallowCargoHold.LocationStatus != (int)LocationStatusEnum.Free) return content.Error($"任务号:{task.TaskId},托盘编号:{task.PalletCode},查找的货位浅货位有货,货位编号:{ShallowCargoHold.LocationCode}");
                    task.TargetAddress = dt_Location.LocationCode;
                    task.CurrentAddress = task.NextAddress;
                    task.NextAddress= dt_Location.LocationCode;
                    task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish;
                    dt_Location.LocationStatus = (int)LocationStatusEnum.Lock;
                    _locationInfoService.UpdateData(dt_Location);
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收入库输送线完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                    return content.OK($"已接收入库输送线完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                case 2:
                    task.TaskStatus = (int)InTaskStatusEnum.SC_OutFinish;
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收入库堆垛机完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                    //上报MES任务完成
                    MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, "Finish", "操作成功", task.PalletCode, task.TargetAddress);
                    if (mES_Parameter.Result == "Y")
                    {
                        task.TaskStatus = (int)InTaskStatusEnum.SC_OutFinish;
                        BaseDal.DeleteData(task);
                        return content.OK($"已接收入库堆垛机完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                    }
                    else
                    {
                        return content.Error("上传MES失败,原因:" + mES_Parameter.ResultMsg);
                    }
                default:
                    return WebResponseContent.Instance.Error($"WCS上报类型错误:{wcsTaskType}");
            }
@@ -122,18 +170,32 @@
        private WebResponseContent HandleOutboundTask(Dt_Task task, int wcsTaskType)
        {
            WebResponseContent content = new WebResponseContent();
            switch (wcsTaskType)
            {
                case 1:
                    task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收出库输送线完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                    //上报MES任务完成
                    MES_parameter mES_Parameter = OutStoreDocCallback(task.TaskNum, "Finish", "操作成功");
                    if (mES_Parameter.Result == "Y")
                    {
                        task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
                        BaseDal.DeleteData(task);
                        return content.OK($"已接收出库输送线完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                    }
                    else
                    {
                        return content.Error("上传MES失败,原因:" + mES_Parameter.ResultMsg);
                    }
                case 2:
                    //获取对应PLC站台信息
                    Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(task.Roadway);
                    task.CurrentAddress = _Roadwayinfo.OutStationCode;
                    task.NextAddress = task.TargetAddress;
                    task.TaskStatus = (int)OutTaskStatusEnum.SC_OutFinish;
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收出库堆垛机完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                    return content.OK($"已接收出库堆垛机完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                default:
                    return WebResponseContent.Instance.Error($"WCS上报类型错误:{wcsTaskType}");
                    return content.Error($"WCS上报类型错误:{wcsTaskType}");
            }
        }
@@ -147,5 +209,8 @@
            }
            return WebResponseContent.Instance.Error($"WCS上报类型错误:{wcsTaskType}");
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCSTaskService.cs
@@ -23,7 +23,7 @@
    public partial class TaskService
    {
        //输送线任务下发
        public WCSginseng PLC_IssueTasks(int TaskId,int AreaNo,string ContainerNo,int ContainerType,string FromPoint,string ToPoint)
        public WCSginseng PLC_IssueTasks(int TaskId,int AreaNo,string TransNo, string ContainerNo,int ContainerType,string FromPoint,string ToPoint,string ToStation)
        {
            WCSginseng WCS_Parame = new WCSginseng();
            try
@@ -31,10 +31,12 @@
                WCStask wcstaskinfo = new WCStask();
                wcstaskinfo.TaskId = TaskId;
                wcstaskinfo.AreaNo = AreaNo;
                wcstaskinfo.TransNo = TransNo;
                wcstaskinfo.ContainerNo = ContainerNo;
                wcstaskinfo.ContainerType = ContainerType;
                wcstaskinfo.FromPoint = FromPoint;
                wcstaskinfo.ToPoint = ToPoint;
                wcstaskinfo.ToStation = ToStation;
                WCS_Parame = HttpHelper.Post<WCSginseng>(WCS_SendConveyorTask, wcstaskinfo, "输送线任务下发");
                return WCS_Parame;
            }
@@ -48,7 +50,7 @@
        }
        //堆垛机任务下发
        public WCSginseng SC_IssueTasks(int TaskId, int AreaNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint)
        public WCSginseng SC_IssueTasks(int TaskId, int AreaNo, string TransNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint, string ToStation)
        {
            WCSginseng WCS_Parame = new WCSginseng();
            try
@@ -56,10 +58,12 @@
                WCStask wcstaskinfo = new WCStask();
                wcstaskinfo.TaskId = TaskId;
                wcstaskinfo.AreaNo = AreaNo;
                wcstaskinfo.TransNo = TransNo;
                wcstaskinfo.ContainerNo = ContainerNo;
                wcstaskinfo.ContainerType = ContainerType;
                wcstaskinfo.FromPoint = FromPoint;
                wcstaskinfo.ToPoint = ToPoint;
                wcstaskinfo.ToStation = ToStation;
                WCS_Parame = HttpHelper.Post<WCSginseng>(WCS_SendStackerTask, wcstaskinfo, "堆垛机任务下发");
                return WCS_Parame;
            }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/MesTaskController.cs
@@ -74,9 +74,9 @@
        //出库任务上报接口
        [HttpGet, Route("OutStoreDocCallback"), AllowAnonymous]
        public MES_parameter OutStoreDocCallback(string TransNo, string Result, string ResultMsg, string ContainerNo, string LocationCode)
        public MES_parameter OutStoreDocCallback(string TransNo, string Result, string ResultMsg)
        {
            return Service.OutStoreDocCallback(TransNo, Result, ResultMsg, ContainerNo, LocationCode);
            return Service.OutStoreDocCallback(TransNo, Result, ResultMsg);
        }
        //储位异动申请
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/WCSTaskController.cs
@@ -24,16 +24,16 @@
        //输送线任务下发
        [HttpPost, Route("PLC_IssueTasks")]
        public WCSginseng PLC_IssueTasks(int TaskId, int AreaNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint)
        public WCSginseng PLC_IssueTasks(int TaskId, int AreaNo, string TransNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint, string ToStation)
        {
            return Service.PLC_IssueTasks(TaskId, AreaNo,ContainerNo, ContainerType, FromPoint, ToPoint);
            return Service.PLC_IssueTasks(TaskId, AreaNo, TransNo, ContainerNo, ContainerType, FromPoint, ToPoint, ToStation);
        }
        //堆垛机任务下发
        [HttpGet, Route("SC_IssueTasks")]
        public WCSginseng SC_IssueTasks(int TaskId, int AreaNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint)
        public WCSginseng SC_IssueTasks(int TaskId, int AreaNo, string TransNo, string ContainerNo, int ContainerType, string FromPoint, string ToPoint, string ToStation)
        {
            return Service.SC_IssueTasks(TaskId, AreaNo, ContainerNo, ContainerType, FromPoint, ToPoint);
            return Service.SC_IssueTasks(TaskId, AreaNo, TransNo, ContainerNo, ContainerType, FromPoint, ToPoint, ToStation);
        }
    }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -10,8 +10,14 @@
  "AllowedHosts": "*",
  "ConnectionStringsEncryption": false,
  "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
  "MES_InReporttask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //入库任务完成反馈
  "MES_OutReporttask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //出库任务完成反馈
  "MES_InReporttask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //入库反馈信息
  "MES_OutReporttask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //出库反馈信息
  "MES_InventoryUpdateApply": "http://172.18.195.201:8889/api/Task/ReceiveTask", //储位异动申请
  "MES_InventoryUpdateCallback": "http://172.18.195.201:8889/api/Task/ReceiveTask", //储位异动申请
  "MES_TaskErrorInfoCallback": "http://172.18.195.201:8889/api/Task/ReceiveTask", //任务异常上报
  "WCS_SendConveyorTask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //输送线任务下发
  "WCS_SendStackerTask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //堆垛机任务下发
  //1.MySql
  //2.SqlServer
  //3.Sqlite
@@ -21,7 +27,7 @@
  //连接字符串
  //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
  //"ConnectionString": "Data Source=localhost;Initial Catalog=jm_widesea_zlwms;User ID=root;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionString": "Server=127.0.0.1;Database=jm_widesea_zlwms;Uid=root;Pwd=123456;",
  "ConnectionString": "Server=localhost;Database=jm_widesea_zlwms;Uid=root;Pwd=123456;AllowLoadLocalInfile=true;",
  //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=WMS_TC;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //旧WMS数据库连接
  //"TeConnectionString": "Data Source=10.30.4.92;Initial Catalog=TeChuang;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
ÏîÄ¿×ÊÁÏ/À¶Í¼Îļþ/~$ÖÇÄܹ¤³§Á¢Ìå¿âÏîÄ¿Èí¼þϵͳÀ¶Í¼ V6.0.docm
Binary files differ