已添加9个文件
已修改29个文件
已复制1个文件
已重命名1个文件
已删除11个文件
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-shm"
Binary files differ
| | |
| | | "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\deletelog\\commondeletelogjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\deletelog\\commondeletelogjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agvjob\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agvjob\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\duiduojiliku\\\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:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\elevatordbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\elevatorjob\\elevatordbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_signalr\\hub\\simplehub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|solutionrelative:wideseawcs_signalr\\hub\\simplehub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\common\\commonstackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\common\\commonstackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_signalr\\service\\inoticeservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|solutionrelative:wideseawcs_signalr\\service\\inoticeservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\partial\\agvtaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\partial\\agvtaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_signalr\\hub\\isimplehub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|solutionrelative:wideseawcs_signalr\\hub\\isimplehub.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_systemrepository\\sys_menurepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|solutionrelative:wideseawcs_systemrepository\\sys_menurepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_signalr\\globalusing.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{59D26679-7299-4251-A58E-3AC3C6FA717E}|WIDESEAWCS_SignalR\\WIDESEAWCS_SignalR.csproj|solutionrelative:wideseawcs_signalr\\globalusing.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartzextensions\\jobsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\jobsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_core\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\models\\dt_deviceinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\models\\dt_deviceinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\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}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 1, |
| | | "SelectedChildIndex": 5, |
| | | "Children": [ |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "Dt_Task.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAB0AAAAlAAAAAAAAAA==", |
| | | "Title": "ElevatorDBName.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "ViewState": "AgIAABUAAAAAAAAAAAAywDMAAAAbAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-24T01:54:03.606Z", |
| | | "WhenOpened": "2025-10-08T14:21:39.829Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "ConveyorLineDBName.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "ViewState": "AgIAAE8AAAAAAAAAAADwv1kAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T14:11:12.19Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "CommonElevatorJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAADwvx8AAAAeAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T13:53:47.304Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "Title": "TaskController.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAABJAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T13:27:06.033Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "AGVSignal.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "ViewState": "AgIAABEAAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T12:48:40.39Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "CommonDeleteLogJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\DeleteLog\\CommonDeleteLogJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\DeleteLog\\CommonDeleteLogJob.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\DeleteLog\\CommonDeleteLogJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\DeleteLog\\CommonDeleteLogJob.cs", |
| | | "ViewState": "AgIAABYAAAAAAAAAAAAcwEUAAAAZAAAAAAAAAA==", |
| | | "Title": "AGVController.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "ViewState": "AgIAABAAAAAAAAAAAAAuwCAAAABbAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-24T01:29:52.9Z", |
| | | "WhenOpened": "2025-10-08T12:45:04.877Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 9, |
| | | "Title": "CustomProfile.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "ViewState": "AgIAAAkAAAAAAAAAAADwvxYAAAArAAAAAAAAAA==", |
| | | "DocumentIndex": 7, |
| | | "Title": "AGVTaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "ViewState": "AgIAACUAAAAAAAAAAAAcwDQAAAA3AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T09:20:35.273Z" |
| | | "WhenOpened": "2025-10-08T08:13:55.933Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 10, |
| | | "Title": "Sys_MenuRepository.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "ViewState": "AgIAAB0AAAAAAAAAAAAAAB4AAABFAAAAAAAAAA==", |
| | | "DocumentIndex": 8, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAABwDAAAAAAAAAAAAwCgDAAAhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T09:17:11.269Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "SimpleHub.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\Hub\\SimpleHub.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SignalR\\Hub\\SimpleHub.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\Hub\\SimpleHub.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SignalR\\Hub\\SimpleHub.cs", |
| | | "ViewState": "AgIAAA0AAAAAAAAAAAAxwBwAAAATAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T09:15:05.652Z" |
| | | "WhenOpened": "2025-09-25T03:21:17.498Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAAJoBAAAAAAAAAAAIwE0BAAARAAAAAAAAAA==", |
| | | "ViewState": "AgIAANwAAAAAAAAAAAAIwP0AAABmAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T08:10:30.228Z", |
| | | "WhenOpened": "2025-10-08T02:55:34.719Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "Title": "INoticeService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\Service\\INoticeService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SignalR\\Service\\INoticeService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\Service\\INoticeService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SignalR\\Service\\INoticeService.cs", |
| | | "ViewState": "AgIAABsAAAAAAAAAAAAiwCwAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T07:42:56.362Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAAB4AAAAAAAAAAAAAAC0AAABPAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T07:04:33.408Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 8, |
| | | "Title": "ISimpleHub.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\Hub\\ISimpleHub.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SignalR\\Hub\\ISimpleHub.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\Hub\\ISimpleHub.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SignalR\\Hub\\ISimpleHub.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T09:25:19.161Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 14, |
| | | "Title": "AutofacModuleRegister.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", |
| | | "ViewState": "AgIAAAwAAAAAAAAAAAAAAEQAAAAmAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T07:40:03.34Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "Program.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs", |
| | | "ViewState": "AgIAAA8AAAAAAAAAAAAAACoAAAAlAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T07:37:22.784Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "Title": "CommonStackerCrane.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "ViewState": "AgIAANsAAAAAAAAAAAAqwPUAAAAMAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T09:27:50.227Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 12, |
| | | "Title": "QuartzJobHostedService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "ViewState": "AgIAACYAAAAAAAAAAAAowD0AAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T08:04:20.937Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 11, |
| | | "Title": "GlobalUsing.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\GlobalUsing.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SignalR\\GlobalUsing.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_SignalR\\GlobalUsing.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SignalR\\GlobalUsing.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T09:02:55.551Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 13, |
| | | "Title": "JobSetup.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAuwCYAAAA5AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T07:07:37.223Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 15, |
| | | "Title": "SqlsugarSetup.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", |
| | | "ViewState": "AgIAABcAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T07:34:36.863Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 16, |
| | | "Title": "Dt_DeviceInfo.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "ViewState": "AgIAAGQAAAAAAAAAAAAUwHYAAAAnAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-23T07:03:49.846Z" |
| | | } |
| | | ] |
| | | } |
| | |
| | | "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\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:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\elevatordbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\elevatorjob\\elevatordbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agvjob\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agvjob\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\partial\\agvtaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\partial\\agvtaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\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}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 0, |
| | | "SelectedChildIndex": 4, |
| | | "Children": [ |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAAD4CAAAAAAAAAAAUwAAAAAAAAAAAAAAAAA==", |
| | | "DocumentIndex": 3, |
| | | "Title": "ElevatorDBName.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ElevatorJob\\ElevatorDBName.cs", |
| | | "ViewState": "AgIAADIAAAAAAAAAAAAswEwAAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-24T05:55:47.05Z", |
| | | "WhenOpened": "2025-10-08T14:21:39.829Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "Title": "CommonElevatorJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAADwvx8AAAAeAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T13:53:47.304Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "TaskController.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAABJAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T13:27:06.033Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "AGVSignal.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\AGVJob\\AGVSignal.cs", |
| | | "ViewState": "AgIAABEAAAAAAAAAAAAAABUAAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T12:48:40.39Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "AGVController.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs", |
| | | "ViewState": "AgIAABsAAAAAAAAAAADwvzkAAAA2AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T12:45:04.877Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "Title": "AGVTaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\Partial\\AGVTaskService.cs", |
| | | "ViewState": "AgIAACUAAAAAAAAAAAAcwDQAAAA3AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T08:13:55.933Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 8, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AgIAABwDAAAAAAAAAAAAwCgDAAAhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-25T03:21:17.498Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAANwAAAAAAAAAAAAIwP0AAABhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T02:55:34.719Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "ConveyorLineDBName.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", |
| | | "ViewState": "AgIAAE8AAAAAAAAAAADwv1kAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-10-08T14:11:12.19Z", |
| | | "EditorCaption": "" |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using HslCommunication; |
| | | using System.Text; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_Core.LogHelper; |
| | | |
| | | namespace LogLibrary.Log |
| | | { |
| | | public class LogFactory |
| | | { |
| | | public void WriteDebug(string fileName, string msg) |
| | | { |
| | | if (AppSettings.app(new string[] { "LogDeubgEnable" }).ObjToBool()) |
| | | { |
| | | StringBuilder builder = new StringBuilder(msg); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(Environment.NewLine); |
| | | QuartzLogger.WriteLogToFile($"Debug_{fileName}", builder.ToString()); |
| | | } |
| | | } |
| | | |
| | | public static void WriteInfo(string fileName, string msg) |
| | | { |
| | | StringBuilder builder = new StringBuilder(msg); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(Environment.NewLine); |
| | | QuartzLogger.WriteLogToFile($"Info_{fileName}", builder.ToString()); |
| | | } |
| | | public static void WriteError(string fileName, string msg) |
| | | { |
| | | StringBuilder builder = new StringBuilder(msg); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(Environment.NewLine); |
| | | QuartzLogger.WriteLogToFile($"Error_{fileName}", builder.ToString()); |
| | | } |
| | | public static void WriteError(string fileName, string msg, Exception ex) |
| | | { |
| | | StringBuilder builder = new StringBuilder(msg); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(StringResources.Language.ExceptionMessage); |
| | | builder.Append(ex.Message); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(StringResources.Language.ExceptionSource); |
| | | builder.Append(ex.Source); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(StringResources.Language.ExceptionStackTrace); |
| | | builder.Append(ex.StackTrace); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(StringResources.Language.ExceptionType); |
| | | builder.Append(ex.GetType().ToString()); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(StringResources.Language.ExceptionTargetSite); |
| | | builder.Append(ex.TargetSite?.ToString()); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(Environment.NewLine); |
| | | QuartzLogger.WriteLogToFile($"Error_{fileName}", builder.ToString()); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <Project Sdk="Microsoft.NET.Sdk"> |
| | | |
| | | <PropertyGroup> |
| | | <TargetFramework>net6.0</TargetFramework> |
| | | <ImplicitUsings>enable</ImplicitUsings> |
| | | <Nullable>enable</Nullable> |
| | | <AllowUnsafeBlocks>true</AllowUnsafeBlocks> |
| | | </PropertyGroup> |
| | | |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\WIDESEAWCS_Core\WIDESEAWCS_Core.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_QuartzJob\WIDESEAWCS_QuartzJob.csproj" /> |
| | | </ItemGroup> |
| | | |
| | | </Project> |
| | |
| | | |
| | | public List<Dt_StationManager> GetAllStationByDeviceCode(string DeviceCode) |
| | | { |
| | | return BaseDal.QueryData(x => x.stationPLC == DeviceCode && x.stationStatus == "1").ToList(); |
| | | return BaseDal.QueryData(x => x.stationDeviceCode == DeviceCode && x.stationStatus == "1").ToList(); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | public const string WCSIP_BASE = "WCSIPAddress"; |
| | | |
| | | public const string MOMIP_BASE = "MOMIP_BASE"; |
| | | public const string AGVIP_BASE = "AGVIPBASE"; |
| | | |
| | | /// <summary> |
| | | /// 请æ±ä»»å¡ |
| | |
| | | public const string CompleteTask = "CompleteTask"; |
| | | |
| | | /// <summary> |
| | | /// 请æ±ç©ºæçä»»å¡ |
| | | /// AGVä»»å¡ä¸å |
| | | /// </summary> |
| | | public const string RequestTrayInTask = "RequestTrayInTask"; |
| | | public const string SendAGVTask = "SendAGVTask"; |
| | | |
| | | /// <summary> |
| | | /// 空æçå®çåºåºä»»å¡ |
| | | /// </summary> |
| | | public const string RequestTrayOutTask = "RequestTrayOutTask"; |
| | | |
| | | public const string RequestInTask = "RequestInTask"; |
| | | |
| | | public const string RequestFlow = "RequestFlow"; |
| | | |
| | | /// <summary> |
| | | /// æ´ççµè¯è·å |
| | | /// </summary> |
| | | public const string TrayCellsStatus = "TrayCellsStatus"; |
| | | |
| | | /// <summary> |
| | | /// 常温补空æçè³å容 |
| | | /// </summary> |
| | | public const string GetFROutTrayToCW = "GetFROutTrayToCW"; |
| | | |
| | | /// <summary> |
| | | /// 常温3 åºåºè³å
è£
|
| | | /// </summary> |
| | | public const string RequestOutTaskToBZ = "RequestOutTaskToBZ"; |
| | | |
| | | /// <summary> |
| | | /// éç½®NGå
¥åº |
| | | /// </summary> |
| | | public const string RequestInBoundTaskNG = "RequestInBoundTaskNG"; |
| | | |
| | | /// <summary> |
| | | /// éç½®NGå
¥åºç«å° |
| | | /// </summary> |
| | | public const string JZNGInBoundStation = "JZNGInBoundStation"; |
| | | |
| | | /// <summary> |
| | | /// å容空æ¡å
¥åºæ¹ä¸ºç´æ¥åºåº |
| | | /// </summary> |
| | | public const string SetEmptyOutbyInToOutAsync = "SetEmptyOutbyInToOutAsync"; |
| | | |
| | | /// <summary> |
| | | /// å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº |
| | | /// </summary> |
| | | public const string SetEmptyOutbyInToOutOneAsync = "SetEmptyOutbyInToOutOneAsync"; |
| | | } |
| | | } |
| | |
| | | [Description("æ°å»ºå
¥åºä»»å¡")] |
| | | InNew = 200, |
| | | |
| | | ///// <summary> |
| | | ///// AGVå
¥åºæ§è¡ä¸ |
| | | ///// </summary> |
| | | //[Description("AGVå
¥åºæ§è¡ä¸")] |
| | | //AGV_InExecuting = 210, |
| | | /// <summary> |
| | | /// AGVå
¥åºæ§è¡ä¸ |
| | | /// </summary> |
| | | [Description("AGVå
¥åºæ§è¡ä¸")] |
| | | AGV_InExecuting = 210, |
| | | |
| | | ///// <summary> |
| | | ///// AGVå
¥åºå®æ |
| | | ///// </summary> |
| | | //[Description("AGVæ¬è¿å®æ")] |
| | | //AGV_InFinish = 215, |
| | | /// <summary> |
| | | /// AGVå
¥åºå®æ |
| | | /// </summary> |
| | | [Description("AGVæ¬è¿å®æ")] |
| | | AGV_InFinish = 215, |
| | | |
| | | /// <summary> |
| | | /// AGVçå¾
åè´§ |
| | | /// </summary> |
| | | [Description("æåæºçå¾
AGVæ¾è´§")] |
| | | Elevator_AGVWaitPut = 220, |
| | | |
| | | /// <summary> |
| | | /// æåæºå
¥åºæ§è¡ä¸ |
| | | /// </summary> |
| | | [Description("æåæºå
¥åºæ§è¡ä¸")] |
| | | Elevator_InExecuting = 225, |
| | | |
| | | /// <summary> |
| | | /// æåæºå
¥åºå®æ |
| | | /// </summary> |
| | | [Description("æåæºå
¥åºå®æ")] |
| | | Elevator_InFinish = 230, |
| | | |
| | | /// <summary> |
| | | /// AGVçå¾
åè´§ |
| | | /// </summary> |
| | | [Description("æåæºçå¾
AGVåè´§")] |
| | | Elevator_AGVWaitPickUp = 235, |
| | | |
| | | /// <summary> |
| | | /// AGVçå¾
åè´§ |
| | | /// </summary> |
| | | [Description("è¾é线çå¾
AGVåè´§")] |
| | | Line_AGVWaitPickUp = 240, |
| | | |
| | | /// <summary> |
| | | /// è¾é线å
¥åºæ§è¡ä¸ |
| | | /// </summary> |
| | | [Description("è¾é线å
¥åºæ§è¡ä¸")] |
| | | Line_InExecuting = 220, |
| | | Line_InExecuting = 240, |
| | | |
| | | /// <summary> |
| | | /// è¾é线å
¥åºå®æ |
| | | /// </summary> |
| | | [Description("è¾é线è¾é宿")] |
| | | Line_InFinish = 225, |
| | | [Description("è¾é线å
¥åºå®æ")] |
| | | Line_InFinish = 245, |
| | | |
| | | /// <summary> |
| | | /// å åæºå
¥åºæ§è¡ä¸ |
| | | /// </summary> |
| | | [Description("å åæºå
¥åºæ§è¡ä¸")] |
| | | SC_InExecuting = 230, |
| | | SC_InExecuting = 250, |
| | | |
| | | /// <summary> |
| | | /// å åæºå
¥åºå®æ |
| | | /// </summary> |
| | | [Description("å åæºå
¥åºå®æ")] |
| | | SC_InFinish = 235, |
| | | SC_InFinish = 255, |
| | | |
| | | /// <summary> |
| | | /// å
¥åºä»»å¡å®æ |
| | |
| | | /// <summary> |
| | | /// è¾é线åºåºå®æ |
| | | /// </summary> |
| | | [Description("è¾é线è¾é宿")] |
| | | [Description("è¾é线åºåºå®æ")] |
| | | Line_OutFinish = 125, |
| | | |
| | | ///// <summary> |
| | | ///// AGVåºåºæ§è¡ä¸ |
| | | ///// </summary> |
| | | //[Description("AGVåºåºæ§è¡ä¸")] |
| | | //AGV_OutExecuting = 130, |
| | | /// <summary> |
| | | /// è¾é线çå¾
AGVåè´§ |
| | | /// </summary> |
| | | [Description("è¾é线çå¾
AGVåè´§")] |
| | | Line_AGVWaitPickUp = 130, |
| | | |
| | | ///// <summary> |
| | | ///// AGVåºåºå®æ |
| | | ///// </summary> |
| | | //[Description("AGVæ¬è¿å®æ")] |
| | | //AGV_OutFinish = 135, |
| | | /// <summary> |
| | | /// AGVåºåºæ§è¡ä¸ |
| | | /// </summary> |
| | | [Description("AGVåºåºæ§è¡ä¸")] |
| | | AGV_OutExecuting = 135, |
| | | |
| | | /// <summary> |
| | | /// AGVåºåºå®æ |
| | | /// </summary> |
| | | [Description("AGVæ¬è¿å®æ")] |
| | | AGV_OutFinish = 140, |
| | | |
| | | /// <summary> |
| | | /// æåæºæ§è¡ä¸ |
| | | /// </summary> |
| | | [Description("æåæºæ§è¡ä¸")] |
| | | Elevator_OutExecuting = 145, |
| | | |
| | | /// <summary> |
| | | /// æåæºå®æ |
| | | /// </summary> |
| | | [Description("æåæºåºåºå®æ")] |
| | | Elevator_OutFinish = 150, |
| | | |
| | | /// <summary> |
| | | /// AGVçå¾
åè´§ |
| | | /// </summary> |
| | | [Description("æåæºçå¾
AGVåè´§")] |
| | | Elevator_AGVWaitPickUp = 155, |
| | | |
| | | /// <summary> |
| | | /// åºåºä»»å¡å®æ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEAWCS_DTO.AGV |
| | | { |
| | | public class AGVReceiveDTO |
| | | { |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | | /// </summary> |
| | | public int TaskNum { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç¶æï¼ PutFinishæ¾è´§å®æãPickUpFinishåè´§å®æãRequestPickUp请æ±åè´§ãRequestPutè¯·æ±æ¾è´§ |
| | | /// </summary> |
| | | public string Status { get; set; } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEAWCS_DTO.AGV |
| | | { |
| | | public class AgvRespone |
| | | { |
| | | public int code { get; set; } |
| | | public string data { get; set; } |
| | | public string desc { get; set; } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEAWCS_DTO.AGV |
| | | { |
| | | public class SendTask |
| | | { |
| | | /// <summary> |
| | | /// 任塿¨¡æ¿ |
| | | /// </summary> |
| | | public string modelProcessCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¼å
级 |
| | | /// </summary> |
| | | public int priority { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¥æºç³»ç» |
| | | /// </summary> |
| | | public string fromSystem { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | | /// </summary> |
| | | public string orderId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 订åæç» |
| | | /// </summary> |
| | | public taskOrderDetail orderDetail { get; set; } |
| | | } |
| | | public class taskOrderDetail |
| | | { |
| | | public string subOrderId { get; set; } |
| | | |
| | | public string taskPath { get; set; } |
| | | |
| | | public string shelfNumber { get; set; } |
| | | |
| | | public string assignRobotIds { get; set; } |
| | | |
| | | public string releaseRobot { get; set; } |
| | | |
| | | public string deviceNum { get; set; } |
| | | |
| | | public string loadType { get; set; } |
| | | |
| | | public string robotType { get; set; } |
| | | |
| | | public string extraInfo { get; set; } |
| | | |
| | | public string shelfModel { get; set; } |
| | | |
| | | } |
| | | } |
| | |
| | | WebResponseContent ReceiveWMSTask([NotNull] List<WMSTaskDTO> taskDTOs); |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶WMSä»»å¡ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="taskDTOs">WMSä»»å¡å¯¹è±¡éå</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | WebResponseContent ReceiveByWMSTask([NotNull] WMSTaskDTO taskDTOs); |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¶WMSä»»å¡ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="taskDTOs">WMSä»»å¡å¯¹è±¡éå</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | WebResponseContent ReceiveByWMSGWTask([NotNull] WMSTaskDTO taskDTO); |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®æçå·ãèµ·å§å°ååWMS请æ±ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="palletCode">æçå·</param> |
| | | /// <param name="sourceAddress">èµ·å§å°å</param> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> RequestWMSTask(string palletCode, string sourceAddress); |
| | | |
| | | /// <summary> |
| | | /// 请æ±åºåºè³å
è£
|
| | | /// </summary> |
| | | /// <param name="stationManager"></param> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> RequestOutTaskToBZAsync(Dt_StationManager stationManager); |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®æçå·ãèµ·å§å°ååWMS请æ±ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="palletCode">æçå·</param> |
| | | /// <param name="sourceAddress">èµ·å§å°å</param> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> RequestTask(string palletCode, string EquiCodeMOM, string Roadways, string area,string currentChildeCode); |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®æçå·ãç«å°åWMS请æ±ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="palletCode">æçå·</param> |
| | | /// <param name="sourceAddress">èµ·å§å°å</param> |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> RequestTask(string palletCode, Dt_StationManager stationManager); |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®è®¾å¤ç¼å·ãå½åå°åæ¥è¯¢è¾éçº¿æªæ§è¡çä»»å¡ |
| | | /// </summary> |
| | | /// <param name="deviceNo">设å¤ç¼å·</param> |
| | |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | WebResponseContent StackCraneTaskCompleted(int taskNum); |
| | | |
| | | WebResponseContent StackCraneTaskCompletedByStation(int taskNum); |
| | | |
| | | /// <summary> |
| | | /// æ¢å¤æèµ·ä»»å¡ |
| | | /// </summary> |
| | |
| | | /// <param name="taskNum">ä»»å¡å·</param> |
| | | /// <returns>è¿åå¤çç»æ</returns> |
| | | WebResponseContent RollbackTaskStatusToLast(int taskNum); |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="palletCode"></param> |
| | | /// <param name="Roadway"></param> |
| | | /// <returns></returns> |
| | | Dt_Task QueryTaskByPalletCode(string palletCode, string Roadway); |
| | | |
| | | /// <summary> |
| | | /// æ¥è¯¢å½åè®¾å¤æ¯å¦æç§»åºä»»å¡ |
| | |
| | | public int stationID { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç«å°ç±»å 1-å
¥åºç«å° 2-åºåºç«å° 3-å¼å¸¸æåºç«å° 4-NGå·¥ç«æ¾æ 5-NGå·¥ç«åæ 6-空æ¡å
¥åº 7-空æ¡åºåº,8-å
¥åºçº¿ä½æ«ç 确认,9-å
¥åºç«å°ç¡®è®¤ |
| | | /// ç«å°ç±»å |
| | | /// </summary> |
| | | [ImporterHeader(Name = "ç«å°ç±»å")] |
| | | [ExporterHeader(DisplayName = "ç«å°ç±»å")] |
| | |
| | | [ImporterHeader(Name = "æå±PLC")] |
| | | [ExporterHeader(DisplayName = "æå±PLC")] |
| | | [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "æå±PLC")] |
| | | public string stationPLC { get; set; } |
| | | public string stationDeviceCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å··éå· |
| | |
| | | [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "åæ å°å")] |
| | | public string stationLocation { get; set; } |
| | | |
| | | /// <summary> |
| | | /// MOM设å¤ç¼å· |
| | | /// </summary> |
| | | [ImporterHeader(Name = "MOM设å¤ç¼å·")] |
| | | [ExporterHeader(DisplayName = "MOM设å¤ç¼å·")] |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "MOM设å¤ç¼å·")] |
| | | public string stationEquipMOM { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "NGå设å¤ç¼å·")] |
| | | public string stationNGChildCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "NGå设å¤åæ ")] |
| | | public string stationNGLocation { get; set; } |
| | | public string remark { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 设å¤ç¶æ |
| | | /// </summary> |
| | | [ImporterHeader(Name = "设å¤ç¶æ")] |
| | | [ExporterHeader(DisplayName = "设å¤ç¶æ")] |
| | | [SugarColumn(IsNullable = false, Length = 255, ColumnDescription = "设å¤ç¶æ")] |
| | | public string stationStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 产线 |
| | | /// æ¥¼å± |
| | | /// </summary> |
| | | public string productLine { get; set; } |
| | | [ImporterHeader(Name = "楼å±")] |
| | | [ExporterHeader(DisplayName = "楼å±")] |
| | | [SugarColumn(IsNullable = false, Length = 255, ColumnDescription = "楼å±")] |
| | | public string stationFloor { get; set; } |
| | | |
| | | } |
| | | } |
| | |
| | | public string Roadway { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 设å¤ç¼å· |
| | | /// </summary> |
| | | [ImporterHeader(Name = "设å¤ç¼å·")] |
| | | [ExporterHeader(DisplayName = "设å¤ç¼å·")] |
| | | [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "设å¤ç¼å·")] |
| | | public string DeviceCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡ç±»å |
| | | /// </summary> |
| | | [ImporterHeader(Name = "ä»»å¡ç±»å")] |
| | |
| | | [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "夿³¨")] |
| | | public string Remark { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æç产线 |
| | | /// </summary> |
| | | [ImporterHeader(Name = "æç产线")] |
| | | [ExporterHeader(DisplayName = "æç产线")] |
| | | [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "æç产线")] |
| | | public string ProductionLine { get; set; } |
| | | } |
| | | } |
| | |
| | | { |
| | | return DeviceStatus.Idle; |
| | | } |
| | | else if (StackerCraneWorkStatusValue == StackerCraneWorkStatus.Putting || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUp || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReturnOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReverseOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.Walking || StackerCraneWorkStatusValue == StackerCraneWorkStatus.WorkCompleted || StackerCraneWorkStatusValue == StackerCraneWorkStatus.InStockStandby) |
| | | else if (StackerCraneWorkStatusValue == StackerCraneWorkStatus.Puting || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUp || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReturnOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReverseOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.Walking || StackerCraneWorkStatusValue == StackerCraneWorkStatus.WorkCompleted || StackerCraneWorkStatusValue == StackerCraneWorkStatus.InStockStandby) |
| | | { |
| | | return DeviceStatus.Working; |
| | | } |
| | |
| | | { |
| | | return DeviceStatus.Idle; |
| | | } |
| | | else if (StackerCraneWorkStatusValue == StackerCraneWorkStatus.Putting || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUp || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReturnOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReverseOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.Walking || StackerCraneWorkStatusValue == StackerCraneWorkStatus.WorkCompleted || StackerCraneWorkStatusValue == StackerCraneWorkStatus.InStockStandby) |
| | | else if (StackerCraneWorkStatusValue == StackerCraneWorkStatus.Puting || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUp || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReturnOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReverseOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.Walking || StackerCraneWorkStatusValue == StackerCraneWorkStatus.WorkCompleted || StackerCraneWorkStatusValue == StackerCraneWorkStatus.InStockStandby) |
| | | { |
| | | return DeviceStatus.Working; |
| | | } |
| | |
| | | { |
| | | return DeviceStatus.Idle; |
| | | } |
| | | else if (StackerCraneWorkStatusValue == StackerCraneWorkStatus.Putting || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUp || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReturnOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReverseOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.Walking || StackerCraneWorkStatusValue == StackerCraneWorkStatus.WorkCompleted || StackerCraneWorkStatusValue == StackerCraneWorkStatus.InStockStandby) |
| | | else if (StackerCraneWorkStatusValue == StackerCraneWorkStatus.Puting || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUp || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PickUpWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWalk || StackerCraneWorkStatusValue == StackerCraneWorkStatus.PutWait || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReturnOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.ReverseOrigin || StackerCraneWorkStatusValue == StackerCraneWorkStatus.Walking || StackerCraneWorkStatusValue == StackerCraneWorkStatus.WorkCompleted || StackerCraneWorkStatusValue == StackerCraneWorkStatus.InStockStandby) |
| | | { |
| | | return DeviceStatus.Working; |
| | | } |
| | |
| | | /// æ¾è´§ä¸ |
| | | /// </summary> |
| | | [Description("æ¾è´§ä¸")] |
| | | Putting, |
| | | Puting, |
| | | |
| | | /// <summary> |
| | | /// ååç¹ |
| | |
| | | EndProject |
| | | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_SignalR", "WIDESEAWCS_SignalR\WIDESEAWCS_SignalR.csproj", "{59D26679-7299-4251-A58E-3AC3C6FA717E}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogLibrary", "LogLibrary\LogLibrary.csproj", "{42364781-CE85-43D4-AEB0-CC4D6FE5085D}" |
| | | EndProject |
| | | Global |
| | | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
| | | Debug|Any CPU = Debug|Any CPU |
| | |
| | | {59D26679-7299-4251-A58E-3AC3C6FA717E}.Debug|Any CPU.Build.0 = Debug|Any CPU |
| | | {59D26679-7299-4251-A58E-3AC3C6FA717E}.Release|Any CPU.ActiveCfg = Release|Any CPU |
| | | {59D26679-7299-4251-A58E-3AC3C6FA717E}.Release|Any CPU.Build.0 = Release|Any CPU |
| | | {42364781-CE85-43D4-AEB0-CC4D6FE5085D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
| | | {42364781-CE85-43D4-AEB0-CC4D6FE5085D}.Debug|Any CPU.Build.0 = Debug|Any CPU |
| | | {42364781-CE85-43D4-AEB0-CC4D6FE5085D}.Release|Any CPU.ActiveCfg = Release|Any CPU |
| | | {42364781-CE85-43D4-AEB0-CC4D6FE5085D}.Release|Any CPU.Build.0 = Release|Any CPU |
| | | EndGlobalSection |
| | | GlobalSection(SolutionProperties) = preSolution |
| | | HideSolutionNode = FALSE |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; |
| | | using System.Reflection; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_DTO.AGV; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_Tasks; |
| | | using WIDESEAWCS_Tasks.ConveyorLineJob; |
| | | using WIDESEAWCS_Tasks.ElevatorJob; |
| | | |
| | | namespace WIDESEAWCS_Server.Controllers.AGV |
| | | { |
| | | [Route("api/AGV")] |
| | | [ApiController] |
| | | public class AGVController : ControllerBase |
| | | { |
| | | private readonly ITaskRepository _taskRepository; |
| | | |
| | | public AGVController(ITaskRepository taskRepository) |
| | | { |
| | | _taskRepository = taskRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// AGVç¶æä¸æ¥ |
| | | /// </summary> |
| | | /// <param name="receiveDTO"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("AGVStatusReport"), AllowAnonymous] |
| | | public WebResponseContent AGVStatusReport(AGVReceiveDTO receiveDTO) => SignalInteraction(receiveDTO); |
| | | |
| | | #region AGVä¸è®¾å¤ä¿¡å·äº¤äº |
| | | |
| | | /// <summary> |
| | | /// AGV--设å¤äº¤äº |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public WebResponseContent SignalInteraction(AGVReceiveDTO receiveDTO) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var task = _taskRepository.QueryFirst(t => t.TaskNum == receiveDTO.TaskNum); |
| | | if (task == null) |
| | | { |
| | | return content.Error("æªæ¾å°ä»»å¡"); |
| | | } |
| | | MethodInfo? method = GetType().GetMethod(receiveDTO.Status); |
| | | if (method != null) |
| | | { |
| | | CommonConveyorLine? commonConveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.DeviceCode) as CommonConveyorLine; |
| | | CommonElevator? elevator = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.DeviceCode) as CommonElevator; |
| | | if (elevator == null && commonConveyorLine == null) |
| | | return content.Error("æªæ¾å°è®¾å¤"); |
| | | else |
| | | return content = (WebResponseContent)method.Invoke(this, new object[] { task, commonConveyorLine, elevator }); |
| | | |
| | | } |
| | | else |
| | | { |
| | | throw new Exception($"æªæ¾å°è¯¥ç¶æ{receiveDTO.Status}å®ä¹"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return content.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¾è´§å®æ |
| | | /// </summary> |
| | | /// <param name="task"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent PutFinish(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1); |
| | | elevator.SetValue(ElevatorDBName.StartCommand, 1); |
| | | content.OK(); |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | if (task.DeviceCode.Contains("TSJ")) |
| | | { |
| | | elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1); |
| | | elevator.SetValue(ElevatorDBName.StartCommand, 1); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "101"); |
| | | commonConveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTaskNum, 9990, "101"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("ä»»å¡ç¶æå¼å¸¸"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åè´§å®æ |
| | | /// </summary> |
| | | /// <param name="task"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent PickUpFinish(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | if (task.DeviceCode.Contains("TSJ")) |
| | | { |
| | | elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1); |
| | | elevator.SetValue(ElevatorDBName.StartCommand, 1); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "101"); |
| | | content.OK(); |
| | | } |
| | | |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | if (task.DeviceCode.Contains("TSJ")) |
| | | { |
| | | elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1); |
| | | elevator.SetValue(ElevatorDBName.StartCommand, 1); |
| | | content.OK(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("ä»»å¡ç¶æå¼å¸¸"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 请æ±åè´§ |
| | | /// </summary> |
| | | /// <param name="task"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent RequestPickUp(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | int AllowPickUp = 0; |
| | | if (task.DeviceCode.Contains("TSJ")) |
| | | AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp); |
| | | else |
| | | AllowPickUp = commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "101"); |
| | | |
| | | content = AllowPickUp == 1 ? content.OK() : content.Error("设å¤ä¸å
许åè´§"); |
| | | |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | int AllowPickUp = 0; |
| | | if (task.DeviceCode.Contains("TSJ")) |
| | | AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp); |
| | | |
| | | content = AllowPickUp == 1 ? content.OK() : content.Error("设å¤ä¸å
许åè´§"); |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("ä»»å¡ç¶æå¼å¸¸"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¯·æ±æ¾è´§ |
| | | /// </summary> |
| | | /// <param name="task"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent RequestPut(Dt_Task task, CommonConveyorLine commonConveyorLine, CommonElevator elevator) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | int AllowPickUp = 0; |
| | | if (task.DeviceCode.Contains("TSJ")) |
| | | AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut); |
| | | |
| | | content = AllowPickUp == 1 ? content.OK() : content.Error("设å¤ä¸å
许æ¾è´§"); |
| | | |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | int AllowPickUp = 0; |
| | | if (task.DeviceCode.Contains("TSJ")) |
| | | AllowPickUp = elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut); |
| | | else |
| | | AllowPickUp = commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "101"); |
| | | |
| | | content = AllowPickUp == 1 ? content.OK() : content.Error("设å¤ä¸å
许æ¾è´§"); |
| | | } |
| | | else |
| | | { |
| | | throw new Exception("ä»»å¡ç¶æå¼å¸¸"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | return Service.ReceiveWMSTask(taskDTOs); |
| | | } |
| | | |
| | | [HttpPost, Route("ReceiveByWMSTask"), AllowAnonymous] |
| | | public WebResponseContent ReceiveByWMSTask([FromBody] WMSTaskDTO taskDTOs) |
| | | { |
| | | return Service.ReceiveByWMSTask(taskDTOs); |
| | | } |
| | | |
| | | [HttpPost, Route("ReceiveByWMSGWTask"), AllowAnonymous] |
| | | public WebResponseContent ReceiveByWMSGWTask([FromBody] WMSTaskDTO taskDTOs) |
| | | { |
| | | return Service.ReceiveByWMSGWTask(taskDTOs); |
| | | } |
| | | |
| | | |
| | | [HttpPost, HttpGet, Route("UpdateTaskExceptionMessage")] |
| | | public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message) |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using AngleSharp.Io; |
| | | using HslCommunication; |
| | | using Mapster; |
| | | using Newtonsoft.Json; |
| | | using SkiaSharp; |
| | | using System.Diagnostics.CodeAnalysis; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_Core.LogHelper; |
| | | using WIDESEAWCS_DTO.AGV; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | |
| | | namespace WIDESEAWCS_TaskInfoService |
| | | { |
| | | public partial class TaskService |
| | | { |
| | | #region AGVæ¥å£ |
| | | private string GetAGVIPAddress(string baseIp, string name) |
| | | { |
| | | var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wcsBasez = configz.Where(x => x.ConfigKey == baseIp).FirstOrDefault()?.ConfigValue; |
| | | var address = configz.Where(x => x.ConfigKey == name).FirstOrDefault()?.ConfigValue; |
| | | if (wcsBasez == null || address == null) |
| | | { |
| | | throw new InvalidOperationException("WMS IP æªé
ç½®"); |
| | | } |
| | | return wcsBasez + address; |
| | | } |
| | | |
| | | public async Task<WebResponseContent> SendAgvTask(string modelProcessCode,Dt_Task task) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | SendTask sendTask = new SendTask() |
| | | { |
| | | modelProcessCode = modelProcessCode, |
| | | priority = 1, |
| | | fromSystem = "WMS", |
| | | orderId = task.TaskNum.ToString(), |
| | | orderDetail = new taskOrderDetail() |
| | | { |
| | | taskPath = $"{task.CurrentAddress},{task.NextAddress}", |
| | | shelfNumber = "", |
| | | } |
| | | }; |
| | | var AgvSendTaskAddrss = GetAGVIPAddress(SysConfigKeyConst.AGVIP_BASE, SysConfigKeyConst.SendAGVTask); |
| | | // åé请æ±å¹¶çå¾
ååº |
| | | var result = await HttpHelper.PostAsync(AgvSendTaskAddrss, sendTask.ToJsonString()); |
| | | |
| | | var respone = JsonConvert.DeserializeObject<AgvRespone>(result.ToString()); |
| | | |
| | | if (respone.code != 1000) |
| | | { |
| | | content.Error(respone.desc); |
| | | } |
| | | content.OK("ä»»å¡ä¸åè³AGVç³»ç»"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | using AutoMapper; |
| | | using HslCommunication; |
| | | using LogLibrary.Log; |
| | | using Mapster; |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_TaskInfoRepository; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; |
| | | |
| | | namespace WIDESEAWCS_TaskInfoService |
| | | { |
| | |
| | | // 夿任å¡ç±»åæ¯å¦ä¸ºå
¥åºä»»å¡ |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue; |
| | | var valueList = value.Split(',').ToList(); |
| | | // 夿æºå°åæ¯å¦ä¸çäº"1359-4" |
| | | //if (task.SourceAddress != "1359-4" && task.SourceAddress != "1357-4") |
| | | if (!valueList.Contains(task.SourceAddress)) |
| | | { |
| | | // æ¥è¯¢ä»æºå°åå°ç®æ å°åçè·¯ç± |
| | | List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress); |
| | | if (routers.Count > 0) |
| | | { |
| | | // 设置任å¡ç¶æä¸ºå
¥åºæ°å»º |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | // 设置å½åå°å为æºå°å |
| | | task.CurrentAddress = item.SourceAddress; |
| | | // 设置ä¸ä¸ä¸ªå°å为第ä¸ä¸ªåä½ç½® |
| | | task.NextAddress = routers.FirstOrDefault().ChildPosi; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | |
| | | task.CurrentAddress = string.Empty; |
| | | if (task.SourceAddress == "1325-6") |
| | | // 设置å½åå°å为"001-021-001" |
| | |
| | | task.CurrentAddress = "002-021-001"; |
| | | // 设置ä¸ä¸ä¸ªå°åä¸ºç®æ å°å |
| | | task.NextAddress = item.TargetAddress; |
| | | } |
| | | } |
| | | // å°è½¬æ¢åç任塿·»å å°ä»»å¡åè¡¨ä¸ |
| | | tasks.Add(task); |
| | |
| | | } |
| | | // è¿åç»æ |
| | | return content; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®æçå·ãèµ·å§å°ååWMS请æ±ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="palletCode">æçå·</param> |
| | | /// <param name="sourceAddress">èµ·å§å°å</param> |
| | | /// <returns></returns> |
| | | public async Task<WebResponseContent> RequestWMSTask(string palletCode, string sourceAddress) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode); |
| | | if (hasTask != null) |
| | | { |
| | | var taskExecuting = BaseDal.QueryFirst(x => x.PalletCode == palletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting); |
| | | |
| | | if (taskExecuting != null) |
| | | { |
| | | taskExecuting.ExceptionMessage = "æªæ¥æ¶å°çº¿ä½å®æä¿¡å·ç³»ç»å
é¨èªå¨å®æ"; |
| | | Delete(taskExecuting); |
| | | } |
| | | ConsoleHelper.WriteErrorLine($"å½åæçåå¨ä»»å¡ï¼ã{palletCode}ã"); |
| | | QuartzLogger.WriteLogToFile($"ä»»å¡å¼å¸¸æªå®æ", $"å½åæçåå¨ä»»å¡ï¼ã{palletCode}ã{Environment.NewLine}"); |
| | | } |
| | | |
| | | var wmsIpAddrss = string.Empty; |
| | | var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == sourceAddress); |
| | | if (stationManager.stationType == 5) |
| | | { |
| | | wmsIpAddrss = GetIpAddress(SysConfigKeyConst.WMSIP_BASE, SysConfigKeyConst.RequestInBoundTaskNG); |
| | | } |
| | | else |
| | | { |
| | | wmsIpAddrss = GetIpAddress(SysConfigKeyConst.WMSIP_BASE, SysConfigKeyConst.RequestTask); |
| | | } |
| | | |
| | | var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = sourceAddress, PalletCode = palletCode, stationManager.productLine }.ToJsonString()); |
| | | content = JsonConvert.DeserializeObject<WebResponseContent>(result); |
| | | |
| | | if (!content.Status) |
| | | { |
| | | // wms失败è¿åå»NGå£ä»»å¡ |
| | | return content; |
| | | } |
| | | |
| | | var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); |
| | | if (task.TaskType == (int)TaskInboundTypeEnum.InNG) |
| | | { |
| | | var station = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == task.SourceAddress); |
| | | Dt_Task _Task = _mapper.Map<Dt_Task>(task); |
| | | _Task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | _Task.CurrentAddress = task.SourceAddress; |
| | | _Task.NextAddress = station.stationNGChildCode; |
| | | _Task.TargetAddress = task.TargetAddress; |
| | | |
| | | BaseDal.AddData(_Task); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(_Task.TaskNum, "æ¥æ¶WMSä»»å¡"); |
| | | return content.OK(); |
| | | } |
| | | else |
| | | { |
| | | return ReceiveWMSTask(new List<WMSTaskDTO> { task }); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | QuartzLogger.WriteLogToFile($"æ¥æ¶ä»»å¡å¼å¸¸", $"æçå·ï¼ã{palletCode}ã请æ±ç¹ä½ï¼ã{sourceAddress}ãå¼å¸¸ä¿¡æ¯ã{ex.Message}ãå¼å¸¸è¡ã{ex.StackTrace}ã"); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error($"ä»»å¡å®æå¼å¸¸,ä»»å¡å·:ã{taskNum}ã"); |
| | | QuartzLogger.WriteLogToFile($"Info_ä»»å¡å®æ", $"ä»»å¡å®æå¼å¸¸,ä»»å¡å·:ã{taskNum}ãå¼å¸¸ä¿¡æ¯ã{ex.Message}ã{Environment.NewLine}å¼å¸¸ä¿¡æ¯ã{ex.StackTrace}ã{Environment.NewLine}"); |
| | | LogFactory.WriteError($"Info_ä»»å¡å®æ", $"ä»»å¡å®æå¼å¸¸,ä»»å¡å·:ã{taskNum}ã", ex); |
| | | } |
| | | QuartzLogger.WriteLogToFile($"Info_ä»»å¡å®æ", $"ä»»å¡å®æ,ä»»å¡å·:ã{taskNum}ãè¿ååæ°ã{JsonConvert.SerializeObject(content)}ã{Environment.NewLine}{Environment.NewLine}"); |
| | | LogFactory.WriteInfo($"Info_ä»»å¡å®æ", $"ä»»å¡å®æ,ä»»å¡å·:ã{taskNum}ãè¿ååæ°ã{JsonConvert.SerializeObject(content)}ã{Environment.NewLine}{Environment.NewLine}"); |
| | | return content; |
| | | } |
| | | |
| | |
| | | </PropertyGroup> |
| | | |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\LogLibrary\LogLibrary.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_ITaskInfoService\WIDESEAWCS_ITaskInfoService.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_SystemServices\WIDESEAWCS_SystemServices.csproj" /> |
| | |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (conveyorLine != null) |
| | | { |
| | | // æ¥è¯¢ææå设å¤çä½ç½® |
| | | List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode); |
| | | // è·åææç«ç¹ç®¡çå¨ |
| | | List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode); |
| | | |
| | | // å¹¶è¡å¤çæ¯ä¸ªåè®¾å¤ |
| | | var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList(); |
| | | |
| | | // å¹¶è¡å¤çæ¯ä¸ªç«ç¹ç®¡çå¨ |
| | | tasks = stationManagers.Select(station => Task.Run(async () => |
| | | { |
| | | ConveyorLineTaskCommand command = ReadCommand(conveyorLine, station.stationChildCode); |
| | | if (command == null ) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | IStationHandler handler = StationHandlerFactory.GetHandler(station.stationType, this); |
| | | await handler.HandleStationAsync(conveyorLine, station, command); |
| | | })).ToList(); |
| | | |
| | | await Task.WhenAll(tasks); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | |
| | | Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString()); |
| | | } |
| | | return; |
| | | } |
| | | |
| | | private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode) |
| | | { |
| | | try |
| | | { |
| | | // 读åä»»å¡å½ä»¤å设å¤å½ä»¤ |
| | | ConveyorLineTaskCommand command = ReadCommand(conveyorLine, childDeviceCode); |
| | | if (command != null) |
| | | { |
| | | #region è°ç¨äºä»¶æ»çº¿éç¥å端 |
| | | |
| | | // è·åç¼åä¸çç¨æ·ä¿¡æ¯ |
| | | var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken"); |
| | | if (tokenInfos != null && tokenInfos.Any()) |
| | | { |
| | | userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList(); |
| | | userIds = tokenInfos.Select(x => x.UserId).ToList(); |
| | | |
| | | // æé éç¥æ°æ® |
| | | object obj = new |
| | | { |
| | | command |
| | | }; |
| | | // åééç¥ |
| | | _noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj }); |
| | | } |
| | | |
| | | #endregion è°ç¨äºä»¶æ»çº¿éç¥å端 |
| | | |
| | | var structs = BitConverter.GetBytes(command.InteractiveSignal).Reverse().ToArray().ToBoolArray(); |
| | | // è·å设å¤å议详æ
|
| | | List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList(); |
| | | |
| | | if (deviceProtocolDetails != null) |
| | | { |
| | | foreach (var item in deviceProtocolDetails) |
| | | { |
| | | int itemValue = item.ProtocalDetailValue.ObjToInt(); |
| | | if (structs[itemValue] == true) |
| | | { |
| | | // è·åå¤çæ¹æ³ |
| | | MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType); |
| | | if (method != null) |
| | | { |
| | | // è°ç¨å¤çæ¹æ³ |
| | | method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue }); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | #region å
¥åº |
| | | |
| | | /// <summary> |
| | | /// è¾é线请æ±å
¥åº |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | /// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param> |
| | | public async Task RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue) |
| | | { |
| | | try |
| | | { |
| | | // è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åº |
| | | var log = $"æ¶é´ï¼ã{DateTime.Now}ãã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº"; |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | // åééç¥ |
| | | await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // æ¥è¯¢æ¡ç 对åºçä»»å¡ |
| | | var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode.ToString(), childDeviceCode); |
| | | if (task != null) |
| | | { |
| | | // 妿任å¡ç±»åæ¯åºåºæåºæçï¼åå¤çåºåºä»»å¡ |
| | | if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task); |
| | | } |
| | | else |
| | | { |
| | | // è·åä»»å¡çä¸ä¸ç®æ å°å |
| | | var next = task.NextAddress; |
| | | // å°ä»»å¡æ å°ä¸ºå½ä»¤ |
| | | var taskCommand = MapTaskCommand(task, command); |
| | | // æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å |
| | | task.NextAddress = next; |
| | | // åéå½ä»¤å°åè®¾å¤ |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åºï¼ä¸ä¸ç®æ å°å |
| | | var logs = $"æ¶é´ï¼ã{DateTime.Now}ãã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | ConsoleHelper.WriteWarningLine(logs); |
| | | |
| | | await _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, logs); |
| | | |
| | | // åéä»»å¡å®æéç¥ |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | // æ´æ°ä»»å¡ç¶æä¸ºä¸ä¸ç¶æ |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // 妿任å¡ä¸ºç©ºä¸æ¡ç ä¸ä¸º"NoRead"䏿¡ç ä¸ä¸ºç©ºï¼åå¤çæ°ä»»å¡ |
| | | if (task == null && command.Barcode.ToString() != "NoRead" && command.Barcode.IsNotEmptyOrNull()) |
| | | { |
| | | // æ¥è¯¢æ¡ç 对åºçä»»å¡ |
| | | task = _taskService.QueryBarcodeTask(command.Barcode.ToString(), childDeviceCode); |
| | | if (task == null) |
| | | // 弿¥å¤çæ°ä»»å¡ |
| | | await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // æè·å¹¶è¾åºå¼å¸¸ä¿¡æ¯ |
| | | Console.Out.WriteLine(ex.ToString()); |
| | | } |
| | | } |
| | | |
| | | #region è¾é线请æ±å
¥åºä¸ä¸å°å |
| | | |
| | | /// <summary> |
| | | /// è¾é线请æ±å
¥åºä¸ä¸å°å |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) |
| | | { |
| | | var log = $"æ¶é´ï¼ã{DateTime.Now}ãã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å"; |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode.ToString()); |
| | | if (task != null) |
| | | { |
| | | if (command.Barcode.ToString() == task.PalletCode) |
| | | { |
| | | Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); |
| | | if (newTask != null) |
| | | { |
| | | //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask); |
| | | //taskCommand.InteractiveSignal = command.InteractiveSignal; |
| | | var next = newTask.NextAddress; |
| | | var taskCommand = MapTaskCommand(newTask, command); |
| | | newTask.NextAddress = next; |
| | | |
| | | var logs = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | ConsoleHelper.WriteWarningLine(logs); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, logs); |
| | | |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | _taskService.UpdateData(newTask); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | #endregion è¾é线请æ±å
¥åºä¸ä¸å°å |
| | | |
| | | /// <summary> |
| | | /// è¾é线å
¥åºå®æ |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | /// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param> |
| | | public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue) |
| | | { |
| | | try |
| | | { |
| | | var log = $"æ¶é´ï¼ã{DateTime.Now}ãã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ"; |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode.ToString()); |
| | | if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish) |
| | | { |
| | | if (command.Barcode.ToString() == task.PalletCode && childDeviceCode == task.NextAddress) |
| | | { |
| | | if (task.TaskType == (int)TaskInboundTypeEnum.InNG) |
| | | { |
| | | int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>(); |
| | | |
| | | var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress); |
| | | task.CurrentAddress = station.stationLocation; |
| | | task.NextAddress = station.stationNGLocation; |
| | | task.TargetAddress = task.NextAddress; |
| | | task.TaskState = nextStatus; |
| | | task.ModifyDate = DateTime.Now; |
| | | task.Modifier = "System"; |
| | | _taskRepository.UpdateData(task); |
| | | |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, "1000", childDeviceCode); |
| | | |
| | | var logs = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã"; |
| | | ConsoleHelper.WriteWarningLine(logs); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, logs); |
| | | |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | } |
| | | else |
| | | { |
| | | WebResponseContent content = _taskService.UpdateTaskStatusToNext(task); |
| | | WriteInfo(conveyorLine.DeviceName, content.ToJsonString()); |
| | | if (!content.Status) |
| | | { |
| | | ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,任塿§è¡å¤±è´¥{JsonConvert.SerializeObject(content)}"); |
| | | return; |
| | | } |
| | | |
| | | conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, "1000", childDeviceCode); |
| | | |
| | | var logs = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã"; |
| | | ConsoleHelper.WriteWarningLine(logs); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, logs); |
| | | |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | Console.Out.WriteLine(content.ToJsonString()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | |
| | | #endregion å
¥åº |
| | | |
| | | #region åºåº |
| | | |
| | | /// <summary> |
| | | /// è¾é线请æ±åºä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | /// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param> |
| | | public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue) |
| | | { |
| | | try |
| | | { |
| | | // æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯ |
| | | var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); |
| | | |
| | | // è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯ |
| | | var logs = $"æ¶é´ï¼ã{DateTime.Now}ãã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}"; |
| | | ConsoleHelper.WriteSuccessLine(logs); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, logs); |
| | | |
| | | // 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½ |
| | | if (task != null) |
| | | { |
| | | // è·åä»»å¡çä¸ä¸ç®æ å°å |
| | | var next = task.NextAddress; |
| | | |
| | | // å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡ |
| | | var taskCommand = MapTaskCommand(task, command); |
| | | |
| | | // æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å |
| | | task.NextAddress = next; |
| | | |
| | | // è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å |
| | | var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | ConsoleHelper.WriteSuccessLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // åè¾é线åéå½ä»¤ |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | // æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | |
| | | // 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ |
| | | if (task.TargetAddress == "1020-1"|| task.TargetAddress == "1049-8") |
| | | { |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¾é线请æ±åºåºä¸ä¸å°å |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue) |
| | | { |
| | | // æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç |
| | | var log = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å"; |
| | | ConsoleHelper.WriteSuccessLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯ |
| | | Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode.ToString()); |
| | | |
| | | // 妿任å¡åå¨ |
| | | if (task != null) |
| | | { |
| | | // æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´ |
| | | if (command.Barcode.ToString() == task.PalletCode) |
| | | { |
| | | // æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡ |
| | | Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); |
| | | |
| | | // å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º |
| | | if (newTask != null) |
| | | { |
| | | // è·åä¸ä¸ç®æ å°å |
| | | var next = newTask.NextAddress; |
| | | |
| | | // å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡ |
| | | var taskCommand = MapTaskCommand(newTask, command); |
| | | |
| | | // æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å |
| | | newTask.NextAddress = next; |
| | | |
| | | // æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å |
| | | var logs = $"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | ConsoleHelper.WriteSuccessLine(logs); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, logs); |
| | | |
| | | // åéä»»å¡å½ä»¤å°åè®¾å¤ |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | |
| | | // æ è®°è¾é线åéä»»å¡å®æ |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | |
| | | _taskService.UpdateData(newTask); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¾é线åºåºå®æ |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="command">读åç请æ±ä¿¡æ¯</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue) |
| | | { |
| | | try |
| | | { |
| | | // æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº |
| | | var logs = $"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ"; |
| | | ConsoleHelper.WriteSuccessLine(logs); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = logs, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, logs); |
| | | |
| | | // æ¥è¯¢æ£å¨æ§è¡çè¾éçº¿ä»»å¡ |
| | | var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode, command.Barcode.ToString()); |
| | | |
| | | // 妿任å¡åå¨ |
| | | if (task != null) |
| | | { |
| | | // 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´ |
| | | if (command.Barcode.ToString() == task.PalletCode) |
| | | { |
| | | // å建ä¸ä¸ªç©ºçWebResponseContent对象 |
| | | WebResponseContent content = new WebResponseContent(); |
| | | |
| | | // ä¿åä»»å¡çä¸ä¸ç®æ å°å |
| | | var next = task.NextAddress; |
| | | // å°ä»»å¡æ å°ä¸ºå½ä»¤ |
| | | var taskCommand = MapTaskCommand(task, command); |
| | | // æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å |
| | | task.NextAddress = next; |
| | | |
| | | // 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG" |
| | | if (task.PalletCode != command.Barcode.ToString() || task.Remark == "NG") |
| | | { |
| | | // 设置å½ä»¤çç®æ å°å为NGå°å |
| | | taskCommand.TargetAddress = 1; |
| | | } |
| | | else |
| | | { |
| | | // 设置å½ä»¤çç®æ å°å为1000 |
| | | taskCommand.TargetAddress = 1000; |
| | | } |
| | | |
| | | // æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°åå·²ç¡®å® |
| | | var log = $"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã"; |
| | | ConsoleHelper.WriteSuccessLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { conveyorLine.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(conveyorLine.DeviceName, log); |
| | | |
| | | // åéå½ä»¤å°è¾é线 |
| | | conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | // 宿è¾é线åé |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | // æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ |
| | | content = _taskService.UpdateTaskStatusToNext(task); |
| | | } |
| | | else |
| | | { |
| | | |
| | | // 宿è¾é线åé |
| | | ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); |
| | | // æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | } |
| | | |
| | | #endregion åºåº |
| | | |
| | | /// <summary> |
| | | /// è¾é线交äºå®æ |
| | | /// </summary> |
| | | /// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param> |
| | | /// <param name="childDeviceCode">å设å¤ç¼å·</param> |
| | | /// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param> |
| | | /// <param name="value">å¼</param> |
| | | public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value) |
| | | { |
| | | // ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象 |
| | | // æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode |
| | | // æ¥æ¾ç»ææDeviceProOffsetååºæå |
| | | DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); |
| | | |
| | | // å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x |
| | | string[] x = devicePro.DeviceProAddress.Split('.'); |
| | | |
| | | // å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçåç¬¦ä¸²å½¢å¼ |
| | | x[x.Length - 1] = (ProtocalDetailValue + 1).ToString(); |
| | | |
| | | // å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress |
| | | string DeviceProAddress = string.Join(".", x); |
| | | |
| | | var writeBool = conveyorLine.Communicator.Read<bool>(DeviceProAddress); |
| | | if (writeBool != value) |
| | | { |
| | | // 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å |
| | | conveyorLine.Communicator.Write(DeviceProAddress, value); |
| | | } |
| | | } |
| | | |
| | | public async Task LogAndWarn(string deviceName, string log, string color = "red") |
| | | { |
| | | ConsoleHelper.WriteWarningLine(log); |
| | | await _noticeService.Logs(userTokenIds, new { deviceName, log = log, time = DateTime.Now.ToString("G"), color = color }); |
| | | WriteInfo(deviceName, log); |
| | | } |
| | | |
| | | private ConveyorLineTaskCommand ReadCommand(CommonConveyorLine conveyorLine,string childDeviceCode) |
| | | { |
| | | ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode); |
| | | |
| | | DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == childDeviceCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault(); |
| | | byte[] Barcode = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10); |
| | | |
| | | command.Barcode = Encoding.ASCII.GetString(Barcode); |
| | | return command; |
| | | } |
| | | |
| | | } |
| | |
| | | /// <summary> |
| | | /// æçç±»å |
| | | /// </summary> |
| | | WriteConveyorLineTrayType |
| | | WriteConveyorLineTrayType, |
| | | |
| | | #endregion |
| | | |
| | | #region AGVDevice |
| | | /// <summary> |
| | | /// å
许æ¾è´§ |
| | | /// </summary> |
| | | AllowPut, |
| | | |
| | | /// <summary> |
| | | /// å
许åè´§ |
| | | /// </summary> |
| | | AllowPickUp, |
| | | |
| | | /// <summary> |
| | | /// AGVæ¾è´§å®æ |
| | | /// </summary> |
| | | PutFinish, |
| | | |
| | | /// <summary> |
| | | /// AGVåè´§å®æ |
| | | /// </summary> |
| | | PickUpFinish |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | using Newtonsoft.Json; |
| | |  |
| | | using Newtonsoft.Json; |
| | | using Quartz; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | /// <summary> |
| | | /// 䏿¥¼å
许æ¾è´§ |
| | | /// </summary> |
| | | OneLayerPut, |
| | | OneLayerAllowPut, |
| | | |
| | | /// <summary> |
| | | /// 䏿¥¼å
许åè´§ |
| | | /// </summary> |
| | | OneLayerPickU, |
| | | OneLayerAllowPickUp, |
| | | |
| | | /// <summary> |
| | | /// äºæ¥¼å
许æ¾è´§ |
| | | /// </summary> |
| | | TwoLayerPut, |
| | | TwoLayerAllowPut, |
| | | |
| | | /// <summary> |
| | | /// äºæ¥¼å
许åè´§ |
| | | /// </summary> |
| | | TwoLayerPickUp, |
| | | TwoLayerAllowPickUp, |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | |
| | | using Mapster; |
| | | using HslCommunication; |
| | | using Mapster; |
| | | using Microsoft.AspNetCore.Components.Routing; |
| | | using Newtonsoft.Json; |
| | | using Quartz; |
| | | using System.Diagnostics.CodeAnalysis; |
| | |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane.Enum; |
| | | using WIDESEAWCS_SignalR; |
| | | using WIDESEAWCS_Tasks.ConveyorLineJob; |
| | | using WIDESEAWCS_Tasks.StackerCraneJob; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | |
| | | var task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum); |
| | | |
| | | if (task == null) commonStackerCrane.SetValue(StackerCraneDBName.FinishConfirm, 1); |
| | | string x = $"ã{commonStackerCrane.StackerCraneWorkStatusValue}ã"; |
| | | |
| | | //if(task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | //{ |
| | | // CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1001") as CommonConveyorLine; |
| | | // if (conveyorLine != null) |
| | | // { |
| | | // short InteractiveSignal = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, "101"); |
| | | // var structs = BitConverter.GetBytes(InteractiveSignal).Reverse().ToArray().ToBoolArray(); |
| | | // if (structs[0]) |
| | | // { |
| | | // conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTaskNum, "9999", "101"); |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | var content = _taskService.StackCraneTaskCompleted(e.TaskNum); |
| | | |
| | |
| | | |
| | | |
| | | str = $"{commonStackerCrane.DeviceName}ãWMS|WCSä»»å¡å®æï¼ã{content.Status}{content.Message}ã,å åæºå®æä¿¡å·åå
¥ï¼ã{isWorkType}ã,ä»»å¡å·ï¼ã{e.TaskNum}ãæ¶é´ã{DateTime.Now}ã"; |
| | | WriteInfo(commonStackerCrane.DeviceName, str); |
| | | WriteInfo(commonStackerCrane.DeviceName, str+x); |
| | | ConsoleHelper.WriteColorLine(str, ConsoleColor.Blue); |
| | | } |
| | | } |
| | |
| | | |
| | | if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | // æ£æ¥å½ååºåºä»»å¡ç«å°æ¯å¦å
许æ¾è´§ |
| | | var occupiedStation = OutTaskStationIsOccupied(task); |
| | | if (occupiedStation == null) |
| | | { |
| | | // 妿å½ååºåºä»»å¡ç«å°ä¸å
许æ¾è´§ï¼æé¤å½åä»»å¡ï¼æ¥æ¾å
¶ä»åºåºä»»å¡ |
| | | // // æ£æ¥å½ååºåºä»»å¡ç«å°æ¯å¦å
许æ¾è´§ |
| | | // var occupiedStation = OutTaskStationIsOccupied(task); |
| | | // if (occupiedStation == null) |
| | | // { |
| | | // // 妿å½ååºåºä»»å¡ç«å°ä¸å
许æ¾è´§ï¼æé¤å½åä»»å¡ï¼æ¥æ¾å
¶ä»åºåºä»»å¡ |
| | | |
| | | var log = $"ä»»å¡å·ï¼ã{task.TaskNum}ãåºåºå°åï¼ã{task.NextAddress}ãä¸å
许æ¾è´§"; |
| | | ConsoleHelper.WriteErrorLine(log); |
| | | // var log = $"ä»»å¡å·ï¼ã{task.TaskNum}ãåºåºå°åï¼ã{task.NextAddress}ãä¸å
许æ¾è´§"; |
| | | // ConsoleHelper.WriteErrorLine(log); |
| | | |
| | | _noticeService.Logs(userTokenIds, new { commonStackerCrane.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(commonStackerCrane.DeviceName, log); |
| | | // _noticeService.Logs(userTokenIds, new { commonStackerCrane.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | // WriteInfo(commonStackerCrane.DeviceName, log); |
| | | |
| | | task = FindAnotherOutboundTask(commonStackerCrane.DeviceCode, task.TaskId); |
| | | // task = FindAnotherOutboundTask(commonStackerCrane.DeviceCode, task.TaskId); |
| | | |
| | | if (task == null) |
| | | { |
| | | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // if (task == null) |
| | | // { |
| | | // task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // return task; |
| | | // } |
| | | return task; |
| | | } |
| | | |
| | | } |
| | | else if (task == null) |
| | | { |
| | |
| | | { |
| | | StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); |
| | | |
| | | stackerCraneTaskCommand.Barcode = task.PalletCode; |
| | | stackerCraneTaskCommand.TaskNum = task.TaskNum; |
| | | stackerCraneTaskCommand.WorkType = 1; |
| | | stackerCraneTaskCommand.StartCommand = 1; |
| | | stackerCraneTaskCommand.TaskNum = Convert.ToInt16(task.TaskNum); |
| | | stackerCraneTaskCommand.WorkType = Convert.ToInt16(1); |
| | | stackerCraneTaskCommand.StartCommand = Convert.ToInt16(1); |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//夿æ¯å¦æ¯å
¥åºä»»å¡ |
| | | { |
| | | List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); |
| | | if (routers.Count > 0) |
| | | { |
| | | stackerCraneTaskCommand.StartRow = Convert.ToInt16(routers.FirstOrDefault().SrmRow); |
| | | stackerCraneTaskCommand.StartColumn = Convert.ToInt16(routers.FirstOrDefault().SrmColumn); |
| | | stackerCraneTaskCommand.StartLayer = Convert.ToInt16(routers.FirstOrDefault().SrmLayer); |
| | | |
| | | string[] targetCodes = task.NextAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2; |
| | | stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); |
| | | stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"å
¥åºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.NextAddress}ã"); |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"æªæ¾å°ç«å°ã{task.NextAddress}ãä¿¡æ¯ï¼æ æ³è·å对åºçå åæºåè´§ç«å°ä¿¡æ¯"); |
| | | return null; |
| | | } |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress); |
| | | if (routers.Count > 0) |
| | | { |
| | | stackerCraneTaskCommand.EndRow = Convert.ToInt16(routers.FirstOrDefault().SrmRow); |
| | | stackerCraneTaskCommand.EndColumn = Convert.ToInt16(routers.FirstOrDefault().SrmColumn); |
| | | stackerCraneTaskCommand.EndLayer = Convert.ToInt16(routers.FirstOrDefault().SrmLayer); |
| | | |
| | | string[] sourceCodes = task.CurrentAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡èµ·ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"æªæ¾å°ç«å°ã{task.NextAddress}ãä¿¡æ¯ï¼æ æ³è·å对åºçå åæºæ¾è´§ç«å°ä¿¡æ¯"); |
| | | return null; |
| | | } |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) |
| | | { |
| | | |
| | | string[] targetCodes = task.NextAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"ç§»åºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.NextAddress}ã"); |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | string[] sourceCodes = task.CurrentAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"ç§»åºä»»å¡èµ·ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡èµ·ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | |
| | | string[] targetCodes = task.NextAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2; |
| | | stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); |
| | | stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) |
| | | { |
| | | string[] sourceCodes = task.CurrentAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]) % 2 != 0 ? (short)1 : (short)2; |
| | | stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); |
| | | stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡èµ·ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | |
| | | string[] targetCodes = task.NextAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2; |
| | | stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); |
| | | stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// ä»»å¡å· |
| | | /// </summary> |
| | | public int TaskNum { get; set; } |
| | | public short TaskNum { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä½ä¸ç±»å |
| | |
| | | /// ç®æ å± |
| | | /// </summary> |
| | | public short EndLayer { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æçå· |
| | | /// </summary> |
| | | [DataLength(30)] |
| | | public string Barcode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å¯å¨å½ä»¤ |
| | |
| | | { field: 'row', title: 'è¡', type: 'string', width: 70, align: 'left' }, |
| | | { field: 'column', title: 'å', type: 'string', width: 70, align: 'left' }, |
| | | { field: 'layer', title: 'å±', type: 'string', width: 110, align: 'left' }, |
| | | { field: 'depth', title: '深度', type: 'string', width: 110, align: 'left', hidden: true }, |
| | | { field: 'scNo', title: '对åºå åæºå·', type: 'string', width: 110, align: 'left', hidden: true }, |
| | | { field: 'depth', title: '深度', type: 'string', width: 110, align: 'left'}, |
| | | { field: 'locationType', title: 'è´§ä½ç±»å', type: 'int', width: 110, align: 'left',bind: { key: "LocationType", data: [] } }, |
| | | { field: 'locationStatus', title: 'è´§ä½ç¶æ', type: 'int', width: 110, align: 'left', bind: { key: "LocationState", data: [] } }, |
| | | { field: 'enalbeStatus', title: 'æ¯å¦ç¦ç¨', type: 'int', width: 75, align: 'left', bind: { key: "EnalbeStatus", data: [] }}, |
| | | // { field: 'isLocked', title: 'æ¯å¦éå®', type: 'bool', width: 110, align: 'left', bind: { key: "IsLocked", data: [] } }, |
| | | { field: 'locationDesc', title: 'è´§ä½æè¿°', type: 'string', width: 110, align: 'left', hidden: true }, |
| | | { field: 'remark', title: 'æ£æµæå
许', type: 'string', width: 110, align: 'left' ,bind: { key: "AllowStatus", data: [] }}, |
| | | { field: 'creater', title: 'å建人', type: 'string', sort: true, width: 110, align: 'left' }, |
| | | { field: 'createDate', title: 'å建æ¶é´', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, |
| | |
| | | "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|solutionrelative:widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 3, |
| | | "SelectedChildIndex": 0, |
| | | "Children": [ |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "IDt_TaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs", |
| | | "ViewState": "AgIAAAEAAAAAAAAAAAAUwBMAAAAmAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-24T09:29:59.707Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "appsettings.json", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAADwvwwAAABEAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", |
| | | "WhenOpened": "2025-09-24T09:23:47.789Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "Program.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Program.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Program.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Program.cs", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\Program.cs", |
| | | "ViewState": "AgIAAF0AAAAAAAAAAAAAAH0AAAAJAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-24T08:56:28.562Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | |
| | | "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs", |
| | | "ViewState": "AgIAANMAAAAAAAAAAAAAAOgAAAAdAAAAAAAAAA==", |
| | | "ViewState": "AgIAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-24T08:36:32.274Z", |
| | | "WhenOpened": "2025-09-25T03:08:03.698Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "appsettings.json", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAAUAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", |
| | | "WhenOpened": "2025-09-24T09:23:47.789Z", |
| | | "EditorCaption": "" |
| | | } |
| | | ] |
| | |
| | | "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", |
| | | "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" |
| | | } |
| | |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "Dt_TaskService.cs", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs", |
| | | "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs", |
| | | "ViewState": "AgIAAHQBAAAAAAAAAAAmwG4BAAAXAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-09-25T03:08:03.698Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "Title": "appsettings.json", |
| | | "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json", |
| | | "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json", |
| | | "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json", |
| | | "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAAUAAAAAAAAAA==", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAEAAAAOAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", |
| | | "WhenOpened": "2025-09-24T09:23:47.789Z", |
| | | "EditorCaption": "" |