Admin
2026-01-14 81117ff938bfebc06801017d26176a9ffa4d0731
接口信息
已添加15个文件
已重命名1个文件
已删除1个文件
已修改26个文件
2548 ■■■■ 文件已修改
项目代码/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-shm 补丁 | 查看 | 原始文档 | 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-shm 补丁 | 查看 | 原始文档 | 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 377 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json 403 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/RoadWayinfoService.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/WarehouseService.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/EnableStatusEnum.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationStatusEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationTypeEnum.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskEnumHelper.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskStatusEnum.cs 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/WareHouseEnum/WarehouseEnum.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Log/WriteLog.cs 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Inbound/MES_InCompleteFeedback.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Inbound/MES_InTaskDTO.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCStask.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IRoadWayinfoService.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IWarehouseService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IStockInfoService.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_Warehouse.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_roadwayinfo.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/MesTaskController.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/WMS库位编码/~$鹰美库位编码xlsx.xlsx 补丁 | 查看 | 原始文档 | 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-shm
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-shm
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,56 +3,68 @@
  "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:{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\\utilities\\entityproperties.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\utilities\\entityproperties.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:{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\\inbound\\dt_receiveorderdetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\inbound\\dt_receiveorderdetail.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:{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\\approvalflow\\dt_approvalnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\approvalflow\\dt_approvalnode.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:{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\\approvalflow\\dt_approvalflow.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\approvalflow\\dt_approvalflow.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:{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\\maindb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\db\\maindb.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:{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\\basedbconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\db\\basedbconfig.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\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\taskinfo\\dt_task.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\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\filter\\customprofile.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:{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\\filter\\autofacpropertitymodulereg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\filter\\autofacpropertitymodulereg.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:{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\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}"
      "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:{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\\pdacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\pdacontroller.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:{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\\idependency.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\idependency.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:{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\\app.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\app.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\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\taskstatusenum.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\\extensions\\initializationhostservicesetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\extensions\\initializationhostservicesetup.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:{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\\locationstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\locationenum\\locationstatusenum.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}"
    }
  ],
  "DocumentGroupContainers": [
@@ -62,164 +74,215 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 0,
          "SelectedChildIndex": 6,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "EntityProperties.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\\Utilities\\EntityProperties.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Utilities\\EntityProperties.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\\Utilities\\EntityProperties.cs",
              "RelativeToolTip": "WIDESEA_Core\\Utilities\\EntityProperties.cs",
              "ViewState": "AgIAAGcAAAAAAAAAAAAtwH8AAAAkAAAAAAAAAA==",
              "DocumentIndex": 3,
              "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": "AgIAAFEAAAAAAAAAAAAWwGUAAAA1AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:45:16.318Z",
              "WhenOpened": "2026-01-14T08:46:00.505Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "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": "AgIAAHUAAAAAAAAAAAAMwCQAAABfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:16:07.727Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "Dt_Task.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\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.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\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAAA4AAAAAAAAAAAAnwCAAAABGAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:15:58.349Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "Dt_ReceiveOrderDetail.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\\Inbound\\Dt_ReceiveOrderDetail.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Inbound\\Dt_ReceiveOrderDetail.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\\Inbound\\Dt_ReceiveOrderDetail.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\Inbound\\Dt_ReceiveOrderDetail.cs",
              "ViewState": "AgIAACkAAAAAAAAAAAAmwEoAAAAWAAAAAAAAAA==",
              "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": "AgIAADAAAAAAAAAAAAD4vzwAAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:45:04.084Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "Dt_ApprovalNode.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\\ApprovalFlow\\Dt_ApprovalNode.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalNode.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\\ApprovalFlow\\Dt_ApprovalNode.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalNode.cs",
              "ViewState": "AgIAABYAAAAAAAAAAAAIwC4AAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:44:40.323Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "Dt_ApprovalFlow.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\\ApprovalFlow\\Dt_ApprovalFlow.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalFlow.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\\ApprovalFlow\\Dt_ApprovalFlow.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalFlow.cs",
              "ViewState": "AgIAAA4AAAAAAAAAAAAxwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:44:35.038Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "MainDb.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\\MainDb.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\DB\\MainDb.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\\MainDb.cs",
              "RelativeToolTip": "WIDESEA_Core\\DB\\MainDb.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAuwBUAAAAyAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:41:41.054Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "BaseDBConfig.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\\BaseDBConfig.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\DB\\BaseDBConfig.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\\BaseDBConfig.cs",
              "RelativeToolTip": "WIDESEA_Core\\DB\\BaseDBConfig.cs",
              "ViewState": "AgIAAD4AAAAAAAAAAAAtwFUAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:39:40.014Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "CustomProfile.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\\Filter\\CustomProfile.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Filter\\CustomProfile.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\\Filter\\CustomProfile.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:35.409Z"
              "WhenOpened": "2026-01-14T08:14:37.312Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "AutofacPropertityModuleReg.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\\Filter\\AutofacPropertityModuleReg.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Filter\\AutofacPropertityModuleReg.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\\Filter\\AutofacPropertityModuleReg.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Filter\\AutofacPropertityModuleReg.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "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-13T11:28:32.302Z"
              "WhenOpened": "2026-01-14T07:53:39.582Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "PDAController.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\\PDAController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\PDAController.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\\PDAController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\PDAController.cs",
              "ViewState": "AgIAAFAAAAAAAAAAAAAUwAAAAAAAAAAAAAAAAA==",
              "DocumentIndex": 6,
              "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:23.527Z"
              "WhenOpened": "2026-01-14T07:51:18.321Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "IDependency.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\\IDependency.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\IDependency.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\\IDependency.cs",
              "RelativeToolTip": "WIDESEA_Core\\IDependency.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "DocumentIndex": 0,
              "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": "AgIAABAAAAAAAAAAAAAgwCIAAAA1AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:18.907Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "App.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\\App.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\App.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\\App.cs",
              "RelativeToolTip": "WIDESEA_Core\\App.cs",
              "ViewState": "AgIAADIAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:14.509Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "InitializationHostServiceSetup.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\\Extensions\\InitializationHostServiceSetup.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Extensions\\InitializationHostServiceSetup.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\\Extensions\\InitializationHostServiceSetup.cs",
              "RelativeToolTip": "WIDESEA_Core\\Extensions\\InitializationHostServiceSetup.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:27:02.002Z"
              "WhenOpened": "2026-01-14T05:22:05.425Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "index.html",
              "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\\index.html",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\index.html",
              "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\\index.html",
              "RelativeToolTip": "WIDESEA_WMSServer\\index.html",
              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|",
              "WhenOpened": "2026-01-13T11:23:12.234Z"
              "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": "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:18:10.786Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "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": 10,
              "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": 11,
              "Title": "TaskStatusEnum.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\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.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\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvw4AAAAgAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:38:34.626Z",
              "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": 14,
              "Title": "LocationStatusEnum.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\\LocationStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.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\\LocationStatusEnum.cs",
              "RelativeToolTip": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:32:44.092Z",
              "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": 15,
              "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",
              "EditorCaption": ""
            }
          ]
        }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
@@ -3,56 +3,68 @@
  "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:{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\\utilities\\entityproperties.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\utilities\\entityproperties.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:{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\\inbound\\dt_receiveorderdetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\inbound\\dt_receiveorderdetail.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:{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\\approvalflow\\dt_approvalnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\approvalflow\\dt_approvalnode.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:{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\\approvalflow\\dt_approvalflow.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\approvalflow\\dt_approvalflow.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:{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\\maindb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\db\\maindb.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:{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\\basedbconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\db\\basedbconfig.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\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\taskinfo\\dt_task.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\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\filter\\customprofile.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:{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\\filter\\autofacpropertitymodulereg.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\filter\\autofacpropertitymodulereg.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:{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\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}"
      "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:{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\\pdacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\pdacontroller.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:{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\\idependency.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\idependency.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:{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\\app.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\app.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\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\taskstatusenum.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\\extensions\\initializationhostservicesetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\extensions\\initializationhostservicesetup.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:{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\\locationstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\locationenum\\locationstatusenum.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}"
    }
  ],
  "DocumentGroupContainers": [
@@ -62,164 +74,215 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 0,
          "SelectedChildIndex": 3,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "EntityProperties.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\\Utilities\\EntityProperties.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Utilities\\EntityProperties.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\\Utilities\\EntityProperties.cs",
              "RelativeToolTip": "WIDESEA_Core\\Utilities\\EntityProperties.cs",
              "ViewState": "AgIAAGcAAAAAAAAAAAAtwH8AAAAkAAAAAAAAAA==",
              "DocumentIndex": 2,
              "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": "AgIAAFUAAAAAAAAAAAAIwGUAAAAqAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:45:16.318Z",
              "WhenOpened": "2026-01-14T08:46:00.505Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "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": "AgIAAHUAAAAAAAAAAAAMwCQAAABfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:16:07.727Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "Dt_Task.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\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.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\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAAA4AAAAAAAAAAAAnwCAAAABGAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:15:58.349Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "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": "AgIAADAAAAAAAAAAAAAAwD8AAAAtAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:14:37.312Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "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": 6,
              "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:51:18.321Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "Dt_ReceiveOrderDetail.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\\Inbound\\Dt_ReceiveOrderDetail.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Inbound\\Dt_ReceiveOrderDetail.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\\Inbound\\Dt_ReceiveOrderDetail.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\Inbound\\Dt_ReceiveOrderDetail.cs",
              "ViewState": "AgIAACkAAAAAAAAAAAAmwEoAAAAWAAAAAAAAAA==",
              "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": "AgIAAAoAAAAAAAAAAAAgwCQAAAApAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:45:04.084Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "Dt_ApprovalNode.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\\ApprovalFlow\\Dt_ApprovalNode.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalNode.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\\ApprovalFlow\\Dt_ApprovalNode.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalNode.cs",
              "ViewState": "AgIAABYAAAAAAAAAAAAIwC4AAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:44:40.323Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "Dt_ApprovalFlow.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\\ApprovalFlow\\Dt_ApprovalFlow.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalFlow.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\\ApprovalFlow\\Dt_ApprovalFlow.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\ApprovalFlow\\Dt_ApprovalFlow.cs",
              "ViewState": "AgIAAA4AAAAAAAAAAAAxwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:44:35.038Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "MainDb.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\\MainDb.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\DB\\MainDb.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\\MainDb.cs",
              "RelativeToolTip": "WIDESEA_Core\\DB\\MainDb.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAAAuwBUAAAAyAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:41:41.054Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "BaseDBConfig.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\\BaseDBConfig.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\DB\\BaseDBConfig.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\\BaseDBConfig.cs",
              "RelativeToolTip": "WIDESEA_Core\\DB\\BaseDBConfig.cs",
              "ViewState": "AgIAAD4AAAAAAAAAAAAtwFUAAAARAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T13:39:40.014Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "CustomProfile.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\\Filter\\CustomProfile.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Filter\\CustomProfile.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\\Filter\\CustomProfile.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:35.409Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "AutofacPropertityModuleReg.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\\Filter\\AutofacPropertityModuleReg.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Filter\\AutofacPropertityModuleReg.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\\Filter\\AutofacPropertityModuleReg.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Filter\\AutofacPropertityModuleReg.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:32.302Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "PDAController.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\\PDAController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\PDAController.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\\PDAController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\PDAController.cs",
              "ViewState": "AgIAAFAAAAAAAAAAAAAUwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:23.527Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "IDependency.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\\IDependency.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\IDependency.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\\IDependency.cs",
              "RelativeToolTip": "WIDESEA_Core\\IDependency.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:18.907Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "App.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\\App.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\App.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\\App.cs",
              "RelativeToolTip": "WIDESEA_Core\\App.cs",
              "ViewState": "AgIAADIAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:28:14.509Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "InitializationHostServiceSetup.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\\Extensions\\InitializationHostServiceSetup.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Extensions\\InitializationHostServiceSetup.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\\Extensions\\InitializationHostServiceSetup.cs",
              "RelativeToolTip": "WIDESEA_Core\\Extensions\\InitializationHostServiceSetup.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAdAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-13T11:27:02.002Z"
              "WhenOpened": "2026-01-14T05:22:05.425Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "index.html",
              "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\\index.html",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\index.html",
              "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\\index.html",
              "RelativeToolTip": "WIDESEA_WMSServer\\index.html",
              "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|",
              "WhenOpened": "2026-01-13T11:23:12.234Z"
              "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": "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==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T08:18:10.786Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "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": 10,
              "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": 11,
              "Title": "TaskStatusEnum.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\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.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\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvw4AAAAgAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:38:34.626Z",
              "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": 14,
              "Title": "LocationStatusEnum.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\\LocationStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.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\\LocationStatusEnum.cs",
              "RelativeToolTip": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs",
              "ViewState": "AgIAAAkAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-01-14T07:32:44.092Z",
              "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": 15,
              "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",
              "EditorCaption": ""
            }
          ]
        }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs
@@ -153,5 +153,24 @@
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        public string AccessingTunnel(int WarehouseId, int LocationType)
        {
            List<Dt_LocationInfo> locationData = BaseDal.QueryData(x => x.WarehouseId == WarehouseId);
            var roadwayGroups = locationData
                .Where(x => x.LocationType == LocationType)
                .GroupBy(x => x.RoadwayNo)
                .Select(g => new
                {
                    RoadwayNo = g.Key,
                    LocationCount = g.Count(),
                    AllLocations = g.ToList()
                })
                .OrderByDescending(g => g.LocationCount)  // æ”¹ä¸ºé™åºæŽ’序
                .FirstOrDefault();  // å–第一个(数量最多的)
            return roadwayGroups.RoadwayNo;
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/RoadWayinfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_IBasicService;
using WIDESEA_Model.Models;
using WIDESEA_Core.Helper;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Core.Caches;
using WIDESEA_Core.BaseRepository;
namespace WIDESEA_BasicService
{
    public partial class RoadWayinfoService : ServiceBase<Dt_roadwayinfo, IRepository<Dt_roadwayinfo>>, IRoadWayinfoService
    {
        private readonly ICacheService _cacheService;
        public RoadWayinfoService(IRepository<Dt_roadwayinfo> BaseDal,ICacheService cacheService) : base(BaseDal)
        {
            _cacheService = cacheService;
        }
        public IRepository<Dt_roadwayinfo> Repository => BaseDal;
        public Dt_roadwayinfo QbtainPlatform(string RoadwayNo)
        {
            return BaseDal.QueryData(x=>x.RoadwayNo== RoadwayNo).FirstOrDefault();
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/WarehouseService.cs
@@ -80,6 +80,9 @@
            return WarehouseDisableStatus(new int[] { key });
        }
        public Dt_Warehouse QueryWarehouse(string WarehouseNo)
        {
            return BaseDal.QueryData(x => x.WarehouseCode == WarehouseNo).FirstOrDefault();
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/EnableStatusEnum.cs
@@ -17,23 +17,11 @@
        /// </summary>
        [Description("正常")]
        Normal = 0,
        /// <summary>
        /// åªå…¥
        /// </summary>
        [Description("只入")]
        OnlyIn = 1,
        /// <summary>
        /// åªå‡º
        /// </summary>
        [Description("只出")]
        OnlyOut = 2,
        /// <summary>
        /// ç¦ç”¨
        /// </summary>
        [Description("禁用")]
        Disable = 3
        Disable = 1
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationStatusEnum.cs
@@ -24,27 +24,9 @@
        Lock = 1,
        /// <summary>
        /// æœ‰è´§é”å®š
        /// </summary>
        [Description("有货锁定")]
        InStockLock = 10,
        /// <summary>
        ///
        /// </summary>
        [Description("空闲锁定")]
        FreeLock = 20,
        /// <summary>
        /// æœ‰è´§
        /// </summary>
        [Description("有货")]
        InStock = 100,
        /// <summary>
        /// å¤§æ‰˜ç›˜é”å®š
        /// </summary>
        [Description("大托盘锁定")]
        PalletLock = 99
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/LocationEnum/LocationTypeEnum.cs
@@ -19,27 +19,27 @@
        Undefined = 0,
        /// <summary>
        /// å°æ‰˜ç›˜
        /// å¸ƒå·
        /// </summary>
        [Description("小托盘")]
        [Description("布卷")]
        SmallPallet = 1,
        /// <summary>
        /// ä¸­æ‰˜ç›˜
        /// æ¾å¸ƒå·
        /// </summary>
        [Description("中托盘")]
        [Description("松布卷")]
        MediumPallet = 2,
        /// <summary>
        /// å¤§æ‰˜ç›˜
        /// æˆå“è´§ä½
        /// </summary>
        [Description("大托盘")]
        [Description("成品货位")]
        LargePallet = 3,
        /// <summary>
        /// ç‰¹å¤§æ‰˜ç›˜
        /// ç©ºæ‰˜ç›˜
        /// </summary>
        [Description("特大托盘")]
        [Description("空托盘")]
        ExtraPallet = 4,
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs
@@ -8,58 +8,36 @@
namespace WIDESEA_Common.StockEnum
{
    /// <summary>
    /// åº“存状态: <br/>
    /// 1,组盘暂存<br/>
    /// 2,组盘撤销<br/>
    /// 3,入库确认<br/>
    /// 4,入库撤销<br/>
    /// 6,入库完成<br/>
    /// 7,出库锁定<br/>
    /// 8,出库完成<br/>
    /// 9,移库锁定<br/>
    /// åº“存状态: 1,组盘暂存  2,组盘撤销  3,入库确认 4,入库撤销   5,已入库  6,已出库
    /// </summary>
    public enum StockStatusEmun
    {
        [Description("组盘暂存")]
        ç»„盘暂存 = 1,
        [Description("入库确认")]
        å…¥åº“确认 = 3,
        å…¥åº“中 = 1,
        [Description("入库完成")]
        å…¥åº“完成 = 6,
        [Description("已入库")]
        å·²å…¥åº“ = 2,
        [Description("出库锁定")]
        å‡ºåº“锁定 = 7,
        [Description("出库中")]
        å‡ºåº“中 = 3,
        [Description("出库完成")]
        å‡ºåº“完成 = 8,
        å‡ºåº“完成 = 4,
        [Description("移库锁定")]
        ç§»åº“锁定 = 9,
        ç§»åº“锁定 = 5,
    }
        [Description("入库完成未建出库单")]
        å…¥åº“完成未建出库单 = 10,
        [Description("退库")]
        é€€åº“ = 11,
        [Description("手动组盘暂存")]
        æ‰‹åŠ¨ç»„ç›˜æš‚å­˜ = 12,
        [Description("手动组盘入库确认")]
        æ‰‹åŠ¨ç»„ç›˜å…¥åº“ç¡®è®¤ = 13,
        [Description("拣选完成")]
        æ‹£é€‰å®Œæˆ =14,
        [Description("退库")]
        MES退库 = 21,
        [Description("组盘撤销")]
        ç»„盘撤销 = 99,
        [Description("入库撤销")]
        å…¥åº“撤销 = 199,
    public enum InventoryMaterialType
    {
        [Description("布卷")]
        å¸ƒå· = 0,
        [Description("松布卷")]
        æ¾å¸ƒå· = 1,
        [Description("成品")]
        æˆå“ = 2,
        [Description("空托")]
        ç©ºæ‰˜ = 3,
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskEnumHelper.cs
@@ -15,24 +15,6 @@
            return Enum.GetValues(type).Cast<int>().ToList();
        }
        public static TaskTypeGroup GetTaskTypeGroup(this int taskType)
        {
            if (taskType >= 500 && taskType < 900)
            {
                return TaskTypeGroup.InboundGroup;
            }
            else if (taskType >= 100 && taskType < 500)
            {
                return TaskTypeGroup.OutbondGroup;
            }
            else if (taskType >= 900 && taskType < 1000)
            {
                return TaskTypeGroup.RelocationGroup;
            }
            else
            {
                return TaskTypeGroup.OtherGroup;
            }
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskStatusEnum.cs
@@ -7,109 +7,144 @@
namespace WIDESEA_Common.TaskEnum
{
    #region å…¥åº“任务状态
    /// <summary>
    /// ä»»åŠ¡çŠ¶æ€
    /// å…¥åº“任务状态
    /// </summary>
    public enum TaskStatusEnum
    public enum InTaskStatusEnum
    {
        /// <summary>
        /// æ–°å»ºä»»åŠ¡
        /// æ–°å»ºå…¥åº“任务
        /// </summary>
        [Description("新建")]
        New = 100,
        /// <summary>
        /// å †åž›æœºå¾…执行
        /// </summary>
        [Description("堆垛机待执行")]
        SC_Execute = 200,
        /// <summary>
        /// å †åž›æœºæ‰§è¡Œä¸­
        /// </summary>
        [Description("堆垛机执行中")]
        SC_Executing = 210,
        /// <summary>
        /// å †åž›æœºå®Œæˆ
        /// </summary>
        [Description("堆垛机完成")]
        SC_Finish = 220,
        /// <summary>
        /// è¾“送线待执行
        /// </summary>
        [Description("输送线待执行")]
        Line_Execute = 400,
        [Description("新建入库任务")]
        InNew = 200,
        /// <summary>
        /// è¾“送线执行中
        /// </summary>
        [Description("输送线执行中")]
        Line_Executing = 410,
        PLC_InExecuting = 230,
        /// <summary>
        /// è¾“送线完成
        /// </summary>
        [Description("输送线完成")]
        Line_Finish = 420,
        PLC_InFinish = 235,
        /// <summary>
        /// AGV待执行
        /// å †åž›æœºå…¥åº“执行中
        /// </summary>
        [Description("AGV待执行")]
        AGV_Execute = 300,
        [Description("堆垛机入库执行中")]
        SC_IntExecuting = 240,
        /// <summary>
        /// AGV执行中
        /// å †åž›æœºå…¥åº“完成
        /// </summary>
        [Description("AGV执行中")]
        AGV_Executing = 310,
        [Description("堆垛机出库完成")]
        SC_OutFinish = 245,
        /// <summary>
        /// AGV待继续执行
        /// å…¥åº“任务完成
        /// </summary>
        [Description("AGV待继续执行")]
        AGV_WaitToExecute = 320,
        /// <summary>
        /// AGV放货中
        /// </summary>
        [Description("AGV放货中")]
        AGV_Puting = 325,
        [Description("入库任务完成")]
        InFinish = 290,
        /// <summary>
        /// AGV完成
        /// å…¥åº“任务取消
        /// </summary>
        [Description("AGV完成")]
        AGV_Finish = 330,
        [Description("入库任务取消")]
        InCancel = 298,
        /// <summary>
        /// ä»»åŠ¡å®Œæˆ
        /// å…¥åº“任务异常
        /// </summary>
        [Description("任务完成")]
        Finish = 900,
        [Description("入库任务异常")]
        InException = 299,
        /// <summary>
        /// ä»»åŠ¡æŒ‚èµ·
        /// </summary>
        [Description("任务挂起")]
        Pending = 970,
        /// <summary>
        /// ä»»åŠ¡å–æ¶ˆ
        /// </summary>
        [Description("任务取消")]
        Cancel = 980,
        /// <summary>
        /// ä»»åС异叏
        /// </summary>
        [Description("任务异常")]
        Exception = 990,
        /// <summary>
        /// æå‡æœºæ‰§è¡Œä¸­
        /// </summary>
        [Description("提升机执行中")]
        HT_Executing = 110,
    }
}
    #endregion å…¥åº“任务状态
    #region å‡ºåº“任务状态
    /// <summary>
    /// å‡ºåº“任务状态
    /// </summary>
    public enum OutTaskStatusEnum
    {
        /// <summary>
        /// æ–°å»ºå‡ºåº“任务
        /// </summary>
        [Description("新建出库任务")]
        OutNew = 100,
        /// <summary>
        /// å †åž›æœºå‡ºåº“执行中
        /// </summary>
        [Description("堆垛机出库执行中")]
        SC_OutExecuting = 110,
        /// <summary>
        /// å †åž›æœºå‡ºåº“完成
        /// </summary>
        [Description("堆垛机出库完成")]
        SC_OutFinish = 115,
        /// <summary>
        /// è¾“送线执行中
        /// </summary>
        [Description("输送线执行中")]
        PLC_OutExecuting = 120,
        /// <summary>
        /// è¾“送线完成
        /// </summary>
        [Description("输送线完成")]
        PLC_OutFinish = 125,
        /// <summary>
        /// å‡ºåº“任务完成
        /// </summary>
        [Description("出库任务完成")]
        OutFinish = 190,
        /// <summary>
        /// å‡ºåº“任务取消
        /// </summary>
        [Description("出库任务取消")]
        OutCancel = 198,
        /// <summary>
        /// å‡ºåº“任务异常
        /// </summary>
        [Description("出库任务异常")]
        OutException = 199
    }
    #endregion
    #region ç§»åº“状态
    public enum RelocationTaskStatusEnum
    {
        /// <summary>
        /// æ–°å»ºç§»åº“任务
        /// </summary>
        [Description("新建移库任务")]
        RelocationNew = 300,
        /// <summary>
        /// ç§»åº“中
        /// </summary>
        [Description("移库中")]
        RelocationExecuting = 315,
        /// <summary>
        /// ç§»åº“任务完成
        /// </summary>
        [Description("移库任务完成")]
        RelocationFinish = 310,
    }
    #endregion
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
@@ -10,89 +10,15 @@
    public enum TaskTypeEnum
    {
        /// <summary>
        /// é¢†æ–™å‡ºåº“
        /// å‡ºåº“
        /// </summary>
        [Description("领料出库")]
        [Description("出库")]
        Outbound = 100,
        /// <summary>
        /// ç›˜ç‚¹å‡ºåº“
        /// å…¥åº“
        /// </summary>
        [Description("盘点出库")]
        OutInventory = 110,
        /// <summary>
        /// åˆ†æ‹£å‡ºåº“
        /// </summary>
        [Description("分拣出库")]
        OutPick = 120,
        /// <summary>
        /// è´¨æ£€å‡ºåº“
        /// </summary>
        [Description("质检出库")]
        OutQuality = 130,
        /// <summary>
        /// ç©ºç®±å‡ºåº“
        /// </summary>
        [Description("空箱出库")]
        OutEmpty = 140,
        /// <summary>
        /// MES出库
        /// </summary>
        [Description("MES出库")]
        MesOutbound = 200,
        /// <summary>
        /// MES手动出库
        /// </summary>
        [Description("MES手动出库")]
        MesHandOutbound = 210,
        /// <summary>
        /// MES手动拣选出库
        /// </summary>
        [Description("MES手动拣选出库")]
        MesHandPickOutbound = 220,
        /// <summary>
        /// é‡‡è´­å…¥åº“
        /// </summary>
        [Description("采购入库")]
        Inbound = 510,
        /// <summary>
        /// ç›˜ç‚¹å…¥åº“
        /// </summary>
        [Description("盘点入库")]
        InInventory = 520,
        /// <summary>
        /// åˆ†æ‹£å…¥åº“
        /// </summary>
        [Description("分拣入库")]
        InPick = 530,
        /// <summary>
        /// è´¨æ£€å…¥åº“
        /// </summary>
        [Description("质检入库")]
        InQuality = 540,
        /// <summary>
        /// ç”Ÿäº§é€€æ–™
        /// </summary>
        [Description("生产退料")]
        ProductionReturn = 550,
        /// <summary>
        /// MES退料
        /// </summary>
        [Description("MES退料")]
        MesMatReturn = 560,
        /// <summary>
        /// ç©ºç®±å…¥åº“
        /// </summary>
        [Description("空箱入库")]
        InEmpty = 600,
        [Description("入库")]
        Inbound = 200,
        /// <summary>
        /// å··é“内移库
        /// </summary>
@@ -100,27 +26,5 @@
        Relocation = 900
        
    }
    public enum TaskTypeGroup
    {
        /// <summary>
        ///
        /// </summary>
        InboundGroup,
        /// <summary>
        ///
        /// </summary>
        OutbondGroup,
        /// <summary>
        ///
        /// </summary>
        RelocationGroup,
        /// <summary>
        ///
        /// </summary>
        OtherGroup
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Common/WareHouseEnum/WarehouseEnum.cs
@@ -7,70 +7,19 @@
namespace WIDESEA_Common.WareHouseEnum
{
    /// <summary>
    /// ä»“库
    /// HA57 = æ·®å®‰äºŒåŽ‚ - æ¿æ–™ä»“<br/>
    /// HA58 = æ·®å®‰äºŒåŽ‚ - PP仓<br/>
    /// HA60 = æ·®å®‰äºŒåŽ‚ - è¾…料仓<br/>
    /// HA64 = æ·®å®‰äºŒåŽ‚ - æµ‹è¯•架仓<br/>
    /// HA71 = æ·®å®‰äºŒåŽ‚ - æˆå“ä»“<br/>
    /// HA72 = æ·®å®‰äºŒåŽ‚ - å°¾æ•°ä»“<br/>
    /// HA73 = æ·®å®‰äºŒåŽ‚ - ç ”发仓<br/>
    /// HA101 = æ·®å®‰äºŒåŽ‚ - æˆå“ä»“平库<br/>
    /// HA152 = æ·®å®‰äºŒåŽ‚ - å¹²è†œä»“<br/>
    /// HA153 = æ·®å®‰äºŒåŽ‚ - æ²¹å¢¨ä»“<br/>
    /// </summary>
    public enum WarehouseEnum
    {
        /// <summary>
        /// æ¿æ–™ä»“
        /// åŽŸææ–™ä»“
        /// </summary>
        [Description("板料仓")]
        HA57,
        /// <summary>
        /// PP仓
        /// </summary>
        [Description("PP仓")]
        HA58,
        /// <summary>
        /// è¾…料仓
        /// </summary>
        [Description("辅料仓")]
        HA60,
        /// <summary>
        /// æµ‹è¯•架仓
        /// </summary>
        [Description("测试架仓")]
        HA64,
        [Description("原材料仓")]
        YMYL=1,
        /// <summary>
        /// æˆå“ä»“
        /// </summary>
        [Description("成品仓")]
        HA71,
        /// <summary>
        /// å°¾æ•°ä»“
        /// </summary>
        [Description("尾数仓")]
        HA72,
        /// <summary>
        /// ç ”发仓
        /// </summary>
        [Description("研发仓")]
        HA73,
        /// <summary>
        /// æˆå“ä»“平库
        /// </summary>
        [Description("成品仓平库")]
        HA101,
        /// <summary>
        /// å¹²è†œä»“
        /// </summary>
        [Description("干膜仓")]
        HA152,
        /// <summary>
        /// æ²¹å¢¨ä»“
        /// </summary>
        [Description("油墨仓")]
        HA153
        YMCP=2,
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Log/WriteLog.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,187 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Common.Log
{
    public class WriteLog
    {
        private int fileSize;
        private string logFileName;
        public static WriteLog log;
        static string EquipName;
        public static WriteLog GetLog(string equipName)
        {
            EquipName = equipName;
            //if (log == null)
            log = new WriteLog(equipName);
            log.FileLogPath = AppContext.BaseDirectory + "\\log\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
            return log;
        }
        public static WriteLog Info(string equipName)
        {
            EquipName = equipName;
            //if (log == null)
            log = new WriteLog("Info" + equipName);
            log.FileLogPath = AppContext.BaseDirectory + "\\log\\Info\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
            return log;
        }
        public static WriteLog Error(string equipName)
        {
            EquipName = equipName;
            //if (log == null)
            log = new WriteLog("Error" + equipName);
            log.FileLogPath = AppContext.BaseDirectory + "\\log\\Error\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
            return log;
        }
        private WriteLog(string equipName)
        {
            //初始化大于399M日志文件将自动删除;
            this.fileSize = 2048 * 1024 * 200;//50M   2048 * 1024 * 200= 419430000字节(b)=399.9996185兆字节(mb)
            //默认路径
            //this.FileLogPath = AppContext.BaseDirectory + "\\log\\" + EquipName + "\\";
            EquipName = equipName;
            if (!string.IsNullOrEmpty(equipName))
                this.logFileName = equipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
            else
                this.logFileName = "log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
            //this.logFileName = EquipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
        }
        public int FileSize
        {
            set
            {
                fileSize = value;
            }
            get
            {
                return fileSize;
            }
        }
        public string FileLogPath { set; get; } //= AppContext.BaseDirectory + "\\log\\" + EquipName + "\\";
        public string LogFileName
        {
            set
            {
                this.logFileName = value;
            }
            get
            {
                return this.logFileName;
            }
        }
        object flag = new object();
        public void Write(string Message, string equipName)
        {
            lock (flag)
            {
                if (!string.IsNullOrEmpty(equipName))
                    this.logFileName = equipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
                else
                    this.logFileName = "log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
                this.Write(this.logFileName, Message, equipName);
            }
        }
        public void Write(string LogFileName, string Message, string equipName)
        {
            //DirectoryInfo path=new DirectoryInfo(LogFileName);
            //如果日志文件目录不存在,则创建
            if (!Directory.Exists(this.FileLogPath))
            {
                Directory.CreateDirectory(this.FileLogPath);
            }
            FileInfo finfo = new FileInfo(this.FileLogPath + LogFileName);
            if (finfo.Exists && finfo.Length > fileSize)
            {
                finfo.Delete();
            }
            try
            {
                FileStream fs = new FileStream(this.FileLogPath + LogFileName, FileMode.Append);
                StreamWriter strwriter = new StreamWriter(fs);
                try
                {
                    DateTime d = DateTime.Now;
                    strwriter.WriteLine("时间:" + d.ToString());
                    strwriter.WriteLine(Message);
                    //strwriter.WriteLine();
                    strwriter.Flush();
                }
                catch (Exception ee)
                {
                    //Console.WriteLine("日志文件写入失败信息:" + ee.ToString());
                }
                finally
                {
                    strwriter.Close();
                    strwriter = null;
                    fs.Close();
                    fs = null;
                }
            }
            catch (Exception ee)
            {
                //Console.WriteLine("日志文件没有打开,详细信息如下:");
            }
        }
        /// <summary>
        /// å†™å…¥æ—¥å¿—(不要多线程操作同一文件,一个设备一个文件夹)
        /// </summary>
        /// <param name="groupName">日志组</param>
        /// <param name="logName">日志名称</param>
        /// <param name="content">内容</param>
        /// <param name="data">数据</param>
        public static void Write_Log(string groupName, string logName, string content, object data = null)
        {
            DateTime nowTime = DateTime.Now;
            string basePath = System.Environment.CurrentDirectory + "/Log/" + $"/{groupName}/{nowTime.ToString("yyyy-MM-dd")}";
            //如果日志文件目录不存在,则创建
            if (!Directory.Exists(basePath))
            {
                Directory.CreateDirectory(basePath);
            }
            try
            {
                FileStream fs = new FileStream(basePath + "/" + logName + $"{nowTime.ToString("yyMMdd")}.txt", FileMode.Append);
                StreamWriter strwriter = new StreamWriter(fs);
                try
                {
                    strwriter.WriteLine(nowTime.ToString() + "." + nowTime.Millisecond);
                    strwriter.WriteLine(content);
                    if (data != null)
                    {
                        strwriter.WriteLine(JsonConvert.SerializeObject(data));
                    }
                    strwriter.WriteLine("-------------------------------");
                    strwriter.WriteLine();
                    strwriter.Flush();
                }
                catch { }
                finally
                {
                    strwriter.Close();
                    fs.Close();
                }
            }
            catch { }
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Inbound/MES_InCompleteFeedback.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.Attributes;
namespace WIDESEA_DTO.Inbound
{
    /// <summary>
    /// WMS回传MES入库完成
    /// </summary>
    public class Mes_CallbackRequest
    {
        /// <summary>
        /// å•据编号 - å¿…填,唯一
        /// </summary>
        public string TransNo { get; set; }
        /// <summary>
        /// æ‰§è¡Œç»“æžœ - å¿…填(Start:入库开始;Finish:入库完成;Error:执行失败)
        /// </summary>
        public string Result { get; set; }
        /// <summary>
        /// æ‰§è¡Œç»“果描述 - å¿…填,返回执行结果的描述,如:操作成功、失败原因等
        /// </summary>
        public string ResultMsg { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç  - å¿…填,用于MES后续根据业务需求指定托盘出库的依据
        /// </summary>
        public string ContainerNo { get; set; }
        /// <summary>
        /// å…¥åº“储位 - å½“入库成功时需返回入库的储位编码
        /// </summary>
        public string LocationCode { get; set; }
    }
    public class MesCallbackResponse
    {
        /// <summary>
        /// å¤„理结果 - å¿…填(Y:成功;N:失败)
        /// </summary>
        public string Result { get; set; }
        /// <summary>
        /// å¤„理结果描述 - å¿…填,返回处理结果的描述,如:操作成功、失败原因等
        /// </summary>
        public string ResultMsg { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Inbound/MES_InTaskDTO.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,153 @@
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_Core.Attributes;
namespace WIDESEA_DTO.Inbound
{
    //任务下发,空盘回库
    public class MES_InTask
    {
        /// <summary>
        /// ä»“库编码 - å¿…填,识别多仓库
        /// </summary>
        public string warehouseNo { get; set; }
        /// <summary>
        /// å•据编号 - å¿…填,唯一
        /// </summary>
        public string transNo { get; set; }
        /// <summary>
        /// å•据日期 - å¿…å¡«
        /// </summary>
        public DateTime transDate { get; set; }
        /// <summary>
        /// çŠ¶æ€ - å¿…填,N未执行、R取消、Y执行完成(WMS更新)、I执行中(WMS更新)、E入库异常
        /// è¯´æ˜Žï¼š
        /// 1. å–消是MES在判断WMS的状态为"N"时可通过【任务取消】接口进行任务的取消操作。
        /// 2. å½“输送线判断异常,WMS更新状态为"E"。在为E情况下,人工介入,重新入库WMS继续执行入库,并更新状态。
        /// * å¦‚果与绑盘不一致,那需要MES推送取消原任务"R",并重新生成绑定
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç  - å¿…填,MES将条码与托盘绑定
        /// </summary>
        public string containerNo { get; set; }
        /// <summary>
        /// èµ·ç‚¹ä½ç½® - å¿…å¡«
        /// </summary>
        public string startPosition { get; set; }
        /// <summary>
        /// ç›®æ ‡ä½ç½®/区域 - å¿…填,目标点位或目标区域,包含下架口
        /// å½“该值为仓库编码时,表示需要入库到仓库中
        /// </summary>
        public string endPosition { get; set; }
        /// <summary>
        /// è½½å…·ç±»åž‹
        /// </summary>
        public string containerType { get; set; }
    }
    //回参
    public class ApiResponse
    {
        /// <summary>
        /// è¯·æ±‚结果代码 - å¿…填,请求统一返回结果代码(200:成功;其它:失败)
        /// </summary>
        public int Code { get; set; }
        /// <summary>
        /// è¯·æ±‚结果说明 - å¿…填,请求统一返回结果说明(Success:成功;其它:失败)
        /// </summary>
        public string Msg { get; set; }
        /// <summary>
        /// è¯·æ±‚结果明细 - å¿…å¡«
        /// </summary>
        public ResponseData Data { get; set; }
        public ApiResponse OK()
        {
            Code = 200;
            Msg = "成功";
            Data = new ResponseData
            {
                IsSuccess = true,
                Message = "操作成功",
            };
            return this;
        }
        public ApiResponse Error(string message = null)
        {
            Code = 200;
            Msg = "成功";
            Data = new ResponseData
            {
                IsSuccess = false,
                Message = message,
            };
            return this;
        }
    }
    public class ResponseData
    {
        /// <summary>
        /// è¯·æ±‚结果布尔值 - å¿…填,(True:成功;False:失败)
        /// </summary>
        public bool IsSuccess { get; set; }
        /// <summary>
        /// è¯·æ±‚结果简要说明 - å¿…填,返回具体执行结果的说明,如:操作成功、失败原因等
        /// </summary>
        public string Message { get; set; }
        public locationinfoData result{ get; set; }
    }
    public class locationinfoData
    {
        #region åº“存查询反馈的内容
        /// <summary>
        /// ä»“位信息
        /// </summary>
        public string warehouseCode { get; set; }
        /// <summary>
        /// è´§ä½ç¼–号
        /// </summary>
        public string locationCode { get; set; }
        /// <summary>
        /// å··é“号
        /// </summary>
        public string areaNo { get; set; }
        #endregion
        #region ä»»åŠ¡æŸ¥è¯¢åé¦ˆçš„å†…å®¹
        /// <summary>
        /// å•据号
        /// </summary>
        public string transNo { get; set; }
        /// <summary>
        /// æ‰˜ç›˜æ¡ç 
        /// </summary>
        public string containerNo { get; set; }
        /// <summary>
        /// çŠ¶æ€
        /// </summary>
        public string status { get; set; }
        #endregion
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs
@@ -13,92 +13,20 @@
    /// </summary>
    public class WCSTaskDTO
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        public int TaskId { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        public int TaskNum { get; set; }
        /// <summary>
        /// AGV任务号
        /// </summary>
        public string AgvTaskNum { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç¼–号
        /// </summary>
        public string PalletCode { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç±»åž‹
        /// </summary>
        public int PalletType { get; set; }
        /// <summary>
        /// è®¾å¤‡ç¼–号
        /// </summary>
        public string DeviceCode { get; set; }
        /// <summary>
        /// å··é“号
        /// </summary>
        public string Roadway { get; set; }
        /// <summary>
        /// ä»»åŠ¡ç±»åž‹
        /// wcs上报类型(1-输送线,2-堆垛机)
        /// </summary>
        public int TaskType { get; set; }
        /// <summary>
        /// ä»»åŠ¡çŠ¶æ€
        /// </summary>
        public int TaskState { get; set; }
        /// <summary>
        /// èµ·å§‹åœ°å€
        /// </summary>
        public string SourceAddress { get; set; }
        /// <summary>
        /// ç›®æ ‡åœ°å€
        /// </summary>
        public string TargetAddress { get; set; }
        /// <summary>
        /// å½“前位置
        /// </summary>
        public string CurrentAddress { get; set; }
        /// <summary>
        /// ä¸‹ä¸€åœ°å€
        /// </summary>
        public string NextAddress { get; set; }
        /// <summary>
        /// å¼‚常信息
        /// </summary>
        public string? ExceptionMessage { get; set; }
        /// <summary>
        /// ä¼˜å…ˆçº§
        /// </summary>
        public int Grade { get; set; }
        /// <summary>
        /// WMS任务主键
        /// </summary>
        public int WMSId { get; set; }
        /// <summary>
        /// ä»»åŠ¡ä¸‹å‘æ—¶é—´
        /// </summary>
        public DateTime? Dispatchertime { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        public string Remark { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCStask.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_DTO.Task
{
    /// <summary>
    /// ä»»åŠ¡DTO
    /// </summary>
    public class WCStask
    {
        /// <summary>
        /// WMS任务
        /// </summary>
        public int TaskNum { get; set; }
        /// <summary>
        /// æ‰˜ç›˜å·
        /// </summary>
        public string PalletCode { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç±»åž‹
        /// </summary>
        public int PalletType { get; set; }
        /// <summary>
        /// wcs执行类型
        /// </summary>
        public int TaskType { get; set; }
        /// <summary>
        /// èµ·ç‚¹
        /// </summary>
        public string SourceAddress { get; set; }
        /// <summary>
        /// ç»ˆç‚¹
        /// </summary>
        public string TargetAddress { get; set; }
        /// <summary>
        /// ä¼˜å…ˆçº§
        /// </summary>
        public int Grade { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs
@@ -12,7 +12,7 @@
    public class WMSTaskDTO
    {
        /// <summary>
        /// WMS任务主键
        /// WMS任务主
        /// </summary>
        public int Id { get; set; }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs
@@ -51,5 +51,16 @@
        /// <param name="initializationLocationDTO"></param>
        /// <returns></returns>
        WebResponseContent InitializationLocation(InitializationLocationDTO initializationLocationDTO);
        //Dt_LocationInfo? GetLocation(string roadway, int Locationtype);
        /// <summary>
        /// èŽ·å–å··é“å·
        /// </summary>
        /// <param name="WarehouseId">仓库id</param>
        /// <param name="LocationType">货位类型</param>
        /// <returns></returns>
        string AccessingTunnel(int WarehouseId, int LocationType);
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IRoadWayinfoService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Model.Models;
namespace WIDESEA_IBasicService
{
    public interface IRoadWayinfoService : IService<Dt_roadwayinfo>
    {
        IRepository<Dt_roadwayinfo> Repository { get; }
        Dt_roadwayinfo QbtainPlatform(string RoadwayNo);
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IWarehouseService.cs
@@ -13,5 +13,7 @@
    public interface IWarehouseService : IService<Dt_Warehouse>
    {
        IRepository<Dt_Warehouse> Repository { get; }
        Dt_Warehouse QueryWarehouse(string WarehouseNo);
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IStockInfoService.cs
@@ -1,5 +1,7 @@
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_DTO.Task;
using WIDESEA_Model.Models;
namespace WIDESEA_IStockService
@@ -7,5 +9,7 @@
    public interface IStockInfoService : IService<Dt_StockInfo>
    {
        IRepository<Dt_StockInfo> Repository { get; }
        //WebResponseContent AddStockInfo(string PalletCode, int PalletType, int WarehouseId);
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs
@@ -15,6 +15,7 @@
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -28,6 +29,7 @@
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_DTO;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Stock;
using WIDESEA_DTO.Task;
using WIDESEA_Model.Models;
@@ -37,5 +39,39 @@
    public interface ITaskService : IService<Dt_Task>
    {
        IRepository<Dt_Task> Repository { get; }
        //任务反馈
        WebResponseContent TaskCompleted(WCSTaskDTO wCSTask);
        //WCS入库获取
        WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask);
        #region MES任务模块
        //空盘回库,入库任务
        ApiResponse AddInStoreDoc(MES_InTask mES_In);
        //出库接口
        ApiResponse AddOutStoreDoc(MES_InTask mES_In);
        //库位调拨接口
        ApiResponse GetLocationByContainer(MES_InTask mES_In);
        //任务查询
        ApiResponse GetTaskInfo([FromBody] MES_InTask mES_In);
        //任务取消接口
        ApiResponse CancelTask([FromBody] MES_InTask mES_In);
        #endregion
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_Warehouse.cs
@@ -36,7 +36,7 @@
        /// ä»“库类型
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "仓库类型")]
        public string WarehouseType { get; set; }
        public int WarehouseType { get; set; }
        /// <summary>
        /// ä»“库状态
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_roadwayinfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
    /// <summary>
    /// è´§ä½ä¿¡æ¯
    /// </summary>
    [SugarTable(nameof(Dt_roadwayinfo), "货位信息")]
    public class Dt_roadwayinfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// å··é“编号
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "巷道编号")]
        public string RoadwayNo { get; set; }
        /// <summary>
        /// åŒºåŸŸID
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "区域ID")]
        public int AreaId { get; set; }
        /// <summary>
        /// å¯ç”¨çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = false, DefaultValue = "1", ColumnDescription = "启用状态")]
        public int EnableStatus { get; set; }
        /// <summary>
        /// è®¾å¤‡ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "设备编号")]
        public string DeviceNo { get; set; }
        /// <summary>
        /// å…¥åº“站台编码
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "入库站台编码")]
        public string InStationCode { get; set; }
        /// <summary>
        /// å…¥åº“扫码站台编码
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "入库扫码站台编码")]
        public string InSCStationCode { get; set; }
        /// <summary>
        /// å‡ºåº“站台编码
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "出库站台编码")]
        public string OutStationCode { get; set; }
        /// <summary>
        /// å‡ºåº“扫码站台编码
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "出库扫码站台编码")]
        public string OutSCStationCode { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "备注")]
        public string Remark { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs
@@ -30,7 +30,7 @@
        /// æ‰˜ç›˜ç±»åž‹
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "托盘类型")]
        public int PalletType { get; set; }
        public string PalletType { get; set; }
        /// <summary>
        /// è´§ä½ç¼–号
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs
@@ -14,24 +14,24 @@
    /// <summary>
    /// ä»»åŠ¡ä¿¡æ¯
    /// </summary>
    [SugarTable(nameof(Dt_Task), "任务信息"), SugarIndex("unique_task_taskNum", nameof(TaskNum), OrderByType.Asc, true)]
    [SugarTable(nameof(Dt_Task), "任务信息"), SugarIndex("unique_task_taskNum", nameof(TaskId), OrderByType.Asc, true)]
    public class Dt_Task : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// ä»»åŠ¡id
        /// </summary>
        [ImporterHeader(Name = "主键")]
        [ExporterHeader(DisplayName = "主键")]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        [ImporterHeader(Name = "任务id")]
        [ExporterHeader(DisplayName = "任务id")]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "任务id")]
        public int TaskId { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// MES单据编号
        /// </summary>
        [ImporterHeader(Name = "任务号")]
        [ExporterHeader(DisplayName = "任务号")]
        [SugarColumn(IsNullable = false, ColumnDescription = "任务号"), Sequence(nameof(SequenceEnum.SeqTaskNum), 100000000)]
        public int TaskNum { get; set; }
        [ImporterHeader(Name = "MES单据编号")]
        [ExporterHeader(DisplayName = "MES单据编号")]
        [SugarColumn(IsNullable = false, ColumnDescription = "MES单据编号")]
        public string TaskNum { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç¼–号
@@ -45,7 +45,7 @@
        /// æ‰˜ç›˜ç±»åž‹
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "托盘类型")]
        public int PalletType { get; set; }
        public string PalletType { get; set; }
        /// <summary>
        /// å··é“号
@@ -112,11 +112,11 @@
        public int WarehouseId { get; set; }
        /// <summary>
        /// å•据编号
        /// å•据时间
        /// </summary>
        [ImporterHeader(Name = "单据编号")]
        [ExporterHeader(DisplayName = "单据编号")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "单据编号")]
        [ImporterHeader(Name = "单据时间")]
        [ExporterHeader(DisplayName = "单据时间")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "单据时间")]
        public string? OrderNo { get; set; }
        /// <summary>
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs
@@ -1,4 +1,6 @@
using AutoMapper;
using WIDESEA_Common.StockEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_IStockService;
@@ -17,5 +19,25 @@
            _mapper = mapper;
        }
        /*public WebResponseContent AddStockInfo(string PalletCode, int PalletType, int WarehouseId)
        {
            WebResponseContent webResponse=new WebResponseContent();
            try
            {
                Dt_StockInfo dt_StockInfo = new Dt_StockInfo();
                dt_StockInfo.PalletCode = PalletCode;
                dt_StockInfo.PalletType = PalletType;
                dt_StockInfo.WarehouseId = WarehouseId;
                dt_StockInfo.StockStatus = (int)StockStatusEmun.入库中;
                dt_StockInfo.Creater = "MWS";
                dt_StockInfo.CreateDate = DateTime.Now;
                BaseDal.AddData(dt_StockInfo);
                return webResponse.OK();
            }
            catch (Exception ex)
            {
                return webResponse.Error($"库存添加错误:原因:{ex.Message}");
            }
        }*/
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,265 @@
using MailKit.Search;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
using System;
using System.Collections.Generic;
using System.DirectoryServices.Protocols;
using System.Linq;
using System.Reflection;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.Log;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Common.WareHouseEnum;
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;
namespace WIDESEA_TaskInfoService
{
    public partial class TaskService
    {
        //入库,空盘回库
        public ApiResponse AddInStoreDoc(MES_InTask mES_In)
        {
            WriteLog.GetLog("接收MES入库任务下发").Write($"参数:{mES_In.ToJson()}", $"任务接收参数");
            ApiResponse apiResponse = new ApiResponse();
            try
            {
                if (mES_In == null) return apiResponse.Error("WMS接收道的数据为空");
                if (string.IsNullOrWhiteSpace(mES_In.warehouseNo)) return apiResponse.Error("仓库编码不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.transNo)) return apiResponse.Error("单据编号不能为空");
                if (mES_In.transDate == default(DateTime)) return apiResponse.Error("单据日期不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.status)) return apiResponse.Error("状态不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.containerNo)) return apiResponse.Error("托盘码不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.startPosition)) return apiResponse.Error("起点位置不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.endPosition)) return apiResponse.Error("目标位置不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.containerType)) return apiResponse.Error("载具类型不能为空");  //载具类型,布料-1,松布卷-2,成品-1
                Dt_Warehouse dt_Warehouse = _warehouseService.QueryWarehouse(mES_In.warehouseNo);
                if (dt_Warehouse == null) return apiResponse.Error($"WMS未能查询道对应仓库,仓库编码:{mES_In.warehouseNo}");
                int LocationType = 1;
                if (dt_Warehouse.WarehouseType == (int)WarehouseEnum.YMYL)
                {
                    if (mES_In.containerType == "2") LocationType = 2;
                }
                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 task = new Dt_Task();
                task.TaskNum = mES_In.transNo;
                task.PalletCode = mES_In.containerNo;
                task.PalletType = mES_In.containerType;
                task.Roadway = Roadway;
                task.TaskType = (int)TaskTypeEnum.Inbound;
                task.TaskStatus = (int)InTaskStatusEnum.InNew;
                task.SourceAddress = mES_In.startPosition;
                task.TargetAddress = "";
                task.CurrentAddress = mES_In.startPosition;
                task.NextAddress = _Roadwayinfo.InStationCode;
                task.WarehouseId = dt_Warehouse.WarehouseId;
                task.OrderNo = mES_In.transDate.ToString();
                task.Grade = 1;
                task.Creater = "MES";
                task.CreateDate = DateTime.Now;
                Dt_StockInfo dt_StockInfo = new Dt_StockInfo();
                dt_StockInfo.PalletCode = task.PalletCode;
                dt_StockInfo.PalletType = task.PalletType;
                dt_StockInfo.WarehouseId = task.WarehouseId;
                dt_StockInfo.StockStatus = (int)StockStatusEmun.入库中;
                dt_StockInfo.Creater = "MWS";
                dt_StockInfo.CreateDate = DateTime.Now;
                _unitOfWorkManage.BeginTran();
                BaseDal.AddData(task);
                _stockInfoService.Repository.AddData(dt_StockInfo);
                _unitOfWorkManage.CommitTran();
                WriteLog.GetLog("接收MES入库任务下发").Write($"参数:{mES_In.containerNo}", $"入库任务添加成功");
                return apiResponse.OK();
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                WriteLog.GetLog("接收MES入库任务下发").Write($"原因:{ex.Message}", $"入库任务添加");
                return apiResponse.Error($"WMS任务添加错误,原因:{ex.Message}");
            }
        }
        //出库任务
        public ApiResponse AddOutStoreDoc(MES_InTask mES_In)
        {
            WriteLog.GetLog("接收MES出库任务下发").Write($"参数:{mES_In.ToJson()}", $"任务接收参数");
            ApiResponse apiResponse = new ApiResponse();
            try
            {
                if (mES_In == null) return apiResponse.Error("WMS接收道的数据为空");
                if (string.IsNullOrWhiteSpace(mES_In.warehouseNo)) return apiResponse.Error("仓库编码不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.transNo)) return apiResponse.Error("单据编号不能为空");
                if (mES_In.transDate == default(DateTime)) return apiResponse.Error("单据日期不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.status)) return apiResponse.Error("状态不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.containerNo)) return apiResponse.Error("托盘码不能为空");
                if (string.IsNullOrWhiteSpace(mES_In.endPosition)) return apiResponse.Error("目标位置不能为空");
                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 && x.LocationStatus== (int)LocationStatusEnum.InStock).FirstOrDefault();
                if (dt_LocationInfo == null) return apiResponse.Error($"WMS未能查找道该托盘条码的库存货位信息,条码:{mES_In.containerNo},未找到货位号:{dt_Stock.LocationCode}");
                Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(dt_LocationInfo.RoadwayNo);
                Dt_Task task = new Dt_Task();
                task.TaskNum = mES_In.transNo;
                task.PalletCode = dt_Stock.PalletCode;
                task.PalletType = dt_Stock.PalletType;
                task.Roadway = dt_LocationInfo.RoadwayNo;
                task.TaskType = (int)TaskTypeEnum.Outbound;
                task.TaskStatus = (int)OutTaskStatusEnum.OutNew;
                task.SourceAddress = dt_LocationInfo.LocationCode;
                task.TargetAddress = mES_In.endPosition;
                task.CurrentAddress = dt_LocationInfo.LocationCode;
                task.NextAddress = _Roadwayinfo.OutSCStationCode;
                task.WarehouseId = dt_LocationInfo.WarehouseId;
                task.OrderNo = mES_In.transDate.ToString();
                task.Grade = 1;
                task.Creater = "MES";
                task.CreateDate = DateTime.Now;
                dt_Stock.StockStatus = (int)StockStatusEmun.出库中;
                dt_LocationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
                _unitOfWorkManage.BeginTran();
                BaseDal.AddData(task);
                _stockInfoService.Repository.UpdateData(dt_Stock);
                _locationInfoService.Repository.UpdateData(dt_LocationInfo);
                _unitOfWorkManage.CommitTran();
                WriteLog.GetLog("接收MES出库任务下发").Write($"添加成功,托盘条码:{dt_Stock.PalletCode}", $"出库任务添加");
                return apiResponse.OK();
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                WriteLog.GetLog("接收MES出库任务下发").Write($"原因:{ex.Message}", $"出库任务添加");
                return apiResponse.Error($"WMS任务添加错误,原因:{ex.Message}");
            }
        }
        //储位查询接口
        public ApiResponse GetLocationByContainer(MES_InTask mES_In)
        {
            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();
                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}");
                Dt_Warehouse dt_Warehouse = _warehouseService.Repository.QueryFirst(x=>x.WarehouseId== dt_LocationInfo.WarehouseId);
                apiResponse.Code = 200;
                apiResponse.Msg = "成功";
                apiResponse.Data = new ResponseData
                {
                    IsSuccess = true,
                    Message = "操作成功",
                };
                apiResponse.Data.result = new locationinfoData
                {
                    warehouseCode= dt_Warehouse.WarehouseCode,
                    locationCode = dt_LocationInfo.LocationCode,
                    areaNo = dt_LocationInfo.RoadwayNo,
                };
                return apiResponse;
            }
            catch (Exception ex)
            {
                WriteLog.GetLog("储位查询接口").Write($"原因:{ex.Message}", $"储位查询查询失败");
                return apiResponse.Error($"WMS储位查询错误,原因:{ex.Message}");
            }
        }
        //任务查询接口
        public ApiResponse GetTaskInfo(MES_InTask mES_In)
        {
            ApiResponse apiResponse = new ApiResponse();
            try
            {
                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}");
                string status = "N";
                apiResponse.Code = 200;
                apiResponse.Msg = "成功";
                apiResponse.Data = new ResponseData
                {
                    IsSuccess = true,
                    Message = "操作成功",
                };
                apiResponse.Data.result = new locationinfoData
                {
                    transNo = dt_Task.TaskNum,
                    containerNo = dt_Task.PalletCode,
                    status = status,
                };
                return apiResponse;
            }
            catch (Exception ex)
            {
                WriteLog.GetLog("任务查询接口").Write($"原因:{ex.Message}", $"任务查询失败");
                return apiResponse.Error($"WMS任务查询接口错误,原因:{ex.Message}");
            }
        }
        //任务取消接口
        public ApiResponse CancelTask(MES_InTask mES_In)
        {
            ApiResponse apiResponse = new ApiResponse();
            try
            {
                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)
                {
                    BaseDal.DeleteData(dt_Task);
                    return apiResponse.OK();
                }
                else
                {
                    return apiResponse.Error("任务已经在执行中,不可取消");
                }
            }
            catch (Exception ex)
            {
                WriteLog.GetLog("任务取消接口").Write($"原因:{ex.Message}", $"任务取消失败");
                return apiResponse.Error($"WMS任务取消接口错误,原因:{ex.Message}");
            }
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
using MailKit.Search;
using Microsoft.Extensions.Logging;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.Log;
using WIDESEA_Core;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Task;
using WIDESEA_Model.Models;
using static WIDESEA_ITaskInfoService.ITaskService;
namespace WIDESEA_TaskInfoService
{
    public partial class TaskService
    {
        public WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask)
        {
            WebResponseContent webResponse = new WebResponseContent();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x =>x.PalletCode == wCSTask.PalletCode);
                if (task == null)
                    return WebResponseContent.Instance.Error($"未找到任务信息,托盘条码:{wCSTask.PalletCode}");
                return WebResponseContent.Instance.Error($"未找到任务信息,托盘条码:{wCSTask.PalletCode}");
            }
            catch (Exception ex)
            {
                return webResponse.Error("任务获取失败,wms系统故障,原因:"+ex.Message);
            }
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.Enums;
using WIDESEA_Core;
using WIDESEA_DTO.Stock;
using WIDESEA_Model.Models;
using WIDESEA_Core.Helper;
using Microsoft.AspNetCore.Http;
using System.Reflection.Metadata;
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
using System.Diagnostics;
using Newtonsoft.Json;
using System.Security.Policy;
using static WIDESEA_ITaskInfoService.ITaskService;
using MailKit.Search;
using WIDESEA_Common.Log;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
namespace WIDESEA_TaskInfoService
{
    public partial class TaskService
    {
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -17,9 +17,13 @@
using AutoMapper;
using SqlSugar;
using System.Reflection;
using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Task;
using WIDESEA_IBasicService;
using WIDESEA_IInboundService;
using WIDESEA_IOutboundService;
@@ -34,6 +38,10 @@
    {
        private readonly IMapper _mapper;
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IStockInfoService _stockInfoService;
        private readonly ILocationInfoService _locationInfoService;
        private readonly IWarehouseService _warehouseService;
        private readonly IRoadWayinfoService _roadWayinfoService;
        public IRepository<Dt_Task> Repository => BaseDal;
@@ -53,5 +61,81 @@
            _unitOfWorkManage = unitOfWorkManage;
        }
        /// <summary>
        /// ä»»åŠ¡å®ŒæˆæŽ¥å£
        /// </summary>
        /// <param name="wCSTask"></param>
        /// <returns></returns>
        public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask)
        {
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == wCSTask.TaskNum && x.PalletCode == wCSTask.PalletCode);
                if (task == null)
                    return WebResponseContent.Instance.Error("未找到任务信息");
                switch ((TaskTypeEnum)task.TaskType)
                {
                    case TaskTypeEnum.Inbound:
                        return HandleInboundTask(task, wCSTask.TaskType);
                    case TaskTypeEnum.Outbound:
                        return HandleOutboundTask(task, wCSTask.TaskType);
                    case TaskTypeEnum.Relocation:
                        return HandleRelocationTask(task, wCSTask.TaskType);
                    default:
                        return WebResponseContent.Instance.Error($"任务类型错误,任务号:{task.TaskId},托盘编号:{task.PalletCode},类型:{task.TaskType}");
                }
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error($"WMS任务完成错误:{ex.Message}");
            }
        }
        private WebResponseContent HandleInboundTask(Dt_Task task, int wcsTaskType)
        {
            switch (wcsTaskType)
            {
                case 1:
                    task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish;
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收入库输送线完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                case 2:
                    task.TaskStatus = (int)InTaskStatusEnum.SC_OutFinish;
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收入库堆垛机完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                default:
                    return WebResponseContent.Instance.Error($"WCS上报类型错误:{wcsTaskType}");
            }
        }
        private WebResponseContent HandleOutboundTask(Dt_Task task, int wcsTaskType)
        {
            switch (wcsTaskType)
            {
                case 1:
                    task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收出库输送线完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                case 2:
                    task.TaskStatus = (int)OutTaskStatusEnum.SC_OutFinish;
                    BaseDal.UpdateData(task);
                    return WebResponseContent.Instance.OK($"已接收出库堆垛机完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
                default:
                    return WebResponseContent.Instance.Error($"WCS上报类型错误:{wcsTaskType}");
            }
        }
        private WebResponseContent HandleRelocationTask(Dt_Task task, int wcsTaskType)
        {
            if (wcsTaskType == 2)
            {
                task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationFinish;
                BaseDal.UpdateData(task);
                return WebResponseContent.Instance.OK($"已接收移库堆垛机完成信息,任务号:{task.TaskId},托盘编号:{task.PalletCode}");
            }
            return WebResponseContent.Instance.Error($"WCS上报类型错误:{wcsTaskType}");
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/MesTaskController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseController;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Stock;
using WIDESEA_DTO.Task;
using WIDESEA_ITaskInfoService;
using WIDESEA_Model.Models;
namespace WIDESEA_WMSServer.Controllers.TaskInfo
{
    /// <summary>
    /// ä»»åŠ¡
    /// </summary>
    [Route("wms/Mes")]
    [ApiController]
    public class MesTaskController : ApiBaseController<ITaskService, Dt_Task>
    {
        public MesTaskController(ITaskService service) : base(service)
        {
        }
        //入库任务,空盘回库下发
        [HttpPost, Route("AddInStoreDoc"), AllowAnonymous]
        public ApiResponse AddInStoreDoc([FromBody] MES_InTask mES_In)
        {
            return Service.AddInStoreDoc(mES_In);
        }
        //出库任务接收
        [HttpPost, Route("AddOutStoreDoc"), AllowAnonymous]
        public ApiResponse AddOutStoreDoc([FromBody] MES_InTask mES_In)
        {
            return Service.AddOutStoreDoc(mES_In);
        }
        //储位查询接口(查询库位)
        [HttpPost, Route("GetLocationByContainer"), AllowAnonymous]
        public ApiResponse GetLocationByContainer([FromBody] MES_InTask mES_In)
        {
            return Service.GetLocationByContainer(mES_In);
        }
        //任务查询接口(查询任务)
        [HttpPost, Route("GetTaskInfo"), AllowAnonymous]
        public ApiResponse GetTaskInfo([FromBody] MES_InTask mES_In)
        {
            return Service.GetTaskInfo(mES_In);
        }
        //任务取消接口
        [HttpPost, Route("CancelTask"), AllowAnonymous]
        public ApiResponse CancelTask([FromBody] MES_InTask mES_In)
        {
            return Service.CancelTask(mES_In);
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
@@ -22,5 +22,22 @@
        {
        }
        //任务完成
        [HttpPost, Route("TaskCompleted"), AllowAnonymous]
        public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask)
        {
            return Service.TaskCompleted(wCSTask);
        }
        //WCS入库任务获取
        [HttpPost, Route("PalletInboundTask")]
        public WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask)
        {
            return Service.PalletInboundTask(wCSTask);
        }
    }
}
ÏîÄ¿×ÊÁÏ/WMS¿âλ±àÂë/~$Ó¥ÃÀ¿âλ±àÂëxlsx.xlsx
ÏîÄ¿×ÊÁÏ/À¶Í¼Îļþ/~$ÖÇÄܹ¤³§Á¢Ìå¿âÏîÄ¿Èí¼þϵͳÀ¶Í¼ V6.0.docm
Binary files differ