| | |
| | | "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:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{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\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partial\\scexecutionblock.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partial\\scexecutionblock.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{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}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "Children": [ |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "ServiceBase.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\\BaseServices\\ServiceBase.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Core\\BaseServices\\ServiceBase.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\\BaseServices\\ServiceBase.cs", |
| | | "RelativeToolTip": "WIDESEA_Core\\BaseServices\\ServiceBase.cs", |
| | | "ViewState": "AgIAABYCAAAAAAAAAAAkwCUCAAANAAAAAAAAAA==", |
| | | "DocumentIndex": 2, |
| | | "Title": "SCExecutionBlock.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\\Partial\\SCExecutionBlock.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\Partial\\SCExecutionBlock.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\\Partial\\SCExecutionBlock.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\Partial\\SCExecutionBlock.cs", |
| | | "ViewState": "AgIAAEIAAAAAAAAAAADwv1MAAAAhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T07:17:23.833Z", |
| | | "WhenOpened": "2026-01-23T03:23:03.598Z", |
| | | "IsPinned": true, |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "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": "AgIAAGQCAAAAAAAAAADgv4oCAAC4AAAAAAAAAA==", |
| | | "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": "AgIAAHAAAAAAAAAAAAAIwIsAAAAwAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:53:09.745Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "WCSTaskController.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAADwvxwAAAAiAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:53:05.769Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "MesTaskController.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:53:03.269Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "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": "AgIAAHcAAAAAAAAAAAAqwJYAAAAmAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:36:14.643Z", |
| | | "WhenOpened": "2026-01-23T05:00:11.69Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WMSCruJob.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\\WMSCruJob.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\WMSCruJob.cs", |
| | | "ViewState": "AgIAABsBAAAAAAAAAAAtwDEBAABHAAAAAAAAAA==", |
| | | "ViewState": "AgIAACwAAAAAAAAAAAAowLsAAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:23:38.441Z", |
| | | "WhenOpened": "2026-01-23T04:18:33.989Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "WCSTaskService.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "ViewState": "AgIAAAsAAAAAAAAAAAAcwCgAAABpAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T03:56:43.195Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "DocumentIndex": 3, |
| | | "Title": "TaskController.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ViewState": "AgIAABIAAAAAAAAAAAAAABwAAAAjAAAAAAAAAA==", |
| | | "ViewState": "AgIAAAYAAAAAAAAAAAAAABAAAAAUAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-21T09:31:31.363Z", |
| | | "WhenOpened": "2026-01-23T03:12:18.887Z", |
| | | "EditorCaption": "" |
| | | } |
| | | ] |
| | |
| | | "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:{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\\partial\\scexecutionblock.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partial\\scexecutionblock.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\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}" |
| | | }, |
| | |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{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\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\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:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{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}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 1, |
| | | "SelectedChildIndex": 0, |
| | | "Children": [ |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "ServiceBase.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\\BaseServices\\ServiceBase.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Core\\BaseServices\\ServiceBase.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\\BaseServices\\ServiceBase.cs", |
| | | "RelativeToolTip": "WIDESEA_Core\\BaseServices\\ServiceBase.cs", |
| | | "ViewState": "AgIAABYCAAAAAAAAAAAkwCUCAAANAAAAAAAAAA==", |
| | | "DocumentIndex": 0, |
| | | "Title": "SCExecutionBlock.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\\Partial\\SCExecutionBlock.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\Partial\\SCExecutionBlock.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\\Partial\\SCExecutionBlock.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\Partial\\SCExecutionBlock.cs", |
| | | "ViewState": "AgIAAJAAAAAAAAAAAAAiwF8AAAAiAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T07:17:23.833Z", |
| | | "WhenOpened": "2026-01-23T03:23:03.598Z", |
| | | "IsPinned": true, |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "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": "AgIAAFoCAAAAAAAAAAAAAIoCAAAuAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:53:09.745Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "WCSTaskController.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAADwvxwAAAAiAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:53:05.769Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "MesTaskController.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs", |
| | | "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:53:03.269Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "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": "AgIAAHcAAAAAAAAAAAAqwJYAAAAmAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:36:14.643Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "WMSCruJob.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\\WMSCruJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WMSCruJob.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\\WMSCruJob.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\WMSCruJob.cs", |
| | | "ViewState": "AgIAABsBAAAAAAAAAAAtwDEBAABHAAAAAAAAAA==", |
| | | "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": "AgIAADUAAAAAAAAAAAAIwHQAAAAjAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T06:23:38.441Z", |
| | | "WhenOpened": "2026-01-23T05:14:10.683Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "WCSTaskService.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs", |
| | | "ViewState": "AgIAAAsAAAAAAAAAAAAcwCgAAABpAAAAAAAAAA==", |
| | | "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": "AgIAAKACAAAAAAAAAAAAAL0CAAAPAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-22T03:56:43.195Z", |
| | | "WhenOpened": "2026-01-23T05:06:05.315Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "DocumentIndex": 4, |
| | | "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": "AgIAAAsAAAAAAAAAAAAgwCEAAAAjAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-23T05:00:11.69Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "WMSCruJob.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\\WMSCruJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WMSCruJob.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\\WMSCruJob.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\WMSCruJob.cs", |
| | | "ViewState": "AgIAAGkAAAAAAAAAAAAgwHwAAABKAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-23T04:18:33.989Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "TaskController.cs", |
| | | "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ViewState": "AgIAABIAAAAAAAAAAAAAABwAAAAjAAAAAAAAAA==", |
| | | "ViewState": "AgIAAAYAAAAAAAAAAAAAABAAAAAUAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-21T09:31:31.363Z", |
| | | "WhenOpened": "2026-01-23T03:12:18.887Z", |
| | | "EditorCaption": "" |
| | | } |
| | | ] |
| | |
| | | return BaseDal.QueryData(x => x.RoadwayNo == roadway && x.LocationType == Locationtype && x.Row==row && x.Layer== Layer && x.Column== Column).FirstOrDefault(); |
| | | } |
| | | |
| | | public Dt_LocationInfo? FindStorageLocation(string LocationCode) |
| | | { |
| | | return BaseDal.QueryData(x => x.LocationCode == LocationCode).FirstOrDefault(); |
| | | } |
| | | |
| | | |
| | | //æ¥æ¾æ°è´§ä½ |
| | | public Dt_LocationInfo? GetLocation(string roadway, int Locationtype) |
| | |
| | | } |
| | | } |
| | | |
| | | private int judgmentRow(string RoadwayNo, int locrow) |
| | | public int judgmentRow(string RoadwayNo, int locrow) |
| | | { |
| | | if (RoadwayNo == "1" || RoadwayNo == "3") |
| | | { |
| | |
| | | /// <param name="entity"></param> |
| | | /// <returns>å½±åè¡æ°</returns> |
| | | int AddData(TEntity entity); |
| | | TEntity AddDataId(TEntity entity); |
| | | |
| | | bool AddData<TChild>(TEntity entity, Expression<Func<TEntity, List<TChild>>> expression) where TChild : class, new(); |
| | | |
| | |
| | | IInsertable<TEntity> insert = _db.Insertable(entity); |
| | | return insert.ExecuteReturnIdentity(); |
| | | } |
| | | |
| | | public virtual TEntity AddDataId(TEntity entity) |
| | | { |
| | | IInsertable<TEntity> insert = _db.Insertable(entity); |
| | | return insert.ExecuteReturnEntity(); |
| | | } |
| | | |
| | | public virtual bool AddData<TChild>(TEntity entity, Expression<Func<TEntity, List<TChild>>> expression) where TChild : class, new() |
| | | { |
| | | return _db.InsertNav(entity).Include(expression).ExecuteCommand(); |
| | |
| | | /// <returns></returns> |
| | | WebResponseContent AddData(TEntity entity); |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ·»å æ°æ® |
| | | /// </summary> |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ·»å æ°æ® |
| | | /// </summary> |
| | |
| | | /// <returns></returns> |
| | | Dt_LocationInfo? ShallowGetLocation(string roadway, int Locationtype, int row, int Layer, int Column); |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¾è´§ä½ |
| | | /// </summary> |
| | | /// <param name="LocationCode">è´§ä½ç¼å·</param> |
| | | /// <returns></returns> |
| | | Dt_LocationInfo? FindStorageLocation(string LocationCode); |
| | | |
| | | /// <summary> |
| | | /// å¤æè¡ |
| | | /// </summary> |
| | | /// <param name="RoadwayNo">å··éç¼å·</param> |
| | | /// <param name="locrow">è¡</param> |
| | | /// <returns></returns> |
| | | int judgmentRow(string RoadwayNo, int locrow); |
| | | |
| | | //è·ååºä½ç«ä½å¾æ°æ® |
| | | #region è·ååºä½ç«ä½å¾æ°æ® |
| | | WebResponseContent GetArea(); |
| | | WebResponseContent GetLocationStatus(int WarehouseId, string RoadwayNo); |
| | | |
| | | #endregion |
| | | } |
| | | } |
| | | } |
| | |
| | | /// ä»»å¡å¼å¸¸ |
| | | MES_parameter ToMES_TaskException(string TransNo, string EquipmentType, string EquipmentNumber, string ErrorInfo); |
| | | #endregion |
| | | |
| | | |
| | | #region ä»»å¡éåï¼è·å任塿¨¡å |
| | | //è·åä»»å¡éå |
| | | List<Dt_Task> GetaskQueue(string deviceId); |
| | | |
| | | //æ ¹æ®è®¾å¤è·åæ¯å¦æå¨æ§è¡çä»»å¡ |
| | | bool CurrentTaskProgress(string deviceId); |
| | | |
| | | //è·åè¾é线éè¦ä¸åçä»»å¡ |
| | | List<Dt_Task> GetaskQueuePLC(); |
| | | |
| | | //è·åæ¯å¦æç§»åºä»»å¡ |
| | | Dt_Task GeRelocationTaskQueue(string LocationCode); |
| | | |
| | | //夿å½åå åæºæ¯å¦æç§»åºä»»å¡ |
| | | bool RelocationTaskProgress(string deviceId); |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_DTO.Inbound; |
| | | using WIDESEA_DTO.Task; |
| | | using WIDESEA_ITaskInfoService; |
| | | using WIDESEA_Model.Models; |
| | | using static WIDESEA_ITaskInfoService.ITaskService; |
| | | |
| | |
| | | { |
| | | public partial class TaskService |
| | | { |
| | | public static List<string> InStationareaList = new List<string>() { "1113", "1114", "1115", "1116", "1117", "1118", "1119", "1120", "1121", "1122" }; |
| | | //å
¥åºï¼ç©ºçååº |
| | | public ApiResponse AddInStoreDoc(MES_InTask mES_In) |
| | | { |
| | |
| | | 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;*/ |
| | | int taskid=BaseDal.AddData(task); |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | BaseDal.AddData(task); |
| | | //_stockInfoService.Repository.AddData(dt_StockInfo); |
| | | _unitOfWorkManage.CommitTran(); |
| | | WriteLog.Write_Log("MES_æ¥æ¶å
¥åºä»»å¡ä¸å", $"åé¦ä¿¡æ¯", "æå", $"任塿·»å æåï¼æçæ¡ç ï¼{task.PalletCode}"); |
| | | return apiResponse.OK(); |
| | | //å建任å¡åï¼å¤ææ¯å¦æ¯äº§çº¿ååºçä»»å¡ |
| | | if (!InStationareaList.Contains(task.SourceAddress)) |
| | | { |
| | | WriteLog.Write_Log("MES_æ¥æ¶å
¥åºä»»å¡ä¸å", $"åé¦ä¿¡æ¯", "æå", $"任塿·»å æåï¼æçæ¡ç ï¼{task.PalletCode}"); |
| | | return apiResponse.OK(); |
| | | } |
| | | else |
| | | { |
| | | WCSginseng result = PLC_IssueTasks( |
| | | task.TaskId, |
| | | int.Parse(task.Roadway), |
| | | task.TaskNum, |
| | | task.PalletCode, |
| | | int.Parse(task.PalletType), |
| | | task.CurrentAddress, |
| | | task.NextAddress, |
| | | ""); |
| | | if (result.IsSuccess) |
| | | { |
| | | |
| | | task.TaskStatus = (int)InTaskStatusEnum.PLC_InExecuting; |
| | | string Result = MesInTaskStatusEnum.Start.GetDescription(); |
| | | BaseDal.UpdateData(task); |
| | | //è°å䏿¸¸ç³»ç»åé¦å¼å§ä»»å¡ |
| | | InStoreDocCallback(task.TaskNum, Result, "æä½æå", task.PalletCode, ""); |
| | | return apiResponse.OK(); |
| | | } |
| | | else |
| | | { |
| | | BaseDal.DeleteData(task); |
| | | return apiResponse.Error($"ä¸åä»»å¡å¤±è´¥ï¼ä¸åWCS失败ï¼åå ï¼{result.Message}"); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using MailKit.Search; |
| | | using Microsoft.AspNetCore.Http; |
| | | 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.LocationEnum; |
| | | using WIDESEA_Common.Log; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Common.TaskEnum; |
| | | 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 WMSCruJob |
| | | { |
| | | /// <summary> |
| | | /// 夿巷éå
ç§»åº |
| | | /// </summary> |
| | | /// <param name="TaskNum"></param> |
| | | /// <param name="SourceAddress"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent JudgmentIsRelocations(Dt_Task dt_Task) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | string Locationcodeadd = dt_Task.TaskType == (int)TaskTypeEnum.Inbound ? dt_Task.NextAddress : dt_Task.CurrentAddress; |
| | | Dt_LocationInfo dt_Location = _locationInfoService.FindStorageLocation(Locationcodeadd); |
| | | if (dt_Location == null) { return content.Error("æªè½æ¥æ¾å°åºä½"); } |
| | | if (dt_Location.RoadwayNo == "5") return content.OK(); //æµ
è´§ä½ç´æ¥è¿åï¼å¯ä¸ååºå
¥å£ä»»å¡ |
| | | if(dt_Location.Depth == 1 && dt_Task.TaskType== (int)TaskTypeEnum.Outbound) return content.OK(); |
| | | |
| | | int locrow = _locationInfoService.judgmentRow(dt_Location.RoadwayNo, dt_Location.Row); |
| | | Dt_LocationInfo shallowLocation = _locationInfoService.ShallowGetLocation(dt_Location.RoadwayNo, dt_Location.LocationType, locrow, dt_Location.Layer, dt_Location.Column); |
| | | if (dt_Location.Depth == 1 && dt_Task.TaskType == (int)TaskTypeEnum.Inbound) |
| | | { |
| | | if (shallowLocation.LocationStatus == (int)LocationStatusEnum.InStock) return content.OK(); |
| | | return content.Error(); |
| | | } |
| | | if (shallowLocation.LocationStatus == (int)LocationStatusEnum.Free) return content.OK(); |
| | | |
| | | //夿æ¯å¦æç§»åºä»»å¡ |
| | | |
| | | var TransferTask = _taskService.GeRelocationTaskQueue(shallowLocation.LocationCode); |
| | | if (TransferTask != null) |
| | | { |
| | | //è¿è¡ä¸åç»å åæºä»»å¡ |
| | | WCSginseng result = _taskService.SC_IssueTasks(TransferTask.TaskId,int.Parse(TransferTask.Roadway),TransferTask.TaskNum,TransferTask.PalletCode,int.Parse(TransferTask.PalletType),TransferTask.CurrentAddress,TransferTask.NextAddress,dt_Task.TargetAddress); |
| | | if (result.IsSuccess) |
| | | { |
| | | TransferTask.TaskStatus = (int)RelocationTaskStatusEnum.RelocationExecuting; |
| | | _taskService.UpdateData(TransferTask); |
| | | return content.OK(); |
| | | } |
| | | else |
| | | { |
| | | UpdateTaskStatus(dt_Task, result, |
| | | successStatus: dt_Task.TaskStatus == (int)InTaskStatusEnum.PLC_InFinish ? (int)InTaskStatusEnum.SC_IntExecuting : (int)OutTaskStatusEnum.SC_OutExecuting, 1); |
| | | |
| | | WriteLog.Write_Log("WMS_夿巷éå
ç§»åº", $"å¤æç§»åº", "失败", $"åå ï¼{result.Message}"); |
| | | return content.Error(); |
| | | } |
| | | } |
| | | |
| | | var CuttTransferTask = _taskService.RelocationTaskProgress(dt_Task.Roadway); |
| | | //夿å½åæ¯å¦æç§»åºä»»å¡ |
| | | if (CuttTransferTask != null) return content.Error(); |
| | | |
| | | |
| | | if (shallowLocation.LocationStatus != (int)LocationStatusEnum.InStock) return content.Error(); |
| | | |
| | | //çæç§»åºä»»å¡ |
| | | return content = GenerateTransferTask(shallowLocation.LocationCode); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteLog.Write_Log("WMS_夿巷éå
ç§»åº", $"å¤æç§»åº", "失败,æ¹æ³å
æ
é", $"åå ï¼{ex.Message}"); |
| | | return content.Error(); |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | public WebResponseContent GenerateTransferTask(string shallowLocation) |
| | | { |
| | | WebResponseContent webResponse = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_LocationInfo OriginalLocation = _locationInfoService.Repository.QueryData(x => x.LocationCode == shallowLocation).FirstOrDefault(); |
| | | Dt_StockInfo dt_StockInfo = _stockInfoService.Repository.QueryData(x => x.LocationCode == shallowLocation).FirstOrDefault(); |
| | | Dt_LocationInfo newLocation = _locationInfoService.GetLocation(OriginalLocation.RoadwayNo, OriginalLocation.LocationType); |
| | | List<Dt_LocationInfo> dt_Locations = new List<Dt_LocationInfo>(); |
| | | |
| | | MES_parameter mES_Parame = _taskService.ApplicationChangeStorageLocation(dt_StockInfo.PalletCode, OriginalLocation.LocationCode, newLocation.LocationCode); |
| | | if (mES_Parame != null) |
| | | { |
| | | if (mES_Parame.Result == "Y") |
| | | { |
| | | //è¿è¡çæä»»å¡ï¼ä¸åä»»å¡è³MES |
| | | Dt_Task task = new Dt_Task(); |
| | | task.TaskNum = "0"; |
| | | task.PalletCode = dt_StockInfo.PalletCode; |
| | | task.PalletType = dt_StockInfo.PalletType; |
| | | task.Roadway = OriginalLocation.RoadwayNo; |
| | | task.TaskType = (int)TaskTypeEnum.Relocation; |
| | | task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationNew; |
| | | task.SourceAddress = OriginalLocation.LocationCode; |
| | | task.TargetAddress = newLocation.LocationCode; |
| | | task.CurrentAddress = OriginalLocation.LocationCode; |
| | | task.NextAddress = newLocation.LocationCode; |
| | | task.WarehouseId = OriginalLocation.WarehouseId; |
| | | task.OrderNo = ""; |
| | | task.Grade = 1; |
| | | task.Creater = "MES"; |
| | | task.CreateDate = DateTime.Now; |
| | | |
| | | OriginalLocation.LocationStatus = (int)LocationStatusEnum.Lock; |
| | | newLocation.LocationStatus = (int)LocationStatusEnum.Lock; |
| | | dt_StockInfo.StockStatus = (int)StockStatusEmun.ç§»åºéå®; |
| | | |
| | | dt_Locations.Add(OriginalLocation); |
| | | dt_Locations.Add(newLocation); |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | |
| | | int TaskId = _taskService.Repository.AddData(task); |
| | | _locationInfoService.UpdateData(dt_Locations); |
| | | _stockInfoService.UpdateData(dt_StockInfo); |
| | | _unitOfWorkManage.CommitTran(); |
| | | |
| | | |
| | | //return webResponse.Error("å·²çæç§»åºä»»å¡"); |
| | | //è¿è¡ä¸åç»å åæºä»»å¡ |
| | | WCSginseng result = _taskService.SC_IssueTasks( |
| | | TaskId, |
| | | int.Parse(task.Roadway), |
| | | task.TaskNum, |
| | | task.PalletCode, |
| | | int.Parse(task.PalletType), |
| | | task.CurrentAddress, |
| | | task.NextAddress, |
| | | task.TargetAddress); |
| | | if (result.IsSuccess) |
| | | { |
| | | task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationExecuting; |
| | | _taskService.UpdateData(task); |
| | | return webResponse.OK(); |
| | | } |
| | | else |
| | | { |
| | | WriteLog.Write_Log("WMS_夿巷éå
ç§»åº", $"ç§»åºä»»å¡çææ¹æ³", "ä¸åç§»åºå¤±è´¥", $"åå ï¼{result.Message}"); |
| | | |
| | | return webResponse.Error(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WriteLog.Write_Log("WMS_夿巷éå
ç§»åº", $"ç§»åºä»»å¡çææ¹æ³", "ç³è¯·MESç§»åº", $"ç³è¯·å¨ä½å¼å¨ï¼MESä¸å
许移å¨"); |
| | | return webResponse.Error(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WriteLog.Write_Log("WMS_夿巷éå
ç§»åº", $"ç§»åºä»»å¡çææ¹æ³", "ç³è¯·MESç§»åº,è¿å空", $"ç³è¯·å¨ä½å¼å¨ï¼MESè¿å为空"); |
| | | return webResponse.Error(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | WriteLog.Write_Log("WMS_夿巷éå
ç§»åº", $"ç§»åºä»»å¡çææ¹æ³", "ç³»ç»æ
é", $"åå ï¼{ex.Message}"); |
| | | return webResponse.Error(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | |
| | | public WebResponseContent CESTEXT() |
| | | { |
| | | WriteLog.Write_Log("æ¥æ¶MESå
¥åºä»»å¡ä¸å", $"任塿¥æ¶åæ°", "æå", $"åæ°ï¼234jkljsldafjlasdf"); |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | |
| | |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //ä»»å¡è·å |
| | | public List<Dt_Task> GetaskQueue(string deviceId) |
| | | { |
| | | return BaseDal.QueryData(x => x.Roadway == deviceId && (x.TaskStatus == (int)InTaskStatusEnum.PLC_InFinish || x.TaskStatus == (int)OutTaskStatusEnum.OutNew) && x.NumberSsuances==0); |
| | | } |
| | | |
| | | //è·åå½åå åæºæ§è¡çä»»å¡ |
| | | public bool CurrentTaskProgress(string deviceId) |
| | | { |
| | | int taskcount=BaseDal.QueryData(x => x.Roadway == deviceId && (x.TaskStatus == (int)InTaskStatusEnum.SC_IntExecuting || x.TaskStatus == (int)OutTaskStatusEnum.SC_OutExecuting || x.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting)).Count(); |
| | | if (taskcount == 0) return false; |
| | | return true; |
| | | } |
| | | |
| | | //è·åå åæºå®æï¼ä¸åè¾é线çä»»å¡ |
| | | public static List<string> OutSCList = new List<string>() { "1109", "1105", "1210", "1212", "1214" }; |
| | | public List<Dt_Task> GetaskQueuePLC() |
| | | { |
| | | return BaseDal.QueryData(x => x.TaskStatus == (int)OutTaskStatusEnum.SC_OutFinish && OutSCList.Contains(x.CurrentAddress)); |
| | | } |
| | | |
| | | //è·åæ¯å¦æç§»åºçä»»å¡ |
| | | public Dt_Task GeRelocationTaskQueue(string LocationCode) |
| | | { |
| | | return BaseDal.QueryData(x => x.TaskStatus == (int)RelocationTaskStatusEnum.RelocationNew && x.CurrentAddress == LocationCode).FirstOrDefault(); |
| | | } |
| | | |
| | | public bool RelocationTaskProgress(string deviceId) |
| | | { |
| | | int taskcount = BaseDal.QueryData(x => x.Roadway == deviceId && x.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting).Count(); |
| | | if (taskcount == 0) return false; |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | private readonly ILogger<WMSCruJob> _logger; |
| | | private Timer _timer; |
| | | private Timer _timer2; |
| | | private readonly ITaskService _taskService; |
| | | private readonly ILocationInfoService _locationInfoService; |
| | | private readonly IStockInfoService _stockInfoService; |
| | |
| | | _taskService=taskService; |
| | | } |
| | | private static readonly object _taskProcessLock = new object(); |
| | | private const int TASK_PROCESS_TIMEOUT = 3000; // 3ç§è¶
æ¶ |
| | | private const int TASK_PROCESS_TIMEOUT = 2000; // 2ç§è¶
æ¶ |
| | | |
| | | private static readonly object _taskProcessLockPLC = new object(); |
| | | private const int TASK_PROCESS_TIMEOUTPLC = 3000; // 2ç§è¶
æ¶ |
| | | |
| | | |
| | | private readonly Queue<int> _deviceQueueSC = new Queue<int>(); |
| | | |
| | | public Task StartAsync(CancellationToken cancellationToken) |
| | | { |
| | | _timer = new Timer(DoWorkWheel, null, TimeSpan.Zero, TimeSpan.FromSeconds(3)); |
| | | // åå§å设å¤éåï¼1-5ï¼ |
| | | for (int i = 1; i <= 5; i++) |
| | | { |
| | | _deviceQueueSC.Enqueue(i); |
| | | } |
| | | |
| | | _timer = new Timer(SCProcessNextDevice, null, TimeSpan.Zero, TimeSpan.FromSeconds(2)); |
| | | _timer2 = new Timer(PLCDoDeciceWork, null, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(2)); |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | public static List<string> InStationareaList = new List<string>() { "1113", "1114", "1115", "1116", "1117", "1118", "1119", "1120", "1121", "1122" }; |
| | | |
| | | private void DoWorkWheel(object state) |
| | | //å åæºéå |
| | | private void SCProcessNextDevice(object state) |
| | | { |
| | | if (!Monitor.TryEnter(_taskProcessLock, TASK_PROCESS_TIMEOUT)) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if (!Monitor.TryEnter(_taskProcessLock, TASK_PROCESS_TIMEOUT)) return; |
| | | try |
| | | { |
| | | // å®ä¹ç¶æå¸¸éï¼é¿å
éæ³æ°å |
| | | const int PLC_IN_FINISH = (int)InTaskStatusEnum.PLC_InFinish; |
| | | const int PLC_IN_InNew = (int)InTaskStatusEnum.InNew; |
| | | const int OUT_NEW = (int)OutTaskStatusEnum.OutNew; |
| | | const int SC_OUT_FINISH = (int)OutTaskStatusEnum.SC_OutFinish; |
| | | const int SC_IN_EXECUTING = (int)InTaskStatusEnum.SC_IntExecuting; |
| | | const int SC_OUT_EXECUTING = (int)OutTaskStatusEnum.SC_OutExecuting; |
| | | const int RELOCATION_EXECUTING = (int)RelocationTaskStatusEnum.RelocationExecuting; |
| | | const int PLC_OUT_EXECUTING = (int)OutTaskStatusEnum.PLC_OutExecuting; |
| | | if (_deviceQueueSC.Count == 0) |
| | | return; |
| | | |
| | | // è·åå½å任塿°æ® |
| | | List<Dt_Task> allTasks = _taskService.Repository.QueryData(); |
| | | int deviceId = _deviceQueueSC.Dequeue(); |
| | | |
| | | // è·åå··éè¶
è¿3个任å¡ç路段 |
| | | HashSet<string> excludedRoadways = allTasks |
| | | .Where(x => x.NumberSsuances > 3) |
| | | .Select(x => x.Roadway) |
| | | .Distinct() |
| | | .ToHashSet(); |
| | | |
| | | // è¿æ»¤éè¦å¤ççä»»å¡ |
| | | List<Dt_Task> tasksToProcess = allTasks |
| | | .Where(x => |
| | | (x.TaskStatus == PLC_IN_FINISH || |
| | | x.TaskStatus == OUT_NEW || |
| | | x.TaskStatus == SC_OUT_FINISH || (x.TaskStatus == PLC_IN_InNew && InStationareaList.Contains(x.SourceAddress))) && |
| | | !excludedRoadways.Contains(x.Roadway)) |
| | | .ToList(); |
| | | |
| | | // æç¶æåç»å¤çï¼åå°é夿¥è¯¢ |
| | | ProcessInAndNewTasks(tasksToProcess, allTasks, excludedRoadways); //ä¸åå åæº |
| | | ProcessOutFinishTasks(tasksToProcess, allTasks); //ä¸åè¾éçº¿ä»»å¡ |
| | | ProcessInPalltask(tasksToProcess, allTasks); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine($"ä»»å¡å¤çå¼å¸¸ï¼{ex.Message}"); |
| | | try |
| | | { |
| | | SCDoDeviceWork(deviceId); |
| | | _deviceQueueSC.Enqueue(deviceId); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _deviceQueueSC.Enqueue(deviceId); |
| | | Console.WriteLine($"è®¾å¤ {deviceId} æ§è¡å¤±è´¥: {ex.Message}"); |
| | | } |
| | | } |
| | | finally |
| | | { |
| | | // å¿
须鿾éï¼å¦åä¼å¯¼è´æ»é |
| | | Monitor.Exit(_taskProcessLock); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | private void ProcessInAndNewTasks(List<Dt_Task> tasksToProcess, List<Dt_Task> allTasks, HashSet<string> excludedRoadways) |
| | | //æ§è¡æ¹æ³ |
| | | private void SCDoDeviceWork(int deviceId) |
| | | { |
| | | const int PLC_IN_FINISH = (int)InTaskStatusEnum.PLC_InFinish; |
| | | const int OUT_NEW = (int)OutTaskStatusEnum.OutNew; |
| | | const int SC_IN_EXECUTING = (int)InTaskStatusEnum.SC_IntExecuting; |
| | | const int SC_OUT_EXECUTING = (int)OutTaskStatusEnum.SC_OutExecuting; |
| | | const int RELOCATION_EXECUTING = (int)RelocationTaskStatusEnum.RelocationExecuting; |
| | | const int RELOCCATION_NEW = (int)RelocationTaskStatusEnum.RelocationNew; |
| | | |
| | | var inAndNewTasks = tasksToProcess |
| | | .Where(x => x.TaskStatus == PLC_IN_FINISH || x.TaskStatus == OUT_NEW).OrderBy(x=>x.CreateDate) |
| | | .ToList(); |
| | | if(inAndNewTasks.Count > 0) |
| | | try |
| | | { |
| | | foreach (var task in inAndNewTasks) |
| | | //夿å½åå åæºæ¯å¦ææ§è¡ä»»å¡ |
| | | if (_taskService.CurrentTaskProgress(deviceId.ToString())) return; |
| | | // è·åå½åå åæºä»»å¡ |
| | | List<Dt_Task> taskList = _taskService.GetaskQueue(deviceId.ToString()); |
| | | if (taskList.Count == 0) return; |
| | | |
| | | foreach (Dt_Task task in taskList) |
| | | { |
| | | // æ£æ¥åä¸å··éæ¯å¦ææ£å¨æ§è¡çä»»å¡ |
| | | bool hasExecutingTask = allTasks.Any(x => |
| | | x.TaskId != task.TaskId && |
| | | x.Roadway == task.Roadway && |
| | | (x.TaskStatus == SC_IN_EXECUTING || |
| | | x.TaskStatus == SC_OUT_EXECUTING || |
| | | x.TaskStatus == RELOCATION_EXECUTING)); |
| | | |
| | | if (hasExecutingTask) |
| | | continue; |
| | | |
| | | if (task.TaskStatus == OUT_NEW) |
| | | { |
| | | bool SCNewTasks = allTasks.Any(x => x.TaskStatus != OUT_NEW && x.TargetAddress == task.TargetAddress); |
| | | if (SCNewTasks) |
| | | continue; |
| | | } |
| | | |
| | | //夿æ¯å¦éè¦ç§»åº |
| | | WebResponseContent webResponse = JudgmentIsRelocations(task); |
| | | if (!webResponse.Status) continue; |
| | | if (!webResponse.Status) return; |
| | | |
| | | |
| | | // ä¸åå åæºä»»å¡ |
| | | WCSginseng result = _taskService.SC_IssueTasks( |
| | | task.TaskId, |
| | | int.Parse(task.Roadway), |
| | |
| | | |
| | | UpdateTaskStatus(task, result, |
| | | successStatus: task.TaskStatus == PLC_IN_FINISH ? SC_IN_EXECUTING : SC_OUT_EXECUTING, 1); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | private void ProcessOutFinishTasks(List<Dt_Task> tasksToProcess, List<Dt_Task> allTasks) |
| | | { |
| | | const int SC_OUT_FINISH = (int)OutTaskStatusEnum.SC_OutFinish; |
| | | const int PLC_OUT_EXECUTING = (int)OutTaskStatusEnum.PLC_OutExecuting; |
| | | |
| | | var outFinishTasks = tasksToProcess |
| | | .Where(x => x.TaskStatus == SC_OUT_FINISH) |
| | | .ToList(); |
| | | if(outFinishTasks.Count > 0) |
| | | catch (Exception ex) |
| | | { |
| | | foreach (var task in outFinishTasks) |
| | | { |
| | | // æ£æ¥åä¸å··éæ¯å¦æå
¶ä»å·²å®æçä»»å¡ |
| | | bool hasOtherFinishTask = allTasks.Any(x => |
| | | x.Roadway == task.Roadway && |
| | | x.TaskStatus == SC_OUT_FINISH && |
| | | x.TaskId != task.TaskId); |
| | | |
| | | if (hasOtherFinishTask) |
| | | continue; |
| | | |
| | | // ä¸åPLCä»»å¡ |
| | | WCSginseng result = _taskService.PLC_IssueTasks( |
| | | task.TaskId, |
| | | int.Parse(task.Roadway), |
| | | task.TaskNum, |
| | | task.PalletCode, |
| | | int.Parse(task.PalletType), |
| | | task.CurrentAddress, |
| | | task.NextAddress, |
| | | ""); |
| | | |
| | | UpdateTaskStatus(task, result, PLC_OUT_EXECUTING, 2); |
| | | } |
| | | Console.WriteLine($"ä»»å¡å¤çå¼å¸¸ï¼{ex.Message}"); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | private void ProcessInPalltask(List<Dt_Task> tasksToProcess, List<Dt_Task> allTasks) |
| | | private void PLCDoDeciceWork(object state) |
| | | { |
| | | const int PLC_IN_InNew = (int)InTaskStatusEnum.InNew; |
| | | const int PLC_PLC_INEXECUTING = (int)InTaskStatusEnum.PLC_InExecuting; |
| | | var outFinishTasks = tasksToProcess |
| | | .Where(x => x.TaskStatus == PLC_IN_InNew && InStationareaList.Contains(x.SourceAddress)) |
| | | .ToList(); |
| | | if(outFinishTasks.Count > 0) |
| | | if (!Monitor.TryEnter(_taskProcessLockPLC, TASK_PROCESS_TIMEOUTPLC)) return; |
| | | try |
| | | { |
| | | foreach (var task in outFinishTasks) |
| | | // è·åå½å任塿°æ® |
| | | List<Dt_Task> allTasks = _taskService.GetaskQueuePLC(); |
| | | if (allTasks.Count == 0) return; |
| | | foreach (var task in allTasks) |
| | | { |
| | | // ä¸åPLCä»»å¡ |
| | | WCSginseng result = _taskService.PLC_IssueTasks( |
| | | task.TaskId, |
| | | int.Parse(task.Roadway), |
| | | task.TaskNum, |
| | | task.PalletCode, |
| | | int.Parse(task.PalletType), |
| | | task.CurrentAddress, |
| | | task.NextAddress, |
| | | ""); |
| | | |
| | | UpdateTaskStatus(task, result, PLC_PLC_INEXECUTING, 2); |
| | | WCSginseng result = _taskService.PLC_IssueTasks(task.TaskId, int.Parse(task.Roadway), task.TaskNum, task.PalletCode, int.Parse(task.PalletType), task.CurrentAddress, task.NextAddress, ""); |
| | | UpdateTaskStatus(task, result, (int)OutTaskStatusEnum.PLC_OutExecuting, 2); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine($"å åæºå®æï¼ä¸åè¾é线æ§è¡ä»»å¡å¤±è´¥ï¼ åå : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Monitor.Exit(_taskProcessLockPLC); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //ä¿®æ¹ç¶æ |
| | | private void UpdateTaskStatus(Dt_Task task, WCSginseng result, int successStatus,int statype) |
| | | { |
| | | if (result.IsSuccess) |
| | |
| | | string Result = MesOutTaskStatusEnum.Start.GetDescription(); |
| | | //è°å䏿¸¸ç³»ç»åé¦å¼å§ä»»å¡ |
| | | _taskService.OutStoreDocCallback(task.TaskNum,Result, "æä½æå"); |
| | | }else if(task.TaskStatus == (int)InTaskStatusEnum.PLC_InExecuting) |
| | | { |
| | | string Result = MesInTaskStatusEnum.Start.GetDescription(); |
| | | //è°å䏿¸¸ç³»ç»åé¦å¼å§ä»»å¡ |
| | | _taskService.InStoreDocCallback(task.TaskNum, Result, "æä½æå",task.PalletCode,""); |
| | | } |
| | | } |
| | | else |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public Task StopAsync(CancellationToken cancellationToken) |
| | | { |
| | | _timer?.Dispose(); |
| | |
| | | public void Dispose() |
| | | { |
| | | throw new NotImplementedException(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 夿巷éå
ç§»åº |
| | | /// </summary> |
| | | /// <param name="TaskNum"></param> |
| | | /// <param name="SourceAddress"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent JudgmentIsRelocations(Dt_Task dt_Task) |
| | | { |
| | | const int PLC_IN_FINISH = (int)InTaskStatusEnum.PLC_InFinish; |
| | | const int SC_IN_EXECUTING = (int)InTaskStatusEnum.SC_IntExecuting; |
| | | const int SC_OUT_EXECUTING = (int)OutTaskStatusEnum.SC_OutExecuting; |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | string Locationcodeadd = dt_Task.TaskType == (int)TaskTypeEnum.Inbound ? dt_Task.NextAddress: dt_Task.CurrentAddress ; |
| | | |
| | | Dt_LocationInfo dt_Location = _locationInfoService.Repository.QueryData(x => x.LocationCode == Locationcodeadd).FirstOrDefault(); |
| | | if(dt_Location == null) { return content.Error("æªè½æ¥æ¾å°åºä½"); } |
| | | if (dt_Location.Depth == 1 || dt_Location.RoadwayNo == "5") return content.OK(); |
| | | int locrow = judgmentRow(dt_Location.RoadwayNo, dt_Location.Row); |
| | | Dt_LocationInfo shallowLocation = _locationInfoService.Repository.QueryData(x => x.RoadwayNo == dt_Location.RoadwayNo && x.Row == locrow && x.Layer == dt_Location.Layer && x.Column == dt_Location.Column).FirstOrDefault(); |
| | | if (shallowLocation.LocationStatus == (int)LocationStatusEnum.Free) return content.OK(); |
| | | |
| | | |
| | | //夿æ¯å¦æç§»åºä»»å¡ |
| | | var TransferTask = _taskService.Repository.QueryData(x=>x.TaskStatus== (int)RelocationTaskStatusEnum.RelocationNew && x.CurrentAddress== shallowLocation.LocationCode).FirstOrDefault(); |
| | | if(TransferTask != null) |
| | | { |
| | | //è¿è¡ä¸åç»å åæºä»»å¡ |
| | | WCSginseng result = _taskService.SC_IssueTasks( |
| | | TransferTask.TaskId, |
| | | int.Parse(TransferTask.Roadway), |
| | | TransferTask.TaskNum, |
| | | TransferTask.PalletCode, |
| | | int.Parse(TransferTask.PalletType), |
| | | TransferTask.CurrentAddress, |
| | | TransferTask.NextAddress, |
| | | dt_Task.TargetAddress); |
| | | if (result.IsSuccess) |
| | | { |
| | | TransferTask.TaskStatus = (int)RelocationTaskStatusEnum.RelocationExecuting; |
| | | _taskService.UpdateData(TransferTask); |
| | | return content.OK(); |
| | | } |
| | | else |
| | | { |
| | | UpdateTaskStatus(dt_Task, result, |
| | | successStatus: dt_Task.TaskStatus == PLC_IN_FINISH ? SC_IN_EXECUTING : SC_OUT_EXECUTING, 1); |
| | | |
| | | WriteLog.GetLog("夿巷éå
ç§»åº").Write($"ä¸åå åæºä»»å¡å¤±è´¥ï¼åå ï¼{result.Message}", $"çæç§»åºä»»å¡:GenerateTransferTask"); |
| | | return content.Error(); |
| | | } |
| | | } |
| | | |
| | | var CuttTransferTask = _taskService.Repository.QueryData(x => x.TaskStatus == (int)RelocationTaskStatusEnum.RelocationNew).FirstOrDefault(); |
| | | //夿å½åæ¯å¦æç§»åºä»»å¡ |
| | | if (CuttTransferTask!=null) return content.Error(); |
| | | |
| | | |
| | | if (shallowLocation.LocationStatus != (int)LocationStatusEnum.InStock) return content.Error(); |
| | | |
| | | //çæç§»åºä»»å¡ï¼è¿è¡ä¸å |
| | | return content =GenerateTransferTask(shallowLocation.LocationCode); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteLog.GetLog("夿巷éå
ç§»åº").Write($"å¤æç§»åºå¤±è´¥ï¼åå ï¼{ex.Message}", $"夿巷éå
ç§»åºæ¹æ³:JudgmentIsRelocations"); |
| | | return content.Error(); |
| | | |
| | | } |
| | | } |
| | | |
| | | private int judgmentRow(string RoadwayNo,int locrow) |
| | | { |
| | | if (RoadwayNo == "1" || RoadwayNo == "3") |
| | | { |
| | | return locrow == 1 ? 2 : 3; |
| | | } |
| | | else if (RoadwayNo == "2" || RoadwayNo == "4") |
| | | { |
| | | return locrow == 5 ? 6 : 7; |
| | | } |
| | | else |
| | | { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent GenerateTransferTask(string shallowLocation) |
| | | { |
| | | WebResponseContent webResponse=new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_LocationInfo OriginalLocation = _locationInfoService.Repository.QueryData(x => x.LocationCode == shallowLocation).FirstOrDefault(); |
| | | Dt_StockInfo dt_StockInfo = _stockInfoService.Repository.QueryData(x => x.LocationCode == shallowLocation).FirstOrDefault(); |
| | | Dt_LocationInfo newLocation = _locationInfoService.GetLocation(OriginalLocation.RoadwayNo, OriginalLocation.LocationType); |
| | | List<Dt_LocationInfo> dt_Locations = new List<Dt_LocationInfo>(); |
| | | |
| | | MES_parameter mES_Parame = _taskService.ApplicationChangeStorageLocation(dt_StockInfo.PalletCode, OriginalLocation.LocationCode, newLocation.LocationCode); |
| | | if (mES_Parame != null) |
| | | { |
| | | if (mES_Parame.Result == "Y") |
| | | { |
| | | //è¿è¡çæä»»å¡ï¼ä¸åä»»å¡è³MES |
| | | Dt_Task task = new Dt_Task(); |
| | | task.TaskNum = "0"; |
| | | task.PalletCode = dt_StockInfo.PalletCode; |
| | | task.PalletType = dt_StockInfo.PalletType; |
| | | task.Roadway = OriginalLocation.RoadwayNo; |
| | | task.TaskType = (int)TaskTypeEnum.Relocation; |
| | | task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationNew; |
| | | task.SourceAddress = OriginalLocation.LocationCode; |
| | | task.TargetAddress = newLocation.LocationCode; |
| | | task.CurrentAddress = OriginalLocation.LocationCode; |
| | | task.NextAddress = newLocation.LocationCode; |
| | | task.WarehouseId = OriginalLocation.WarehouseId; |
| | | task.OrderNo = ""; |
| | | task.Grade = 1; |
| | | task.Creater = "MES"; |
| | | task.CreateDate = DateTime.Now; |
| | | |
| | | OriginalLocation.LocationStatus = (int)LocationStatusEnum.Lock; |
| | | newLocation.LocationStatus = (int)LocationStatusEnum.Lock; |
| | | dt_StockInfo.StockStatus = (int)StockStatusEmun.ç§»åºéå®; |
| | | |
| | | dt_Locations.Add(OriginalLocation); |
| | | dt_Locations.Add(newLocation); |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | _taskService.AddData(task); |
| | | _locationInfoService.UpdateData(dt_Locations); |
| | | _stockInfoService.UpdateData(dt_StockInfo); |
| | | _unitOfWorkManage.CommitTran(); |
| | | |
| | | |
| | | return webResponse.Error("å·²çæç§»åºä»»å¡"); |
| | | //è¿è¡ä¸åç»å åæºä»»å¡ |
| | | /*WCSginseng result = _taskService.SC_IssueTasks( |
| | | task.TaskId, |
| | | int.Parse(task.Roadway), |
| | | task.TaskNum, |
| | | task.PalletCode, |
| | | int.Parse(task.PalletType), |
| | | task.CurrentAddress, |
| | | task.NextAddress, |
| | | task.TargetAddress); |
| | | if (result.IsSuccess) |
| | | { |
| | | task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationExecuting; |
| | | _taskService.UpdateData(task); |
| | | return webResponse.OK(); |
| | | } |
| | | else |
| | | { |
| | | WriteLog.GetLog("夿巷éå
ç§»åº").Write($"ä¸åå åæºä»»å¡å¤±è´¥ï¼åå ï¼{result.Message}", $"çæç§»åºä»»å¡:GenerateTransferTask"); |
| | | return webResponse.Error(); |
| | | }*/ |
| | | } |
| | | else |
| | | { |
| | | WriteLog.GetLog("夿巷éå
ç§»åº").Write($"ç³è¯·å¨ä½å¼å¨ï¼MESä¸å
许移å¨", $"çæç§»åºä»»å¡:GenerateTransferTask"); |
| | | return webResponse.Error(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | WriteLog.GetLog("夿巷éå
ç§»åº").Write($"ç³è¯·å¨ä½å¼å¨ï¼MESè¿å为空", $"çæç§»åºä»»å¡:GenerateTransferTask"); |
| | | return webResponse.Error(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | WriteLog.GetLog("夿巷éå
ç§»åº").Write($"çæç§»åºä»»å¡å¤±è´¥ï¼{ex.Message}", $"çæç§»åºä»»å¡:GenerateTransferTask"); |
| | | return webResponse.Error(); |
| | | } |
| | | } |
| | | } |
| | | } |