| | |
| | | "WorkspaceRootPath": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 3, |
| | | "SelectedChildIndex": 5, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAAHMAAAAAAAAAAAAnwKYAAABnAAAAAAAAAA==", |
| | | "DocumentIndex": 1, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAAC4BAAAAAAAAAAAEwD4BAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:50:46.677Z", |
| | | "WhenOpened": "2025-11-13T07:42:51.303Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "Dt_Task.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ViewState": "AgIAALIAAAAAAAAAAAAAAMQAAAAQAAAAAAAAAA==", |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAAGMAAAAAAAAAAAAQwH0AAAAhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:26:43.922Z", |
| | | "WhenOpened": "2025-11-13T03:47:39.733Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "DocumentIndex": 0, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAADIAAAAAAAAAAAAvwEoAAAAYAAAAAAAAAA==", |
| | | "ViewState": "AgIAAEQBAAAAAAAAAAAMwFcBAAAqAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:17:18.56Z", |
| | | "WhenOpened": "2025-11-13T02:38:04.697Z", |
| | | "EditorCaption": "" |
| | | } |
| | | ] |
| | |
| | | "WorkspaceRootPath": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAAHMAAAAAAAAAAAAnwKIAAAAqAAAAAAAAAA==", |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAAEYDAAAAAAAAAAAMwEwDAAAXAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:50:46.677Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "Dt_Task.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ViewState": "AgIAALIAAAAAAAAAAAAAAMQAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:26:43.922Z", |
| | | "WhenOpened": "2025-11-13T07:42:51.303Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAAJwAAAAAAAAAAAAQwKAAAABHAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-13T03:47:39.733Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAADIAAAAAAAAAAAAvwEoAAAAYAAAAAAAAAA==", |
| | | "ViewState": "AgIAAEQBAAAAAAAAAAAMwFcBAAAqAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:17:18.56Z", |
| | | "WhenOpened": "2025-11-13T02:38:04.697Z", |
| | | "EditorCaption": "" |
| | | } |
| | | ] |
| | |
| | | /// <returns>è¿åä»»å¡å®ä½å¯¹è±¡éåï¼å¯è½ä¸ºnull</returns> |
| | | List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo); |
| | | |
| | | List<Dt_Task> QueryStackerCraneYKTasks(string deviceNo); |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ´æ°ä»»å¡ä¿¡æ¯åæ·»å 任塿ç»è®°å½ |
| | |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡ç¼å·</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | WebResponseContent StackCraneTaskCompleted(int taskNum); |
| | | bool StackCraneTaskCompleted(int taskNum); |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å®æ |
| | |
| | | |
| | | //int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(); |
| | | |
| | | |
| | | task.TaskState = (int)TaskOutStatusEnum.SC_OutExecuting; |
| | | |
| | | task.Dispatchertime = DateTime.Now; |
| | | } |
| | | else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound) |
| | |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡ç¼å·</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | public WebResponseContent StackCraneTaskCompleted(int taskNum) |
| | | /*public WebResponseContent StackCraneTaskCompleted(int taskNum) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish; |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | BaseDal.UpdateData(task); |
| | | content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}"); |
| | | Console.WriteLine("ä»»å¡å®æï¼wmsåé¦ä¿¡æ¯ï¼"+content.Message); |
| | | //BaseDal.DeleteData(task); |
| | | // _task_HtyService.AddTaskHty(task); éè¦æ·»å ç§»å
¥åå² |
| | | //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"åºåºå®æ"); |
| | | |
| | | } |
| | | else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.InFinish; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}"); |
| | | |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | BaseDal.DeleteData(task); |
| | | // _task_HtyService.AddTaskHty(task); éè¦æ·»å ç§»å
¥åå² |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"å
¥åºå®æ"); |
| | | |
| | | } |
| | | else if (task.TaskType == (int)TaskRelocationTypeEnum.Relocation) |
| | | { |
| | | task.TaskState = (int)TaskRelocationStatusEnum.SC_RelocationFinish; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}"); |
| | | |
| | | |
| | | task.ModifyDate = DateTime.Now; |
| | | BaseDal.DeleteData(task); |
| | | // _task_HtyService.AddTaskHty(task); éè¦æ·»å ç§»å
¥åå² |
| | | BaseDal.UpdateData(task); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"ç§»åºå®æ"); |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup) |
| | | { |
| | | |
| | | BaseDal.DeleteData(task); |
| | | content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}"); |
| | | // _task_HtyService.AddTaskHty(task); éè¦æ·»å ç§»å
¥åå² |
| | | } |
| | | else |
| | | { |
| | |
| | | content = WebResponseContent.Instance.Error($"ä»»å¡å®æå¼å¸¸,ä»»å¡å·:ã{taskNum}ãï¼åå ï¼{ex.Message}"); |
| | | } |
| | | return content; |
| | | }*/ |
| | | |
| | | |
| | | public bool StackCraneTaskCompleted(int taskNum) |
| | | { |
| | | bool res; |
| | | |
| | | try |
| | | { |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | if (task == null) return false; |
| | | |
| | | // éªè¯ä»»å¡ç¶ææ¯å¦å
è®¸å®æ |
| | | if (!IsTaskStateValidForCompletion(task))return false; |
| | | |
| | | // æ ¹æ®ä»»å¡ç±»åå¤ç |
| | | res = ProcessTaskCompletion(task); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | res = false; |
| | | } |
| | | |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// éªè¯ä»»å¡ç¶ææ¯å¦å
è®¸å®æ |
| | | /// </summary> |
| | | private bool IsTaskStateValidForCompletion(Dt_Task task) |
| | | { |
| | | return task.TaskType switch |
| | | { |
| | | (int)TaskOutboundTypeEnum.Outbound => task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting, |
| | | (int)TaskInboundTypeEnum.Inbound => task.TaskState == (int)TaskInStatusEnum.SC_InExecuting, |
| | | (int)TaskRelocationTypeEnum.Relocation => true, // ç§»åºä»»å¡æ²¡æç¹å®ç¶æè¦æ± |
| | | _ => false |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤çä»»å¡å®æé»è¾ |
| | | /// </summary> |
| | | private bool ProcessTaskCompletion(Dt_Task task) |
| | | { |
| | | // æ´æ°ä»»å¡åºç¡ä¿¡æ¯ |
| | | UpdateTaskBaseInfo(task); |
| | | |
| | | bool result = task.TaskType switch |
| | | { |
| | | (int)TaskOutboundTypeEnum.Outbound => ProcessOutboundTask(task), |
| | | (int)TaskInboundTypeEnum.Inbound => ProcessInboundTask(task), |
| | | (int)TaskRelocationTypeEnum.Relocation => ProcessRelocationTask(task), |
| | | _ => throw new Exception($"æªç¥çä»»å¡ç±»å:ã{task.TaskType}ã") |
| | | }; |
| | | |
| | | // éç¥ä»»å¡å®æ |
| | | if (result == true) |
| | | { |
| | | NotifyTaskCompleted(task.TaskNum); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ´æ°ä»»å¡åºç¡ä¿¡æ¯ |
| | | /// </summary> |
| | | private void UpdateTaskBaseInfo(Dt_Task task) |
| | | { |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤çåºåºä»»å¡ |
| | | /// </summary> |
| | | private bool ProcessOutboundTask(Dt_Task task) |
| | | { |
| | | task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish; |
| | | bool res = BaseDal.UpdateData(task); |
| | | |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤çå
¥åºä»»å¡ |
| | | /// </summary> |
| | | private bool ProcessInboundTask(Dt_Task task) |
| | | { |
| | | task.TaskState = (int)TaskInStatusEnum.InFinish; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | // æ·»å å
¥åºåå²è®°å½ |
| | | // _task_HtyService.AddTaskHty(task); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, "å
¥åºå®æ"); |
| | | |
| | | // å
¥åºå®æåå é¤ä»»å¡ |
| | | bool res = BaseDal.DeleteData(task); |
| | | |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¤çç§»åºä»»å¡ |
| | | /// </summary> |
| | | private bool ProcessRelocationTask(Dt_Task task) |
| | | { |
| | | task.TaskState = (int)TaskRelocationStatusEnum.SC_RelocationFinish; |
| | | BaseDal.UpdateData(task); |
| | | |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, "ç§»åºå®æ"); |
| | | |
| | | // ç§»åºå®æåå é¤ä»»å¡ |
| | | bool res = BaseDal.DeleteData(task); |
| | | // _task_HtyService.AddTaskHty(task); |
| | | |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// éç¥ä»»å¡å®æ |
| | | /// </summary> |
| | | private void NotifyTaskCompleted(int taskNum) |
| | | { |
| | | try |
| | | { |
| | | var response = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={taskNum}"); |
| | | if (!response.Status) |
| | | { |
| | | // è®°å½éç¥å¤±è´¥æ¥å¿ï¼ä½ä¸å½±å主æµç¨ |
| | | //_logger.Warn($"ä»»å¡å®æéç¥å¤±è´¥,ä»»å¡å·:ã{taskNum}ã,ååº:ã{response.Message}ã"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // è®°å½å¼å¸¸æ¥å¿ï¼ä½ä¸å½±å主æµç¨ |
| | | // _logger.Error($"ä»»å¡å®æéç¥å¼å¸¸,ä»»å¡å·:ã{taskNum}ã", ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | public Dt_Task GetOutTaskInfo2(string PalletCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting, TaskOrderBy); |
| | | return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish, TaskOrderBy); |
| | | } |
| | | |
| | | public List<Dt_Task> QueryStackerCraneYKTasks(string deviceNo) |
| | | { |
| | | return BaseDal.QueryData(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew, TaskOrderBy); |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | if (flag && value != null) |
| | | { |
| | | OtherDevice device = (OtherDevice)value; |
| | | List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).Distinct().ToList(); |
| | | List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode); |
| | | List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).Distinct().ToList();//è·å设å¤ä¸çç«å° |
| | | List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode); //è·å设å¤ä¸çç«å° |
| | | try |
| | | { |
| | | foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode))) |
| | | foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode))) //循ç¯è®¾å¤ä¸çç«å° |
| | | { |
| | | DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //读å |
| | | DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //è¾é线读åçå
¨é¨åè®® |
| | | |
| | | DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //åå
¥ |
| | | DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //è¾é线åå
¥çå
¨é¨åè®® |
| | | |
| | | if (deviceProRead != null && deviceProWrite != null) //读ååå
¥ |
| | | if (deviceProRead != null && deviceProWrite != null) //读ååå
¥çåè®®å¤ææ¯å¦ä¸ºnull |
| | | { |
| | | R_ConveyorLineInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress); |
| | | R_ConveyorLineInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress); //读ååè®® |
| | | |
| | | W_ConveyorLineInfo conveyorLineInfoWrite = device.Communicator.ReadCustomer<W_ConveyorLineInfo>(deviceProWrite.DeviceProAddress); |
| | | W_ConveyorLineInfo conveyorLineInfoWrite = device.Communicator.ReadCustomer<W_ConveyorLineInfo>(deviceProWrite.DeviceProAddress); //åå
¥åè®® |
| | | if (conveyorLineInfoRead == null || conveyorLineInfoWrite == null) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>(); |
| | | R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>(); //è·å设å¤ç¶æ |
| | | |
| | | ConveyorLineSignal conveyorLineSignalRead = conveyorLineInfoRead.Signal.ByteToBoolObject<ConveyorLineSignal>(); |
| | | bool ACK = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.ACK, item.StationCode); |
| | | ConveyorLineSignal conveyorLineSignalRead = conveyorLineInfoRead.Signal.ByteToBoolObject<ConveyorLineSignal>(); //è·å设å¤ä¿¡å· |
| | | bool ACK = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.ACK, item.StationCode); //è·åACKç¡®è®¤ä¿¡æ¯ |
| | | |
| | | bool STB = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.STB, item.StationCode); |
| | | bool STB = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.STB, item.StationCode); //è·åSTB请æ±ä¿¡æ¯ |
| | | //ConveyorLineSignal conveyorLineSignalWrite = conveyorLineInfoWrite.Signal.ByteToBoolObject<ConveyorLineSignal>(); |
| | | //åºåºç«å° |
| | | if (item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt()) |
| | | if (item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt()) //2007交äºå£è¿å
¥ |
| | | { |
| | | // åºåº |
| | | if (conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//åºåº |
| | | if (conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//2楼åºåº |
| | | { |
| | | if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode)) |
| | | { |
| | |
| | | Dt_Task dt_Ta = _taskService.GetOutTaskInfo2(conveyorLineInfoRead.Barcode); |
| | | if (dt_Ta != null) |
| | | { |
| | | device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); |
| | | device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.OutboundPlatform, item.StationCode); |
| | | device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode); |
| | | device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); |
| | | |
| | | |
| | | //å é¤ä»»å¡ |
| | | _taskRepository.DeleteData(dt_Ta); |
| | |
| | | //åºå
¥åºç«å° |
| | | else if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt()) |
| | | { |
| | | //å
¥åºçæå åæºå
¥åºä»»å¡ |
| | | //è¾éçº¿å®æä¿®æ¹æè¾éçº¿å®æç¶æå¾
å åæºæ§è¡ä»»å¡ |
| | | if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK) |
| | | { |
| | | if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//éè´å
¥åº |
| | | if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode)) |
| | | { |
| | | WebResponseContent contentweb = _taskService.UpdateTaskIninfo(conveyorLineInfoRead.Barcode,item.StationCode); |
| | | WebResponseContent contentweb = _taskService.UpdateTaskIninfo(conveyorLineInfoRead.Barcode,item.StationCode); //æ ¹æ®æ¡ç è·è®¾å¤ç¼å·å»æ¥è¯¢å¹¶ä¿®æ¹ä»»å¡ |
| | | if (contentweb.Status) |
| | | { |
| | | device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); |
| | |
| | | } |
| | | } |
| | | }*/ |
| | | else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//åºåº |
| | | else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//å
¶ä»æ¥¼å±åºåº |
| | | { |
| | | |
| | | Dt_Task dt_Ta = _taskService.GetOutTaskInfo(item.StationCode); |
| | | Dt_Task dt_Ta = _taskService.GetOutTaskInfo(item.StationCode); //è·ååºåºä»»å¡ |
| | | |
| | | if (dt_Ta != null) |
| | | {.1111 |
| | | { |
| | | device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode); |
| | | device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.OutboundPlatform, item.StationCode); |
| | | device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode); |
| | |
| | | else if (!conveyorLineSignalRead.STB && conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && STB && !ACK) |
| | | { |
| | | device.SetValue(W_ConveyorLineDB.STB, false, item.StationCode); |
| | | } |
| | | }//æ¸
æ¥ç¡®è®¤ä¿¡å· |
| | | |
| | | } |
| | | //å
¥åºç«å° |
| | | else if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt()) |
| | | else if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt()) //2014交äºå£ |
| | | { |
| | | if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK) |
| | | { |
| | | if (conveyorLineInfoRead.TaskNo == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//éè´å
¥åº |
| | | { |
| | | Dt_Task dt_Ta = _taskService.GetTaskIninfo(conveyorLineInfoRead.Barcode); |
| | | Dt_Task dt_Ta = _taskService.GetTaskIninfo(conveyorLineInfoRead.Barcode); //éè¿æ¡ç 廿¥è¯¢ä»»å¡ |
| | | if(dt_Ta != null) |
| | | { |
| | | |
| | | device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.SourceAddress, item.StationCode); |
| | | device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode); |
| | | device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); |
| | |
| | | private readonly ICacheService _cacheService; private readonly IRepository<Dt_Router> _routerRepository; |
| | | private readonly IRepository<Dt_StationManger> _stationMangerRepository; |
| | | private readonly IRepository<Dt_Task> _taskRepository; |
| | | //bool SCres = false; |
| | | |
| | | public CommonStackerCraneJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, ICacheService cacheService, IRepository<Dt_Router> routerRepository, IRepository<Dt_StationManger> stationMangerRepository, IRepository<Dt_Task> taskRepository) |
| | | { |
| | |
| | | getStackerObject.CheckStackerCraneTaskCompleted(); |
| | | if (getStackerObject.StackerCraneStatusValue == StackerCraneStatus.Normal) |
| | | { |
| | | var a = speStackerCrane.GetValue<StackerCraneDBName, Int32>(StackerCraneDBName.CurrentTaskNum); |
| | | //var a = speStackerCrane.GetValue<StackerCraneDBName, Int32>(StackerCraneDBName.CurrentTaskNum); |
| | | Dt_Task? task = GetTasks(speStackerCrane); |
| | | if (task != null) |
| | | { |
| | |
| | | bool sendFlag = true; |
| | | if (sendFlag) |
| | | { |
| | | StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); |
| | | StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); //转æ¢ä¸ºå åæºä»»å¡ |
| | | if (stackerCraneTaskCommand != null) |
| | | { |
| | | sendFlag = getStackerObject.SendCommand(stackerCraneTaskCommand); |
| | | sendFlag = getStackerObject.SendCommand(stackerCraneTaskCommand); //åéå åæºä»»å¡ |
| | | if (sendFlag) |
| | | { |
| | | speStackerCrane.SetValue(StackerCraneDBName.CommandSend, 1);//å¯å¨å½ä»¤ |
| | | speStackerCrane.LastTaskType = task.TaskType; |
| | | task.Dispatchertime = DateTime.Now; |
| | | task.ExceptionMessage = ""; |
| | | |
| | | WebResponseContent webResponseContent = _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | //å»¶æ¶1s |
| | | Thread.Sleep(1000); |
| | |
| | | } |
| | | |
| | | |
| | | /* |
| | | // æ·»å äºä»¶è®¢é
ç¶ææ è®° |
| | | private static readonly Dictionary<string, bool> _eventSubscribedMap = new Dictionary<string, bool>(); |
| | | private static readonly object _lockObject = new object(); |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | try |
| | | { |
| | | SpeStackerCrane speStackerCrane = (SpeStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (speStackerCrane != null) |
| | | { |
| | | GetStackerObject getStackerObject = new GetStackerObject(speStackerCrane); |
| | | |
| | | // 使ç¨éç¡®ä¿çº¿ç¨å®å
¨çäºä»¶è®¢é
|
| | | lock (_lockObject) |
| | | { |
| | | string deviceKey = speStackerCrane.DeviceCode; |
| | | if (!_eventSubscribedMap.ContainsKey(deviceKey) || !_eventSubscribedMap[deviceKey]) |
| | | { |
| | | getStackerObject.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler; |
| | | _eventSubscribedMap[deviceKey] = true; |
| | | } |
| | | } |
| | | |
| | | getStackerObject.CheckStackerCraneTaskCompleted(); |
| | | if (getStackerObject.StackerCraneStatusValue == StackerCraneStatus.Normal) |
| | | { |
| | | Dt_Task? task = GetTasks(speStackerCrane); |
| | | if (task != null) |
| | | { |
| | | WriteInfo("æ¥æ¾å åæºä»»å¡å·", $"ä»»å¡ä¿¡æ¯,ä»»å¡å·:{task.TaskNum}ï¼å åæºç¼å·{speStackerCrane.DeviceCode}"); |
| | | bool sendFlag = true; |
| | | if (sendFlag) |
| | | { |
| | | StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); //转æ¢ä¸ºå åæºä»»å¡ |
| | | if (stackerCraneTaskCommand != null) |
| | | { |
| | | sendFlag = getStackerObject.SendCommand(stackerCraneTaskCommand); //åéå åæºä»»å¡ |
| | | if (sendFlag) |
| | | { |
| | | speStackerCrane.SetValue(StackerCraneDBName.CommandSend, 1);//å¯å¨å½ä»¤ |
| | | speStackerCrane.LastTaskType = task.TaskType; |
| | | task.Dispatchertime = DateTime.Now; |
| | | task.ExceptionMessage = ""; |
| | | |
| | | WebResponseContent webResponseContent = _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | //å»¶æ¶1s |
| | | Thread.Sleep(1000); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteError("å åæºä»»å¡æ§è¡å¼å¸¸", ex.Message); |
| | | throw; |
| | | } |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, StackerCraneTaskCompletedEventArgs e) |
| | | { |
| | | SpeStackerCrane? speStackerCrane = sender as SpeStackerCrane; |
| | | if (speStackerCrane != null) |
| | | { |
| | | // 使ç¨éç¡®ä¿åä¸ä»»å¡ä¸ä¼è¢«å¹¶åå¤ç |
| | | lock (_lockObject) |
| | | { |
| | | if (speStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) |
| | | { |
| | | var currentTaskNum = speStackerCrane.GetValue<StackerCraneDBName, Int32>(StackerCraneDBName.CurrentTaskNum); |
| | | WriteInfo("å åæºä»»å¡å®æ", $"PLCä»»å¡å·:{currentTaskNum}, ç³»ç»ä»»å¡å·:{e.TaskNum}, æ¶é´:{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}"); |
| | | |
| | | _taskService.StackCraneTaskCompleted(e.TaskNum); |
| | | WriteInfo("å åæºä»»å¡å®æåé¦ä»»å¡å·", $"ä»»å¡ä¿¡æ¯,ä»»å¡å·:{e.TaskNum}"); |
| | | speStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); |
| | | |
| | | WriteInfo("å åæºä»»å¡ç¶ææ´æ°", $"ä»»å¡{e.TaskNum}å®æç¶æå·²è®¾ç½®"); |
| | | } |
| | | else |
| | | { |
| | | WriteInfo("å åæºä»»å¡éå¤å®æäºä»¶", $"ä»»å¡å·:{e.TaskNum} 已被å¤çï¼å¿½ç¥éå¤äºä»¶"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | */ |
| | | |
| | | private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, StackerCraneTaskCompletedEventArgs e) |
| | | { |
| | | SpeStackerCrane? speStackerCrane = sender as SpeStackerCrane; |
| | |
| | | { |
| | | var TaskNum = speStackerCrane.GetValue<StackerCraneDBName, Int32>(StackerCraneDBName.CurrentTaskNum); |
| | | WriteInfo("å åæºä»»å¡å®æ", $"ä»»å¡å·:{TaskNum}"); |
| | | _taskService.StackCraneTaskCompleted(e.TaskNum); |
| | | WriteInfo("å åæºä»»å¡å®æåé¦ä»»å¡å·", $"ä»»å¡ä¿¡æ¯,ä»»å¡å·:{e.TaskNum}"); |
| | | bool res = _taskService.StackCraneTaskCompleted(e.TaskNum); |
| | | if(res == true) |
| | | { |
| | | speStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); |
| | | |
| | | } |
| | | WriteInfo("å åæºä»»å¡å®æåé¦ä»»å¡å·", $"ä»»å¡ä¿¡æ¯,ä»»å¡å·:{e.TaskNum}"); |
| | | return; |
| | | //SCres=true; |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); //è·åå
¥åºä»»å¡ |
| | | List<Dt_Task> YKtasks = _taskService.QueryStackerCraneYKTasks(commonStackerCrane.DeviceCode); |
| | | |
| | | |
| | | if (task != null) |
| | | { |
| | | if(task.Roadway=="SC02") return task; //妿æä»»å¡åç´æ¥ä¸åç»å åæº |
| | |
| | | |
| | | Dt_Task dt_Task = _taskService.RequestWMSTaskMovelibrary(task); |
| | | if (dt_Task != null) return dt_Task; |
| | | } |
| | | else if (YKtasks.Count > 0) |
| | | { |
| | | foreach (var item in YKtasks) |
| | | { |
| | | if (item.Roadway == "SC01") |
| | | { |
| | | if (item.Depth == 1) return item; |
| | | //è°åWMSæ¥å£è¿è¡å¤ææ¯å¦éè¦è¿è¡ç§»åº |
| | | Dt_Task dt_Task = OutTaskMovelibrary(item); |
| | | if (dt_Task != null) return dt_Task; |
| | | |
| | | else |
| | | { |
| | | return item; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | return task; |
| | | } |
| | | |
| | |
| | | /// æ
é代ç |
| | | /// </summary> |
| | | Err_Status, |
| | | |
| | | /// <summary> |
| | | /// å åæºæ¾è´§å®æç¶æ |
| | | /// </summary> |
| | | StackerCraneWorkStatus |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | sortName: "id", |
| | | }); |
| | | const editFormFields = ref({ |
| | | deviceCode: "", |
| | | deviceName: "", |
| | | deviceType: "", |
| | | deviceStatus: "", |
| | | deviceIp: "", |
| | | devicePort: "", |
| | | devicePlcType: "", |
| | | deviceRemark: "", |
| | | palletCode: "", |
| | | palletType: "", |
| | | locationCode: "", |
| | | warehouseId: "", |
| | | stockStatus: "", |
| | | mesSubPalletCode: "", |
| | | remark: "", |
| | | }); |
| | | const editFormOptions = ref([ |
| | | [ |
| | | { title: "æçç¼å·", field: "palletCode" }, |
| | | { |
| | | title: "ç©æç±»å", |
| | | field: "materialType", |
| | | type: "select", |
| | | dataKey: "InventoryMaterialType", |
| | | data: [], |
| | | }, |
| | | { title: "è´§ä½ç¼å·", field: "locationCode" }, |
| | | { |
| | | title: "åºåç¶æ", |
| | | field: "stockStatus", |
| | | type: "select", |
| | | dataKey: "stockStatusEmun", |
| | | data: [], |
| | | }, |
| | | { title: "è´§ä½ç¼å·", field: "locationCode" }, |
| | | ], |
| | | [ |
| | | { title: "éé", field: "materialweight" }, |
| | | { |
| | | title: "ç©æç¶æ", |
| | | field: "wlstatus", |
| | | title: "æçç±»å", |
| | | field: "palletType", |
| | | type: "select", |
| | | dataKey: "InventoryMaterialStatus", |
| | | data: [] |
| | | dataKey: "InventoryMaterialType", |
| | | data: [], |
| | | }, |
| | | { title: "ä»åºä¸»é®", field: "warehouseId", type: "int" }, |
| | | { title: "åæçç¼å·", field: "mesSubPalletCode" }, |
| | | ], |
| | | [ |
| | | { |
| | | title: "夿³¨", field: "Remark" |
| | | title: "夿³¨", field: "remark" |
| | | } |
| | | ], |
| | | ]); |
| | | const searchFormFields = ref({ |
| | | deviceCode: "", |
| | | deviceType: "", |
| | | deviceStatus: "", |
| | | palletCode: "", |
| | | locationCode: "", |
| | | stockStatus: "", |
| | | warehouseId: "", |
| | | palletType: "", |
| | | mesSubPalletCode: "", |
| | | creater: "", |
| | | createDate: "", |
| | | }); |
| | | const searchFormOptions = ref([ |
| | | [ |
| | | { title: "æçç¼å·", |
| | | field: "palletCode", |
| | | type: "like", |
| | | }, |
| | | { |
| | | title: "ç©æç±»å", |
| | | field: "materialType", |
| | | type: "select", |
| | | dataKey: "InventoryMaterialType", |
| | | data: [], |
| | | }, |
| | | { title: "è´§ä½ç¼å·", field: "locationCode",type: "like", }, |
| | | |
| | | ], |
| | | [ |
| | | { title: "æçç¼å·", field: "palletCode", type: "like" }, |
| | | { |
| | | title: "åºåç¶æ", |
| | | field: "stockStatus", |
| | |
| | | dataKey: "stockStatusEmun", |
| | | data: [], |
| | | }, |
| | | { |
| | | title: "ç©æç¶æ", |
| | | field: "wlstatus", |
| | | type: "selectList", |
| | | dataKey: "InventoryMaterialStatus", |
| | | data: [], |
| | | }, |
| | | { title: "åºåç¼å·", |
| | | field: "id", |
| | | type: "like", |
| | | }, |
| | | { title: "è´§ä½ç¼å·", field: "locationCode", type: "like" }, |
| | | { title: "åºåç¼å·", field: "id", type: "like" }, |
| | | ], |
| | | [ |
| | | { |
| | | title: "æçç±»å", |
| | | field: "palletType", |
| | | type: "selectList", |
| | | dataKey: "InventoryMaterialType", |
| | | data: [], |
| | | }, |
| | | { title: "ä»åºä¸»é®", field: "warehouseId", type: "int" }, |
| | | { title: "åæçç¼å·", field: "mesSubPalletCode", type: "like" }, |
| | | ], |
| | | [ |
| | | { title: "å建人", field: "creater", type: "like" }, |
| | | { title: "å建æ¶é´", field: "createDate", type: "datetime" }, |
| | | { title: "ç产æ¶é´", field: "mgeneratetime", type: "datetime" }, |
| | | ] |
| | | ]); |
| | | const columns = ref([ |
| | |
| | | { |
| | | field: "id", |
| | | title: "åºåç¼å·", |
| | | type: "string", |
| | | type: "int", |
| | | width: 90, |
| | | align: "left", |
| | | DisplayType:"link", |
| | | |
| | | }, |
| | | { |
| | | field: "palletCode", |
| | |
| | | //sort:true, |
| | | }, |
| | | { |
| | | field: "materialType", |
| | | title: "ç©æç±»å", |
| | | type: "string", |
| | | width: 150, |
| | | field: "palletType", |
| | | title: "æçç±»å", |
| | | type: "int", |
| | | width: 100, |
| | | align: "left", |
| | | //sort:true, |
| | | bind: { key: "InventoryMaterialType", data: [] }, |
| | | }, |
| | | { |
| | |
| | | //sort:true, |
| | | }, |
| | | { |
| | | field: "wlstatus", |
| | | title: "ç©æç¶æ", |
| | | type: "string", |
| | | width: 150, |
| | | field: "warehouseId", |
| | | title: "ä»åºä¸»é®", |
| | | type: "int", |
| | | width: 100, |
| | | align: "left", |
| | | // sort:true, |
| | | bind: { key: "InventoryMaterialStatus", data: [] }, |
| | | },{ |
| | | field: "mgeneratetime", |
| | | title: "ç产æ¶é´", |
| | | type: "datetime", |
| | | width: 160, |
| | | align: "left", |
| | | // sort:true, |
| | | }, |
| | | { |
| | | field: "isFull", |
| | | title: "æ¯å¦æ»¡ç", |
| | | type: "string", |
| | | width: 150, |
| | | align: "left", |
| | | // sort:true, |
| | | bind: { key: "yesno", data: [] }, |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "stockStatus", |
| | | title: "åºåç¶æ", |
| | | type: "string", |
| | | type: "int", |
| | | width: 150, |
| | | align: "left", |
| | | // sort:true, |
| | | bind: { key: "stockStatusEmun", data: [] }, |
| | | }, |
| | | { |
| | | field: "materialweight", |
| | | title: "éé(æ°é)", |
| | | field: "mesSubPalletCode", |
| | | title: "åæçç¼å·", |
| | | type: "string", |
| | | width: 150, |
| | | width: 120, |
| | | align: "left", |
| | | // sort:true, |
| | | },{ |
| | | }, |
| | | { |
| | | field: "details", |
| | | title: "åºåæç»", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "remark", |
| | | title: "夿³¨", |
| | | type: "string", |
| | |
| | | targetAddress: "", |
| | | currentAddress: "", |
| | | nextAddress: "", |
| | | orderNo: "", |
| | | grade: "", |
| | | warehouseId: "", |
| | | creater: "", |
| | | createDate: "", |
| | | }); |
| | |
| | | ], |
| | | [ |
| | | { title: "å··éå·", field: "roadway", type: "like" }, |
| | | { title: "åæ®ç¼å·", field: "orderNo", type: "like" }, |
| | | { title: "ä¼å
级", field: "grade", type: "int" }, |
| | | { title: "ä»åºä¸»é®", field: "warehouseId", type: "int" }, |
| | | ], |
| | | [ |
| | | { title: "å建人", field: "creater", type: "like" }, |
| | | { title: "å建æ¶é´", field: "createDate", type: "datetime" }, |
| | | ], |
| | |
| | | { |
| | | field: "sourceAddress", |
| | | title: "èµ·å§å°å", |
| | | type: "int", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | }, |
| | |
| | | hidden:true, |
| | | }, |
| | | { |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "warehouseId", |
| | | title: "ä»åºä¸»é®", |
| | | type: "int", |
| | | width: 100, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "palletType", |
| | | title: "æçç±»å", |
| | | type: "int", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "mesTaskId", |
| | | title: "MESä»»å¡ID", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "mesBusinessId", |
| | | title: "MESä¸å¡æµID", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "mesSubPalletCode", |
| | | title: "åæçç¼å·", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "outboundPlatform", |
| | | title: "åºåºå£", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "wMSId", |
| | | title: "WMSä»»å¡ä¸»é®", |
| | | type: "int", |
| | |
| | | targetAddress: "", |
| | | currentAddress: "", |
| | | nextAddress: "", |
| | | orderNo: "", |
| | | grade: "", |
| | | warehouseId: "", |
| | | operateType: "", |
| | | creater: "", |
| | | createDate: "", |
| | | materialType:"" |
| | |
| | | ], |
| | | [ |
| | | { title: "å··éå·", field: "roadway", type: "like" }, |
| | | { title: "å建人", field: "creater", type: "like" }, |
| | | { title: "å建æ¶é´", field: "createDate", type: "datetime" }, |
| | | { title: "åæ®ç¼å·", field: "orderNo", type: "like" }, |
| | | { title: "ä¼å
级", field: "grade", type: "int" }, |
| | | { title: "ä»åºä¸»é®", field: "warehouseId", type: "int" }, |
| | | ], |
| | | [ |
| | | { title: "æä½ç±»å", field: "operateType", type: "like" }, |
| | | { title: "å建人", field: "creater", type: "like" }, |
| | | { title: "å建æ¶é´", field: "createDate", type: "datetime" }, |
| | | { |
| | | title: "ç©æç±»å", |
| | | field: "materialType", |
| | |
| | | align: "left", |
| | | bind: { key: "taskStatusEnum", data: [] }, |
| | | sort:true, |
| | | },{ |
| | | }, |
| | | { |
| | | field: "materialType", |
| | | title: "ç©æç±»å", |
| | | type: "string", |
| | |
| | | { |
| | | field: "sourceAddress", |
| | | title: "èµ·å§å°å", |
| | | type: "int", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | }, |
| | |
| | | sort:true, |
| | | }, |
| | | { |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "warehouseId", |
| | | title: "ä»åºä¸»é®", |
| | | type: "int", |
| | | width: 100, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "palletType", |
| | | title: "æçç±»å", |
| | | type: "int", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "mesTaskId", |
| | | title: "MESä»»å¡ID", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "mesBusinessId", |
| | | title: "MESä¸å¡æµID", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "mesSubPalletCode", |
| | | title: "åæçç¼å·", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "outboundPlatform", |
| | | title: "åºåºå£", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "sourceId", |
| | | title: "å表主é®", |
| | | type: "int", |
| | | width: 100, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "insertTime", |
| | | title: "ç§»å
¥å岿¶é´", |
| | | type: "datetime", |
| | | width: 150, |
| | | align: "left", |
| | | sort: true, |
| | | }, |
| | | { |
| | | field: "wMSId", |
| | | title: "WMSä»»å¡ä¸»é®", |
| | | type: "int", |
| | |
| | | }, |
| | | { |
| | | field: "operateType", |
| | | title: "夿³¨", |
| | | title: "æä½ç±»å", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | |
| | | ] |
| | | } |
| | | }, |
| | | transpileDependencies: [ |
| | | 'vue-draggable-next' |
| | | ], |
| | | //https://cli.vuejs.org/zh/guide/html-and-static-assets.html#html |
| | | chainWebpack: (config) => { |
| | | // ç§»é¤ prefetch æä»¶ |
| | |
| | | "WorkspaceRootPath": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_wmsserver\\controllers\\tomes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\tomes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\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:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\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:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_basicservice\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_wmsserver\\controllers\\basic\\locationinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\basic\\locationinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_common\\locationenum\\locationtypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\locationenum\\locationtypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\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:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_core\\helper\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\helper\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_dto\\tomes\\relocationtaskmes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\tomes\\relocationtaskmes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_allocation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_allocation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 1, |
| | | "SelectedChildIndex": 9, |
| | | "Children": [ |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "PartialTaskService_Inbound.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ViewState": "AgIAAK0AAAAAAAAAAAAQwCUAAABnAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T09:28:34.626Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "PartialTaskService_Outbound.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "ViewState": "AgIAADkAAAAAAAAAAAAWwEwAAAA4AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T09:28:05.519Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" |
| | |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "ToMes.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAB0AAAAlAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T05:50:37.867Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "PartialTaskService_Inbound.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ViewState": "AgIAAI0AAAAAAAAAAADgv5kAAABRAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T10:02:21.429Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "Title": "LocationInfoController.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "ViewState": "AgIAAAUAAAAAAAAAAAAiwCIAAAAxAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T20:06:01.154Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "ILocationInfoService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "RelativeToolTip": "WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "ViewState": "AgIAAD8AAAAAAAAAAAAkwE0AAAAjAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T10:44:14.653Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 11, |
| | | "Title": "HttpHelper.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "RelativeToolTip": "WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "ViewState": "AgIAAA4AAAAAAAAAAAAnwJwAAABDAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T03:00:56.867Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "TaskController.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ViewState": "AgIAADQAAAAAAAAAAAAiwEcAAAAeAAAAAAAAAA==", |
| | | "ViewState": "AgIAAAsAAAAAAAAAAAAowCIAAAAoAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:33:30.145Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "ITaskService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "ViewState": "AgIAAB4AAAAAAAAAAAAnwDIAAAAgAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T15:27:40.812Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAAOIAAAAAAAAAAAAqwBMBAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T12:45:03.457Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 10, |
| | | "Title": "LocationStatusEnum.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "RelativeToolTip": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T14:42:41.677Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 9, |
| | | "Title": "LocationTypeEnum.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "RelativeToolTip": "WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "ViewState": "AgIAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T14:43:39.24Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "Title": "LocationInfoService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "RelativeToolTip": "WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "ViewState": "AgIAALUBAAAAAAAAAAAswMkBAACzAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-12T15:29:31.672Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 8, |
| | | "Title": "TaskTypeEnum.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "ViewState": "AgIAADwAAAAAAAAAAAAIwFgAAAAdAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T14:43:12.456Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 12, |
| | | "Title": "RelocationTaskMes.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "RelativeToolTip": "WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "ViewState": "AgIAAK4AAAAAAAAAAIA0wL8AAAAwAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-12T08:33:49.909Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 13, |
| | | "Title": "PartialTaskService_Allocation.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "ViewState": "AgIAAHoAAAAAAAAAAADwv5wAAABEAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T15:03:09.887Z" |
| | | } |
| | | ] |
| | | } |
| | |
| | | "WorkspaceRootPath": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_wmsserver\\controllers\\tomes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\tomes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\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:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\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:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{5F260E03-095A-4870-8419-5B72CB62929E}|WIDESEA_IBasicService\\WIDESEA_IBasicService.csproj|solutionrelative:widesea_ibasicservice\\ilocationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_basicservice\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\locationinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_wmsserver\\controllers\\basic\\locationinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\basic\\locationinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_common\\locationenum\\locationtypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\locationenum\\locationtypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\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:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_core\\helper\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\helper\\httphelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_dto\\tomes\\relocationtaskmes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\tomes\\relocationtaskmes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\shenyangliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_allocation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_allocation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 4, |
| | | "SelectedChildIndex": 9, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "PartialTaskService_Inbound.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ViewState": "AgIAABUAAAAAAAAAAADwv4YAAABCAAAAAAAAAA==", |
| | | "Title": "ToMes.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\ToMes.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAB0AAAAlAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T09:28:34.626Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "PartialTaskService_Outbound.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs", |
| | | "ViewState": "AgIAAEgAAAAAAAAAAAAWwFQAAAAvAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T09:28:05.519Z", |
| | | "WhenOpened": "2025-11-10T05:50:37.867Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "PartialTaskService_Inbound.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs", |
| | | "ViewState": "AgIAAI0AAAAAAAAAAADgv5kAAABRAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T10:02:21.429Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "Title": "LocationInfoController.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Basic\\LocationInfoController.cs", |
| | | "ViewState": "AgIAAAUAAAAAAAAAAAAiwCIAAAAxAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T20:06:01.154Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "ILocationInfoService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "RelativeToolTip": "WIDESEA_IBasicService\\ILocationInfoService.cs", |
| | | "ViewState": "AgIAAD8AAAAAAAAAAAAkwE0AAAAjAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T10:44:14.653Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 11, |
| | | "Title": "HttpHelper.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "RelativeToolTip": "WIDESEA_Core\\Helper\\HttpHelper.cs", |
| | | "ViewState": "AgIAAA4AAAAAAAAAAAAnwJwAAABDAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T03:00:56.867Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "TaskController.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs", |
| | | "ViewState": "AgIAAA8AAAAAAAAAAAAAAEcAAAAeAAAAAAAAAA==", |
| | | "ViewState": "AgIAAAsAAAAAAAAAAAAowCIAAAAoAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-06T08:33:30.145Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "ITaskService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs", |
| | | "ViewState": "AgIAAB4AAAAAAAAAAAAnwDIAAAAgAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T15:27:40.812Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAAOIAAAAAAAAAAAAqwBMBAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-11T12:45:03.457Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 10, |
| | | "Title": "LocationStatusEnum.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "RelativeToolTip": "WIDESEA_Common\\LocationEnum\\LocationStatusEnum.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T14:42:41.677Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 9, |
| | | "Title": "LocationTypeEnum.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "RelativeToolTip": "WIDESEA_Common\\LocationEnum\\LocationTypeEnum.cs", |
| | | "ViewState": "AgIAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T14:43:39.24Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "Title": "LocationInfoService.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "RelativeToolTip": "WIDESEA_BasicService\\LocationInfoService.cs", |
| | | "ViewState": "AgIAALUBAAAAAAAAAAAswMkBAACzAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-12T15:29:31.672Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 8, |
| | | "Title": "TaskTypeEnum.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs", |
| | | "ViewState": "AgIAADwAAAAAAAAAAAAIwFgAAAAdAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T14:43:12.456Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 12, |
| | | "Title": "RelocationTaskMes.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "RelativeToolTip": "WIDESEA_DTO\\ToMes\\RelocationTaskMes.cs", |
| | | "ViewState": "AgIAAK4AAAAAAAAAAIA0wL8AAAAwAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-12T08:33:49.909Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 13, |
| | | "Title": "PartialTaskService_Allocation.cs", |
| | | "DocumentMoniker": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "ToolTip": "F:\\\u6C88\u9633\u53F2\u8FBE\u514B\u5229\u5E93\u9879\u76EE\\2025.11.6\\ShenYangLiku\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Allocation.cs", |
| | | "ViewState": "AgIAAHoAAAAAAAAAAADwv5wAAABEAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-11-10T15:03:09.887Z" |
| | | } |
| | | ] |
| | | } |
| | |
| | | LocationType = LocationTypeEnum.Undefined.ObjToInt(), |
| | | RoadwayNo = $"{initializationLocationDTO.Roadway.ToString()}", |
| | | Row = i + 1, |
| | | Depth = depth, |
| | | Depth = 1, |
| | | }; |
| | | locationInfo.LocationCode = $"{locationInfo.RoadwayNo}-{locationInfo.Row.ToString().PadLeft(3, '0')}-{locationInfo.Column.ToString().PadLeft(3, '0')}-{locationInfo.Layer.ToString().PadLeft(3, '0')}-{locationInfo.Depth.ToString().PadLeft(2, '0')}"; |
| | | locationInfo.LocationName = $"{locationInfo.RoadwayNo}å··é{locationInfo.Row.ToString().PadLeft(3, '0')}è¡{locationInfo.Column.ToString().PadLeft(3, '0')}å{locationInfo.Layer.ToString().PadLeft(3, '0')}å±{locationInfo.Depth.ToString().PadLeft(2, '0')}æ·±"; |
| | |
| | | return groupLocations; |
| | | } |
| | | |
| | | public Dt_LocationInfo? GetLocationInfoSC(string v) |
| | | { |
| | | Dt_LocationInfo dt_Location = BaseDal.QueryFirst(x=>x.LocationStatus == (int)LocationStatusEnum.Free&& x.RoadwayNo == v&&x.EnableStatus == (int)EnableStatusEnum.Normal); |
| | | return dt_Location; |
| | | } |
| | | |
| | | public class LocationCache |
| | | { |
| | |
| | | using System; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Linq; |
| | |
| | | |
| | | [Description("å
¥åºæ¤é")] |
| | | å
¥åºæ¤é = 199, |
| | | |
| | | [Description("è°æ¨ä¸")] |
| | | è°æ¨ä¸ = 200, |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// ç§»åºä»»å¡å®æ |
| | | /// </summary> |
| | | public const string MESTransferCompletionFeedback = "MESTransferCompletionFeedback"; |
| | | public const string MESTaskFeedback = "MESTaskFeedback"; |
| | | public const string MESTransferCompletionFeedback = "onHandMoveReport"; |
| | | public const string MESTaskFeedback = "resultReport"; |
| | | |
| | | } |
| | | } |
| | |
| | | using Microsoft.Extensions.Logging; |
| | | using Microsoft.Extensions.Logging; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | Logger.Add(serviceAddress, requestJson, result, beginDate); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// POST请æ±ï¼å¼æ¥çæ¬ï¼- è§£å³405é®é¢ |
| | | /// </summary> |
| | | /// <param name="serviceAddress">æå¡å°å</param> |
| | | /// <param name="requestJson">请æ±JSON</param> |
| | | /// <param name="contentType">å
容类å</param> |
| | | /// <param name="headers">请æ±å¤´</param> |
| | | /// <returns>ååºç»æ</returns> |
| | | /// <summary> |
| | | /// POST请æ±ï¼åæ¥çæ¬ï¼å
¼å®¹åæä»£ç ï¼ |
| | | /// </summary> |
| | | // 妿ä¸é¢çæ¹æ³è¿æé®é¢ï¼ä½¿ç¨è¿ä¸ªç®åçæ¬ |
| | | public static string PostSync(string serviceAddress, string requestJson = "", string contentType = "application/json", Dictionary<string, string>? headers = null) |
| | | { |
| | | string result = string.Empty; |
| | | DateTime beginDate = DateTime.Now; |
| | | try |
| | | { |
| | | using (var httpContent = new StringContent(requestJson, Encoding.UTF8, contentType)) |
| | | using (var httpClient = new HttpClient()) |
| | | { |
| | | httpClient.Timeout = TimeSpan.FromSeconds(600); |
| | | |
| | | // 设置é»è®¤è¯·æ±å¤´ - 使ç¨ç®åç User-Agent |
| | | httpClient.DefaultRequestHeaders.Add("Accept", "*/*"); |
| | | httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate"); |
| | | httpClient.DefaultRequestHeaders.Add("Connection", "keep-alive"); |
| | | httpClient.DefaultRequestHeaders.Add("User-Agent", "WMS-Client/1.0"); // ç®åç User-Agent |
| | | |
| | | if (headers != null) |
| | | { |
| | | foreach (var header in headers) |
| | | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); |
| | | } |
| | | |
| | | var response = httpClient.PostAsync(serviceAddress, httpContent).Result; |
| | | |
| | | Console.WriteLine($"HTTPç¶æç : {(int)response.StatusCode} - {response.StatusCode}"); |
| | | |
| | | if (!response.IsSuccessStatusCode) |
| | | { |
| | | throw new HttpRequestException($"HTTP请æ±å¤±è´¥: {(int)response.StatusCode} - {response.StatusCode}"); |
| | | } |
| | | |
| | | result = response.Content.ReadAsStringAsync().Result; |
| | | return result; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception($"POST请æ±å¤±è´¥: {e.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Logger.Add(serviceAddress, requestJson, result, beginDate); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// GETè¯·æ± |
| | | /// </summary> |
| | | /// <param name="serviceAddress">æå¡å°å</param> |
| | | /// <param name="parameters">请æ±åæ°</param> |
| | | /// <param name="headers">请æ±å¤´</param> |
| | | /// <returns>ååºç»æ</returns> |
| | | public static string GetRequest(string serviceAddress, Dictionary<string, string>? parameters = null, Dictionary<string, string>? headers = null) |
| | | { |
| | | string result = string.Empty; |
| | | DateTime beginDate = DateTime.Now; |
| | | try |
| | | { |
| | | using (var httpClient = new HttpClient()) |
| | | { |
| | | httpClient.Timeout = TimeSpan.FromSeconds(60); |
| | | |
| | | // 设置请æ±å¤´ |
| | | httpClient.DefaultRequestHeaders.Add("Accept", "*/*"); |
| | | httpClient.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate"); |
| | | httpClient.DefaultRequestHeaders.Add("Connection", "keep-alive"); |
| | | httpClient.DefaultRequestHeaders.Add("User-Agent", "WMS-Client/1.0"); |
| | | |
| | | if (headers != null) |
| | | { |
| | | foreach (var header in headers) |
| | | httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); |
| | | } |
| | | |
| | | // æå»ºå¸¦åæ°ç URL |
| | | string url = serviceAddress; |
| | | if (parameters != null && parameters.Count > 0) |
| | | { |
| | | var queryParams = string.Join("&", parameters.Select(p => $"{Uri.EscapeDataString(p.Key)}={Uri.EscapeDataString(p.Value)}")); |
| | | url += (url.Contains("?") ? "&" : "?") + queryParams; |
| | | } |
| | | |
| | | var response = httpClient.GetAsync(url).Result; |
| | | |
| | | Console.WriteLine($"GET ç¶æç : {(int)response.StatusCode} - {response.StatusCode}"); |
| | | |
| | | if (!response.IsSuccessStatusCode) |
| | | { |
| | | throw new HttpRequestException($"GET 请æ±å¤±è´¥: {(int)response.StatusCode} - {response.StatusCode}"); |
| | | } |
| | | |
| | | result = response.Content.ReadAsStringAsync().Result; |
| | | return result; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception($"GET 请æ±å¤±è´¥: {e.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Logger.Add(serviceAddress, parameters != null ? JsonConvert.SerializeObject(parameters) : "No Parameters", result, beginDate); |
| | | } |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel.DataAnnotations; |
| | | |
| | | namespace WIDESEA_DTO.ToMes |
| | | { |
| | | /// <summary> |
| | | /// MESä¸ååºä½è°æ¨ä»»å¡æ¥æ¶DTO |
| | | /// </summary> |
| | | public class AllocationTaskReceived |
| | | { |
| | | /// <summary> |
| | | /// ä¸å¡ID |
| | | /// </summary> |
| | | [Required(ErrorMessage = "ä¸å¡IDä¸è½ä¸ºç©º")] |
| | | public string businessId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ID |
| | | /// </summary> |
| | | [Required(ErrorMessage = "ä»»å¡IDä¸è½ä¸ºç©º")] |
| | | public string taskId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç®æ è´§ä½ç¼ç |
| | | /// </summary> |
| | | [Required(ErrorMessage = "ç®æ è´§ä½ç¼ç ä¸è½ä¸ºç©º")] |
| | | public string locationCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åè´§ä½ç¼ç |
| | | /// </summary> |
| | | [Required(ErrorMessage = "åè´§ä½ç¼ç ä¸è½ä¸ºç©º")] |
| | | public string sourceLocationCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æçç¼ç |
| | | /// </summary> |
| | | [Required(ErrorMessage = "æçç¼ç ä¸è½ä¸ºç©º")] |
| | | public string palletCode { get; set; } |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// åºä½è°æ¨ä»»å¡åé¦DTO |
| | | /// </summary> |
| | | public class AllocationTaskFeedback |
| | | { |
| | | /// <summary> |
| | | /// ä»»å¡ID |
| | | /// </summary> |
| | | public string TaskId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¸å¡ID |
| | | /// </summary> |
| | | public string BusinessId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æçç¼ç |
| | | /// </summary> |
| | | public string PalletCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æºè´§ä½ç¼ç |
| | | /// </summary> |
| | | public string SourceLocationCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç®æ è´§ä½ç¼ç |
| | | /// </summary> |
| | | public string TargetLocationCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç¶æï¼RECEIVED-å·²æ¥æ¶ï¼EXECUTING-æ§è¡ä¸ï¼COMPLETED-已宿ï¼FAILED-失败 |
| | | /// </summary> |
| | | public string TaskStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 宿æ¶é´ |
| | | /// </summary> |
| | | public DateTime? CompletedTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¼å¸¸ç¶æï¼NORMAL-æ£å¸¸ï¼ERROR-å¼å¸¸ |
| | | /// </summary> |
| | | public string ErrorStatus { get; set; } = "NORMAL"; |
| | | |
| | | /// <summary> |
| | | /// å¼å¸¸ä¿¡æ¯ |
| | | /// </summary> |
| | | public string ErrorInfo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½ç±»åï¼AUTO-èªå¨å®æï¼MANUAL-äººå·¥å®æ |
| | | /// </summary> |
| | | public string OperateType { get; set; } |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// ä»»å¡ID |
| | | /// </summary> |
| | | public string TaskId { get; set; } |
| | | public string taskId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åè´§ä½ |
| | | /// </summary> |
| | | public string SourceLocationCode { get; set; } |
| | | public string sourceLocationCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç®æ è´§ä½ç¼ç |
| | | /// </summary> |
| | | public string LocationCode { get; set; } |
| | | public string locationCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æçç¼ç |
| | | /// </summary> |
| | | public string PalletCode { get; set; } |
| | | public string palletCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç¶æ: FINISH-已宿, TRANSFER-è½¬ç§»ä¸ |
| | | /// </summary> |
| | | public string Status { get; set; } |
| | | public string status { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¼å¸¸ç¶æ: NORMAL-æ£å¸¸ï¼ERROR-å¼å¸¸ |
| | | /// </summary> |
| | | public string ErrorStatus { get; set; } |
| | | public string errorStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¼å¸¸ä¿¡æ¯ |
| | | /// </summary> |
| | | public string ErrorInfo { get; set; } |
| | | public string errorInfo { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <summary> |
| | | /// ä»»å¡ID |
| | | /// </summary> |
| | | public string TaskId { get; set; } |
| | | public string taskId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¸å¡ID |
| | | /// </summary> |
| | | public string BusinessId { get; set; } |
| | | public string businessId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æçç¼ç |
| | | /// </summary> |
| | | public string PalletCode { get; set; } |
| | | public string palletCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åæçç¼ç |
| | | /// </summary> |
| | | public string SubPalletCode { get; set; } |
| | | public string subPalletCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è´§ä½ç¼ç |
| | | /// </summary> |
| | | public string LocationCode { get; set; } |
| | | public string locationCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¼å¸¸ç¶æï¼NORMAL-æ£å¸¸ï¼ERROR-å¼å¸¸ |
| | | /// </summary> |
| | | public string ErrorStatus { get; set; } |
| | | public string errorStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¼å¸¸ä¿¡æ¯ |
| | | /// </summary> |
| | | public string ErrorInfo { get; set; } |
| | | public string errorInfo { get; set; } |
| | | } |
| | | |
| | | |
| | |
| | | /// <summary> |
| | | /// è´§ä½ç¼ç |
| | | /// </summary> |
| | | //public string locationCode { get; set; }= "SC02-001-002-007-01"; |
| | | public string locationCode { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æçç¼ç |
| | | /// </summary> |
| | |
| | | /// <param name="roadway"></param> |
| | | /// <returns></returns> |
| | | Dt_LocationInfo? GetLocation(string roadway); |
| | | |
| | | |
| | | Dt_LocationInfo? GetLocationInfoSC(string v); |
| | | } |
| | | } |
| | |
| | | #region << ç æ¬ 注 é >> |
| | | #region << ç æ¬ 注 é >> |
| | | /*---------------------------------------------------------------- |
| | | * å½å空é´ï¼WIDESEA_ITaskInfoService |
| | | * å建è
ï¼è¡ç«¥åº |
| | |
| | | /// <returns></returns> |
| | | ApiResponse<object> sendEnTask(InOutboundTaskReceived outbound); |
| | | |
| | | /// <summary> |
| | | /// MESä¸ååºä½è°æ¨ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="allocationTask">åºä½è°æ¨ä»»å¡ä¿¡æ¯</param> |
| | | /// <returns></returns> |
| | | ApiResponse<object> sendAllocationTask(AllocationTaskReceived allocationTask); |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å®ææ¥å£ |
| | |
| | | /// <param name="TaskNum"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent IsRelocations(int TaskNum); |
| | | |
| | | /// <summary> |
| | | /// 忶任塿¥å£ |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡å·</param> |
| | | /// <returns></returns> |
| | | WebResponseContent Cancelinventory(int taskNum); |
| | | |
| | | |
| | | |
| | |
| | | /// <param name="locationInfo"></param> |
| | | /// <returns></returns> |
| | | ApiResponse<object> updateLocation(LocationInfoDto locationInfo); |
| | | WebResponseContent chuku(string locationCode); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using SqlSugar; |
| | | using WIDESEA_Common.CommonEnum; |
| | | using WIDESEA_Common.LocationEnum; |
| | | using WIDESEA_Common.OtherEnum; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Common.TaskEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_DTO.ToMes; |
| | | using WIDESEA_Model.Models; |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | | public partial class TaskService |
| | | { |
| | | /// <summary> |
| | | /// MESä¸ååºä½è°æ¨ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="allocationTask">åºä½è°æ¨ä»»å¡ä¿¡æ¯</param> |
| | | /// <returns></returns> |
| | | public ApiResponse<object> sendAllocationTask(AllocationTaskReceived allocationTask) |
| | | { |
| | | try |
| | | { |
| | | // åæ°éªè¯ |
| | | if (allocationTask == null) |
| | | return MESresponse("è°æ¨ä»»å¡ä¿¡æ¯ä¸è½ä¸ºç©º", false); |
| | | |
| | | if (string.IsNullOrEmpty(allocationTask.palletCode)) |
| | | return MESresponse("æçç¼ç ä¸è½ä¸ºç©º", false); |
| | | |
| | | if (string.IsNullOrEmpty(allocationTask.sourceLocationCode)) |
| | | return MESresponse("æºè´§ä½ç¼ç ä¸è½ä¸ºç©º", false); |
| | | |
| | | if (string.IsNullOrEmpty(allocationTask.locationCode)) |
| | | return MESresponse("ç®æ è´§ä½ç¼ç ä¸è½ä¸ºç©º", false); |
| | | |
| | | _unitOfWorkManage.BeginTran(); |
| | | |
| | | // éªè¯æçæ¯å¦åå¨ |
| | | var stockInfo = _stockRepository.QueryFirst(x => x.PalletCode == allocationTask.palletCode); |
| | | if (stockInfo == null) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return MESresponse($"æªæ¾å°æçä¿¡æ¯ï¼æçç¼ç ï¼{allocationTask.palletCode}", false); |
| | | } |
| | | |
| | | // éªè¯æºè´§ä½ |
| | | var sourceLocation = _basicService.LocationInfoService.Repository |
| | | .QueryFirst(x => x.LocationCode == allocationTask.sourceLocationCode); |
| | | if (sourceLocation == null) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return MESresponse($"æªæ¾å°æºè´§ä½ä¿¡æ¯ï¼è´§ä½ç¼ç ï¼{allocationTask.sourceLocationCode}", false); |
| | | } |
| | | |
| | | // éªè¯ç®æ è´§ä½ |
| | | var targetLocation = _basicService.LocationInfoService.Repository |
| | | .QueryFirst(x => x.LocationCode == allocationTask.locationCode && x.LocationStatus == (int)LocationStatusEnum.Free); |
| | | if (targetLocation == null) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return MESresponse($"æªæ¾å°ç®æ è´§ä½ä¿¡æ¯ï¼è´§ä½ç¼ç ï¼{allocationTask.locationCode}æè´§ä½ä¸ºå
¶ä»ç¶æ", false); |
| | | } |
| | | |
| | | // éªè¯æçå½åä½ç½®æ¯å¦ä¸æºè´§ä½ä¸è´ |
| | | if (stockInfo.LocationCode != allocationTask.sourceLocationCode) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return MESresponse($"æçå½åä½ç½®ä¸æºè´§ä½ä¸ä¸è´ï¼æçç¼ç ï¼{allocationTask.palletCode}ï¼å½åä½ç½®ï¼{stockInfo.LocationCode}ï¼æºè´§ä½ï¼{allocationTask.sourceLocationCode}", false); |
| | | } |
| | | |
| | | // éªè¯æºè´§ä½ç¶æ |
| | | if (sourceLocation.LocationStatus != (int)LocationStatusEnum.InStock) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return MESresponse($"æºè´§ä½ç¶æå¼å¸¸ï¼è´§ä½ç¼ç ï¼{allocationTask.sourceLocationCode}ï¼å½åç¶æï¼{sourceLocation.LocationStatus}", false); |
| | | } |
| | | |
| | | // éªè¯ç®æ è´§ä½ç¶æ |
| | | if (targetLocation.LocationStatus != (int)LocationStatusEnum.Free) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return MESresponse($"ç®æ è´§ä½ä¸ä¸ºç©ºé²ç¶æï¼è´§ä½ç¼ç ï¼{allocationTask.locationCode}ï¼å½åç¶æï¼{targetLocation.LocationStatus}", false); |
| | | } |
| | | |
| | | // æ£æ¥æ¯å¦å·²åå¨ç¸åçè°æ¨ä»»å¡ |
| | | var existingTask = BaseDal.QueryFirst(x => |
| | | x.PalletCode == allocationTask.palletCode && |
| | | x.SourceAddress == allocationTask.sourceLocationCode && |
| | | x.TargetAddress == allocationTask.locationCode && |
| | | x.TaskType == (int)TaskRelocationTypeEnum.Relocation && |
| | | x.TaskStatus < (int)TaskRelocationStatusEnum.RelocationFinish); |
| | | |
| | | if (existingTask != null) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return MESresponse($"å·²åå¨ç¸åçè°æ¨ä»»å¡ï¼æçç¼ç ï¼{allocationTask.palletCode}ï¼ä»»å¡å·ï¼{existingTask.TaskNum}", false); |
| | | } |
| | | |
| | | // éå®è´§ä½ç¶æ |
| | | sourceLocation.LocationStatus = (int)LocationStatusEnum.InStockLock; |
| | | targetLocation.LocationStatus = (int)LocationStatusEnum.InStockLock; |
| | | |
| | | // æ´æ°åºåç¶æ |
| | | stockInfo.StockStatus = (int)StockStatusEmun.è°æ¨ä¸; |
| | | List<Dt_Task> dt_Tasks = new List<Dt_Task>(); |
| | | |
| | | // åå»ºè°æ¨ä»»å¡ |
| | | Dt_Task allocationTaskEntity = new Dt_Task |
| | | { |
| | | PalletCode = allocationTask.palletCode, |
| | | TaskNum = GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), |
| | | Roadway = sourceLocation.RoadwayNo, |
| | | TaskType = (int)TaskRelocationTypeEnum.Relocation, |
| | | TaskStatus = (int)TaskRelocationStatusEnum.RelocationNew, |
| | | SourceAddress = allocationTask.sourceLocationCode, |
| | | TargetAddress = allocationTask.locationCode, |
| | | CurrentAddress = allocationTask.sourceLocationCode, |
| | | NextAddress = allocationTask.locationCode, |
| | | Grade = 2, // é»è®¤ä¼å
级 |
| | | Creater = "MES", |
| | | Depth = targetLocation.Depth, |
| | | CreateDate = DateTime.Now, |
| | | MEStaskId = allocationTask.taskId, |
| | | MESbusinessId = allocationTask.businessId, |
| | | MESsubPalletCode = "", // æ°ç»æä¸æ²¡ææ¤å段 |
| | | Remark = "MESåºä½è°æ¨ä»»å¡" |
| | | }; |
| | | |
| | | dt_Tasks.Add(allocationTaskEntity); |
| | | |
| | | // æ¹éæ´æ°æ°æ® |
| | | _basicService.LocationInfoService.Repository.UpdateData(sourceLocation); |
| | | _basicService.LocationInfoService.Repository.UpdateData(targetLocation); |
| | | _stockRepository.UpdateData(stockInfo); |
| | | BaseDal.AddData(allocationTaskEntity); |
| | | |
| | | |
| | | var respon = PushTasksToWCS(dt_Tasks, ""); |
| | | if (respon.Status) |
| | | { |
| | | _unitOfWorkManage.CommitTran(); //æäº¤äºå¡ |
| | | return MESresponse("", true); |
| | | } |
| | | else |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); //åæ»äºå¡ |
| | | return MESresponse($"ä¸ååºä½è°æ¨å¤±è´¥ï¼åå ï¼{respon.Message}ï¼", false); |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | // è®°å½é误æ¥å¿ |
| | | Console.WriteLine($"MESåºä½è°æ¨ä»»å¡å建失败: {ex.Message}"); |
| | | return MESresponse($"è°æ¨ä»»å¡å建失败ï¼{ex.Message}", false); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MESååºæ ¼å¼å |
| | | /// </summary> |
| | | /// <param name="message">æ¶æ¯</param> |
| | | /// <param name="success">æ¯å¦æå</param> |
| | | /// <param name="data">æ°æ®</param> |
| | | /// <returns></returns> |
| | | private ApiResponse<object> MESresponse(string message, bool success, object data = null) |
| | | { |
| | | if (success) |
| | | { |
| | | return ApiResponse<object>.SuccessResponse(message, data); |
| | | } |
| | | else |
| | | { |
| | | return ApiResponse<object>.ErrorResponse(message); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | Dt_LocationInfo location = null; |
| | | if (palletInfo.locationCode == null || palletInfo.locationCode == "") |
| | | { |
| | | location = _basicService.LocationInfoService.GetLocationInfo();//è·åå°æ°åºä½ |
| | | if (inboundTask.NodeCode == "1001" || inboundTask.NodeCode == "3001"|| inboundTask.NodeCode == "4001"|| inboundTask.NodeCode == "5001" || inboundTask.NodeCode == "1005") |
| | | { |
| | | location = _basicService.LocationInfoService.GetLocationInfoSC("SC01");//è·åå°æ°åºä½ |
| | | }else if (inboundTask.NodeCode == "2011") |
| | | { |
| | | location = _locationInfoRepository.QueryFirst(x => x.LocationStatus == (int)LocationStatusEnum.Free && x.EnableStatus == (int)EnableStatusEnum.Normal && x.Column > 1 && x.Layer > 6); |
| | | } |
| | | else |
| | | { |
| | | location = _basicService.LocationInfoService.GetLocationInfoSC("SC02");//è·åå°æ°åºä½ |
| | | } |
| | | } |
| | | else |
| | | { |
| | | location = _locationInfoRepository.QueryFirst(x => x.LocationCode == palletInfo.locationCode); |
| | | } |
| | | if (location == null) return MESresponse($"æªæ¾å°è´§ä½ä¿¡æ¯,æ¡ç ï¼{palletInfo.palletCode}", false); |
| | | if (location == null) return MESresponse($"æªæ¾å°è´§ä½ä¿¡æ¯,æ¡ç ï¼{palletInfo.palletCode}", false,0); |
| | | if (location.LocationStatus != (int)LocationStatusEnum.Free) return MESresponse($"æçæ¡ç ï¼{palletInfo.palletCode}ï¼æ¥æ¾å°çè´§ä½ï¼{location.LocationCode},ä¸ä¸ºç©ºè´§ä½ï¼", false); |
| | | |
| | | Dt_StockInfo dt_ = Stockdata.Where(x => x.PalletCode == palletInfo.palletCode).FirstOrDefault(); |
| | |
| | | StockStatus = (int)StockStatusEmun.ç»çæå, |
| | | Creater = "WMS", |
| | | CreateDate = DateTime.Now, |
| | | MESsubPalletCode = palletInfo.palletCode, |
| | | MESsubPalletCode = palletInfo.subPalletCode, |
| | | }; |
| | | Adddtstockt.Add(dt_Stock); |
| | | } |
| | |
| | | #region << ç æ¬ 注 é >> |
| | | #region << ç æ¬ 注 é >> |
| | | /*---------------------------------------------------------------- |
| | | * å½å空é´ï¼WIDESEA_TaskInfoService |
| | | * å建è
ï¼è¡ç«¥åº |
| | |
| | | NextAddress = Nextlocation.LocationCode, |
| | | Grade = 1, |
| | | Creater = "WMS", |
| | | Depth = ShallowLocation.Depth, |
| | | Depth = Nextlocation.Depth, |
| | | CreateDate = DateTime.Now, |
| | | }; |
| | | |
| | | _locationInfoRepository.AddData(loca); |
| | | _locationInfoRepository.UpdateData(loca); |
| | | BaseDal.AddData(dt_Task); //æ°å¢ä»»å¡ |
| | | _unitOfWorkManage.CommitTran(); |
| | | |
| | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | |
| | | WebResponseContent content=MES_TransferCompletionFeedback(task); |
| | | //content.Status = true; |
| | | |
| | | if (!content.Status) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.äººå·¥å®æ : OperateTypeEnum.èªå¨å®æ); |
| | | |
| | | |
| | | /*WebResponseContent content = TaskCompletionFeedback(task); |
| | | WebResponseContent content = TaskCompletionFeedback(task); |
| | | //content.Status = true; |
| | | if (!content.Status) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return content; |
| | | }*/ |
| | | } |
| | | |
| | | //Thread.Sleep(5000); |
| | | |
| | | _unitOfWorkManage.CommitTran(); |
| | | } |
| | |
| | | |
| | | BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.èªå¨å®æ : OperateTypeEnum.äººå·¥å®æ); |
| | | _locationStatusChangeRecordService.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockStatusEmun.åºåºå®æ.ObjToInt(), "1", task.TaskNum); |
| | | /*WebResponseContent content = TaskCompletionFeedback(task); |
| | | WebResponseContent content = TaskCompletionFeedback(task); |
| | | //content.Status = true; |
| | | |
| | | if (!content.Status) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return content; |
| | | }*/ |
| | | |
| | | } |
| | | //Thread.Sleep(5000); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return webResponse.OK(); |
| | | } |
| | |
| | | |
| | | try |
| | | { |
| | | string locationCode = null; |
| | | if (dt_Task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | locationCode = dt_Task.SourceAddress; |
| | | } |
| | | else |
| | | { |
| | | locationCode = dt_Task.TargetAddress; |
| | | } |
| | | TransferRequest transferRequest = new TransferRequest() |
| | | { |
| | | //ä¸å¡idï¼ä»»å¡idåç»è¿è¡æ´æ¹ |
| | | businessId = "1", |
| | | TaskId = "1", |
| | | SourceLocationCode = dt_Task.SourceAddress, |
| | | LocationCode = dt_Task.TargetAddress, |
| | | PalletCode = dt_Task.PalletCode, |
| | | Status = "FINISH", |
| | | ErrorStatus = "NORMAL", |
| | | ErrorInfo = "", |
| | | taskId = dt_Task.MEStaskId, //ä»»å¡id |
| | | businessId = dt_Task.MESbusinessId, //ä¸å¡id |
| | | sourceLocationCode = dt_Task.SourceAddress, |
| | | locationCode = locationCode, |
| | | palletCode = dt_Task.PalletCode, |
| | | status = "FINISH", |
| | | errorStatus = "NORMAL", |
| | | errorInfo = "", |
| | | }; |
| | | |
| | | //è·åæ¥å£è¿è¡è°å |
| | |
| | | { |
| | | return webResponse.Error($"è°åæ¥å£å¤±è´¥ï¼åé¦åæ°ä¸ºç©º"); |
| | | } |
| | | |
| | | return webResponse.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | |
| | | try |
| | | { |
| | | string locationCode = null; |
| | | if (dt_Task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | locationCode = dt_Task.SourceAddress; |
| | | } |
| | | else |
| | | { |
| | | locationCode = dt_Task.TargetAddress; |
| | | } |
| | | TaskNotification transferRequest = new TaskNotification() |
| | | { |
| | | //ä¸å¡idï¼ä»»å¡idåç»è¿è¡æ´æ¹ |
| | | TaskId = "1", //ä»»å¡id |
| | | BusinessId = "1", //ä¸å¡id |
| | | PalletCode = dt_Task.PalletCode, |
| | | SubPalletCode = "",//åæçç¼ç |
| | | LocationCode = dt_Task.SourceAddress, |
| | | ErrorStatus = "NORMAL", |
| | | ErrorInfo = "", |
| | | taskId = dt_Task.MEStaskId, //ä»»å¡id |
| | | businessId = dt_Task.MESbusinessId, //ä¸å¡id |
| | | palletCode = dt_Task.PalletCode, |
| | | subPalletCode = dt_Task.MESsubPalletCode,//åæçç¼ç |
| | | locationCode = locationCode, |
| | | errorStatus = "NORMAL", |
| | | errorInfo = "", |
| | | }; |
| | | |
| | | //è·åæ¥å£è¿è¡è°å |
| | |
| | | { |
| | | return webResponse.Error($"ä»»å¡åé¦MESå¤±è´¥ï¼æªé
ç½®MESä»»å¡å®æå馿¥å£"); |
| | | } |
| | | var respon = HttpHelper.Post(WCSReceiveTaskAPI, JsonConvert.SerializeObject(transferRequest)); |
| | | |
| | | // æ·»å è°è¯ä¿¡æ¯ |
| | | string requestJson = JsonConvert.SerializeObject(transferRequest); |
| | | //Console.WriteLine($"MESå馿¥å£URL: {WCSReceiveTaskAPI}"); |
| | | //Console.WriteLine($"MESåé¦è¯·æ±æ°æ®: {requestJson}"); |
| | | |
| | | // 使ç¨ä¿®å¤åçPostSyncæ¹æ³ï¼å·²å¨PostSyncä¸è®¾ç½®é»è®¤è¯·æ±å¤´ï¼ |
| | | var respon = HttpHelper.Post(WCSReceiveTaskAPI, requestJson); |
| | | if (respon != null) |
| | | { |
| | | var response = JsonConvert.DeserializeObject<ApiResponse<object>>(respon); |
| | |
| | | } |
| | | } |
| | | |
| | | public ApiResponse<object> MESresponse(string Message, bool Success) |
| | | public ApiResponse<object> MESresponse(string Message, bool Success,int Code) |
| | | { |
| | | ApiResponse<object> apiResponse = new ApiResponse<object>(); |
| | | apiResponse.Message = Message; |
| | |
| | | return apiResponse; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 忶任塿¥å£ |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡å·</param> |
| | | /// <returns></returns> |
| | | public WebResponseContent Cancelinventory(int taskNum) |
| | | { |
| | | WebResponseContent webResponse = new WebResponseContent(); |
| | | try |
| | | { |
| | | // æ¥æ¾ä»»å¡ |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.TaskStatus == TaskOutStatusEnum.OutFinish.ObjToInt()); |
| | | if (task == null) |
| | | { |
| | | return webResponse.Error($"æªæ¾å°ä»»å¡å·ä¸ºã{taskNum}ãçä»»å¡ä¿¡æ¯"); |
| | | } |
| | | |
| | | // TODO: è¿éåç»éè¦æ·»å å
·ä½çåæ¶ä»»å¡ä¸å¡é»è¾ |
| | | // ä¾å¦ï¼æ´æ°ä»»å¡ç¶æãéæ¾è´§ä½ãéç¥WCSç |
| | | |
| | | return webResponse.OK("ä»»å¡åæ¶æå"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return webResponse.Error($"åæ¶ä»»å¡å¤±è´¥ï¼åå ï¼{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå»ºè´§ä½ |
| | |
| | | } |
| | | return MESresponse($"", true); |
| | | } |
| | | |
| | | |
| | | public static string GetLastPart(string locationCode) |
| | | { |
| | | string[] parts = locationCode.Split('-'); |
| | | return parts[parts.Length - 1]; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// åºåº |
| | | /// </summary> |
| | | /// <param name="locationCode"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public WebResponseContent chuku(string locationCode) |
| | | { |
| | | |
| | | try |
| | | { |
| | | int result = GetLastPart(locationCode).ObjToInt(); // è¿å "C03" |
| | | List<Dt_Task> dt_s = new List<Dt_Task>(); |
| | | //çæç§»å¨ä»»å¡ |
| | | Dt_Task dt_Task = new() |
| | | { |
| | | PalletCode = "1111", |
| | | TaskNum = 111, |
| | | Roadway = "SC01", |
| | | TaskType = TaskOutboundTypeEnum.Outbound.ObjToInt(), |
| | | TaskStatus = TaskOutStatusEnum.OutNew.ObjToInt(), |
| | | SourceAddress = locationCode, |
| | | TargetAddress = "1002", |
| | | CurrentAddress = locationCode, |
| | | NextAddress = "1002", |
| | | Grade = 1, |
| | | Creater = "MES", |
| | | Depth = result, |
| | | CreateDate = DateTime.Now, |
| | | MEStaskId = "111", |
| | | MESbusinessId = "123456", |
| | | MESsubPalletCode = "", |
| | | OutboundPlatform = "1001" |
| | | }; |
| | | |
| | | //å建ç»çä¿¡æ¯ |
| | | var dt_Stock = new Dt_StockInfo |
| | | { |
| | | PalletCode = dt_Task.PalletCode, |
| | | PalletType = 1, |
| | | LocationCode = locationCode, |
| | | StockStatus = 6, |
| | | Creater = "WMS", |
| | | CreateDate = DateTime.Now, |
| | | MESsubPalletCode = dt_Task.MESsubPalletCode, |
| | | }; |
| | | |
| | | Dt_LocationInfo dt_LocationInfo = _locationInfoRepository.QueryFirst(x => x.LocationCode == locationCode); |
| | | dt_LocationInfo.LocationStatus = (int)LocationStatusEnum.InStockLock; |
| | | |
| | | bool l = _locationInfoRepository.UpdateData(dt_LocationInfo); |
| | | int s = _stockRepository.AddData(dt_Stock); |
| | | int t = BaseDal.AddData(dt_Task); |
| | | bool ss = s.ObjToBool(); |
| | | bool tt = t.ObjToBool(); |
| | | |
| | | |
| | | if (!l && !ss && tt) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | } |
| | | |
| | | dt_s.Add(dt_Task); |
| | | var respon = PushTasksToWCS(dt_s, ""); |
| | | if (respon.Status) |
| | | { |
| | | _unitOfWorkManage.CommitTran(); //æäº¤äºå¡ |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | return WebResponseContent.Instance.Error(); |
| | | } |
| | | catch |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return WebResponseContent.Instance.Error(); |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Newtonsoft.Json; |
| | | using Quartz; |
| | | using System.ComponentModel; |
| | | using System.Reflection; |
| | | using WIDESEA_Common.CommonEnum; |
| | | using WIDESEA_Common.LocationEnum; |
| | | using WIDESEA_Common.MaterielEnum; |
| | | using WIDESEA_Common.StockEnum; |
| | | using WIDESEA_Common.TaskEnum; |
| | | using WIDESEA_Core.BaseController; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Caches; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_DTO.System; |
| | | using WIDESEA_ISystemService; |
| | | using WIDESEA_Model.Models; |
| | | using WIDESEA_DTO.System; |
| | | |
| | | namespace WIDESEA_WMSServer.Controllers |
| | | { |
| | |
| | | public class Sys_DictionaryController : ApiBaseController<ISys_DictionaryService, Sys_Dictionary> |
| | | { |
| | | private readonly IHttpContextAccessor _httpContextAccessor; |
| | | public Sys_DictionaryController(ISys_DictionaryService service, IHttpContextAccessor httpContextAccessor) : base(service) |
| | | private readonly ICacheService _cacheService; |
| | | |
| | | public Sys_DictionaryController(ISys_DictionaryService service, IHttpContextAccessor httpContextAccessor, ICacheService cacheService) : base(service) |
| | | { |
| | | _httpContextAccessor = httpContextAccessor; |
| | | _cacheService = cacheService; |
| | | } |
| | | |
| | | [HttpPost, Route("GetVueDictionary"), AllowAnonymous] |
| | | public IActionResult GetVueDictionary([FromBody] string[] dicNos) |
| | | { |
| | | return Json(Service.GetVueDictionary(dicNos)); |
| | | List<VueDictionaryDTO> vueDictionaryDTOs = Service.GetVueDictionary(dicNos); |
| | | try |
| | | { |
| | | List<string> selectDicNos = vueDictionaryDTOs.Select(x => x.DicNo).ToList(); |
| | | List<string> cacheDicNos = new List<string>(); |
| | | foreach (string n in dicNos.Where(x => !selectDicNos.Contains(x))) |
| | | { |
| | | string? str = _cacheService.Get(n); |
| | | if (!string.IsNullOrEmpty(str)) |
| | | { |
| | | VueDictionaryDTO? vueDictionary = JsonConvert.DeserializeObject<VueDictionaryDTO>(str); |
| | | |
| | | if (vueDictionary != null) |
| | | { |
| | | vueDictionaryDTOs.Add(vueDictionary); |
| | | cacheDicNos.Add(n); |
| | | } |
| | | } |
| | | } |
| | | List<string> dicList = dicNos.ToList(); |
| | | List<string> otherDicNos = dicNos.Where(x => !cacheDicNos.Contains(x) && !selectDicNos.Contains(x)).ToList(); |
| | | if (otherDicNos.Count() > 0) |
| | | { |
| | | string str = AppSettings.Configuration["dics"]; |
| | | if (!string.IsNullOrEmpty(str)) |
| | | { |
| | | List<string> cusDics = new List<string>(); |
| | | |
| | | List<string> dics = str.Split(",").ToList(); |
| | | |
| | | foreach (var item in otherDicNos) |
| | | { |
| | | if (dics.Contains(item)) |
| | | { |
| | | cusDics.Add(item); |
| | | } |
| | | } |
| | | |
| | | foreach (var item in cusDics) |
| | | { |
| | | VueDictionaryDTO? vueDictionaryDTO = GetVueDictionary(item.Trim()); |
| | | if (vueDictionaryDTO != null) |
| | | { |
| | | vueDictionaryDTOs.Add(vueDictionaryDTO); |
| | | if (!_cacheService.Exists(item)) |
| | | { |
| | | _cacheService.Add(item, vueDictionaryDTO.Serialize()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | return Json(vueDictionaryDTOs); |
| | | } |
| | | |
| | | private VueDictionaryDTO? GetVueDictionary(string key) |
| | | { |
| | | VueDictionaryDTO? result = null; |
| | | try |
| | | { |
| | | switch (key) |
| | | { |
| | | case "jobAssembly": |
| | | { |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = new List<object>() { new { key = "WIDESEAWCS_Tasks", value = "WIDESEAWCS_Tasks" } } }; |
| | | |
| | | } |
| | | break; |
| | | case "jobClassName": |
| | | { |
| | | Type type = typeof(IJob); |
| | | var basePath = AppContext.BaseDirectory; |
| | | string path = Path.Combine(basePath, $"WIDESEAWCS_Tasks"); |
| | | Assembly assembly = Assembly.LoadFrom(path); |
| | | List<Type> types = assembly.GetTypes().Where(x => type.IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface).ToList(); |
| | | |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = types.Select(x => new { key = x.Name, value = x.Name }) }; |
| | | } |
| | | break; |
| | | case "taskState": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | |
| | | #region TaskInStatusEnum |
| | | { |
| | | Type type = typeof(TaskInStatusEnum); |
| | | List<int> enums = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList(); |
| | | int index = 0; |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | if (description != null) |
| | | { |
| | | data.Add(new { key = item.ToString(), value = description.Description }); |
| | | } |
| | | else |
| | | { |
| | | data.Add(new { key = item.ToString(), value = item.ToString() }); |
| | | } |
| | | index++; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region TaskOutStatusEnum |
| | | { |
| | | Type type = typeof(TaskOutStatusEnum); |
| | | List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList(); |
| | | int index = 0; |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | if (description != null) |
| | | { |
| | | data.Add(new { key = item.ToString(), value = description.Description }); |
| | | } |
| | | else |
| | | { |
| | | data.Add(new { key = item.ToString(), value = item.ToString() }); |
| | | } |
| | | index++; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region TaskRelocationStatusEnum |
| | | { |
| | | Type type = typeof(TaskRelocationStatusEnum); |
| | | List<int> enums = Enum.GetValues(typeof(TaskRelocationStatusEnum)).Cast<int>().ToList(); |
| | | int index = 0; |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskRelocationStatusEnum).GetField(((TaskRelocationStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | if (description != null) |
| | | { |
| | | data.Add(new { key = item.ToString(), value = description.Description }); |
| | | } |
| | | else |
| | | { |
| | | data.Add(new { key = item.ToString(), value = item.ToString() }); |
| | | } |
| | | index++; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskInStatus": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskOutStatus": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskRelocationStatus": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(TaskRelocationStatusEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskRelocationStatusEnum).GetField(((TaskRelocationStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskInboundType": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskInboundTypeEnum).GetField(((TaskInboundTypeEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskOutboundType": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskOutboundTypeEnum).GetField(((TaskOutboundTypeEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskRelocationType": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(TaskRelocationTypeEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskRelocationTypeEnum).GetField(((TaskRelocationTypeEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskTypeGroup": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(TaskTypeGroup)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(TaskTypeGroup).GetField(((TaskTypeGroup)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : ((TaskTypeGroup)item).ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskTypeEnum": |
| | | { |
| | | // åå¹¶å
¥åº/åºåº/ç§»åºä»»å¡ç±»å |
| | | List<object> data = new List<object>(); |
| | | foreach (var item in Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>()) |
| | | { |
| | | var field = typeof(TaskInboundTypeEnum).GetField(((TaskInboundTypeEnum)item).ToString()); |
| | | var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString(); |
| | | data.Add(new { key = item.ToString(), value = desc }); |
| | | } |
| | | foreach (var item in Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>()) |
| | | { |
| | | var field = typeof(TaskOutboundTypeEnum).GetField(((TaskOutboundTypeEnum)item).ToString()); |
| | | var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString(); |
| | | data.Add(new { key = item.ToString(), value = desc }); |
| | | } |
| | | foreach (var item in Enum.GetValues(typeof(TaskRelocationTypeEnum)).Cast<int>()) |
| | | { |
| | | var field = typeof(TaskRelocationTypeEnum).GetField(((TaskRelocationTypeEnum)item).ToString()); |
| | | var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString(); |
| | | data.Add(new { key = item.ToString(), value = desc }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "taskStatusEnum": |
| | | { |
| | | // åå¹¶å
¥åº/åºåº/ç§»åºä»»å¡ç¶æ |
| | | List<object> data = new List<object>(); |
| | | foreach (var item in Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>()) |
| | | { |
| | | var field = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString()); |
| | | var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString(); |
| | | data.Add(new { key = item.ToString(), value = desc }); |
| | | } |
| | | foreach (var item in Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>()) |
| | | { |
| | | var field = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString()); |
| | | var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString(); |
| | | data.Add(new { key = item.ToString(), value = desc }); |
| | | } |
| | | foreach (var item in Enum.GetValues(typeof(TaskRelocationStatusEnum)).Cast<int>()) |
| | | { |
| | | var field = typeof(TaskRelocationStatusEnum).GetField(((TaskRelocationStatusEnum)item).ToString()); |
| | | var desc = field?.GetCustomAttribute<DescriptionAttribute>()?.Description ?? item.ToString(); |
| | | data.Add(new { key = item.ToString(), value = desc }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "stockChangeTypeEnum": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(StockChangeTypeEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(StockChangeTypeEnum).GetField(((StockChangeTypeEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "stockStatusEmun": |
| | | { |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(StockStatusEmun)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(StockStatusEmun).GetField(((StockStatusEmun)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "yesno": |
| | | { |
| | | // 使ç¨çå®çæ¯å¦æä¸¾ |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(WhetherEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(WhetherEnum).GetField(((WhetherEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | string displayName = description?.Description ?? ((WhetherEnum)item).ToString(); |
| | | // æ ¹æ®æä¸¾å¼æä¾ä¸æåç§° |
| | | switch ((WhetherEnum)item) |
| | | { |
| | | case WhetherEnum.True: |
| | | displayName = "æ¯"; |
| | | break; |
| | | case WhetherEnum.False: |
| | | displayName = "å¦"; |
| | | break; |
| | | } |
| | | data.Add(new { key = item.ToString(), value = displayName }); |
| | | } |
| | | // 为å
¼å®¹æ§ï¼åæ¶æ¯æ true/false å符串 |
| | | data.Add(new { key = "true", value = "æ¯" }); |
| | | data.Add(new { key = "false", value = "å¦" }); |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "InventoryMaterialType": |
| | | { |
| | | // 使ç¨çå®çç©æç±»åæä¸¾ |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(MaterielTypeEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(MaterielTypeEnum).GetField(((MaterielTypeEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | string displayName = description?.Description ?? ((MaterielTypeEnum)item).ToString(); |
| | | // æ ¹æ®æä¸¾å¼æä¾ä¸æåç§° |
| | | switch ((MaterielTypeEnum)item) |
| | | { |
| | | case MaterielTypeEnum.FinishProduct: |
| | | displayName = "æå"; |
| | | break; |
| | | case MaterielTypeEnum.HalfProduct: |
| | | displayName = "åæå"; |
| | | break; |
| | | case MaterielTypeEnum.RawMateriel: |
| | | displayName = "åææ"; |
| | | break; |
| | | case MaterielTypeEnum.SpareParts: |
| | | displayName = "å¤ä»¶"; |
| | | break; |
| | | } |
| | | data.Add(new { key = item.ToString(), value = displayName }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "MaterielSourceType": |
| | | { |
| | | // ç©ææ¥æºç±»åæä¸¾ |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(MaterielSourceTypeEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(MaterielSourceTypeEnum).GetField(((MaterielSourceTypeEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | string displayName = description?.Description ?? ((MaterielSourceTypeEnum)item).ToString(); |
| | | // æ ¹æ®æä¸¾å¼æä¾ä¸æåç§° |
| | | switch ((MaterielSourceTypeEnum)item) |
| | | { |
| | | case MaterielSourceTypeEnum.PurchasePart: |
| | | displayName = "éè´ä»¶"; |
| | | break; |
| | | case MaterielSourceTypeEnum.SelfMadePart: |
| | | displayName = "èªå¶ä»¶"; |
| | | break; |
| | | case MaterielSourceTypeEnum.PurchaseAndSelf: |
| | | displayName = "éè´&èªå¶ä»¶"; |
| | | break; |
| | | } |
| | | data.Add(new { key = item.ToString(), value = displayName }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "InventoryMaterialStatus": |
| | | { |
| | | // ç©æç¶æåå
¸ - æ ¹æ®ä¸å¡éæ±å®ä¹ |
| | | List<object> data = new List<object> |
| | | { |
| | | new { key = "1", value = "æ£å¸¸" }, |
| | | new { key = "2", value = "å¾
æ£" }, |
| | | new { key = "3", value = "åæ ¼" }, |
| | | new { key = "4", value = "ä¸åæ ¼" }, |
| | | new { key = "5", value = "å»ç»" }, |
| | | new { key = "6", value = "æ¥åº" }, |
| | | new { key = "7", value = "è¿æ" }, |
| | | new { key = "8", value = "æå" } |
| | | }; |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "locationStatusEnum": |
| | | { |
| | | // è´§ä½ç¶ææä¸¾ |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(LocationStatusEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(LocationStatusEnum).GetField(((LocationStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "locationTypeEnum": |
| | | { |
| | | // è´§ä½ç±»åæä¸¾ |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(LocationTypeEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(LocationTypeEnum).GetField(((LocationTypeEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | case "enableStatusEnum": |
| | | { |
| | | // è´§ä½ç¦ç¨ç¶ææä¸¾ |
| | | List<object> data = new List<object>(); |
| | | List<int> enums = Enum.GetValues(typeof(EnableStatusEnum)).Cast<int>().ToList(); |
| | | foreach (var item in enums) |
| | | { |
| | | FieldInfo? fieldInfo = typeof(EnableStatusEnum).GetField(((EnableStatusEnum)item).ToString()); |
| | | DescriptionAttribute? description = fieldInfo?.GetCustomAttribute<DescriptionAttribute>(); |
| | | data.Add(new { key = item.ToString(), value = description != null ? description.Description : item.ToString() }); |
| | | } |
| | | result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data }; |
| | | } |
| | | break; |
| | | } |
| | | return result; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using WIDESEA_Common.CommonEnum; |
| | |
| | | return Service.IsRelocations(taskNum); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 忶任塿¥å£ |
| | | /// </summary> |
| | | /// <param name="taskNum">ä»»å¡å·</param> |
| | | /// <returns></returns> |
| | | [HttpGet, Route("Cancelinventory"), AllowAnonymous] |
| | | public WebResponseContent Cancelinventory(int taskNum) |
| | | { |
| | | return Service.Cancelinventory(taskNum); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | return Service.DeviceRequestInboundTaskSimple(stationCode, palletCode); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MESä¸ååºåºä»»å¡ |
| | | /// </summary> |
| | | /// <param name="taskNum"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, HttpGet, Route("sendExTask"), AllowAnonymous] |
| | | public ApiResponse<object> sendExTask([FromBody] InOutboundTaskReceived outbound) |
| | | { |
| | | return Service.sendExTask(outbound); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MESä¸åå
¥åºä»»å¡ |
| | | /// </summary> |
| | | /// <param name="taskNum"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, HttpGet, Route("sendEnTask"), AllowAnonymous] |
| | | public ApiResponse<object> sendEnTask([FromBody] InOutboundTaskReceived outbound) |
| | | [HttpGet, Route("chuku"), AllowAnonymous] |
| | | public WebResponseContent chuku(string locationCode) |
| | | { |
| | | return Service.sendEnTask(outbound); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ°å»ºè´§ä½ |
| | | /// </summary> |
| | | [HttpPost, HttpGet, Route("createLocation"), AllowAnonymous] |
| | | public ApiResponse<object> createLocation([FromBody] List<LocationInfoDto> locationInfo) |
| | | { |
| | | return Service.createLocation(locationInfo); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹è´§ä½ |
| | | /// </summary> |
| | | [HttpPost, HttpGet, Route("updateLocation"), AllowAnonymous] |
| | | public ApiResponse<object> updateLocation([FromBody] LocationInfoDto locationInfo) |
| | | { |
| | | return Service.updateLocation(locationInfo); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å é¤è´§ä½ |
| | | /// </summary> |
| | | [HttpPost, HttpGet, Route("deleteLocation"), AllowAnonymous] |
| | | public ApiResponse<object> deleteLocation([FromBody] List<string> locationCode) |
| | | { |
| | | return Service.deleteLocation(locationCode); |
| | | return Service.chuku(locationCode); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Autofac.Core; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using WIDESEA_Core.BaseController; |
| | | using WIDESEA_DTO.ToMes; |
| | | using WIDESEA_ITaskInfoService; |
| | | using WIDESEA_Model.Models; |
| | | |
| | | namespace WIDESEA_WMSServer.Controllers |
| | | { |
| | | |
| | | /// <summary> |
| | | /// 䏿¸¸æ¥å£ |
| | | /// </summary> |
| | | [Route("v1/pallet/rmsPalletTask")] |
| | | [ApiController] |
| | | public class ToMes : ApiBaseController<ITaskService, Dt_Task> |
| | | { |
| | | public ToMes(ITaskService service) : base(service) |
| | | { |
| | | } |
| | | /// <summary> |
| | | /// MESä¸ååºåºä»»å¡ |
| | | /// </summary> |
| | | /// <param name="taskNum"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, HttpGet, Route("sendExTask"), AllowAnonymous] |
| | | public ApiResponse<object> sendExTask([FromBody] InOutboundTaskReceived outbound) |
| | | { |
| | | return Service.sendExTask(outbound); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MESä¸åå
¥åºä»»å¡ |
| | | /// </summary> |
| | | /// <param name="taskNum"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, HttpGet, Route("sendEnTask"), AllowAnonymous] |
| | | public ApiResponse<object> sendEnTask([FromBody] InOutboundTaskReceived outbound) |
| | | { |
| | | return Service.sendEnTask(outbound); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ°å»ºè´§ä½ |
| | | /// </summary> |
| | | [HttpPost, HttpGet, Route("createLocation"), AllowAnonymous] |
| | | public ApiResponse<object> createLocation([FromBody] List<LocationInfoDto> locationInfo) |
| | | { |
| | | return Service.createLocation(locationInfo); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹è´§ä½ |
| | | /// </summary> |
| | | [HttpPost, HttpGet, Route("updateLocation"), AllowAnonymous] |
| | | public ApiResponse<object> updateLocation([FromBody] LocationInfoDto locationInfo) |
| | | { |
| | | return Service.updateLocation(locationInfo); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å é¤è´§ä½ |
| | | /// </summary> |
| | | [HttpPost, HttpGet, Route("deleteLocation"), AllowAnonymous] |
| | | public ApiResponse<object> deleteLocation([FromBody] List<string> locationCode) |
| | | { |
| | | return Service.deleteLocation(locationCode); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// MESä¸ååºä½è°æ¨ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="allocationTask">åºä½è°æ¨ä»»å¡ä¿¡æ¯</param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("onHandMove"), AllowAnonymous] |
| | | public ApiResponse<object> sendAllocationTask([FromBody] AllocationTaskReceived allocationTask) |
| | | { |
| | | return Service.sendAllocationTask(allocationTask); |
| | | } |
| | | } |
| | | } |
| | |
| | | "Microsoft.AspNetCore": "Warning" |
| | | } |
| | | }, |
| | | "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus", |
| | | "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,stockChangeTypeEnum,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,InventoryMaterialType,InventoryMaterialStatus,MaterielSourceType,yesno", |
| | | "AllowedHosts": "*", |
| | | "ConnectionStringsEncryption": false, |
| | | "MainDB": "DB_WIDESEA", //å½å项ç®ç主åºï¼æå¯¹åºçè¿æ¥å符串çEnabledå¿
须为true |
| | |
| | | "EnableAllIPs": true, //å½ä¸ºtrueæ¶ï¼å¼æ¾ææIPåå¯è®¿é®ã |
| | | // æ¯æå¤ä¸ªåå端å£ï¼æ³¨æç«¯å£å·åä¸è¦å¸¦/ææï¼æ¯å¦localhost:8000/ï¼æ¯éç |
| | | // 注æï¼http://127.0.0.1:1818 å http://localhost:1818 æ¯ä¸ä¸æ ·ç |
| | | "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081" |
| | | "IPs": "http://10.6.125.12:9290,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081" |
| | | }, |
| | | "LogAopEnable": false, |
| | | "PrintSql": false, //æå°SQLè¯å¥ |