WIDESEAWCS_QuartzJob更新版本
1、设备表(Dt_DeviceInfo)中配置的设备相关信息不在调度服务配置表(Dt_DispatchInfo)中也可连接到PLC,是否连接PLC通过设备表(Dt_DeviceInfo)中DeviceStatus控制。
2、新增QuartzNetExtension类,将连接PLC、开启调度服务方法从QuartzJobHostedService类中移除,添加到QuartzNetExtension类中,停止调度服务时再启动时可注入QuartzNetExtension类调用方法。
3、新增Scheduler控制器,主要操作调度服务,暂只写了启动。停止、暂停、恢复等方法。
已删除10个文件
已重命名1个文件
已添加12个文件
已修改63个文件
| | |
| | | createDate: "", |
| | | creator: "", |
| | | modifyDate: "", |
| | | menuType: 1 |
| | | }); |
| | | |
| | | const actionFields = ref({ |
| | |
| | | "WorkspaceRootPath": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\service\\dispatchinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\siemens\\siemenss7communicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\siemens\\siemenss7communicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\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:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\dispatchinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\dispatchinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\models\\dt_dispatchinfo.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_dispatchinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\stackercrane\\common\\commonstackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartznet\\quartznetextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\quartznetextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\wideseawcs_quartzjob.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\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:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\basecommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\basecommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\wideseawcs\\infrastructurewcs\\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:\\wideseawcs\\infrastructurewcs\\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:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_tasks\\testjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\testjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\schedulercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\schedulercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartznet\\ischedulercenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\ischedulercenter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\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:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\filter\\customauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\customauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\filter\\automapperconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\automapperconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\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:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_isystemservices\\isys_menuservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_menuservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_systemservices\\sys_menuservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_menuservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_systemservices\\sys_roleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_roleservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|e:\\wideseawcs\\infrastructurewcs\\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:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_dto\\system\\menudto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\system\\menudto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_isystemrepository\\isys_menurepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|solutionrelative:wideseawcs_isystemrepository\\isys_menurepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_model\\models\\system\\sys_menu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\system\\sys_menu.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\controllers\\system\\sys_menucontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_menucontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\wideseawcs.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\wideseawcs.xml||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\filter\\automappersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\automappersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\index.html||{40D31677-CBC0-4297-A9EF-89D907823A98}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\dispatchinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\dispatchinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobautofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobautofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobdatatablehostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobdatatablehostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\loghelper\\quartzlogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\loghelper\\quartzlogger.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\storage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\storage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_dto\\system\\vuedictionarydto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\system\\vuedictionarydto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_dto\\system\\userpermissions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\system\\userpermissions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_dto\\system\\actiondto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\system\\actiondto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\dto\\deviceinfodto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\dto\\deviceinfodto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\quartznet\\jobfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\jobfactory.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\wideseawcs\\infrastructurewcs\\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:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_tasks\\shuttlecarjob\\shuttlecarjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\shuttlecarjob\\shuttlecarjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\dto\\deviceprodto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\dto\\deviceprodto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\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:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\models\\dt_deviceprotocol.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_deviceprotocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\omron\\omronethernetcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\omron\\omronethernetcommunicator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\shuttlecar\\shuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\shuttlecar\\shuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\shuttlecar\\ishuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\shuttlecar\\ishuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\conveyorline\\iconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\iconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\otherdevices\\iotherdevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\otherdevices\\iotherdevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceprotocoldetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceprotocoldetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\models\\dt_router.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_router.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\models\\dt_deviceprotocoldetail.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_deviceprotocoldetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\db\\models\\baseentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\db\\models\\baseentity.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\istackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\wideseawcs_core.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\wideseawcs_core.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_communicator\\wideseawcs_communicator.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", |
| | | "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\wideseawcs_communicator.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\routerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\routerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceprotocolservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceprotocolservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\extensions\\initializationhostservicesetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\initializationhostservicesetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\hostedservice\\seeddatahostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\hostedservice\\seeddatahostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\seed\\dbseed.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\seed\\dbseed.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\devicebase\\idevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\idevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\otherdevices\\otherdevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\otherdevices\\otherdevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\otherdevices\\iotherdevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\otherdevices\\iotherdevice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartznet\\schedulercenterserver.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\shuttlecar\\shuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\shuttlecar\\shuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\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:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\shuttlecar\\ishuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\shuttlecar\\ishuttlecar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\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:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\stackercranetaskcompletedeventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\stackercranetaskcompletedeventargs.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\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:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\jobbase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\attributes\\modelvalidateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\attributes\\modelvalidateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\attributes\\cacheattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\attributes\\cacheattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\attributes\\sequenceattirbute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\attributes\\sequenceattirbute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\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:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\seed\\dbseed.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\seed\\dbseed.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\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:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\aop\\sqlsugaraop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\sqlsugaraop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\models\\dt_deviceprotocol.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_deviceprotocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\devicebase\\devicecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\devicecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\helper\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\appsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\aop\\cacheaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\cacheaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\helper\\md5helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\md5helper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\helper\\objectextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\objectextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_systemservices\\sys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_dictionaryservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\caches\\memorycacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\caches\\memorycacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\caches\\icacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\caches\\icacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\utilities\\modelvalidate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\utilities\\modelvalidate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\apidoc\\htmlhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\apidoc\\htmlhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\apidoc\\bytehelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\apidoc\\bytehelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_communicator\\custommodel\\siemenscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\custommodel\\siemenscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_communicator\\custommodel\\melseccustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\custommodel\\melseccustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_communicator\\custommodel\\modbuscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{861C4D0B-A478-48DB-A0FA-AE70F5BA210A}|WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj|solutionrelative:wideseawcs_communicator\\custommodel\\modbuscustommodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\devicebase\\datalengthattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\datalengthattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_quartzjob\\seed\\quartzjobcreatedatatabel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\seed\\quartzjobcreatedatatabel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 18, |
| | | "SelectedChildIndex": 11, |
| | | "Children": [ |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 5, |
| | | "Title": "OmronEtherNetCommunicator.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Omron\\OmronEtherNetCommunicator.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Omron\\OmronEtherNetCommunicator.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Omron\\OmronEtherNetCommunicator.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Communicator\\Omron\\OmronEtherNetCommunicator.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAGMCAAAIAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T01:23:20.224Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 7, |
| | | "Title": "IStackerCrane.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "ViewState": "AQIAABIAAAAAAAAAAAAAAAAAAAAAAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T01:07:53.905Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 9, |
| | | "Title": "IConveyorLine.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "ViewState": "AQIAABgAAAAAAAAAAAAAADcAAACCAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T01:03:35.371Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "SpeStackerCrane.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "ViewState": "AQIAAGcAAAAAAAAAAAAqwH8AAAB+AAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T01:29:42.105Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 11, |
| | | "Title": "OtherDevice.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "ViewState": "AQIAAB0AAAAAAAAAAAAqwIIAAAAaAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T00:54:47.347Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 10, |
| | | "Title": "IOtherDevice.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAFAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T00:53:40.762Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:12:0:{2456bd12-ecf7-4988-a4a6-67d49173f565}" |
| | |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 6, |
| | | "Title": "ShuttleCar.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAswC8AAAAIAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T00:43:46.189Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 8, |
| | | "Title": "IShuttleCar.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "ViewState": "AQIAAAEAAAAAAAAAAAAgwDIAAACCAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-01T00:43:44.395Z", |
| | | "EditorCaption": "" |
| | | "DocumentIndex": 7, |
| | | "Title": "WIDESEAWCS_QuartzJob.csproj", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAXAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", |
| | | "WhenOpened": "2024-11-15T07:03:26.538Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 3, |
| | | "Title": "CommonStackerCrane.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAE4BAAAIAAAA", |
| | | "Title": "Dt_DeviceInfo.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", |
| | | "ViewState": "AgIAABsAAAAAAAAAAAAAAEAAAAAuAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:01:23.531Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2024-11-11T02:36:57.223Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 2, |
| | | "Title": "DeviceInfoService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", |
| | | "DocumentIndex": 6, |
| | | "Title": "QuartzNetExtension.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\QuartzNetExtension.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\QuartzNetExtension.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\QuartzNetExtension.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\QuartzNetExtension.cs", |
| | | "ViewState": "AgIAAB8AAAAAAAAAAAApwFcAAACSAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-30T03:12:38.009Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2024-11-15T01:36:48.189Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 1, |
| | | "DocumentIndex": 5, |
| | | "Title": "Dt_DispatchInfo.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAF8AAABBAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:37:35.521Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 4, |
| | | "Title": "DispatchInfoService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DispatchInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DispatchInfoService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DispatchInfoService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DispatchInfoService.cs", |
| | | "ViewState": "AQIAACkAAAAAAAAAAAAuwEMAAAAYAAAA", |
| | | "ViewState": "AgIAABYAAAAAAAAAAAArwC8AAAAaAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-30T03:12:41.805Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2024-11-13T01:06:37.692Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "Sys_DictionaryController.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", |
| | | "ViewState": "AQIAAGQAAAAAAAAAAAAAAG4AAAAmAAAA", |
| | | "DocumentIndex": 2, |
| | | "Title": "SiemensS7Communicator.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Communicator\\Siemens\\SiemensS7Communicator.cs", |
| | | "ViewState": "AgIAAJAAAAAAAAAAAAAAwLsAAAANAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:01:59.572Z", |
| | | "EditorCaption": "" |
| | | "WhenOpened": "2024-11-13T06:57:16.632Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 13, |
| | | "Title": "SchedulerCenterServer.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAACMAAAA5AAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:23:09.39Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 14, |
| | | "Title": "JobSetup.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAACcAAABNAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:23:38.365Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 15, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AQIAACsAAAAAAAAAAAAswDkAAAAMAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:28:49.243Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 16, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AQIAAB4AAAAAAAAAAAA+wCwAAABTAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:07:30.949Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 12, |
| | | "Title": "CommonConveyorLine.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "ViewState": "AQIAAHYAAAAAAAAAAAAAAJEAAAAdAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:16:32.807Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 17, |
| | | "Title": "TaskService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", |
| | | "ViewState": "AQIAADIAAAAAAAAAAADwvwABAABZAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T02:59:00.959Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 25, |
| | | "Title": "DBSeed.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "ViewState": "AQIAAE0AAAAAAAAAAAAmwFMAAABAAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T06:21:27.437Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 27, |
| | | "Title": "SqlSugarAop.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", |
| | | "ViewState": "AQIAABQAAAAAAAAAAAAAwAAAAAAAAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:17:24.097Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 26, |
| | | "Title": "Dt_Task.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", |
| | | "ViewState": "AQIAACMAAAAAAAAAAAAuwCwAAABDAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:17:49.628Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 19, |
| | | "Title": "appsettings.json", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAADwvxsAAAASAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", |
| | | "WhenOpened": "2024-10-31T11:29:47.681Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 20, |
| | | "Title": "WMSTaskDTO.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs", |
| | | "ViewState": "AQIAABcAAAAAAAAAAAA0wAAAAAAAAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:26:44.217Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 18, |
| | | "DocumentIndex": 1, |
| | | "Title": "JobBase.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\JobBase.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\JobBase.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\JobBase.cs", |
| | | "ViewState": "AQIAADgAAAAAAAAAAAAQwFEAAAAwAAAA", |
| | | "ViewState": "AgIAAAQAAAAAAAAAAAAAAGkAAAAhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:28:40.732Z" |
| | | "WhenOpened": "2024-11-11T02:31:45.652Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 23, |
| | | "Title": "SequenceAttirbute.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\SequenceAttirbute.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Attributes\\SequenceAttirbute.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\SequenceAttirbute.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Attributes\\SequenceAttirbute.cs", |
| | | "ViewState": "AQIAAAMAAAAAAAAAAAAAABcAAABAAAAA", |
| | | "DocumentIndex": 0, |
| | | "Title": "SchedulerCenterServer.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\SchedulerCenterServer.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAMBAAAXAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T06:20:11.238Z" |
| | | "WhenOpened": "2024-11-19T02:46:45.891Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 22, |
| | | "Title": "CacheAttribute.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Attributes\\CacheAttribute.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAA5AAAA", |
| | | "DocumentIndex": 19, |
| | | "Title": "StackerCraneDBName.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs", |
| | | "ViewState": "AgIAACkAAAAAAAAAAADwv00AAAAWAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T06:44:12.196Z" |
| | | "WhenOpened": "2024-11-14T07:19:03.829Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 21, |
| | | "Title": "ModelValidateAttribute.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Attributes\\ModelValidateAttribute.cs", |
| | | "ViewState": "AQIAAAMAAAAAAAAAAAAAAC8AAAAAAAAA", |
| | | "DocumentIndex": 8, |
| | | "Title": "QuartzJobHostedService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", |
| | | "ViewState": "AgIAACQAAAAAAAAAAAAAAEQAAAAMAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T05:49:32.594Z" |
| | | "WhenOpened": "2024-11-11T02:34:48.326Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 28, |
| | | "Title": "Dt_DeviceProtocol.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "ViewState": "AQIAAE4AAAAAAAAAAAAYwF0AAAAHAAAA", |
| | | "DocumentIndex": 9, |
| | | "Title": "BaseCommunicator.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\BaseCommunicator.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\BaseCommunicator.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\BaseCommunicator.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Communicator\\BaseCommunicator.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAGAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-31T11:10:25.526Z" |
| | | "WhenOpened": "2024-11-11T06:53:45.876Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 31, |
| | | "Title": "AppSettings.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\AppSettings.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\AppSettings.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\AppSettings.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\AppSettings.cs", |
| | | "ViewState": "AQIAADsAAAAAAAAAAAAYwAAAAAAAAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:35:41.197Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 36, |
| | | "Title": "Sys_DictionaryService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryService.cs", |
| | | "ViewState": "AQIAAB4AAAAAAAAAAAAewCoAAAAXAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:02:40.902Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 24, |
| | | "DocumentIndex": 11, |
| | | "Title": "Program.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs", |
| | | "ViewState": "AQIAACcAAAAAAAAAAAAAAEEAAAAAAAAA", |
| | | "ViewState": "AgIAAC4AAAAAAAAAAAAWwEAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:30:53.392Z" |
| | | "WhenOpened": "2024-11-13T03:40:59.936Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 34, |
| | | "DocumentIndex": 12, |
| | | "Title": "appsettings.json", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAABEAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", |
| | | "WhenOpened": "2024-11-14T07:21:55.699Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 16, |
| | | "Title": "SchedulerController.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\SchedulerController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\SchedulerController.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\SchedulerController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\SchedulerController.cs", |
| | | "ViewState": "AgIAAAwAAAAAAAAAAAAAABsAAAA3AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-14T06:22:06.737Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 18, |
| | | "Title": "JobSetup.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\JobSetup.cs", |
| | | "ViewState": "AgIAABEAAAAAAAAAAAArwCwAAAAhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:30:07.656Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 10, |
| | | "Title": "CommonStackerCraneJob.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", |
| | | "ViewState": "AgIAAB8AAAAAAAAAAAAAwC0AAAAUAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T06:54:07.273Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 13, |
| | | "Title": "TestJob.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\TestJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TestJob.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\TestJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\TestJob.cs", |
| | | "ViewState": "AgIAABcAAAAAAAAAAAAMwB4AAAANAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:08:07.008Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 20, |
| | | "Title": "CustomAuthorizeFilter.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomAuthorizeFilter.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomAuthorizeFilter.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomAuthorizeFilter.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomAuthorizeFilter.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAFAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-15T07:25:38.119Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 14, |
| | | "Title": "ServiceBase.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\BaseServices\\ServiceBase.cs", |
| | | "ViewState": "AQIAAPEAAAAAAAAAAAAqwAQBAAAfAAAA", |
| | | "ViewState": "AgIAACEAAAAAAAAAAAApwJoAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:26:42.953Z" |
| | | "WhenOpened": "2024-11-19T07:26:59.037Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 35, |
| | | "Title": "ObjectExtension.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\ObjectExtension.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAABgAAAAMAAAA", |
| | | "DocumentIndex": 15, |
| | | "Title": "RepositoryBase.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", |
| | | "ViewState": "AgIAAOUBAAAAAAAAAAD4vwcCAABBAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:27:01.38Z" |
| | | "WhenOpened": "2024-11-19T07:25:55.034Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 38, |
| | | "Title": "Sys_UserService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", |
| | | "ViewState": "AQIAACoAAAAAAAAAAAArwEMAAAAXAAAA", |
| | | "DocumentIndex": 21, |
| | | "Title": "AutoMapperConfig.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperConfig.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\AutoMapperConfig.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperConfig.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\AutoMapperConfig.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:01:10.75Z" |
| | | "WhenOpened": "2024-11-15T07:25:48.754Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 30, |
| | | "Title": "DeviceCommand.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", |
| | | "ViewState": "AQIAAC0AAAAAAAAAAAAowEgAAABPAAAA", |
| | | "DocumentIndex": 17, |
| | | "Title": "ISchedulerCenter.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\ISchedulerCenter.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\ISchedulerCenter.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\ISchedulerCenter.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\ISchedulerCenter.cs", |
| | | "ViewState": "AgIAADIAAAAAAAAAAAAQwFEAAAA3AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T03:05:32.353Z" |
| | | "WhenOpened": "2024-11-11T02:27:27.505Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 22, |
| | | "Title": "CustomProfile.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAnAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-15T07:25:51.567Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 29, |
| | | "Title": "ConveyorLineTaskCommand.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", |
| | | "ViewState": "AQIAABEAAAAAAAAAAAAuwCEAAAAZAAAA", |
| | | "Title": "Sys_Menu.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_Menu.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\System\\Sys_Menu.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\System\\Sys_Menu.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Model\\Models\\System\\Sys_Menu.cs", |
| | | "ViewState": "AgIAADAAAAAAAAAAAAA1wE4AAAAqAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T03:05:29.571Z" |
| | | "WhenOpened": "2024-11-18T02:09:18.01Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 26, |
| | | "Title": "Sys_MenuRepository.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SystemRepository\\Sys_MenuRepository.cs", |
| | | "ViewState": "AgIAAA4AAAAAAAAAAAArwCoAAAAwAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-18T02:20:36.492Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 28, |
| | | "Title": "ISys_MenuRepository.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_MenuRepository.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_ISystemRepository\\ISys_MenuRepository.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_MenuRepository.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_ISystemRepository\\ISys_MenuRepository.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAuwA4AAAANAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-18T02:21:54.865Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 25, |
| | | "Title": "Sys_RoleService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_RoleService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_RoleService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_RoleService.cs", |
| | | "ViewState": "AgIAAFwAAAAAAAAAAAASwHUAAAAsAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-18T02:22:48.668Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 24, |
| | | "Title": "Sys_MenuService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_MenuService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_MenuService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_MenuService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_MenuService.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABMAAABfAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-18T02:23:29.936Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 23, |
| | | "Title": "ISys_MenuService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_MenuService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_MenuService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_MenuService.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAuwBEAAAAyAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-18T02:23:56.891Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 36, |
| | | "Title": "QuartzJobAutofacModuleRegister.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobAutofacModuleRegister.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAACgAAAAMAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:32:40.712Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 34, |
| | | "Title": "index.html", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\index.html", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\index.html", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\index.html", |
| | | "ViewState": "AgIAAI0AAAAAAAAAAAAAAJQAAAA1AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|", |
| | | "WhenOpened": "2024-11-15T07:17:59.198Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 33, |
| | | "Title": "MD5Helper.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\MD5Helper.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\MD5Helper.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\MD5Helper.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\MD5Helper.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAGMAAAAFAAAA", |
| | | "Title": "Sys_UserController.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", |
| | | "ViewState": "AgIAAGsAAAAAAAAAAAASwIgAAAAFAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T07:32:56.232Z" |
| | | "WhenOpened": "2024-11-15T07:22:57.244Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 27, |
| | | "Title": "MenuDTO.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\MenuDTO.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\System\\MenuDTO.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\MenuDTO.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_DTO\\System\\MenuDTO.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAuwAkAAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-15T01:47:03.565Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 30, |
| | | "Title": "Sys_MenuController.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_MenuController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_MenuController.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_MenuController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_MenuController.cs", |
| | | "ViewState": "AgIAABUAAAAAAAAAAAAIwCUAAAA0AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-18T02:09:13.298Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 32, |
| | | "Title": "CacheAOP.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\CacheAOP.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\CacheAOP.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\CacheAOP.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\CacheAOP.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAJMAAAAJAAAA", |
| | | "Title": "AutoMapperSetup.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T06:42:33.623Z" |
| | | "WhenOpened": "2024-11-15T07:25:50.059Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 39, |
| | | "Title": "ICacheService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICacheService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\ICacheService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICacheService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Caches\\ICacheService.cs", |
| | | "ViewState": "AQIAAAcAAAAAAAAAAAAhwB8AAAAIAAAA", |
| | | "DocumentIndex": 31, |
| | | "Title": "WIDESEAWCS.xml", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS.xml", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\WIDESEAWCS.xml", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS.xml", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\WIDESEAWCS.xml", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003576|", |
| | | "WhenOpened": "2024-11-15T07:26:00.153Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 35, |
| | | "Title": "DispatchInfoController.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DispatchInfoController.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DispatchInfoController.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DispatchInfoController.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DispatchInfoController.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T06:34:56.04Z" |
| | | "WhenOpened": "2024-11-14T06:20:50.598Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 37, |
| | | "Title": "MemoryCacheService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Caches\\MemoryCacheService.cs", |
| | | "ViewState": "AQIAAE0AAAAAAAAAAAAewDoAAABpAAAA", |
| | | "Title": "QuartzJobDataTableHostedService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", |
| | | "ViewState": "AgIAACYAAAAAAAAAAADwvyEAAABIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T06:34:53.123Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 41, |
| | | "Title": "ModelValidate.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Utilities\\ModelValidate.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAMUAAAAJAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T05:49:56.779Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 42, |
| | | "Title": "HtmlHelper.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\ApiDoc\\HtmlHelper.cs", |
| | | "ViewState": "AQIAABsAAAAAAAAAAAAywAAAAAAAAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T05:47:49.063Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 43, |
| | | "Title": "ByteHelper.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\ApiDoc\\ByteHelper.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T05:47:48.38Z" |
| | | "WhenOpened": "2024-11-11T02:33:24.489Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 40, |
| | | "Title": "LogAOP.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", |
| | | "Title": "VueDictionaryDTO.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\VueDictionaryDTO.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\System\\VueDictionaryDTO.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\VueDictionaryDTO.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_DTO\\System\\VueDictionaryDTO.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T05:36:05.934Z" |
| | | "WhenOpened": "2024-11-15T01:47:05.446Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 47, |
| | | "Title": "DataLengthAttribute.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DataLengthAttribute.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAACIAAAAFAAAA", |
| | | "DocumentIndex": 38, |
| | | "Title": "QuartzLogger.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\LogHelper\\QuartzLogger.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\LogHelper\\QuartzLogger.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\LogHelper\\QuartzLogger.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\LogHelper\\QuartzLogger.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAOAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T03:06:58.382Z" |
| | | "WhenOpened": "2024-11-14T03:42:39.372Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 46, |
| | | "Title": "ModbusCustomModel.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Communicator\\CustomModel\\ModbusCustomModel.cs", |
| | | "ViewState": "AQIAABAAAAAAAAAAAAAYwBoAAAAIAAAA", |
| | | "DocumentIndex": 39, |
| | | "Title": "Storage.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Storage.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Storage.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Storage.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Storage.cs", |
| | | "ViewState": "AgIAAAkAAAAAAAAAAAAAABwAAAAuAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T03:04:51.117Z" |
| | | "WhenOpened": "2024-11-14T03:42:32.674Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 45, |
| | | "Title": "MelsecCustomModel.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Communicator\\CustomModel\\MelsecCustomModel.cs", |
| | | "ViewState": "AQIAAAAAAAAAAAAAAAAAAFEAAAAIAAAA", |
| | | "DocumentIndex": 42, |
| | | "Title": "ActionDTO.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\ActionDTO.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\System\\ActionDTO.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\ActionDTO.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_DTO\\System\\ActionDTO.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T03:03:23.075Z" |
| | | "WhenOpened": "2024-11-15T01:47:02.687Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 41, |
| | | "Title": "UserPermissions.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\UserPermissions.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\System\\UserPermissions.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\System\\UserPermissions.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_DTO\\System\\UserPermissions.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-15T01:47:04.359Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 44, |
| | | "Title": "SiemensCustomModel.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Communicator\\CustomModel\\SiemensCustomModel.cs", |
| | | "ViewState": "AQIAAAsAAAAA3JKSmhIewD8AAAAIAAAA", |
| | | "Title": "JobFactory.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzNet\\JobFactory.cs", |
| | | "ViewState": "AgIAABgAAAAAAAAAAAAAABwAAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T03:02:08.422Z" |
| | | "WhenOpened": "2024-11-11T02:29:37.04Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 48, |
| | | "DocumentIndex": 43, |
| | | "Title": "DeviceInfoDTO.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceInfoDTO.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DeviceInfoDTO.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceInfoDTO.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DTO\\DeviceInfoDTO.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T07:49:25.651Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 46, |
| | | "Title": "CommonConveyorLineJob.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", |
| | | "ViewState": "AgIAADMAAAAAAAAAAAAAwDkAAAAMAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-14T06:24:51.147Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 45, |
| | | "Title": "TaskExecuteDetailService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", |
| | | "ViewState": "AQIAADoAAAAAAAAAAAAIwFIAAABVAAAA", |
| | | "ViewState": "AgIAAEsAAAAAAAAAAAAIwGQAAAAQAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-10-29T02:59:00.255Z" |
| | | "WhenOpened": "2024-11-14T09:07:18.231Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 47, |
| | | "Title": "ShuttleCarJob.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ShuttleCarJob\\ShuttleCarJob.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ShuttleCarJob\\ShuttleCarJob.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ShuttleCarJob\\ShuttleCarJob.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Tasks\\ShuttleCarJob\\ShuttleCarJob.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-14T07:18:53.361Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 50, |
| | | "Title": "Dt_DeviceProtocol.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", |
| | | "ViewState": "AgIAADsAAAAAAAAAAAAQwGAAAAAoAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:37:11.706Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 49, |
| | | "Title": "CommonStackerCrane.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Common\\CommonStackerCrane.cs", |
| | | "ViewState": "AgIAACEAAAAAAAAAAAAAAFMAAAAgAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:16:12.855Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 48, |
| | | "Title": "DeviceProDTO.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DTO\\DeviceProDTO.cs", |
| | | "ViewState": "AgIAAB0AAAAAAAAAAADwvzoAAAAmAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:25:37.029Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 51, |
| | | "Title": "CommonConveyorLine.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", |
| | | "ViewState": "AgIAALEAAAAAAAAAAAAewNAAAAA+AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:20:49.51Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 52, |
| | | "Title": "IConveyorLine.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", |
| | | "ViewState": "AgIAACQAAAAAAAAAAAArwEEAAAAVAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T03:29:28.34Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 53, |
| | | "Title": "DeviceProtocolDetailService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolDetailService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolDetailService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolDetailService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolDetailService.cs", |
| | | "ViewState": "AgIAABYAAAAAAAAAAAAWwDMAAAAJAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-13T01:06:33.598Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 55, |
| | | "Title": "Dt_Router.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_Router.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_Router.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_Router.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_Router.cs", |
| | | "ViewState": "AgIAAAMAAAAAAAAAAABIwBQAAABUAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:37:46.049Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 56, |
| | | "Title": "Dt_DeviceProtocolDetail.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", |
| | | "ViewState": "AgIAACAAAAAAAAAAAAAwwCcAAABSAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:37:24.357Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 54, |
| | | "Title": "DeviceInfoService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs", |
| | | "ViewState": "AgIAACAAAAAAAAAAAAD4vzgAAAC2AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-13T01:02:36.16Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 57, |
| | | "Title": "BaseEntity.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\Models\\BaseEntity.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\DB\\Models\\BaseEntity.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\Models\\BaseEntity.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\DB\\Models\\BaseEntity.cs", |
| | | "ViewState": "AgIAACYAAAAAAAAAAADwvz4AAAAzAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-13T08:05:29.472Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 58, |
| | | "Title": "IStackerCrane.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\IStackerCrane.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAGAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T03:26:43.303Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 59, |
| | | "Title": "SpeStackerCrane.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:18:03.553Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 60, |
| | | "Title": "WIDESEAWCS_Core.csproj", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABoAAABSAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", |
| | | "WhenOpened": "2024-11-13T02:53:57.289Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 62, |
| | | "Title": "RouterService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\RouterService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\RouterService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\RouterService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\RouterService.cs", |
| | | "ViewState": "AgIAAAoAAAAAAAAAAABUwMkAAAApAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-13T01:06:40.549Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 61, |
| | | "Title": "WIDESEAWCS_Communicator.csproj", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", |
| | | "RelativeToolTip": "WIDESEAWCS_Communicator\\WIDESEAWCS_Communicator.csproj", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", |
| | | "WhenOpened": "2024-11-13T02:53:56.497Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 63, |
| | | "Title": "DeviceProtocolService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", |
| | | "ViewState": "AgIAABIAAAAAAAAAAABIwC8AAAAhAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-13T01:06:34.541Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 64, |
| | | "Title": "InitializationHostServiceSetup.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\InitializationHostServiceSetup.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\InitializationHostServiceSetup.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\InitializationHostServiceSetup.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\InitializationHostServiceSetup.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAABUAAAA2AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T09:31:27.008Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 66, |
| | | "Title": "DBSeed.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\Seed\\DBSeed.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T09:31:08.019Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 65, |
| | | "Title": "SeedDataHostedService.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\HostedService\\SeedDataHostedService.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Core\\HostedService\\SeedDataHostedService.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\HostedService\\SeedDataHostedService.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_Core\\HostedService\\SeedDataHostedService.cs", |
| | | "ViewState": "AgIAAAUAAAAAAAAAAAAnwA4AAAA+AAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T09:31:17.763Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 67, |
| | | "Title": "IDevice.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\IDevice.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\IDevice.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\IDevice.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\IDevice.cs", |
| | | "ViewState": "AgIAABUAAAAAAAAAAABIwD0AAAATAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:11:35.273Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 70, |
| | | "Title": "ShuttleCar.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ShuttleCar\\ShuttleCar.cs", |
| | | "ViewState": "AgIAAGwAAAAAAAAAAAAmwGwAAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T03:30:13.299Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 71, |
| | | "Title": "IShuttleCar.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ShuttleCar\\IShuttleCar.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAABIwB0AAABpAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T03:29:59.091Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 69, |
| | | "Title": "IOtherDevice.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\OtherDevices\\IOtherDevice.cs", |
| | | "ViewState": "AgIAAA4AAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T03:36:30.442Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 68, |
| | | "Title": "OtherDevice.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\OtherDevices\\OtherDevice.cs", |
| | | "ViewState": "AgIAAMAAAAAAAAAAAAAQwIEAAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T03:36:32.34Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 72, |
| | | "Title": "StackerCraneTaskCompletedEventArgs.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\StackerCraneTaskCompletedEventArgs.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAuwB8AAAAIAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:15:38.217Z" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 73, |
| | | "Title": "QuartzJobCreateDataTabel.cs", |
| | | "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", |
| | | "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", |
| | | "ViewState": "AgIAAEwAAAAAAAAAAAAAwCQAAAAbAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2024-11-11T02:35:29.846Z" |
| | | } |
| | | ] |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <DirectedGraph DataVirtualized="True" Layout="Sugiyama" ZoomLevel="-1" xmlns="http://schemas.microsoft.com/vs/2009/dgml"> |
| | | <Nodes> |
| | | <Node Id="(@15 Namespace=WIDESEAWCS_Common)" Category="CodeSchema_Namespace" Bounds="1101.97944285986,890.250611401785,196.15,25" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" ErrorMessage="æ£æµå°æªå¼ç¨çèç¹: WIDESEAWCS_Common ((Assembly=file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Common/bin/Debug/net6.0/WIDESEAWCS_Common.dll Namespace=WIDESEAWCS_Common))" Group="Collapsed" IsUnreferenced="True" Label="WIDESEAWCS_Common" /> |
| | | <Node Id="@10" Category="CodeSchema_Assembly" Bounds="729.727848829485,-199.741776064444,251.886666666667,25" CodeSchemaProperty_StrongName="WIDESEAWCS_TaskInfoService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(83f18a31-5983-4587-a0b2-414bf70e50b5.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_TaskInfoService.dll" /> |
| | | <Node Id="@12" Category="CodeSchema_Assembly" Bounds="861.993316193196,685.257171401785,189.986666666667,25" CodeSchemaProperty_StrongName="WIDESEAWCS_Core, Version=1.0.6.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(bffdd936-2e61-4d3a-abfe-7cf77fe0b184.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_Core.dll" /> |
| | | <Node Id="@14" Category="CodeSchema_Assembly" Bounds="979.364335866781,630.257171398585,199.97,25" CodeSchemaProperty_StrongName="WIDESEAWCS_Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(7f200fe8-caf6-4131-bd25-8d438fe0abac.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_Model.dll" /> |
| | | <Node Id="@16" Category="CodeSchema_Assembly" Bounds="1081.98008285986,685.257171401785,297.26406944,249.9928" CodeSchemaProperty_StrongName="WIDESEAWCS_Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="Fetched" DelayedCrossGroupLinksState="Fetched" FetchedChildrenCount="4" FilePath="$(9fbc654c-51de-422d-9e1e-6a38268de1e2.OutputPath)" Group="Expanded" Label="WIDESEAWCS_Common.dll" UseManualLocation="True" /> |
| | | <Node Id="@18" Category="CodeSchema_Assembly" Bounds="985.312235212648,575.257171395385,188.736666666667,25" CodeSchemaProperty_StrongName="WIDESEAWCS_DTO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(c2d3d138-9109-481b-8beb-a27597890b2c.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_DTO.dll" /> |
| | | <Node Id="@2" Category="CodeSchema_Assembly" Bounds="888.714151841299,120.257171360185,221.743333333334,25" CodeSchemaProperty_StrongName="WIDESEAWCS_QuartzJob, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(6236bfff-173d-44a8-9fc3-7c001ea30347.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_QuartzJob.dll" /> |
| | | <Node Id="@20" Category="CodeSchema_Assembly" Bounds="970.118051356488,-389.742828675015,198.95,25" CodeSchemaProperty_StrongName="WIDESEAWCS_Server, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" ErrorMessage="æ£æµå°æªå¼ç¨çèç¹: WIDESEAWCS_Server.dll ((Assembly=file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/WIDESEAWCS_Server.dll))" FilePath="$(487fa45b-ea1a-4aca-bb5b-0f6708f462c0.OutputPath)" Group="Collapsed" IsUnreferenced="True" Label="WIDESEAWCS_Server.dll" /> |
| | | <Node Id="@22" Category="CodeSchema_Assembly" Bounds="630.727617782423,175.257171365069,248.393333333333,25" CodeSchemaProperty_StrongName="WIDESEAWCS_Communicator, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(861c4d0b-a478-48db-a0fa-ae70f5ba210a.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_Communicator.dll" /> |
| | | <Node Id="@24" Category="CodeSchema_Assembly" Bounds="1055.04118216282,-144.741776051644,254.01,25" CodeSchemaProperty_StrongName="WIDESEAWCS_ISystemServices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(9e4bff47-52bf-4fd8-9cc7-3763bf19d9e0.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_ISystemServices.dll" /> |
| | | <Node Id="@26" Category="CodeSchema_Assembly" Bounds="1056.80451549615,-199.741776054844,250.483333333334,25" CodeSchemaProperty_StrongName="WIDESEAWCS_SystemServices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(a14242dd-da06-4dc3-8598-1761aa7c76d1.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_SystemServices.dll" /> |
| | | <Node Id="@28" Category="CodeSchema_Assembly" Bounds="974.322114929553,-334.742828671815,194.09,25" CodeSchemaProperty_StrongName="WIDESEAWCS_Tasks, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(294e4915-0241-4c8c-ba99-7588b945863a.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_Tasks.dll" /> |
| | | <Node Id="@30" Category="CodeSchema_Assembly" Bounds="949.121051115757,310.257224002758,269.533333333333,25" CodeSchemaProperty_StrongName="WIDESEAWCS_ISystemRepository, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(f302e6d6-5a95-4d22-8dc2-21be2cb30275.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_ISystemRepository.dll" /> |
| | | <Node Id="@32" Category="CodeSchema_Assembly" Bounds="950.88438444909,255.257223999558,266.006666666667,25" CodeSchemaProperty_StrongName="WIDESEAWCS_SystemRepository, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(5777bdec-4726-4425-85f2-a090524f692d.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_SystemRepository.dll" /> |
| | | <Node Id="@34" Category="CodeSchema_Assembly" Bounds="949.121051115756,480.257224015558,279.816666666667,25" CodeSchemaProperty_StrongName="WIDESEAWCS_IBasicInfoRepository, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(266d07b7-3648-4f3d-818a-89eda7d84c58.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_IBasicInfoRepository.dll" /> |
| | | <Node Id="@36" Category="CodeSchema_Assembly" Bounds="950.88438444909,425.257224012358,276.29,25" CodeSchemaProperty_StrongName="WIDESEAWCS_BasicInfoRepository, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(206fdf79-9bf3-433a-b7ff-627287bbd760.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_BasicInfoRepository.dll" /> |
| | | <Node Id="@38" Category="CodeSchema_Assembly" Bounds="1288.65438444909,310.257224002758,276.49,25" CodeSchemaProperty_StrongName="WIDESEAWCS_ITaskInfoRepository, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(09d05f35-cea2-48d9-86d0-fb95982ba511.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_ITaskInfoRepository.dll" /> |
| | | <Node Id="@4" Category="CodeSchema_Assembly" Bounds="726.301182162819,25.258223948356,258.74,25" CodeSchemaProperty_StrongName="WIDESEAWCS_IBasicInfoService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(8c2cc25b-de5d-433e-a550-63864c7a716d.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_IBasicInfoService.dll" /> |
| | | <Node Id="@40" Category="CodeSchema_Assembly" Bounds="1290.41771778242,255.257223999558,272.963333333333,25" CodeSchemaProperty_StrongName="WIDESEAWCS_TaskInfoRepository, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(35054aa5-cf40-4f38-9414-c76742c29382.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_TaskInfoRepository.dll" /> |
| | | <Node Id="@41" Category="CodeSchema_Namespace" Bounds="1134.95838749986,835.252371401785,191.306666666666,25" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" Group="Collapsed" Label="Microsoftâ.CodeAnalysis" /> |
| | | <Node Id="@42" Category="CodeSchema_Namespace" Bounds="1105.10934269986,780.254131401785,251.006666666667,25" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" Group="Collapsed" Label="Systemâ.Runtimeâ.CompilerServices" /> |
| | | <Node Id="@43" Category="CodeSchema_Namespace" Bounds="1101.97944285986,725.255891401785,257.266666666666,25" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" Group="Collapsed" Label="WIDESEAWCS_Commonâ.TaskEnum" /> |
| | | <Node Id="@6" Category="CodeSchema_Assembly" Bounds="728.064515496152,-29.741776054844,255.213333333333,25" CodeSchemaProperty_StrongName="WIDESEAWCS_BasicInfoService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(ffab2c76-1c9e-4006-95c8-a0b2aa53139d.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_BasicInfoService.dll" /> |
| | | <Node Id="@8" Category="CodeSchema_Assembly" Bounds="727.964515496151,-144.741776064444,255.413333333335,25" CodeSchemaProperty_StrongName="WIDESEAWCS_ITaskInfoService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" DelayedChildNodesState="NotFetched" DelayedCrossGroupLinksState="Fetched" FilePath="$(7279a2ae-8d1f-4e66-a73a-01af7927a336.OutputPath)" Group="Collapsed" Label="WIDESEAWCS_ITaskInfoService.dll" /> |
| | | <Node Id="BasicInfo{5CC8AEFF-2F75-4053-9569-73419839875A}" Category="CodeMap_SolutionFolder" Bounds="929.121051115756,385.257671363386,319.816666666667,140.0003" ErrorMessage="æ£æµå°æªå¼ç¨çèç¹: BasicInfo (BasicInfo{5CC8AEFF-2F75-4053-9569-73419839875A})" Group="Expanded" IsUnreferenced="True" Label="BasicInfo" /> |
| | | <Node Id="BasicInfo{9CB2F821-BB23-48E5-88E8-C326477733C0}" Category="CodeMap_SolutionFolder" Bounds="706.301182162819,-69.742428668615,298.74,140.0003" Group="Expanded" Label="BasicInfo" /> |
| | | <Node Id="Repository{4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}" Category="CodeMap_SolutionFolder" Bounds="909.121051115756,175.257171363386,696.023333333333,370.0009" Group="Expanded" Label="Repository" /> |
| | | <Node Id="Service{A12315CA-9D81-412C-A09B-B23D95CFFE16}" Category="CodeMap_SolutionFolder" Bounds="686.301182162819,-279.742828668615,662.75,370.0008" Group="Expanded" Label="Service" /> |
| | | <Node Id="System{6295C9FB-DAC4-4C07-97C5-C0332ABDD13D}" Category="CodeMap_SolutionFolder" Bounds="1035.04118216282,-239.742428668615,294.01,140.0003" ErrorMessage="æ£æµå°æªå¼ç¨çèç¹: System (System{6295C9FB-DAC4-4C07-97C5-C0332ABDD13D})" Group="Expanded" IsUnreferenced="True" Label="System" /> |
| | | <Node Id="System{93EFF637-042E-4DD0-A74B-7F0CF998CF96}" Category="CodeMap_SolutionFolder" Bounds="929.121051115757,215.257271363386,309.533333333334,140.0003" ErrorMessage="æ£æµå°æªå¼ç¨çèç¹: System (System{93EFF637-042E-4DD0-A74B-7F0CF998CF96})" Group="Expanded" IsUnreferenced="True" Label="System" /> |
| | | <Node Id="TaskInfo{684035E2-174F-47CE-AA5C-36624C7E26F3}" Category="CodeMap_SolutionFolder" Bounds="1268.65438444909,215.257271363386,316.49,140.0003" ErrorMessage="æ£æµå°æªå¼ç¨çèç¹: TaskInfo (TaskInfo{684035E2-174F-47CE-AA5C-36624C7E26F3})" Group="Expanded" IsUnreferenced="True" Label="TaskInfo" /> |
| | | <Node Id="TaskInfo{D9CF90D0-AFB3-42AA-A2F1-BEE741E0AC0D}" Category="CodeMap_SolutionFolder" Bounds="707.96451549615,-239.742728668615,295.413333333335,140.0002" ErrorMessage="æ£æµå°æªå¼ç¨çèç¹: TaskInfo (TaskInfo{D9CF90D0-AFB3-42AA-A2F1-BEE741E0AC0D})" Group="Expanded" IsUnreferenced="True" Label="TaskInfo" /> |
| | | </Nodes> |
| | | <Links> |
| | | <Link Source="@10" Target="@12" Category="InheritsFrom" Bounds="923.480263353655,-163.494155999569,64.2071102137636,851.02750599813" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="173"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | <Category Ref="Implements" /> |
| | | </Link> |
| | | <Link Source="@10" Target="@14" Category="CodeSchema_ReturnTypeLink" Bounds="924.889343348782,-163.494155999569,149.815255150687,796.157130339287" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="235"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@10" Target="@16" Category="CodeMap_ExternalReference" Bounds="926.77185337266,-163.494155999569,288.458371555104,851.477864853163" /> |
| | | <Link Source="@10" Target="@18" Category="References" Bounds="1247.78857421875,135,50.21142578125,242.038879394531" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="35"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | </Link> |
| | | <Link Source="@10" Target="@2" Category="References" Bounds="865.923400878906,134.984176635742,310.735778808594,80.7203063964844" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="16"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | </Link> |
| | | <Link Source="@10" Target="@22" Category="CodeMap_ExternalReference" Bounds="207.038005802778,214.999316666667,696.32803049809,688.671997833503" /> |
| | | <Link Source="@10" Target="@34" Category="CodeMap_ExternalReference" Bounds="596.702099059381,214.999316666667,312.700750119114,592.043332872254" /> |
| | | <Link Source="@10" Target="@36" Category="CodeMap_ExternalReference" Bounds="595.939635310253,214.999316666667,312.787495138316,537.223656126113" /> |
| | | <Link Source="@10" Target="@38" Category="References" Bounds="1312.54541015625,135,178.966186523438,191.64697265625" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="30"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@10" Target="@4" Category="CodeMap_ExternalReference" Bounds="618.946429408088,214.999316666667,279.15046223956,194.849210722821" /> |
| | | <Link Source="@10" Target="@40" Category="CodeMap_ExternalReference" Bounds="916.247551476955,214.999316666667,7.10195951722505,366.002693860792" /> |
| | | <Link Source="@10" Target="@43" Category="References" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="33"> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | </Link> |
| | | <Link Source="@10" Target="@6" Category="CodeMap_ProjectReference" Bounds="1158.28833007813,135,96.0753173828125,27.5215606689453" /> |
| | | <Link Source="@10" Target="@8" Category="References" Bounds="855.669042382377,-174.742135999804,1.13686837721616E-13,21" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="12"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="Implements" /> |
| | | </Link> |
| | | <Link Source="@14" Target="@12" Category="CodeSchema_Calls" Bounds="993.004447847236,655.256811368741,58.5349670448345,26.3102710642444" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="27"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_AttributeUse" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | </Link> |
| | | <Link Source="@14" Target="@16" Category="CodeMap_ProjectReference" Bounds="1090.63784011659,655.256811368741,21.0606517952251,23.3209476169683" /> |
| | | <Link Source="@16" Target="(@15 Namespace=WIDESEAWCS_Common)" Category="Contains" FetchingParent="@16" /> |
| | | <Link Source="@16" Target="@41" Category="Contains" FetchingParent="@16" /> |
| | | <Link Source="@16" Target="@42" Category="Contains" FetchingParent="@16" /> |
| | | <Link Source="@16" Target="@43" Category="Contains" FetchingParent="@16" /> |
| | | <Link Source="@18" Target="@12" Category="CodeMap_ExternalReference" Bounds="960.359313964844,600.2568359375,76.6642456054688,76.10986328125" /> |
| | | <Link Source="@18" Target="@14" Category="CodeSchema_Calls" Bounds="1079.47885230165,600.256811368741,0.126486731981913,21.0001632470344" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="2"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | </Link> |
| | | <Link Source="@18" Target="@16" Category="CodeMap_ExternalReference" Bounds="969.230163574219,600.2568359375,105.682678222656,85.225830078125" /> |
| | | <Link Source="@2" Target="@12" Category="References" Bounds="898.9873046875,145.256805419922,61.7473754882813,531.665130615234" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="293"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | <Category Ref="Implements" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | </Link> |
| | | <Link Source="@2" Target="@22" Category="References" Bounds="819.310746088585,145.256811368741,124.67043457957,28.0260525224872" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="67"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | </Link> |
| | | <Link Source="@20" Target="@10" Category="CodeMap_ProjectReference" Bounds="832.659118652344,25,396.873107910156,83.1543655395508" /> |
| | | <Link Source="@20" Target="@12" Category="References" Bounds="624.819519042969,-364.743194580078,388.484680175781,1042.5930480957" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="162"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FieldRead" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | </Link> |
| | | <Link Source="@20" Target="@14" Category="CodeSchema_ReturnTypeLink" Bounds="626.313781738281,-364.743194580078,415.034729003906,991.509307861328" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="74"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@20" Target="@16" Category="CodeMap_ExternalReference" Bounds="1111.02722167969,-364.743194580078,504.2509765625,1071.54922485352" /> |
| | | <Link Source="@20" Target="@18" Category="References" Bounds="626.313781738281,-364.743194580078,386.990417480469,938.413238525391" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="52"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | </Link> |
| | | <Link Source="@20" Target="@2" Category="References" Bounds="1111.02722167969,-364.743194580078,248.15771484375,486.770782470703" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="68"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | </Link> |
| | | <Link Source="@20" Target="@22" Category="CodeMap_ExternalReference" Bounds="676.167419433594,-364.743194580078,337.136779785156,533.315277099609" /> |
| | | <Link Source="@20" Target="@24" Category="References" Bounds="319,24.2619476318359,356.910461425781,186.738052368164" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="39"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | </Link> |
| | | <Link Source="@20" Target="@26" Category="CodeMap_ProjectReference" Bounds="637.823608398438,25,127.903686523438,134.027465820313" /> |
| | | <Link Source="@20" Target="@28" Category="References" Bounds="1069.9968887659,-364.743188631259,0.677305155841623,21.0046753143712" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="16"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | </Link> |
| | | <Link Source="@20" Target="@30" Category="CodeMap_ExternalReference" Bounds="586.447081337002,25,164.195459591589,611.308492893589" /> |
| | | <Link Source="@20" Target="@32" Category="CodeMap_ExternalReference" Bounds="586.961107050999,25,163.368450003759,556.36490077959" /> |
| | | <Link Source="@20" Target="@34" Category="CodeMap_ExternalReference" Bounds="590.293018748615,25,161.128711851287,781.18636402558" /> |
| | | <Link Source="@20" Target="@36" Category="CodeMap_ExternalReference" Bounds="588.890329599179,25,162.315813386256,726.217432299183" /> |
| | | <Link Source="@20" Target="@38" Category="CodeMap_ExternalReference" Bounds="757.290049554232,25,160.895752866277,611.296844523733" /> |
| | | <Link Source="@20" Target="@4" Category="CodeMap_ExternalReference" Bounds="601.731511834285,25,147.438917759078,381.60463909079" /> |
| | | <Link Source="@20" Target="@40" Category="CodeMap_ExternalReference" Bounds="757.596749481971,25,160.084483970447,556.351244272433" /> |
| | | <Link Source="@20" Target="@6" Category="CodeMap_ExternalReference" Bounds="601.218925132393,25,147.152424604318,326.793320158955" /> |
| | | <Link Source="@20" Target="@8" Category="References" Bounds="872.474975585938,16.3932132720947,951.525024414063,201.588415145874" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="13"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | </Link> |
| | | <Link Source="@24" Target="@12" Category="References" Bounds="995.903886484191,-108.493755999569,249.098593931777,796.411955561377" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="26"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | <Category Ref="Implements" /> |
| | | </Link> |
| | | <Link Source="@24" Target="@14" Category="References" Bounds="1083.39652937031,-108.493755999569,162.770639793168,741.210964353485" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="14"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@24" Target="@16" Category="CodeMap_ExternalReference" Bounds="1223.04048976118,-108.493755999569,25.4716992505284,796.006204283707" /> |
| | | <Link Source="@24" Target="@18" Category="References" Bounds="404.520111083984,245,729.132476806641,145.440704345703" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="2"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@24" Target="@30" Category="CodeMap_ExternalReference" Bounds="581.321351753771,269.999416666667,9.64265948620016,366.004121822538" /> |
| | | <Link Source="@24" Target="@32" Category="CodeMap_ProjectReference" Bounds="342.181823730469,245,47.714599609375,25.7284851074219" /> |
| | | <Link Source="@26" Target="@12" Category="References" Bounds="995.507574845661,-163.493855999569,249.737881298499,851.365590055536" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="289"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FieldWrite" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | <Category Ref="Implements" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | </Link> |
| | | <Link Source="@26" Target="@14" Category="CodeSchema_ReturnTypeLink" Bounds="1083.09204887295,-163.493855999569,163.257018656659,796.18503841765" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="313"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@26" Target="@16" Category="CodeMap_ExternalReference" Bounds="1222.99775932762,-163.493855999569,25.5392879513399,851.005750156986" /> |
| | | <Link Source="@26" Target="@18" Category="References" Bounds="631.545471191406,190,503.158874511719,195.970764160156" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="63"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | </Link> |
| | | <Link Source="@26" Target="@24" Category="References" Bounds="1182.04404238238,-174.742135999804,0,21" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="16"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="Implements" /> |
| | | </Link> |
| | | <Link Source="@26" Target="@30" Category="References" Bounds="549.121154785156,190,67.8788452148438,135.595245361328" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="56"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | </Link> |
| | | <Link Source="@26" Target="@32" Category="CodeMap_ExternalReference" Bounds="581.321351753771,214.999316666667,9.64265948620084,366.004121822538" /> |
| | | <Link Source="@28" Target="@10" Category="CodeMap_ProjectReference" Bounds="1371.60961914063,80,146.61767578125,28.2946243286133" /> |
| | | <Link Source="@28" Target="@12" Category="CodeSchema_Calls" Bounds="624.819519042969,-314.296905517578,349.522766113281,992.146759033203" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="5"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@28" Target="@14" Category="CodeSchema_ReturnTypeLink" Bounds="626.313781738281,-314.296905517578,415.034729003906,941.063018798828" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="45"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@28" Target="@16" Category="CodeMap_ExternalReference" Bounds="1167.18981933594,-311.467468261719,448.08837890625,1018.27349853516" /> |
| | | <Link Source="@28" Target="@18" Category="CodeMap_ExternalReference" Bounds="626.313781738281,-314.296905517578,374.720458984375,887.966949462891" /> |
| | | <Link Source="@28" Target="@2" Category="CodeSchema_FunctionPointer" Bounds="1118.79528808594,-311.467468261719,240.3896484375,433.495056152344" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="108"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_AttributeUse" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FieldRead" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@28" Target="@22" Category="CodeSchema_Calls" Bounds="676.167419433594,-314.296905517578,298.174865722656,482.868988037109" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="1"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@28" Target="@34" Category="CodeMap_ExternalReference" Bounds="396.172639134664,80.0000000000002,184.337291405192,726.277412829323" /> |
| | | <Link Source="@28" Target="@36" Category="CodeMap_ExternalReference" Bounds="396.388885443922,80.0000000000002,182.000577468687,671.314287840098" /> |
| | | <Link Source="@28" Target="@38" Category="References" Bounds="1426,80,150.068237304688,245.823944091797" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="2"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@28" Target="@4" Category="CodeMap_ExternalReference" Bounds="399.967306788906,80.0000000000002,182.341950501455,327.138512817805" /> |
| | | <Link Source="@28" Target="@40" Category="CodeMap_ExternalReference" Bounds="405.401083002474,80.0000000000002,499.625869824743,503.611125864026" /> |
| | | <Link Source="@28" Target="@43" Category="CodeSchema_Calls" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="5" /> |
| | | <Link Source="@28" Target="@6" Category="CodeMap_ExternalReference" Bounds="401.151441998607,80.0000000000002,177.676015674688,272.461019327996" /> |
| | | <Link Source="@28" Target="@8" Category="CodeSchema_Calls" Bounds="1583.45458984375,80,1.54541015625,131" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="41"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@30" Target="@12" Category="References" Bounds="993.105128173869,346.506944000431,60.6479783822664,341.139841438285" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="18"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | <Category Ref="Implements" /> |
| | | </Link> |
| | | <Link Source="@30" Target="@14" Category="References" Bounds="1056.86386505985,346.506944000431,20.3306262324559,286.023450034565" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="10"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@30" Target="@16" Category="CodeMap_ExternalReference" Bounds="1061.52125791257,346.506944000431,151.635559384476,341.774238454747" /> |
| | | <Link Source="@30" Target="@18" Category="CodeMap_ProjectReference" Bounds="652.936096191406,352.759735107422,480.721862792969,36.8240966796875" /> |
| | | <Link Source="@32" Target="@12" Category="References" Bounds="992.624459037396,291.506844000431,61.4128892974107,396.107257929124" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="284"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | <Category Ref="Implements" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | </Link> |
| | | <Link Source="@32" Target="@14" Category="CodeSchema_ReturnTypeLink" Bounds="1056.73355129338,291.506844000431,20.6844711346653,341.017410184443" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="543"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_FunctionPointer" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@32" Target="@16" Category="CodeMap_ExternalReference" Bounds="1060.8118994405,291.506844000431,153.456534711699,396.607396253455" /> |
| | | <Link Source="@32" Target="@18" Category="CodeMap_ExternalReference" Bounds="705.653400553083,615.000316666667,696.400827879566,69.6967319833279" /> |
| | | <Link Source="@32" Target="@30" Category="Implements" Bounds="1083.8886110064,280.256864000198,2.27373675443232E-13,21.0000000000001" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="8"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | </Link> |
| | | <Link Source="@34" Target="@12" Category="CodeMap_ExternalReference" Bounds="996.661509299744,516.507344000431,60.0769029486323,171.506541220163" /> |
| | | <Link Source="@34" Target="@14" Category="CodeMap_ExternalReference" Bounds="1062.5840309305,516.507344000431,13.6210315029193,116.061747389067" /> |
| | | <Link Source="@34" Target="@16" Category="CodeMap_ExternalReference" Bounds="1070.94844466293,516.507344000431,136.008901356584,172.926381779364" /> |
| | | <Link Source="@34" Target="@18" Category="CodeMap_ProjectReference" Bounds="1127.27270507813,355,69.0621337890625,26.7493896484375" /> |
| | | <Link Source="@36" Target="@12" Category="CodeMap_ExternalReference" Bounds="995.155923175613,461.507244000431,62.5087343133509,226.325395377398" /> |
| | | <Link Source="@36" Target="@14" Category="CodeMap_ExternalReference" Bounds="1062.19044509154,461.507244000431,14.6872192028559,171.033501633105" /> |
| | | <Link Source="@36" Target="@16" Category="CodeMap_ExternalReference" Bounds="1068.86872297958,461.507244000431,140.989026828228,227.351940224099" /> |
| | | <Link Source="@36" Target="@18" Category="CodeMap_ExternalReference" Bounds="720.32804101068,703.695239528203,681.354769360693,57.3432450550622" /> |
| | | <Link Source="@36" Target="@34" Category="CodeMap_ProjectReference" Bounds="1089.03027767307,450.256864000198,0,20.9999999999999" /> |
| | | <Link Source="@38" Target="@12" Category="Implements" Bounds="1009.60223359172,346.506944000431,375.728844849725,343.924122765729" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="4"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@38" Target="@14" Category="References" Bounds="1097.59805921921,346.506944000431,288.878612775284,288.639474696929" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="2"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@38" Target="@16" Category="CodeMap_ExternalReference" Bounds="1232.07552603466,346.506944000431,161.023703763227,341.858898744713" /> |
| | | <Link Source="@38" Target="@18" Category="CodeMap_ProjectReference" Bounds="1312.66467285156,355,151.51708984375,28.3450317382813" /> |
| | | <Link Source="@4" Target="@12" Category="CodeMap_ExternalReference" Bounds="923.801768435281,61.5062440004308,63.335315976199,626.047305867651" /> |
| | | <Link Source="@4" Target="@14" Category="CodeMap_ExternalReference" Bounds="925.764113792851,61.5062440004308,147.480422630463,571.287194074382" /> |
| | | <Link Source="@4" Target="@16" Category="CodeMap_ExternalReference" Bounds="928.215490689894,61.5062440004308,284.736530176246,626.807435469254" /> |
| | | <Link Source="@4" Target="@18" Category="CodeMap_ExternalReference" Bounds="636.244363336677,439.999816666667,817.533929477919,239.965409259129" /> |
| | | <Link Source="@4" Target="@34" Category="CodeMap_ExternalReference" Bounds="586.313822339154,439.999816666667,7.10195951722494,366.002693860792" /> |
| | | <Link Source="@4" Target="@36" Category="CodeMap_ProjectReference" Bounds="1111.22729492188,245,9.0731201171875,21.69677734375" /> |
| | | <Link Source="@40" Target="@12" Category="References" Bounds="1007.42493586885,291.506844000431,379.652832941718,398.484929594522" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="10"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | <Category Ref="CodeSchema_Calls" /> |
| | | <Category Ref="Implements" /> |
| | | <Category Ref="InheritsFrom" /> |
| | | </Link> |
| | | <Link Source="@40" Target="@14" Category="References" Bounds="1095.24148540836,291.506844000431,293.070037770331,343.157110177025" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="6"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | </Link> |
| | | <Link Source="@40" Target="@16" Category="CodeMap_ExternalReference" Bounds="1230.90707296908,291.506844000431,162.945246947188,396.676004154353" /> |
| | | <Link Source="@40" Target="@18" Category="CodeMap_ExternalReference" Bounds="1002.31198060558,615.000316666667,415.254555657847,66.0851893692864" /> |
| | | <Link Source="@40" Target="@38" Category="Implements" Bounds="1426.90027767307,280.256864000198,0,21" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="2"> |
| | | <Category Ref="CodeMap_ProjectReference" /> |
| | | </Link> |
| | | <Link Source="@42" Target="@41" Category="CodeSchema_AttributeUse" Bounds="1230.61206054688,805.253723144531,0,20.9993896484375" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="2" /> |
| | | <Link Source="@43" Target="@42" Category="CodeSchema_AttributeUse" Bounds="1230.61206054688,750.255310058594,0,20.9993896484375" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="1" /> |
| | | <Link Source="@6" Target="@12" Category="CodeMap_ExternalReference" Bounds="923.704492546312,6.50614400043082,63.5989234084484,681.04068851433" /> |
| | | <Link Source="@6" Target="@14" Category="CodeMap_ExternalReference" Bounds="925.495202904024,6.50614400043082,148.195346862508,626.243484027064" /> |
| | | <Link Source="@6" Target="@16" Category="CodeMap_ExternalReference" Bounds="927.778697894355,6.50614400043082,285.852132345963,681.701851403215" /> |
| | | <Link Source="@6" Target="@18" Category="CodeMap_ExternalReference" Bounds="627.28663557324,384.999716666667,833.835480895581,294.503018647594" /> |
| | | <Link Source="@6" Target="@2" Category="CodeMap_ProjectReference" Bounds="905.411071777344,190,138.997985839844,28.2099304199219" /> |
| | | <Link Source="@6" Target="@22" Category="CodeMap_ExternalReference" Bounds="202.506514438536,384.999716666667,380.209058472079,517.746171370141" /> |
| | | <Link Source="@6" Target="@34" Category="CodeMap_ExternalReference" Bounds="586.180093401519,384.999716666667,5.55011761958258,421.001881973812" /> |
| | | <Link Source="@6" Target="@36" Category="CodeMap_ExternalReference" Bounds="584.550489005821,384.999716666667,7.10195951722483,366.002693860792" /> |
| | | <Link Source="@6" Target="@4" Category="CodeMap_ProjectReference" Bounds="855.669042382377,-4.74213599980396,1.13686837721616E-13,21" /> |
| | | <Link Source="@8" Target="@12" Category="Implements" Bounds="923.542756600699,-108.494155999569,64.0375356842628,796.030981449128" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="14"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="CodeSchema_ReturnTypeLink" /> |
| | | </Link> |
| | | <Link Source="@8" Target="@14" Category="CodeSchema_ReturnTypeLink" Bounds="925.056270577948,-108.494155999569,149.367748707533,741.179274484578" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="12"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | <Category Ref="References" /> |
| | | </Link> |
| | | <Link Source="@8" Target="@16" Category="CodeMap_ExternalReference" Bounds="927.05246350502,-108.494155999569,287.727269830233,796.537316382455" /> |
| | | <Link Source="@8" Target="@18" Category="References" Bounds="1270.38842773438,245,285.09814453125,136.015716552734" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="1"> |
| | | <Category Ref="CodeMap_ExternalReference" /> |
| | | </Link> |
| | | <Link Source="@8" Target="@38" Category="CodeMap_ExternalReference" Bounds="916.247551476955,269.999416666667,7.10195951722505,366.002693860792" /> |
| | | <Link Source="@8" Target="@40" Category="CodeMap_ProjectReference" Bounds="1594.09094238281,245,16.524658203125,22.7213745117188" /> |
| | | <Link Source="@8" Target="@43" Category="References" IsSourceVirtualized="True" IsTargetVirtualized="True" Weight="1" /> |
| | | <Link Source="BasicInfo{5CC8AEFF-2F75-4053-9569-73419839875A}" Target="@34" Category="Contains" FetchingParent="BasicInfo{5CC8AEFF-2F75-4053-9569-73419839875A}" /> |
| | | <Link Source="BasicInfo{5CC8AEFF-2F75-4053-9569-73419839875A}" Target="@36" Category="Contains" FetchingParent="BasicInfo{5CC8AEFF-2F75-4053-9569-73419839875A}" /> |
| | | <Link Source="BasicInfo{9CB2F821-BB23-48E5-88E8-C326477733C0}" Target="@4" Category="Contains" FetchingParent="BasicInfo{9CB2F821-BB23-48E5-88E8-C326477733C0}" /> |
| | | <Link Source="BasicInfo{9CB2F821-BB23-48E5-88E8-C326477733C0}" Target="@6" Category="Contains" FetchingParent="BasicInfo{9CB2F821-BB23-48E5-88E8-C326477733C0}" /> |
| | | <Link Source="Repository{4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}" Target="BasicInfo{5CC8AEFF-2F75-4053-9569-73419839875A}" Category="Contains" FetchingParent="Repository{4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}" /> |
| | | <Link Source="Repository{4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}" Target="System{93EFF637-042E-4DD0-A74B-7F0CF998CF96}" Category="Contains" FetchingParent="Repository{4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}" /> |
| | | <Link Source="Repository{4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}" Target="TaskInfo{684035E2-174F-47CE-AA5C-36624C7E26F3}" Category="Contains" FetchingParent="Repository{4FF30CF7-DA79-4EDD-9A6E-0B0BEAD72A1A}" /> |
| | | <Link Source="Service{A12315CA-9D81-412C-A09B-B23D95CFFE16}" Target="BasicInfo{9CB2F821-BB23-48E5-88E8-C326477733C0}" Category="Contains" FetchingParent="Service{A12315CA-9D81-412C-A09B-B23D95CFFE16}" /> |
| | | <Link Source="Service{A12315CA-9D81-412C-A09B-B23D95CFFE16}" Target="System{6295C9FB-DAC4-4C07-97C5-C0332ABDD13D}" Category="Contains" FetchingParent="Service{A12315CA-9D81-412C-A09B-B23D95CFFE16}" /> |
| | | <Link Source="Service{A12315CA-9D81-412C-A09B-B23D95CFFE16}" Target="TaskInfo{D9CF90D0-AFB3-42AA-A2F1-BEE741E0AC0D}" Category="Contains" FetchingParent="Service{A12315CA-9D81-412C-A09B-B23D95CFFE16}" /> |
| | | <Link Source="System{6295C9FB-DAC4-4C07-97C5-C0332ABDD13D}" Target="@24" Category="Contains" FetchingParent="System{6295C9FB-DAC4-4C07-97C5-C0332ABDD13D}" /> |
| | | <Link Source="System{6295C9FB-DAC4-4C07-97C5-C0332ABDD13D}" Target="@26" Category="Contains" FetchingParent="System{6295C9FB-DAC4-4C07-97C5-C0332ABDD13D}" /> |
| | | <Link Source="System{93EFF637-042E-4DD0-A74B-7F0CF998CF96}" Target="@30" Category="Contains" FetchingParent="System{93EFF637-042E-4DD0-A74B-7F0CF998CF96}" /> |
| | | <Link Source="System{93EFF637-042E-4DD0-A74B-7F0CF998CF96}" Target="@32" Category="Contains" FetchingParent="System{93EFF637-042E-4DD0-A74B-7F0CF998CF96}" /> |
| | | <Link Source="TaskInfo{684035E2-174F-47CE-AA5C-36624C7E26F3}" Target="@38" Category="Contains" FetchingParent="TaskInfo{684035E2-174F-47CE-AA5C-36624C7E26F3}" /> |
| | | <Link Source="TaskInfo{684035E2-174F-47CE-AA5C-36624C7E26F3}" Target="@40" Category="Contains" FetchingParent="TaskInfo{684035E2-174F-47CE-AA5C-36624C7E26F3}" /> |
| | | <Link Source="TaskInfo{D9CF90D0-AFB3-42AA-A2F1-BEE741E0AC0D}" Target="@10" Category="Contains" FetchingParent="TaskInfo{D9CF90D0-AFB3-42AA-A2F1-BEE741E0AC0D}" /> |
| | | <Link Source="TaskInfo{D9CF90D0-AFB3-42AA-A2F1-BEE741E0AC0D}" Target="@8" Category="Contains" FetchingParent="TaskInfo{D9CF90D0-AFB3-42AA-A2F1-BEE741E0AC0D}" /> |
| | | </Links> |
| | | <Categories> |
| | | <Category Id="CodeMap_ExternalReference" Label="å¤é¨å¼ç¨" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="å¼ç¨è
" OutgoingActionLabel="å¼ç¨" /> |
| | | <Category Id="CodeMap_ProjectReference" Label="项ç®å¼ç¨" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="å¼ç¨è
" OutgoingActionLabel="å¼ç¨" /> |
| | | <Category Id="CodeMap_SolutionFolder" Label="è§£å³æ¹æ¡æä»¶å¤¹" CanBeDataDriven="True" IsProviderRoot="False" NavigationActionLabel="è§£å³æ¹æ¡æä»¶å¤¹" /> |
| | | <Category Id="CodeSchema_Assembly" Label="ç¨åºé" BasedOn="File" CanBeDataDriven="True" DefaultAction="Microsoft.Contains" Icon="CodeSchema_Assembly" NavigationActionLabel="ç¨åºé" /> |
| | | <Category Id="CodeSchema_AttributeUse" Label="使ç¨ç¹æ§" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="使ç¨è
" OutgoingActionLabel="使ç¨ç¹æ§" /> |
| | | <Category Id="CodeSchema_Calls" Label="è°ç¨" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="è°ç¨è
" OutgoingActionLabel="è°ç¨" /> |
| | | <Category Id="CodeSchema_FieldRead" Label="åæ®µè¯»å" BasedOn="CodeSchema_FieldReference" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="è¯»åæ¹" OutgoingActionLabel="读ååæ®µ" /> |
| | | <Category Id="CodeSchema_FieldReference" Label="åæ®µå¼ç¨" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="å¼ç¨è
" OutgoingActionLabel="å¼ç¨å段" /> |
| | | <Category Id="CodeSchema_FieldWrite" Label="åæ®µåå
¥" BasedOn="CodeSchema_FieldReference" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="åå
¥æ¹" OutgoingActionLabel="åå
¥å段" /> |
| | | <Category Id="CodeSchema_FunctionPointer" Label="彿°æé" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="彿°æé" OutgoingActionLabel="彿°æé" /> |
| | | <Category Id="CodeSchema_Namespace" Label="å½å空é´" CanBeDataDriven="True" DefaultAction="Node:Both:CodeSchema_Type" Icon="CodeSchema_Namespace" NavigationActionLabel="å½å空é´" /> |
| | | <Category Id="CodeSchema_ReturnTypeLink" Label="è¿å" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="è¿åç±»å" OutgoingActionLabel="è¿åç±»å" /> |
| | | <Category Id="Contains" Label="å
å«" Description="龿¥çæºæ¯å¦å
å«ç®æ 对象" CanBeDataDriven="False" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="å
å«è
" IsContainment="True" OutgoingActionLabel="å
å«" /> |
| | | <Category Id="File" Label="æä»¶" CanBeDataDriven="True" DefaultAction="Microsoft.Contains" Icon="File" NavigationActionLabel="æä»¶" /> |
| | | <Category Id="Implements" Label="å®ç°" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="å®ç°è
" OutgoingActionLabel="å®ç°" /> |
| | | <Category Id="InheritsFrom" Label="ç»§æ¿èª" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="ç»§æ¿è
" OutgoingActionLabel="ç»§æ¿èª" /> |
| | | <Category Id="References" Label="å¼ç¨" CanBeDataDriven="True" CanLinkedNodesBeDataDriven="True" IncomingActionLabel="å¼ç¨è
" OutgoingActionLabel="å¼ç¨" /> |
| | | </Categories> |
| | | <Properties> |
| | | <Property Id="Bounds" DataType="System.Windows.Rect" /> |
| | | <Property Id="CanBeDataDriven" Label="CanBeDataDriven" Description="CanBeDataDriven" DataType="System.Boolean" /> |
| | | <Property Id="CanLinkedNodesBeDataDriven" Label="CanLinkedNodesBeDataDriven" Description="CanLinkedNodesBeDataDriven" DataType="System.Boolean" /> |
| | | <Property Id="CodeSchemaProperty_StrongName" Label="StrongName" Description="StrongName" DataType="System.String" /> |
| | | <Property Id="DataVirtualized" Label="å·²èæåæ°æ®" Description="å¦æä¸º trueï¼åå¾ä¸å¯ä»¥å
å«è¡¨ç¤ºèæåèç¹/龿¥(å³ï¼ä¸å¨å¾ä¸å®é
å建)çæ°æ®çèç¹å龿¥ã" DataType="System.Boolean" /> |
| | | <Property Id="DefaultAction" Label="DefaultAction" Description="DefaultAction" DataType="System.String" /> |
| | | <Property Id="DelayedChildNodesState" Label="å»¶è¿çåèç¹ç¶æ" Description="å¦ææªæå®å»¶è¿çåèç¹ç¶æï¼å为 Unspecifiedã妿尿ªå°ç»å
å«çåèç¹æåå°å
³ç³»å¾ä¸ï¼å为 NotFetchedã妿已æåç»å
çææå»¶è¿çåèç¹ï¼å为 Fetchedã" DataType="Microsoft.VisualStudio.GraphModel.DelayedDataState" /> |
| | | <Property Id="DelayedCrossGroupLinksState" Label="å»¶è¿çè·¨ç»é¾æ¥ç¶æ" Description="å¦ææªæå®å»¶è¿çè·¨ç»é¾æ¥ç¶æï¼å为 Unspecifiedã妿尿ªå°æ¤èç¹ä¸å»¶è¿çè·¨ç»é¾æ¥æåå°å
³ç³»å¾ä¸ï¼å为 NotFetchedã妿已æåææå»¶è¿çè·¨ç»é¾æ¥ï¼å为 Fetchedã" DataType="Microsoft.VisualStudio.GraphModel.DelayedDataState" /> |
| | | <Property Id="ErrorMessage" Label="é误" Description="é误" DataType="System.String" /> |
| | | <Property Id="Expression" DataType="System.String" /> |
| | | <Property Id="FetchedChildrenCount" DataType="System.Int32" /> |
| | | <Property Id="FetchingParent" DataType="Microsoft.VisualStudio.GraphModel.GraphNodeId" /> |
| | | <Property Id="FilePath" Label="æä»¶è·¯å¾" Description="æä»¶è·¯å¾" DataType="System.String" /> |
| | | <Property Id="Group" Label="ç»" Description="å°èç¹æ¾ç¤ºä¸ºç»" DataType="Microsoft.VisualStudio.GraphModel.GraphGroupStyle" /> |
| | | <Property Id="GroupLabel" DataType="System.String" /> |
| | | <Property Id="Icon" DataType="System.String" /> |
| | | <Property Id="IncomingActionLabel" Label="IncomingActionLabel" Description="IncomingActionLabel" DataType="System.String" /> |
| | | <Property Id="IsContainment" DataType="System.Boolean" /> |
| | | <Property Id="IsEnabled" DataType="System.Boolean" /> |
| | | <Property Id="IsProviderRoot" Label="IsProviderRoot" Description="IsProviderRoot" DataType="System.Boolean" /> |
| | | <Property Id="IsSourceVirtualized" Label="å·²èæå龿¥æº" Description="å¦æä¸º trueï¼å龿¥æºç«¯å
å«èæåèç¹/龿¥(å³ï¼ä¸å¨å¾ä¸å®é
å建)çæ°æ®ã" DataType="System.Boolean" /> |
| | | <Property Id="IsTargetVirtualized" Label="å·²èæå龿¥ç®æ " Description="å¦æä¸º trueï¼å龿¥ç®æ 端å
å«èæåèç¹/龿¥(å³ï¼ä¸å¨å¾ä¸å®é
å建)çæ°æ®ã" DataType="System.Boolean" /> |
| | | <Property Id="IsUnreferenced" Label="æªå¼ç¨ç" Description="èç¹æ²¡æä»å
³ç³»å¾ä¸çå
¶ä»èç¹æåå®ç龿¥" DataType="System.Boolean" /> |
| | | <Property Id="Label" Label="æ ç¾" Description="坿¹æ³¨å¯¹è±¡ç坿¾ç¤ºæ ç¾" DataType="System.String" /> |
| | | <Property Id="Layout" DataType="System.String" /> |
| | | <Property Id="NavigationActionLabel" Label="NavigationActionLabel" Description="NavigationActionLabel" DataType="System.String" /> |
| | | <Property Id="OutgoingActionLabel" Label="OutgoingActionLabel" Description="OutgoingActionLabel" DataType="System.String" /> |
| | | <Property Id="TargetType" DataType="System.Type" /> |
| | | <Property Id="ToolTip" DataType="System.String" /> |
| | | <Property Id="UseManualLocation" DataType="System.Boolean" /> |
| | | <Property Id="Value" DataType="System.String" /> |
| | | <Property Id="ValueLabel" DataType="System.String" /> |
| | | <Property Id="Visibility" Label="å¯è§æ§" Description="å®ä¹å
³ç³»å¾ä¸çèç¹æ¯å¦å¯è§" DataType="System.Windows.Visibility" /> |
| | | <Property Id="Weight" Label="ç²ç»" Description="ç²ç»" DataType="System.Double" /> |
| | | <Property Id="ZoomLevel" DataType="System.String" /> |
| | | </Properties> |
| | | <QualifiedNames> |
| | | <Name Id="Assembly" Label="ç¨åºé" ValueType="Uri" /> |
| | | <Name Id="Namespace" Label="å½å空é´" ValueType="System.String" /> |
| | | </QualifiedNames> |
| | | <IdentifierAliases> |
| | | <Alias n="1" Uri="Assembly=$(6236bfff-173d-44a8-9fc3-7c001ea30347.OutputPathUri)" /> |
| | | <Alias n="2" Id="(@1)" /> |
| | | <Alias n="3" Uri="Assembly=$(8c2cc25b-de5d-433e-a550-63864c7a716d.OutputPathUri)" /> |
| | | <Alias n="4" Id="(@3)" /> |
| | | <Alias n="5" Uri="Assembly=$(ffab2c76-1c9e-4006-95c8-a0b2aa53139d.OutputPathUri)" /> |
| | | <Alias n="6" Id="(@5)" /> |
| | | <Alias n="7" Uri="Assembly=$(7279a2ae-8d1f-4e66-a73a-01af7927a336.OutputPathUri)" /> |
| | | <Alias n="8" Id="(@7)" /> |
| | | <Alias n="9" Uri="Assembly=$(83f18a31-5983-4587-a0b2-414bf70e50b5.OutputPathUri)" /> |
| | | <Alias n="10" Id="(@9)" /> |
| | | <Alias n="11" Uri="Assembly=$(bffdd936-2e61-4d3a-abfe-7cf77fe0b184.OutputPathUri)" /> |
| | | <Alias n="12" Id="(@11)" /> |
| | | <Alias n="13" Uri="Assembly=$(7f200fe8-caf6-4131-bd25-8d438fe0abac.OutputPathUri)" /> |
| | | <Alias n="14" Id="(@13)" /> |
| | | <Alias n="15" Uri="Assembly=$(9fbc654c-51de-422d-9e1e-6a38268de1e2.OutputPathUri)" /> |
| | | <Alias n="16" Id="(@15)" /> |
| | | <Alias n="17" Uri="Assembly=$(c2d3d138-9109-481b-8beb-a27597890b2c.OutputPathUri)" /> |
| | | <Alias n="18" Id="(@17)" /> |
| | | <Alias n="19" Uri="Assembly=$(487fa45b-ea1a-4aca-bb5b-0f6708f462c0.OutputPathUri)" /> |
| | | <Alias n="20" Id="(@19)" /> |
| | | <Alias n="21" Uri="Assembly=$(861c4d0b-a478-48db-a0fa-ae70f5ba210a.OutputPathUri)" /> |
| | | <Alias n="22" Id="(@21)" /> |
| | | <Alias n="23" Uri="Assembly=$(9e4bff47-52bf-4fd8-9cc7-3763bf19d9e0.OutputPathUri)" /> |
| | | <Alias n="24" Id="(@23)" /> |
| | | <Alias n="25" Uri="Assembly=$(a14242dd-da06-4dc3-8598-1761aa7c76d1.OutputPathUri)" /> |
| | | <Alias n="26" Id="(@25)" /> |
| | | <Alias n="27" Uri="Assembly=$(294e4915-0241-4c8c-ba99-7588b945863a.OutputPathUri)" /> |
| | | <Alias n="28" Id="(@27)" /> |
| | | <Alias n="29" Uri="Assembly=$(f302e6d6-5a95-4d22-8dc2-21be2cb30275.OutputPathUri)" /> |
| | | <Alias n="30" Id="(@29)" /> |
| | | <Alias n="31" Uri="Assembly=$(5777bdec-4726-4425-85f2-a090524f692d.OutputPathUri)" /> |
| | | <Alias n="32" Id="(@31)" /> |
| | | <Alias n="33" Uri="Assembly=$(266d07b7-3648-4f3d-818a-89eda7d84c58.OutputPathUri)" /> |
| | | <Alias n="34" Id="(@33)" /> |
| | | <Alias n="35" Uri="Assembly=$(206fdf79-9bf3-433a-b7ff-627287bbd760.OutputPathUri)" /> |
| | | <Alias n="36" Id="(@35)" /> |
| | | <Alias n="37" Uri="Assembly=$(09d05f35-cea2-48d9-86d0-fb95982ba511.OutputPathUri)" /> |
| | | <Alias n="38" Id="(@37)" /> |
| | | <Alias n="39" Uri="Assembly=$(35054aa5-cf40-4f38-9414-c76742c29382.OutputPathUri)" /> |
| | | <Alias n="40" Id="(@39)" /> |
| | | <Alias n="41" Id="(@15 Namespace=Microsoft.CodeAnalysis)" /> |
| | | <Alias n="42" Id="(@15 Namespace=System.Runtime.CompilerServices)" /> |
| | | <Alias n="43" Id="(@15 Namespace=WIDESEAWCS_Common.TaskEnum)" /> |
| | | </IdentifierAliases> |
| | | <Styles> |
| | | <Style TargetType="Node" GroupLabel="æªå¼ç¨ç" ToolTip="èç¹æ²¡æä»å
³ç³»å¾ä¸çå
¶ä»èç¹æåå®ç龿¥" ValueLabel="True"> |
| | | <Condition Expression="IsUnreferenced" /> |
| | | <Setter Property="Background" Value="Purple" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="ç»æ" ValueLabel="True"> |
| | | <Condition Expression="HasCategory('QueryResult')" /> |
| | | <Setter Property="Background" Value="#FFBCFFBE" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="æµè¯é¡¹ç®" ValueLabel="æµè¯é¡¹ç®"> |
| | | <Condition Expression="HasCategory('CodeMap_TestProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_TestProject" /> |
| | | <Setter Property="Background" Value="#FF307A69" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Web 项ç®" ValueLabel="Web 项ç®"> |
| | | <Condition Expression="HasCategory('CodeMap_WebProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_WebProject" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Windows åºç¨ååºé¡¹ç®" ValueLabel="Windows åºç¨ååºé¡¹ç®"> |
| | | <Condition Expression="HasCategory('CodeMap_WindowsStoreProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_WindowsStoreProject" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="çµè¯é¡¹ç®" ValueLabel="çµè¯é¡¹ç®"> |
| | | <Condition Expression="HasCategory('CodeMap_PhoneProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_PhoneProject" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="å¯ç§»æ¤åº" ValueLabel="å¯ç§»æ¤åº"> |
| | | <Condition Expression="HasCategory('CodeMap_PortableLibraryProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_PortableLibraryProject" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="WPF 项ç®" ValueLabel="WPF 项ç®"> |
| | | <Condition Expression="HasCategory('CodeMap_WpfProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_WpfProject" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="VSIX 项ç®" ValueLabel="VSIX 项ç®"> |
| | | <Condition Expression="HasCategory('CodeMap_VsixProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_VsixProject" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="建模项ç®" ValueLabel="建模项ç®"> |
| | | <Condition Expression="HasCategory('CodeMap_ModelingProject')" /> |
| | | <Setter Property="Icon" Value="CodeMap_ModelingProject" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="ç¨åºé" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Assembly')" /> |
| | | <Setter Property="Background" Value="#FF094167" /> |
| | | <Setter Property="Stroke" Value="#FF094167" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Assembly" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="å½å空é´" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Namespace')" /> |
| | | <Setter Property="Background" Value="#FF0E619A" /> |
| | | <Setter Property="Stroke" Value="#FF0E619A" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Namespace" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="æ¥å£" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Interface')" /> |
| | | <Setter Property="Background" Value="#FF1382CE" /> |
| | | <Setter Property="Stroke" Value="#FF1382CE" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Interface" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="ç»æ" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Struct')" /> |
| | | <Setter Property="Background" Value="#FF1382CE" /> |
| | | <Setter Property="Stroke" Value="#FF1382CE" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Struct" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="æä¸¾" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Enum')" /> |
| | | <Setter Property="Background" Value="#FF1382CE" /> |
| | | <Setter Property="Stroke" Value="#FF1382CE" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Enum" /> |
| | | <Setter Property="LayoutSettings" Value="List" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="å§æ" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Delegate')" /> |
| | | <Setter Property="Background" Value="#FF1382CE" /> |
| | | <Setter Property="Stroke" Value="#FF1382CE" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Delegate" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="ç±»" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Type')" /> |
| | | <Setter Property="Background" Value="#FF0E70C0" /> |
| | | <Setter Property="Stroke" Value="#FF0E70C0" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Class" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="屿§" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Property')" /> |
| | | <Setter Property="Background" Value="#FFE0E0E0" /> |
| | | <Setter Property="Stroke" Value="#FFE0E0E0" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Property" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="æ¹æ³" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Method') Or HasCategory('CodeSchema_CallStackUnresolvedMethod')" /> |
| | | <Setter Property="Background" Value="#FFE0E0E0" /> |
| | | <Setter Property="Stroke" Value="#FFE0E0E0" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Method" /> |
| | | <Setter Property="LayoutSettings" Value="List" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="äºä»¶" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Event')" /> |
| | | <Setter Property="Background" Value="#FFE0E0E0" /> |
| | | <Setter Property="Stroke" Value="#FFE0E0E0" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Event" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="åæ®µ" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Field')" /> |
| | | <Setter Property="Background" Value="#FFE0E0E0" /> |
| | | <Setter Property="Stroke" Value="#FFE0E0E0" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Field" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Out åæ°" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="CodeSchemaProperty_IsOut = 'True'" /> |
| | | <Setter Property="Icon" Value="CodeSchema_OutParameter" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="åæ°" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_Parameter')" /> |
| | | <Setter Property="Icon" Value="CodeSchema_Parameter" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="å±é¨åé" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('CodeSchema_LocalExpression')" /> |
| | | <Setter Property="Icon" Value="CodeSchema_LocalExpression" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="å¤é¨" ValueLabel="å
·æç±»å«"> |
| | | <Condition Expression="HasCategory('Externals')" /> |
| | | <Setter Property="Background" Value="#FF424242" /> |
| | | <Setter Property="Stroke" Value="#FF424242" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="ç»§æ¿èª" ValueLabel="True"> |
| | | <Condition Expression="HasCategory('InheritsFrom')" /> |
| | | <Setter Property="Stroke" Value="#FF00A600" /> |
| | | <Setter Property="StrokeDashArray" Value="2 0" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="å®ç°" ValueLabel="True"> |
| | | <Condition Expression="HasCategory('Implements')" /> |
| | | <Setter Property="Stroke" Value="#8000A600" /> |
| | | <Setter Property="StrokeDashArray" Value="2 2" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="è°ç¨" ValueLabel="True"> |
| | | <Condition Expression="HasCategory('CodeSchema_Calls')" /> |
| | | <Setter Property="Stroke" Value="#FFFF00FF" /> |
| | | <Setter Property="StrokeDashArray" Value="2 0" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="彿°æé" ValueLabel="True"> |
| | | <Condition Expression="HasCategory('CodeSchema_FunctionPointer')" /> |
| | | <Setter Property="Stroke" Value="#FFFF00FF" /> |
| | | <Setter Property="StrokeDashArray" Value="2 2" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="åæ®µè¯»å" ValueLabel="True"> |
| | | <Condition Expression="HasCategory('CodeSchema_FieldRead')" /> |
| | | <Setter Property="Stroke" Value="#FF00AEEF" /> |
| | | <Setter Property="StrokeDashArray" Value="2 2" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="åæ®µåå
¥" ValueLabel="True"> |
| | | <Condition Expression="HasCategory('CodeSchema_FieldWrite')" /> |
| | | <Setter Property="Stroke" Value="#FF00AEEF" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | <Setter Property="IsHidden" Value="false" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="Inherits From" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="HasCategory('InheritsFrom') And Target.HasCategory('CodeSchema_Class')" /> |
| | | <Setter Property="TargetDecorator" Value="OpenArrow" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="Implements" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="HasCategory('Implements') And Target.HasCategory('CodeSchema_Interface')" /> |
| | | <Setter Property="TargetDecorator" Value="OpenArrow" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="Comment Link" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="Source.HasCategory('Comment')" /> |
| | | <Setter Property="Stroke" Value="#FFE5C365" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Cursor Location Changed" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="IsCursorLocation" /> |
| | | <Setter Property="IndicatorWest" Value="WestIndicator" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Disabled Breakpoint Location Changed" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="DisabledBreakpointCount" /> |
| | | <Setter Property="IndicatorWest" Value="WestIndicator" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Enabled Breakpoint Location Changed" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="EnabledBreakpointCount" /> |
| | | <Setter Property="IndicatorWest" Value="WestIndicator" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Instruction Pointer Location Changed" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="IsInstructionPointerLocation" /> |
| | | <Setter Property="IndicatorWest" Value="WestIndicator" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="Current Callstack Changed" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="IsCurrentCallstackFrame" /> |
| | | <Setter Property="IndicatorWest" Value="WestIndicator" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="è¿å" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="HasCategory('CodeSchema_ReturnTypeLink')" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="å¼ç¨" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="HasCategory('References')" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="使ç¨ç¹æ§" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="HasCategory('CodeSchema_AttributeUse')" /> |
| | | </Style> |
| | | <Style TargetType="Node" GroupLabel="è§£å³æ¹æ¡æä»¶å¤¹" ValueLabel="True" Visibility="Hidden"> |
| | | <Condition Expression="HasCategory('CodeMap_SolutionFolder')" /> |
| | | <Setter Property="Background" Value="#FFDEBA83" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="项ç®å¼ç¨" ValueLabel="项ç®å¼ç¨"> |
| | | <Condition Expression="HasCategory('CodeMap_ProjectReference')" /> |
| | | <Setter Property="Stroke" Value="#9A9A9A" /> |
| | | <Setter Property="StrokeDashArray" Value="2 2" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | </Style> |
| | | <Style TargetType="Link" GroupLabel="å¤é¨å¼ç¨" ValueLabel="å¤é¨å¼ç¨"> |
| | | <Condition Expression="HasCategory('CodeMap_ExternalReference')" /> |
| | | <Setter Property="Stroke" Value="#9A9A9A" /> |
| | | <Setter Property="StrokeDashArray" Value="2 2" /> |
| | | <Setter Property="DrawArrow" Value="true" /> |
| | | </Style> |
| | | </Styles> |
| | | <Paths> |
| | | <Path Id="09d05f35-cea2-48d9-86d0-fb95982ba511.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoRepository\bin\Debug\net6.0\WIDESEAWCS_ITaskInfoRepository.dll" /> |
| | | <Path Id="09d05f35-cea2-48d9-86d0-fb95982ba511.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/bin/Debug/net6.0/WIDESEAWCS_ITaskInfoRepository.dll" /> |
| | | <Path Id="206fdf79-9bf3-433a-b7ff-627287bbd760.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_BasicInfoRepository\bin\Debug\net6.0\WIDESEAWCS_BasicInfoRepository.dll" /> |
| | | <Path Id="206fdf79-9bf3-433a-b7ff-627287bbd760.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/bin/Debug/net6.0/WIDESEAWCS_BasicInfoRepository.dll" /> |
| | | <Path Id="266d07b7-3648-4f3d-818a-89eda7d84c58.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoRepository\bin\Debug\net6.0\WIDESEAWCS_IBasicInfoRepository.dll" /> |
| | | <Path Id="266d07b7-3648-4f3d-818a-89eda7d84c58.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/bin/Debug/net6.0/WIDESEAWCS_IBasicInfoRepository.dll" /> |
| | | <Path Id="294e4915-0241-4c8c-ba99-7588b945863a.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\bin\Debug\net6.0\WIDESEAWCS_Tasks.dll" /> |
| | | <Path Id="294e4915-0241-4c8c-ba99-7588b945863a.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/bin/Debug/net6.0/WIDESEAWCS_Tasks.dll" /> |
| | | <Path Id="35054aa5-cf40-4f38-9414-c76742c29382.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_TaskInfoRepository\bin\Debug\net6.0\WIDESEAWCS_TaskInfoRepository.dll" /> |
| | | <Path Id="35054aa5-cf40-4f38-9414-c76742c29382.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/bin/Debug/net6.0/WIDESEAWCS_TaskInfoRepository.dll" /> |
| | | <Path Id="487fa45b-ea1a-4aca-bb5b-0f6708f462c0.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_Server\bin\Debug\net6.0\WIDESEAWCS_Server.dll" /> |
| | | <Path Id="487fa45b-ea1a-4aca-bb5b-0f6708f462c0.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/WIDESEAWCS_Server.dll" /> |
| | | <Path Id="5777bdec-4726-4425-85f2-a090524f692d.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_SystemRepository\bin\Debug\net6.0\WIDESEAWCS_SystemRepository.dll" /> |
| | | <Path Id="5777bdec-4726-4425-85f2-a090524f692d.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/bin/Debug/net6.0/WIDESEAWCS_SystemRepository.dll" /> |
| | | <Path Id="6236bfff-173d-44a8-9fc3-7c001ea30347.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\bin\Debug\net6.0\WIDESEAWCS_QuartzJob.dll" /> |
| | | <Path Id="6236bfff-173d-44a8-9fc3-7c001ea30347.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Debug/net6.0/WIDESEAWCS_QuartzJob.dll" /> |
| | | <Path Id="7279a2ae-8d1f-4e66-a73a-01af7927a336.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\bin\Debug\net6.0\WIDESEAWCS_ITaskInfoService.dll" /> |
| | | <Path Id="7279a2ae-8d1f-4e66-a73a-01af7927a336.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/bin/Debug/net6.0/WIDESEAWCS_ITaskInfoService.dll" /> |
| | | <Path Id="7f200fe8-caf6-4131-bd25-8d438fe0abac.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_Model\bin\Debug\net6.0\WIDESEAWCS_Model.dll" /> |
| | | <Path Id="7f200fe8-caf6-4131-bd25-8d438fe0abac.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Model/bin/Debug/net6.0/WIDESEAWCS_Model.dll" /> |
| | | <Path Id="83f18a31-5983-4587-a0b2-414bf70e50b5.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_TaskInfoService\bin\Debug\net6.0\WIDESEAWCS_TaskInfoService.dll" /> |
| | | <Path Id="83f18a31-5983-4587-a0b2-414bf70e50b5.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/bin/Debug/net6.0/WIDESEAWCS_TaskInfoService.dll" /> |
| | | <Path Id="861c4d0b-a478-48db-a0fa-ae70f5ba210a.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_Communicator\bin\Debug\net6.0\WIDESEAWCS_Communicator.dll" /> |
| | | <Path Id="861c4d0b-a478-48db-a0fa-ae70f5ba210a.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/bin/Debug/net6.0/WIDESEAWCS_Communicator.dll" /> |
| | | <Path Id="8c2cc25b-de5d-433e-a550-63864c7a716d.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\bin\Debug\net6.0\WIDESEAWCS_IBasicInfoService.dll" /> |
| | | <Path Id="8c2cc25b-de5d-433e-a550-63864c7a716d.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/bin/Debug/net6.0/WIDESEAWCS_IBasicInfoService.dll" /> |
| | | <Path Id="9e4bff47-52bf-4fd8-9cc7-3763bf19d9e0.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\bin\Debug\net6.0\WIDESEAWCS_ISystemServices.dll" /> |
| | | <Path Id="9e4bff47-52bf-4fd8-9cc7-3763bf19d9e0.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/bin/Debug/net6.0/WIDESEAWCS_ISystemServices.dll" /> |
| | | <Path Id="9fbc654c-51de-422d-9e1e-6a38268de1e2.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_Common\bin\Debug\net6.0\WIDESEAWCS_Common.dll" /> |
| | | <Path Id="9fbc654c-51de-422d-9e1e-6a38268de1e2.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Common/bin/Debug/net6.0/WIDESEAWCS_Common.dll" /> |
| | | <Path Id="a14242dd-da06-4dc3-8598-1761aa7c76d1.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_SystemServices\bin\Debug\net6.0\WIDESEAWCS_SystemServices.dll" /> |
| | | <Path Id="a14242dd-da06-4dc3-8598-1761aa7c76d1.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/bin/Debug/net6.0/WIDESEAWCS_SystemServices.dll" /> |
| | | <Path Id="bffdd936-2e61-4d3a-abfe-7cf77fe0b184.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_Core\bin\Debug\net6.0\WIDESEAWCS_Core.dll" /> |
| | | <Path Id="bffdd936-2e61-4d3a-abfe-7cf77fe0b184.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_Core/bin/Debug/net6.0/WIDESEAWCS_Core.dll" /> |
| | | <Path Id="c2d3d138-9109-481b-8beb-a27597890b2c.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\bin\Debug\net6.0\WIDESEAWCS_DTO.dll" /> |
| | | <Path Id="c2d3d138-9109-481b-8beb-a27597890b2c.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/bin/Debug/net6.0/WIDESEAWCS_DTO.dll" /> |
| | | <Path Id="f302e6d6-5a95-4d22-8dc2-21be2cb30275.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemRepository\bin\Debug\net6.0\WIDESEAWCS_ISystemRepository.dll" /> |
| | | <Path Id="f302e6d6-5a95-4d22-8dc2-21be2cb30275.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/bin/Debug/net6.0/WIDESEAWCS_ISystemRepository.dll" /> |
| | | <Path Id="ffab2c76-1c9e-4006-95c8-a0b2aa53139d.OutputPath" Value="E:\WIDESEAWCS\InfrastructureWCS\WIDESEAWCS_Server\WIDESEAWCS_BasicInfoService\bin\Debug\net6.0\WIDESEAWCS_BasicInfoService.dll" /> |
| | | <Path Id="ffab2c76-1c9e-4006-95c8-a0b2aa53139d.OutputPathUri" Value="file:///E:/WIDESEAWCS/InfrastructureWCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/bin/Debug/net6.0/WIDESEAWCS_BasicInfoService.dll" /> |
| | | </Paths> |
| | | </DirectedGraph> |
| | |
| | | |
| | | namespace WIDESEAWCS_Common.TaskEnum |
| | | { |
| | | // å®ä¹ä¸ä¸ªéæç±»TaskEnumHelperï¼ç¨äºå¤çæä¸¾ç±»å |
| | | public static class TaskEnumHelper |
| | | { |
| | | // è·åæä¸¾ç±»åçç´¢å¼å表 |
| | | public static List<int> GetEnumIndexList(this Type type) |
| | | { |
| | | // 妿typeä¸ºç©ºï¼æåºArgumentNullExceptionå¼å¸¸ |
| | | if (type is null) throw new ArgumentNullException("type"); |
| | | // 妿type䏿¯æä¸¾ç±»åï¼è¿å空å表 |
| | | if (!type.IsEnum) return new List<int>(); |
| | | // è¿åæä¸¾ç±»åçç´¢å¼å表 |
| | | return Enum.GetValues(type).Cast<int>().ToList(); |
| | | } |
| | | |
| | | // æ ¹æ®ä»»å¡ç±»åè·åä»»å¡ç±»åç» |
| | | public static TaskTypeGroup GetTaskTypeGroup(this int taskType) |
| | | { |
| | | if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(taskType.ToString()).ToString(), out int result)) |
| | | // å°ä»»å¡ç±»å转æ¢ä¸ºå符串 |
| | | string taskTypeStr = taskType.ToString(); |
| | | // å°è¯å°ä»»å¡ç±»å转æ¢ä¸ºTaskOutboundTypeEnumæä¸¾ç±»åï¼å¦ææåï¼è¿åOutbondGroup |
| | | if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(taskTypeStr).ToString(), out int result)) |
| | | { |
| | | return TaskTypeGroup.OutbondGroup; |
| | | } |
| | | else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskType.ToString()).ToString(), out result)) |
| | | // å°è¯å°ä»»å¡ç±»å转æ¢ä¸ºTaskInStatusEnumæä¸¾ç±»åï¼å¦ææåï¼è¿åInboundGroup |
| | | else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskTypeStr).ToString(), out result)) |
| | | { |
| | | return TaskTypeGroup.InboundGroup; |
| | | } |
| | | else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(taskType.ToString()).ToString(), out result)) |
| | | // å°è¯å°ä»»å¡ç±»å转æ¢ä¸ºTaskRelocationTypeEnumæä¸¾ç±»åï¼å¦ææåï¼è¿åRelocationGroup |
| | | else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(taskTypeStr).ToString(), out result)) |
| | | { |
| | | return TaskTypeGroup.RelocationGroup; |
| | | } |
| | | else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(taskType.ToString()).ToString(), out result)) |
| | | // å°è¯å°ä»»å¡ç±»å转æ¢ä¸ºTaskOtherTypeEnumæä¸¾ç±»åï¼å¦ææåï¼è¿åOtherGroup |
| | | else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(taskTypeStr).ToString(), out result)) |
| | | { |
| | | return TaskTypeGroup.OtherGroup; |
| | | } |
| | | // 妿以ä¸è½¬æ¢é½ä¸æåï¼æåºNotImplementedExceptionå¼å¸¸ |
| | | else |
| | | { |
| | | throw new NotImplementedException(); |
| | | } |
| | | } |
| | | |
| | | // è·åä¸ä¸ä¸ªæªå®æçä»»å¡ç¶æ |
| | | public static int GetNextNotCompletedStatus<T>(this int currentStatus) where T : Enum |
| | | { |
| | | // è·åæä¸¾ç±»å |
| | | Type type = typeof(T); |
| | | // 妿typeä¸ºç©ºï¼æåºArgumentNullExceptionå¼å¸¸ |
| | | if (type is null) throw new ArgumentNullException(); |
| | | // 妿type䏿¯æä¸¾ç±»åï¼è¿å0 |
| | | if (!type.IsEnum) return 0; |
| | | // 妿typeæ¯TaskInStatusEnumæä¸¾ç±»å |
| | | if (type == typeof(TaskInStatusEnum)) |
| | | { |
| | | // è·åTaskInStatusEnumæä¸¾ç±»åçç´¢å¼å表 |
| | | List<int> taskInboundTypes = type.GetEnumIndexList(); |
| | | // è¿å大äºå½åç¶æä¸å°äºInFinishç¶æçç´¢å¼ |
| | | return taskInboundTypes.Where(x => x > currentStatus && x < (int)TaskInStatusEnum.InFinish).OrderBy(x => x).FirstOrDefault(); |
| | | } |
| | | // 妿typeæ¯TaskOutStatusEnumæä¸¾ç±»å |
| | | else if (type == typeof(TaskOutStatusEnum)) |
| | | { |
| | | // è·åTaskOutStatusEnumæä¸¾ç±»åçç´¢å¼å表 |
| | | return type.GetEnumIndexList().Where(x => x > currentStatus && x < (int)TaskOutStatusEnum.OutFinish).OrderBy(x => x).FirstOrDefault(); |
| | | } |
| | | // 妿以䏿¡ä»¶é½ä¸æ»¡è¶³ï¼æåºNotImplementedExceptionå¼å¸¸ |
| | | else |
| | | { |
| | | throw new NotImplementedException(); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using HslCommunication.Core; |
| | | using HslCommunication.LogNet; |
| | | using HslCommunication.Profinet.Omron; |
| | | using HslCommunication; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Diagnostics.CodeAnalysis; |
| | | using System.Linq; |
| | | using System.Net.NetworkInformation; |
| | | using System.Net; |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using System.ComponentModel; |
| | | using HslCommunication.Profinet.AllenBradley; |
| | | |
| | | namespace WIDESEAWCS_Communicator |
| | | { |
| | | /// <summary> |
| | | /// ç½å
é¦å°(AB)EtherNet/IP(CIP) |
| | | /// </summary> |
| | | [Description("ç½å
é¦å°(AB)EtherNet/IP(CIP)")] |
| | | public class AllenBrandlyEtherNetCommunicator : BaseCommunicator |
| | | { |
| | | #region Private Member |
| | | /// <summary> |
| | | /// HSLCommunicationç西é¨åçS7åè®®çé讯类 |
| | | /// </summary> |
| | | private AllenBradleyNet plc; |
| | | |
| | | /// <summary> |
| | | /// 设å¤çIPå°åã |
| | | /// </summary> |
| | | private string _ipAddress; |
| | | |
| | | /// <summary> |
| | | /// è¿æ¥ä½¿ç¨ç端å£å·ã |
| | | /// </summary> |
| | | private int _port; |
| | | |
| | | /// <summary> |
| | | /// å½åéè®¯å¨æ¯å¦å·²è¿æ¥å°PLCã |
| | | /// </summary> |
| | | private bool _connected; |
| | | |
| | | /// <summary> |
| | | /// PLCåç§° |
| | | /// </summary> |
| | | private string _name; |
| | | |
| | | private ILogNet _logNet; |
| | | |
| | | private bool _isPing = true; |
| | | #endregion Private Member |
| | | |
| | | #region Public Member |
| | | public override ILogNet LogNet => _logNet; |
| | | |
| | | public override string Name => _name; |
| | | |
| | | public override bool IsConnected => _connected; |
| | | |
| | | #endregion Public Member |
| | | |
| | | #region Constructor Function |
| | | /// <summary> |
| | | /// æé 彿° |
| | | /// </summary> |
| | | /// <param name="ipAddress">设å¤çIPå°å</param> |
| | | /// <param name="port">è¿æ¥ä½¿ç¨ç端å£å·</param> |
| | | /// <param name="name">设å¤åç§°</param> |
| | | public AllenBrandlyEtherNetCommunicator(string ipAddress, int port, string name) |
| | | { |
| | | string path = AppDomain.CurrentDomain.BaseDirectory + $"Log_PLCReadWrite\\{name}"; |
| | | _logNet = new LogNetFileSize(path, 10 * 1024 * 1024, 100); |
| | | |
| | | bool ipCheck = IPAddress.TryParse(ipAddress, out IPAddress? address); |
| | | if (!ipCheck) |
| | | { |
| | | _logNet.WriteError(name, string.Format(CommunicationExceptionMessage.IpAddressErrorException, ipAddress)); |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.IpAddressErrorException, ipAddress), CommunicationErrorType.IpAddressError); |
| | | } |
| | | |
| | | _ipAddress = ipAddress;//éè¿æé 彿°èµå¼è®¾å¤çIPå°å |
| | | _port = port;//éè¿æé 彿°èµå¼è¿æ¥ä½¿ç¨ç端å£å· |
| | | _name = name; |
| | | } |
| | | #endregion |
| | | |
| | | #region Private Method |
| | | /// <summary> |
| | | /// ä»OperateResult对象ä¸è·å读åçæ°æ®ã |
| | | /// </summary> |
| | | /// <typeparam name="T">读åçæ°æ®ç±»åã</typeparam> |
| | | /// <param name="operateResult">HSLCommunication读åçOperateResult<T>对象</param> |
| | | /// <returns>å¦æè¯»åæåï¼è¿å读åç»æï¼è¯»åå¤±è´¥ï¼æåºèªå®ä¹é讯å¼å¸¸</returns> |
| | | /// <exception cref="CommunicationException">èªå®ä¹é讯å¼å¸¸ç±»</exception> |
| | | private object GetContent<T>(OperateResult<T> operateResult, string address) |
| | | { |
| | | try |
| | | { |
| | | if (!operateResult.IsSuccess) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadFailedException, typeof(T).Name, address, operateResult.Message), CommunicationErrorType.ReadFailed); |
| | | } |
| | | return operateResult.Content ?? throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadDataIsNull, address), CommunicationErrorType.ReadFailed); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogNet.WriteException(Name, ex.Message, ex); |
| | | throw new CommunicationException(ex.Message, CommunicationErrorType.ReadFailed, innerException: ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <typeparam name="T"></typeparam> |
| | | /// <param name="operateResult"></param> |
| | | /// <param name="address"></param> |
| | | /// <param name="value"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="CommunicationException"></exception> |
| | | private bool GetResult<T>(OperateResult operateResult, string address, T value) where T : notnull |
| | | { |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | try |
| | | { |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteData, address, value)); |
| | | if (!operateResult.IsSuccess) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteFailedException, typeof(T).Name, address, value, operateResult.Message), CommunicationErrorType.WriteFailed); |
| | | } |
| | | else |
| | | { |
| | | object? obj = null; |
| | | for (int i = 0; i < 5; i++) |
| | | { |
| | | T readValue = Read<T>(address); |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, readValue, value)); |
| | | obj = readValue; |
| | | if (readValue.Equals(value)) |
| | | { |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, value, readValue)); |
| | | return true; |
| | | } |
| | | else if (i < 4) |
| | | { |
| | | Write(address, value); |
| | | } |
| | | } |
| | | stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, value, obj)); |
| | | throw new CommunicationException(stringBuilder.ToString(), CommunicationErrorType.WriteFailed); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogNet.WriteException(Name, ex.Message, ex); |
| | | throw new CommunicationException(ex.Message, CommunicationErrorType.WriteFailed, innerException: ex); |
| | | } |
| | | finally |
| | | { |
| | | LogNet.WriteInfo(Name, stringBuilder.ToString()); |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå
¥æ°æ® |
| | | /// </summary> |
| | | /// <param name="address"></param> |
| | | /// <param name="value"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="CommunicationException"></exception> |
| | | private OperateResult Write(string address, object value) |
| | | { |
| | | try |
| | | { |
| | | Type type = value.GetType(); |
| | | |
| | | switch (Type.GetTypeCode(type)) |
| | | { |
| | | case TypeCode.Int32: |
| | | return plc.Write(address, Convert.ToInt32(value)); |
| | | case TypeCode.UInt32: |
| | | return plc.Write(address, Convert.ToUInt32(value)); |
| | | case TypeCode.Int16: |
| | | return plc.Write(address, Convert.ToInt16(value)); |
| | | case TypeCode.UInt16: |
| | | return plc.Write(address, Convert.ToUInt16(value)); |
| | | case TypeCode.Single: |
| | | return plc.Write(address, Convert.ToSingle(value)); |
| | | case TypeCode.Boolean: |
| | | return plc.Write(address, Convert.ToBoolean(value)); |
| | | case TypeCode.Byte: |
| | | return plc.Write(address, Convert.ToByte(value)); |
| | | case TypeCode.String: |
| | | return plc.Write(address, Convert.ToString(value)); |
| | | case TypeCode.Char: |
| | | return plc.Write(address, Convert.ToChar(value)); |
| | | default: |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, type.Name, address), CommunicationErrorType.TypeError); |
| | | } |
| | | } |
| | | catch (CommunicationException ex) |
| | | { |
| | | throw new CommunicationException(ex.Message, ex.ErrorType); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //读åå¼å¸¸æ¶æåºèªå®ä¹é讯å¼å¸¸ç±» |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, address, value), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | } |
| | | |
| | | private object Read(string address, TypeCode typeCode) |
| | | { |
| | | try |
| | | { |
| | | switch (typeCode) |
| | | { |
| | | case TypeCode.Int32: |
| | | return (int)GetContent(plc.ReadInt32(address), address); |
| | | case TypeCode.UInt32: |
| | | return (uint)GetContent(plc.ReadUInt32(address), address); |
| | | case TypeCode.Int16: |
| | | return (short)GetContent(plc.ReadInt16(address), address); |
| | | case TypeCode.UInt16: |
| | | return (ushort)GetContent(plc.ReadUInt16(address), address); |
| | | case TypeCode.Single: |
| | | return (float)GetContent(plc.ReadFloat(address), address); |
| | | case TypeCode.Boolean: |
| | | return (bool)GetContent(plc.ReadBool(address), address); |
| | | case TypeCode.Byte: |
| | | return (byte)GetContent(plc.ReadByte(address), address); |
| | | case TypeCode.String: |
| | | return (string)GetContent(plc.ReadString(address), address); |
| | | case TypeCode.Char: |
| | | return (char)GetContent(plc.ReadByte(address), address); |
| | | default: |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, typeCode.ToString(), address), CommunicationErrorType.TypeError); |
| | | } |
| | | } |
| | | catch (CommunicationException ex) |
| | | { |
| | | //读åå¼å¸¸æ¶æåºèªå®ä¹é讯å¼å¸¸ç±» |
| | | throw new CommunicationException(ex.Message, ex.ErrorType); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //读åå¼å¸¸æ¶æåºèªå®ä¹é讯å¼å¸¸ç±» |
| | | throw new CommunicationException($"è¯»åæ°æ®å¼å¸¸,é误信æ¯:{ex.Message}", CommunicationErrorType.ReadException, innerException: ex); |
| | | } |
| | | } |
| | | |
| | | private void Ping() |
| | | { |
| | | Task.Run(() => |
| | | { |
| | | while (_isPing) |
| | | { |
| | | try |
| | | { |
| | | IPStatus status = plc.IpAddressPing(); |
| | | if (status == IPStatus.Success) |
| | | _connected = true; |
| | | else |
| | | _connected = false; |
| | | } |
| | | finally |
| | | { |
| | | Thread.Sleep(100); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region Public Method |
| | | public override bool Connect() |
| | | { |
| | | try |
| | | { |
| | | //å®ä¾åä¸ä¸ªè¥¿é¨åçS7åè®®çé讯对象 |
| | | plc = new AllenBradleyNet() |
| | | { |
| | | IpAddress = _ipAddress, |
| | | Port = _port, |
| | | Slot = 0 |
| | | }; |
| | | OperateResult operateResult = plc.ConnectServer();//è¿æ¥PLC |
| | | _connected = operateResult.IsSuccess;//å°è¿æ¥æ¯å¦æåèµå¼ç»å½åéè®¯å¨æ¯å¦å·²è¿æ¥å°PLC |
| | | |
| | | if (_connected) |
| | | LogNet.WriteInfo(Name, string.Format(CommunicationInfoMessage.ConnectSuccess, _ipAddress, _port)); |
| | | else |
| | | LogNet.WriteError(Name, string.Format(CommunicationExceptionMessage.ConnectFaild, _ipAddress, _port, operateResult.Message)); |
| | | Ping(); |
| | | return operateResult.IsSuccess; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogNet.WriteException(Name, string.Format(CommunicationExceptionMessage.ConnectFaild, _ipAddress, _port, ex.Message), ex); |
| | | //è¿æ¥å¼å¸¸æ¶æåºèªå®ä¹å¼å¸¸ç±» |
| | | throw new CommunicationException(ex.Message, CommunicationErrorType.ConnectionFailed, innerException: ex); |
| | | } |
| | | } |
| | | |
| | | public override bool Disconnect() |
| | | { |
| | | try |
| | | { |
| | | if (plc != null) |
| | | { |
| | | OperateResult operateResult = plc.ConnectClose();//æå¼ä¸PLCçè¿æ¥ |
| | | return operateResult.IsSuccess; |
| | | } |
| | | return false; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return false; |
| | | } |
| | | finally |
| | | { |
| | | _connected = false; |
| | | } |
| | | } |
| | | |
| | | public override void Dispose() |
| | | { |
| | | _isPing = false; |
| | | Disconnect(); |
| | | plc.Dispose(); |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | |
| | | public override byte[] Read(string address, int length) |
| | | { |
| | | return (byte[])GetContent(plc.Read(address, (ushort)length), address); |
| | | } |
| | | |
| | | public override T Read<T>(string address) |
| | | { |
| | | Type type = typeof(T); |
| | | return (T)Read(address, Type.GetTypeCode(type)); |
| | | } |
| | | |
| | | public override object ReadAsObj(string address, string dataType) |
| | | { |
| | | return Read(address, SiemensDBDataType.GetTypeCode(dataType)); |
| | | } |
| | | |
| | | public override T ReadCustomer<T>(string address) |
| | | { |
| | | try |
| | | { |
| | | return plc.ReadCustomer<T>(address).Content; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogNet.WriteException(Name, $"ã{Name}ãPLC读åå¼å¸¸ï¼å°åï¼ã{address}ãï¼é误信æ¯ï¼ã{ex.Message}ã", ex); |
| | | throw new CommunicationException(ex.Message, CommunicationErrorType.ReadException, innerException: ex); |
| | | } |
| | | } |
| | | |
| | | public override OperateResult<TimeSpan> Wait<T>(string address, int readInterval, int waitTimeout, T value) |
| | | { |
| | | TypeCode typeCode = Type.GetTypeCode(typeof(T)); |
| | | switch (typeCode) |
| | | { |
| | | case TypeCode.Byte: |
| | | DateTime start = DateTime.Now; |
| | | while (true) |
| | | { |
| | | OperateResult<byte> read = plc.ReadByte(address); |
| | | if (!read.IsSuccess) return OperateResult.CreateFailedResult<TimeSpan>(read); |
| | | |
| | | if (read.Content == Convert.ToByte(value)) return OperateResult.CreateSuccessResult(DateTime.Now - start); |
| | | if (waitTimeout > 0 && (DateTime.Now - start).TotalMilliseconds > waitTimeout) |
| | | { |
| | | return new OperateResult<TimeSpan>(StringResources.Language.CheckDataTimeout + waitTimeout); |
| | | } |
| | | HslHelper.ThreadSleep(readInterval); |
| | | } |
| | | case TypeCode.Int16: |
| | | OperateResult<TimeSpan> operateResultShort = plc.Wait(address, Convert.ToInt16(value), readInterval, waitTimeout); |
| | | return operateResultShort; |
| | | case TypeCode.Int32: |
| | | OperateResult<TimeSpan> operateResultInt = plc.Wait(address, Convert.ToInt16(value), readInterval, waitTimeout); |
| | | return operateResultInt; |
| | | case TypeCode.UInt16: |
| | | OperateResult<TimeSpan> operateResultUShort = plc.Wait(address, Convert.ToInt16(value), readInterval, waitTimeout); |
| | | return operateResultUShort; |
| | | case TypeCode.UInt32: |
| | | OperateResult<TimeSpan> operateResultUInt = plc.Wait(address, Convert.ToInt16(value), readInterval, waitTimeout); |
| | | return operateResultUInt; |
| | | default: |
| | | throw new NotSupportedException(); |
| | | } |
| | | } |
| | | |
| | | public override bool Write(string address, byte[] data) |
| | | { |
| | | try |
| | | { |
| | | OperateResult result = plc.Write(address, data); |
| | | if (result.IsSuccess) |
| | | { |
| | | return result.IsSuccess; |
| | | } |
| | | else |
| | | { |
| | | //todo åå
¥å¤±è´¥ |
| | | return false; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //åå
¥å¼å¸¸æ¶æåºèªå®ä¹é讯å¼å¸¸ç±» |
| | | throw new CommunicationException($"åå
¥æ°æ®å¼å¸¸,å°å:ã{address}ã,é误信æ¯: {ex.Message}", CommunicationErrorType.ReadFailed, innerException: ex); |
| | | } |
| | | } |
| | | |
| | | public override bool Write<T>(string address, T value) |
| | | { |
| | | return GetResult(Write(address, value), address, value); |
| | | } |
| | | |
| | | public override bool WriteCustomer<T>(string address, [NotNull] T value) |
| | | { |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | try |
| | | { |
| | | OperateResult operateResult = plc.WriteCustomer(address, value); |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteData, address, JsonConvert.SerializeObject(value))); |
| | | if (operateResult.IsSuccess) |
| | | { |
| | | object? obj = null; |
| | | for (int i = 0; i < 5; i++) |
| | | { |
| | | T readValue = ReadCustomer<T>(address); |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, address, JsonConvert.SerializeObject(readValue))); |
| | | obj = readValue; |
| | | PropertyInfo[] propertyInfos = typeof(T).GetProperties(); |
| | | for (int j = 0; j < propertyInfos.Length; j++) |
| | | { |
| | | object? writeValueItem = propertyInfos[j].GetValue(value); |
| | | object? readValueItem = propertyInfos[j].GetValue(readValue); |
| | | if (writeValueItem.Equals(readValueItem)) |
| | | { |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue))); |
| | | } |
| | | else |
| | | { |
| | | break; |
| | | } |
| | | if (j == propertyInfos.Length - 1) |
| | | return true; |
| | | } |
| | | |
| | | plc.WriteCustomer(address, value); |
| | | } |
| | | stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj))); |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)), CommunicationErrorType.WriteFailed); |
| | | } |
| | | else |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteFailedException, typeof(T).Name, address, JsonConvert.SerializeObject(value), operateResult.Message), CommunicationErrorType.WriteFailed); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogNet.WriteException(Name, ex.Message, ex); |
| | | throw new CommunicationException(ex.Message, CommunicationErrorType.WriteFailed, innerException: ex); |
| | | } |
| | | finally |
| | | { |
| | | LogNet.WriteInfo(Name, stringBuilder.ToString()); |
| | | } |
| | | } |
| | | |
| | | public override bool WriteObj(string address, string dataType, object value) |
| | | { |
| | | bool obj = false; |
| | | switch (dataType.ToLower()) |
| | | { |
| | | case SiemensDBDataType.DataType_DInt: |
| | | { |
| | | int writeVal; |
| | | try |
| | | { |
| | | writeVal = Convert.ToInt32(value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | break; |
| | | case SiemensDBDataType.DataType_DW: |
| | | { |
| | | uint writeVal; |
| | | try |
| | | { |
| | | writeVal = Convert.ToUInt32(value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | break; |
| | | case SiemensDBDataType.DataType_Int: |
| | | { |
| | | short writeVal; |
| | | try |
| | | { |
| | | writeVal = Convert.ToInt16(value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | break; |
| | | case SiemensDBDataType.DataType_W: |
| | | { |
| | | ushort writeVal; |
| | | try |
| | | { |
| | | writeVal = Convert.ToUInt16(value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | break; |
| | | case SiemensDBDataType.DataType_Float: |
| | | { |
| | | float writeVal; |
| | | try |
| | | { |
| | | writeVal = Convert.ToSingle(value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | break; |
| | | case SiemensDBDataType.DataType_Bool: |
| | | { |
| | | bool writeVal; |
| | | try |
| | | { |
| | | writeVal = Convert.ToBoolean(value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | break; |
| | | case SiemensDBDataType.DataType_Byte: |
| | | { |
| | | byte writeVal; |
| | | try |
| | | { |
| | | writeVal = Convert.ToByte(value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | break; |
| | | case SiemensDBDataType.DataType_String: |
| | | { |
| | | string writeVal; |
| | | try |
| | | { |
| | | writeVal = value.ToString(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); |
| | | } |
| | | obj = GetResult(Write(address, writeVal), address, writeVal); |
| | | } |
| | | |
| | | break; |
| | | case SiemensDBDataType.DataType_Char: |
| | | |
| | | break; |
| | | default: |
| | | throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, dataType, address), CommunicationErrorType.TypeError); |
| | | } |
| | | return obj; |
| | | } |
| | | #endregion |
| | | |
| | | #region Destruction Function |
| | | /// <summary> |
| | | /// ææå½æ°ï¼ç¡®ä¿å¨ä¸åéè¦æ¶å
³éè¿æ¥ |
| | | /// </summary> |
| | | ~AllenBrandlyEtherNetCommunicator() |
| | | { |
| | | Dispose(); |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | public const string DataTypeErrorException = "æ°æ®ç±»åéè¯¯ï¼æªå®ä¹è¯¥PLCæ°æ®ç±»åï¼ã{0}ãï¼å°åï¼ã{1}ã"; |
| | | |
| | | /// <summary> |
| | | /// æ°æ®è¯»åå¼å¸¸,åæ°ãæ°æ®ç±»åï¼åè®®å°åï¼é误信æ¯ã |
| | | /// </summary> |
| | | public const string ReadException = "æ°æ®è¯»åå¤±è´¥ï¼æ°æ®ç±»åï¼ã{0}ãï¼å°åï¼ã{1}ãï¼é误信æ¯ï¼ã{2}ã"; |
| | | |
| | | /// <summary> |
| | | /// æ°æ®è¯»å失败,åæ°ãæ°æ®ç±»åï¼åè®®å°åï¼é误信æ¯ã |
| | | /// </summary> |
| | | public const string WriteAndReadCheckFaild = "æ°æ®åå
¥åè¯»åæ ¡éªå¤±è´¥ï¼å°åï¼ã{0}ãï¼åå
¥çæ°æ®ï¼ã{1}ãï¼è¯»åçæ°æ®ï¼ã{2}ã"; |
| | |
| | | namespace WIDESEAWCS_Communicator |
| | | { |
| | | /// <summary> |
| | | /// 西é¨åS7é讯类 |
| | | /// 欧å§é¾EtherNet/IP(CIP) |
| | | /// </summary> |
| | | [Description("欧å§é¾EtherNet/IP(CIP)")] |
| | | public class OmronEtherNetCommunicator : BaseCommunicator |
| | |
| | | for (int i = 0; i < 5; i++) |
| | | { |
| | | T readValue = Read<T>(address); |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, readValue, value)); |
| | | stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, address, value)); |
| | | obj = readValue; |
| | | if (readValue.Equals(value)) |
| | | { |
| | |
| | | { |
| | | LogNet.WriteInfo(Name, stringBuilder.ToString()); |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | catch (Exception ex) |
| | | { |
| | | //åå
¥å¼å¸¸æ¶æåºèªå®ä¹é讯å¼å¸¸ç±» |
| | | throw new CommunicationException($"åå
¥æ°æ®å¼å¸¸,å°å:ã{address}ã,é误信æ¯: {ex.Message}", CommunicationErrorType.ReadFailed, innerException: ex); |
| | | throw new CommunicationException($"åå
¥æ°æ®å¼å¸¸,å°å:ã{address}ã,é误信æ¯: {ex.Message}", CommunicationErrorType.WriteFailed, innerException: ex); |
| | | } |
| | | } |
| | | |
| | |
| | | <TargetFramework>net6.0</TargetFramework> |
| | | <ImplicitUsings>enable</ImplicitUsings> |
| | | <Nullable>enable</Nullable> |
| | | <Version>2.0.0</Version> |
| | | <Description>æ°å¢æ±å·PLC Tcpé讯ãModbusTcpé讯ï¼WriteCustomerãReadCustomeræ¹æ³ä¸å¯ç¨ï¼ä½¿ç¨æ¶æ³¨æï¼</Description> |
| | | <Version>2.2.1</Version> |
| | | <Description>æ°å¢ç½å
é¦å°(AB)EtherNet/IP(CIP)é讯ï¼WriteCustomerãReadCustomeræ¹æ³é¤è¥¿é¨åPLCä¹å¤ä»ä¸å¯ç¨ï¼ä½¿ç¨æ¶æ³¨æï¼</Description> |
| | | </PropertyGroup> |
| | | |
| | | <ItemGroup> |
| | |
| | | protected string CustomCacheKey(IInvocation invocation) |
| | | { |
| | | var typeName = invocation.TargetType.Name; |
| | | //è·åè°ç¨ç®æ ç±»ååç§° |
| | | var methodName = invocation.Method.Name; |
| | | //è·åè°ç¨æ¹æ³åç§° |
| | | var methodArguments = invocation.Arguments.Select(GetArgumentValue).Take(3).ToList();//è·ååæ°åè¡¨ï¼æå¤ä¸ä¸ª |
| | | |
| | | string key = $"{typeName}:{methodName}:"; |
| | | //å®ä¹keyï¼æ ¼å¼ä¸ºï¼ç±»ååç§°:æ¹æ³åç§°: |
| | | foreach (var param in methodArguments) |
| | | { |
| | | key = $"{key}{param}:"; |
| | | //éååæ°å表ï¼å°åæ°å¼æ·»å å°keyä¸ï¼æ ¼å¼ä¸ºï¼åæ°å¼: |
| | | } |
| | | |
| | | return key.TrimEnd(':'); |
| | | //è¿åkeyï¼å»ææ«å°¾çåå· |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | protected static string GetArgumentValue(object arg) |
| | | { |
| | | if (arg is DateTime) |
| | | // 妿argæ¯DateTimeç±»åï¼åè¿åå
¶åç¬¦ä¸²è¡¨ç¤ºå½¢å¼ |
| | | return ((DateTime)arg).ToString("yyyyMMddHHmmss"); |
| | | |
| | | if (!arg.IsNotEmptyOrNull()) |
| | | // 妿arg䏿¯ç©ºænullï¼åè¿åå
¶åç¬¦ä¸²è¡¨ç¤ºå½¢å¼ |
| | | return arg.ObjToString(); |
| | | |
| | | if (arg != null) |
| | | { |
| | | // 妿arg䏿¯ç©ºænull |
| | | if (arg is Expression) |
| | | { |
| | | // 妿argæ¯Expressionç±»å |
| | | var obj = arg as Expression; |
| | | // è§£æarg |
| | | var result = Resolve(obj); |
| | | // è¿åMD5å å¯åçå符串 |
| | | return MD5Helper.MD5Encrypt16(result); |
| | | } |
| | | else if (arg.GetType().IsClass) |
| | | { |
| | | // 妿argæ¯ç±»ç±»å |
| | | // å°argåºåå为JSONå符串 |
| | | return MD5Helper.MD5Encrypt16(JsonConvert.SerializeObject(arg)); |
| | | } |
| | | |
| | | // å¦åï¼è¿å"value:"å ä¸argçåç¬¦ä¸²è¡¨ç¤ºå½¢å¼ |
| | | return $"value:{arg.ObjToString()}"; |
| | | } |
| | | // 妿argæ¯ç©ºænullï¼åè¿å空å符串 |
| | | return string.Empty; |
| | | } |
| | | |
| | | private static string Resolve(Expression expression) |
| | | { |
| | | // å建ä¸ä¸ªExpressionContext对象 |
| | | ExpressionContext expContext = new ExpressionContext(); |
| | | // è§£æè¡¨è¾¾å¼ï¼å¹¶æå®è§£æç±»å为WhereSingle |
| | | expContext.Resolve(expression, ResolveExpressType.WhereSingle); |
| | | // è·åè§£æç»æ |
| | | var value = expContext.Result.GetString(); |
| | | // è·ååæ°å表 |
| | | var pars = expContext.Parameters; |
| | | |
| | | // éååæ°å表 |
| | | pars.ForEach(s => |
| | | { |
| | | // å°åæ°åæ¿æ¢ä¸ºåæ°å¼ |
| | | value = value.Replace(s.ParameterName, s.Value.ObjToString()); |
| | | }); |
| | | |
| | | // è¿åæ¿æ¢åçå¼ |
| | | return value; |
| | | } |
| | | } |
| | |
| | | namespace WIDESEAWCS_Core.AOP |
| | | { |
| | | /// <summary> |
| | | /// æ¦æªå¨BlogLogAOP ç»§æ¿IInterceptoræ¥å£ |
| | | /// æ¦æªå¨LogAOP ç»§æ¿IInterceptoræ¥å£ |
| | | /// </summary> |
| | | public class LogAOP : IInterceptor |
| | | { |
| | |
| | | catch (Exception ex) // 忥2 |
| | | { |
| | | LogEx(ex, apiLogAopInfo); |
| | | throw; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | PropertyInfo propertyInfo = entityInfo.EntityColumnInfo.PropertyInfo; |
| | | SequenceAttirbute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttirbute>(); |
| | | SequenceAttribute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttribute>(); |
| | | if (sequenceAttirbute != null) |
| | | { |
| | | if (propertyInfo.GetValue(entityInfo.EntityValue)?.ObjToInt() <= 0) |
| ÎļþÃû´Ó WIDESEAWCS_Server/WIDESEAWCS_Core/Attributes/SequenceAttirbute.cs ÐÞ¸Ä |
| | |
| | | namespace WIDESEAWCS_Core.Attributes |
| | | { |
| | | [AttributeUsage(AttributeTargets.Property)] |
| | | public class SequenceAttirbute : Attribute |
| | | public class SequenceAttribute : Attribute |
| | | { |
| | | public string SequenceName { get; set; } |
| | | |
| | |
| | | |
| | | public bool IsCycle { get; set; } = true; |
| | | |
| | | public SequenceAttirbute(string sequenceName, int seqMaxValue) |
| | | public SequenceAttribute(string sequenceName, int seqMaxValue) |
| | | { |
| | | SequenceName = sequenceName; |
| | | SeqMaxValue = seqMaxValue; |
| | |
| | | orderByModels.Add(orderByModel); |
| | | } |
| | | int totalCount = 0; |
| | | List<TEntity> list = _db.Queryable<TEntity>() |
| | | .WhereIF(!string.IsNullOrEmpty(where), where).OrderBy(orderByModels).ToPageList(pageIndex, pageSize, ref totalCount); |
| | | List<TEntity> list = _db.Queryable<TEntity>().OrderBy(orderByModels) |
| | | .WhereIF(!string.IsNullOrEmpty(where), where).ToPageList(pageIndex, pageSize, ref totalCount); |
| | | |
| | | return new PageGridData<TEntity>(totalCount, list); |
| | | } |
| | |
| | | { |
| | | return new Dictionary<string, OrderByType> { |
| | | { |
| | | pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc |
| | | pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString().ToLower() ? OrderByType.Asc : OrderByType.Desc |
| | | } }; |
| | | } |
| | | } |
| | |
| | | { |
| | | public class TenantConst |
| | | { |
| | | public const string DBConStr = "Data Source={0};Initial Catalog={1};User ID={2};Password={3};Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; |
| | | public const string DBConStr = "Data Source={0};Initial Catalog={1};User ID={2};Password={3};Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; |
| | | } |
| | | } |
| | |
| | | /// </summary> |
| | | [ImporterHeader(IsIgnore = true)] |
| | | [ExporterHeader(DisplayName = "å建è
")] |
| | | [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "å建è
")] |
| | | [SugarColumn(IsNullable = false, Length = 50, IsOnlyIgnoreUpdate = true, ColumnDescription = "å建è
")] |
| | | public string Creater { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | [ImporterHeader(IsIgnore = true)] |
| | | [ExporterHeader(DisplayName = "ä¿®æ¹äºº")] |
| | | [SugarColumn(IsNullable = true, IsOnlyIgnoreInsert = true, ColumnDescription = "ä¿®æ¹äºº")] |
| | | [SugarColumn(IsNullable = true, Length = 50, IsOnlyIgnoreInsert = true, ColumnDescription = "ä¿®æ¹äºº")] |
| | | public string Modifier { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | var basePath = AppContext.BaseDirectory; |
| | | var cacheType = new List<Type>(); |
| | | |
| | | builder.RegisterType<LogAOP>(); |
| | | cacheType.Add(typeof(LogAOP)); |
| | | if (AppSettings.Get(new string[] { "AppSettings", "LogAOP", "Enabled" }).ObjToBool()) |
| | | { |
| | | builder.RegisterType<LogAOP>(); |
| | | cacheType.Add(typeof(LogAOP)); |
| | | } |
| | | |
| | | builder.RegisterGeneric(typeof(RepositoryBase<>)).As(typeof(IRepository<>)).InstancePerDependency();//注åä»å¨ |
| | | builder.RegisterGeneric(typeof(ServiceBase<,>)).As(typeof(IService<>)).InstancePerDependency();//注åæå¡ |
| | |
| | | { |
| | | int reval = 0; |
| | | if (thisValue == null) return 0; |
| | | if (thisValue is Enum && thisValue != DBNull.Value && Enum.TryParse(thisValue.GetType(), thisValue.ToString(), out var val)) |
| | | { |
| | | return Convert.ToInt32(val.ChangeType(typeof(int))); |
| | | } |
| | | if (thisValue != DBNull.Value && int.TryParse(thisValue.ToString(), out reval)) |
| | | { |
| | | return reval; |
| | |
| | | { |
| | | try |
| | | { |
| | | //妿éåä¸ææ°æ®ä¸éå表ä¸çè¡æ°å°äº500ï¼åå°éåä¸çæ°æ®åå
¥éå表 |
| | | if (loggerQueueData.Count() > 0 && queueTable.Rows.Count < 500) |
| | | { |
| | | DequeueToTable(queueTable); continue; |
| | |
| | | //æ¯5ç§å䏿¬¡æ°æ® |
| | | Thread.Sleep(5000); |
| | | |
| | | //妿éå表ä¸çè¡æ°ä¸º0ï¼åè·³è¿æ¬æ¬¡å¾ªç¯ |
| | | if (queueTable.Rows.Count == 0) { continue; } |
| | | |
| | | //å建SqlSugarClient对象ï¼ç¨äºè¿æ¥æ°æ®åº |
| | | SqlSugarClient sugarClient = new SqlSugarClient(new ConnectionConfig() |
| | | { |
| | | ConnectionString = DBContext.GetMainConnectionDb().Connection, |
| | |
| | | DbType = MainDb.DbType, |
| | | }); |
| | | |
| | | //å°éå表ä¸çæ°æ®æ¹éæå
¥æ°æ®åº |
| | | int rows = sugarClient.Fastest<DataTable>().AS("Sys_Log").BulkCopy(queueTable); |
| | | |
| | | //æ¸
空éå表 |
| | | queueTable.Clear(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //æå°å¼å¸¸ä¿¡æ¯ |
| | | Console.WriteLine(ex.ToString()); |
| | | } |
| | | } |
| | |
| | | if (log != null) |
| | | { |
| | | DataRow row = queueTable.NewRow(); |
| | | // 妿logçBeginDate为空æè
BeginDateç年份å°äº2010ï¼åå°BeginDate设置为å½åæ¶é´ |
| | | if (log.BeginDate == null || log.BeginDate?.Year < 2010) |
| | | { |
| | | log.BeginDate = DateTime.Now; |
| | | } |
| | | // 妿logçEndDate为空ï¼åå°EndDate设置为å½åæ¶é´ |
| | | if (log.EndDate == null) |
| | | { |
| | | log.EndDate = DateTime.Now; |
| | | } |
| | | // row["Id"] = log.Id; |
| | | // å°RequestParamä¸çæ¢è¡ç¬¦æ¿æ¢ä¸ºç©ºå符串 |
| | | row["RequestParam"] = log.RequestParam?.Replace("\r\n", ""); |
| | | // å°ResponseParamä¸çæ¢è¡ç¬¦æ¿æ¢ä¸ºç©ºå符串 |
| | | row["ResponseParam"] = log.ResponseParam?.Replace("\r\n", ""); |
| | | //row["Success"] = log.Success ?? -1; |
| | | // å°BeginDate设置为logçBeginDate |
| | | row["BeginDate"] = log.BeginDate; |
| | | // å°EndDate设置为logçEndDate |
| | | row["EndDate"] = log.EndDate; |
| | | // 计ç®ElapsedTimeï¼å³EndDateåå»BeginDateçæ¯«ç§æ° |
| | | row["ElapsedTime"] = ((DateTime)log.EndDate - (DateTime)log.BeginDate).TotalMilliseconds; |
| | | // å°UserIP设置为logçUserIP |
| | | row["UserIP"] = log.UserIP; |
| | | // å°Url设置为logçUrl |
| | | row["Url"] = log.Url; |
| | | // 妿logçUserId为空ï¼åå°UserId设置为-1ï¼å¦å设置为logçUserId |
| | | row["UserId"] = log.UserId ?? -1; |
| | | // å°UserName设置为logçUserName |
| | | row["UserName"] = log.UserName; |
| | | // å°rowæ·»å å°queueTableä¸ |
| | | queueTable.Rows.Add(row); |
| | | } |
| | | } |
| | |
| | | dynamic log = null; |
| | | try |
| | | { |
| | | //è·åå½åHttpContext |
| | | HttpContext context = App.HttpContext; |
| | | //妿HttpContext为空ï¼åè¿å |
| | | if (context == null) |
| | | { |
| | | return; |
| | | } |
| | | //å¦æè¯·æ±æ¹æ³ä¸ºOPTIONSï¼åè¿å |
| | | if (context.Request.Method == "OPTIONS") return; |
| | | //è·åRequestLogModelå®ä¾ |
| | | RequestLogModel logModel = (context.RequestServices.GetService(typeof(RequestLogModel)) as RequestLogModel) ?? new RequestLogModel { RequestDate = DateTime.Now }; |
| | | |
| | | //è·åå½åç¨æ· |
| | | IUser user = App.User; |
| | | //å建æ¥å¿å¯¹è±¡ |
| | | log = new |
| | | { |
| | | //请æ±å¼å§æ¶é´ |
| | | BeginDate = logModel.RequestDate, |
| | | //请æ±ç»ææ¶é´ |
| | | EndDate = DateTime.Now, |
| | | //请æ±åæ° |
| | | RequestParam = requestParameter, |
| | | //ååºåæ° |
| | | ResponseParam = responseParameter, |
| | | //请æ±URL |
| | | Url = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase + context.Request.Path, |
| | | UserIP = GetClientIP(context) ?.Replace("::ffff:", ""), |
| | | //客æ·ç«¯IP |
| | | UserIP = GetClientIP(context)?.Replace("::ffff:", ""), |
| | | //ç¨æ·ID |
| | | UserId = user.UserId, |
| | | //ç¨æ·å |
| | | UserName = user.UserName |
| | | }; |
| | | } |
| | | catch (Exception exception) |
| | | { |
| | | //妿åçå¼å¸¸ï¼åå建æ¥å¿å¯¹è±¡ |
| | | log = log ?? new |
| | | { |
| | | //请æ±å¼å§æ¶é´ |
| | | BeginDate = DateTime.Now, |
| | | //请æ±ç»ææ¶é´ |
| | | EndDate = DateTime.Now, |
| | | //请æ±åæ° |
| | | RequestParam = requestParameter, |
| | | //ååºåæ° |
| | | ResponseParam = responseParameter, |
| | | }; |
| | | } |
| | |
| | | |
| | | public static string GetClientIP(HttpContext context) |
| | | { |
| | | // è·å请æ±å¤´ä¸çX-Forwarded-Foråæ®µï¼å¹¶å°å
¶è½¬æ¢ä¸ºå符串 |
| | | var ip = context.Request.Headers["X-Forwarded-For"].ObjToString(); |
| | | // 妿X-Forwarded-Foråæ®µä¸ºç©ºï¼åè·åè¿ç¨IPå°å |
| | | if (string.IsNullOrEmpty(ip)) |
| | | { |
| | | ip = context.Connection.RemoteIpAddress.ObjToString(); |
| | | } |
| | | |
| | | // è¿åIPå°å |
| | | return ip; |
| | | } |
| | | } |
| | |
| | | { |
| | | try |
| | | { |
| | | // è¿å
¥åé |
| | | LogWriteLock.EnterWriteLock(); |
| | | |
| | | |
| | | // 妿æä»¶å¤¹ä¸åå¨ï¼åå建æä»¶å¤¹ |
| | | if (!Directory.Exists(folderPath)) |
| | | { |
| | | Directory.CreateDirectory(folderPath); |
| | | } |
| | | // è·åæ¥å¿æä»¶è·¯å¾ |
| | | string logFilePath = Path.Combine(folderPath, GetLastAccessFileName(fileName)); |
| | | // è·åå½åæ¶é´ |
| | | DateTime now = DateTime.Now; |
| | | // æé æ¥å¿å
容 |
| | | string logContent = $"ã{now}ã{Environment.NewLine}{log}"; |
| | | |
| | | // å°æ¥å¿å
容追å å°æ¥å¿æä»¶ä¸ |
| | | File.AppendAllText(logFilePath, logContent); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | // éåºåé |
| | | LogWriteLock.ExitWriteLock(); |
| | | } |
| | | } |
| | |
| | | static string ext = ".log"; |
| | | private static string GetLogFilePath(string folderPath, string fileName) |
| | | { |
| | | // è·åæå®æä»¶å¤¹ä¸çæææä»¶ |
| | | var allFiles = new DirectoryInfo(folderPath); |
| | | // è·åç¬¦åæ¡ä»¶çæä»¶ï¼ææä»¶åéåºæå |
| | | var selectFiles = allFiles.GetFiles().Where(fi => fi.Name.ToLower().Contains(fileName.ToLower()) && fi.Extension.ToLower() == ext.ToLower() && fi.Length < size).OrderByDescending(d => d.Name).ToList(); |
| | | |
| | | if (selectFiles.Count > 0) |
| | | FileInfo? file = selectFiles.FirstOrDefault(); |
| | | // 妿æç¬¦åæ¡ä»¶çæä»¶ï¼è¿å第ä¸ä¸ªæä»¶ç宿´è·¯å¾ |
| | | if (file != null) |
| | | { |
| | | return selectFiles.FirstOrDefault().FullName; |
| | | return file.FullName; |
| | | } |
| | | |
| | | // å¦ææ²¡æç¬¦åæ¡ä»¶çæä»¶ï¼è¿åä¸ä¸ªæ°çæä»¶è·¯å¾ï¼æä»¶å为åæä»¶åå ä¸å½åæ¶é´ |
| | | return Path.Combine(folderPath, $@"{fileName}_{DateTime.Now.ToString("HH-mm-ss")}.log"); |
| | | } |
| | | |
| | |
| | | { |
| | | PropertyInfo propertyInfo = propertyInfos[i]; |
| | | |
| | | SequenceAttirbute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttirbute>(); |
| | | SequenceAttribute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttribute>(); |
| | | if (sequenceAttirbute != null) |
| | | { |
| | | int count = dbContext.Db.Ado.GetScalar($"SELECT COUNT(*) FROM sys.sequences WHERE name = '{sequenceAttirbute.SequenceName}'").ObjToInt(); |
| | |
| | | { |
| | | PropertyInfo propertyInfo = propertyInfos[i]; |
| | | |
| | | SequenceAttirbute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttirbute>(); |
| | | SequenceAttribute? sequenceAttirbute = propertyInfo.GetCustomAttribute<SequenceAttribute>(); |
| | | if (sequenceAttirbute != null) |
| | | { |
| | | int count = dbContext.Db.Ado.GetScalar($"SELECT COUNT(*) FROM sys.sequences WHERE name = '{sequenceAttirbute.SequenceName}'").ObjToInt(); |
| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_DTO.System; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Model.Models; |
| | |
| | | { |
| | | public interface ISys_MenuRepository : IRepository<Sys_Menu> |
| | | { |
| | | List<Sys_Menu> GetAllMenu(); |
| | | List<MenuDTO> GetAllMenu(); |
| | | |
| | | object GetSuperAdminMenu(); |
| | | |
| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_DTO.System; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | using WIDESEAWCS_Model.Models; |
| | |
| | | object GetCurrentMenuActionList(); |
| | | object GetMenuActionList(int roleId); |
| | | |
| | | List<Sys_Menu> GetUserMenuList(int roleId); |
| | | List<MenuDTO> GetUserMenuList(int roleId); |
| | | |
| | | List<Sys_Actions> GetActions(int menuId, List<Sys_Actions> menuActions, List<Permissions> permissions, int roleId); |
| | | List<ActionDTO> GetActions(int menuId, List<ActionDTO> menuActions, List<Permissions> permissions, int roleId); |
| | | |
| | | object GetMenu(); |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <ClassDiagram /> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <ClassDiagram MajorVersion="1" MinorVersion="1"> |
| | | <Class Name="WIDESEAWCS_Model.Models.Dt_Task"> |
| | | <Position X="0.5" Y="0.5" Width="3.75" /> |
| | | <TypeIdentifier> |
| | | <HashCode>AAAAACAAAAAAEgAAAAAAAAAMAAgAAAIIAQJAAAEBCQA=</HashCode> |
| | | <FileName>Models\TaskInfo\Dt_Task.cs</FileName> |
| | | </TypeIdentifier> |
| | | </Class> |
| | | <Font Name="Microsoft YaHei UI" Size="9" /> |
| | | </ClassDiagram> |
| | |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "èåç±»å")] |
| | | public int? MenuType { get; set; } |
| | | |
| | | [Navigate(NavigateType.OneToMany, nameof(ParentId), nameof(MenuId)), SugarColumn(IsIgnore = true, IsNullable = true)] |
| | | public List<Sys_Menu> Menus { get; set; } |
| | | |
| | | [SugarColumn(IsIgnore = true)] |
| | | public List<Sys_Actions> Actions { get; set; } |
| | | } |
| | | } |
| | |
| | | public string RoleName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// çµè¯ |
| | | /// </summary> |
| | | [SugarColumn(Length = 11, IsNullable = true, ColumnDescription = "çµè¯")] |
| | | public string PhoneNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | [SugarColumn(Length = 200, IsNullable = true, ColumnDescription = "夿³¨")] |
| | |
| | | public string UserTrueName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨é¨ |
| | | /// </summary> |
| | | [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "é¨é¨")] |
| | | public string DeptName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨é¨ID |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "é¨é¨ID")] |
| | | public int? Dept_Id { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é®ç®± |
| | | /// </summary> |
| | | [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "é®ç®±")] |
| | | public string Email { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦å¯ç¨ |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "æ¯å¦å¯ç¨")] |
| | | public byte Enable { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ§å« |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "æ§å«")] |
| | | public int? Gender { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 头å |
| | |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, IsOnlyIgnoreInsert = true, ColumnDescription = "æåå¯ç ä¿®æ¹æ¶é´")] |
| | | public DateTime? LastModifyPwdDate { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å°å |
| | | /// </summary> |
| | | [SugarColumn(Length = 200, IsNullable = true, ColumnDescription = "å°å")] |
| | | public string Address { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å®¡æ ¸æ¶é´ |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "å®¡æ ¸æ¶é´")] |
| | | public DateTime? AuditDate { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å®¡æ ¸ç¶æ |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "å®¡æ ¸ç¶æ")] |
| | | public int? AuditStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å®¡æ ¸äºº |
| | | /// </summary> |
| | | [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "å®¡æ ¸äºº")] |
| | | public string Auditor { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 令ç |
| | | /// </summary> |
| | | [SugarColumn(Length = 500, IsNullable = true, ColumnDescription = "令ç")] |
| | | public string Token { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç§æ·ID |
| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core.Attributes; |
| | | using WIDESEAWCS_Core.DB.Models; |
| | | |
| | | namespace WIDESEAWCS_Model.Models |
| | |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | public TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum |
| | | public TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString() && x.DeviceChildCode == deviceChildCode); |
| | | return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | return devicePro == null ? throw new Exception($"è¯»åæ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString() && x.DeviceChildCode == deviceChildCode); |
| | | return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | return devicePro == null ? throw new Exception($"åå
¥æ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | public void Dispose() |
| | | { |
| | | // 设置å¿è·³ç¶æä¸ºfalse |
| | | _heartStatr = false; |
| | | // éæ¾éä¿¡å¨èµæº |
| | | _communicator.Dispose(); |
| | | // åè¯åå¾åæ¶å¨ä¸åè°ç¨ç»ç»å¨ |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | #endregion |
| | |
| | | { |
| | | public interface IConveyorLine : IDevice |
| | | { |
| | | |
| | | /// <summary> |
| | | /// ä¸è®¾å¤çå¿è·³ |
| | | /// </summary> |
| | |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum; |
| | | TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum; |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®åæ°åç§°ã设å¤åç¼å·åå
¥å¯¹åºçæ°æ®ã |
| | |
| | | { |
| | | if (DevicePlcType == nameof(SiemensS7)) |
| | | return DeviceProDataBlock + "." + DeviceProOffset; |
| | | return Convert.ToInt32(DeviceProOffset) + ""; |
| | | return DeviceProDataBlock + ""; |
| | | } |
| | | } |
| | | |
| | |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob.DeviceBase |
| | | namespace WIDESEAWCS_QuartzJob |
| | | { |
| | | /// <summary> |
| | | /// è®¾å¤æ¥å£å± |
| | |
| | | /// æ§è¡æå®ä»»å¡ |
| | | /// </summary> |
| | | /// <param name="context"></param> |
| | | /// <param name="action"></param> |
| | | /// <param name="func"></param> |
| | | public async void ExecuteJob(IJobExecutionContext context, Func<Task> func) |
| | | { |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå
¥è°è¯æ¥å¿ |
| | | /// </summary> |
| | | /// <param name="fileName"></param> |
| | | /// <param name="msg"></param> |
| | | public void WriteDebug(string fileName, string msg) |
| | | { |
| | | if( AppSettings.Get(new string[] { "LogDeubgEnable" }).ObjToBool()) |
| | | if (AppSettings.Get(new string[] { "LogDeubgEnable" }).ObjToBool()) |
| | | { |
| | | StringBuilder builder = new StringBuilder(msg); |
| | | builder.Append(Environment.NewLine); |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå
¥ä¿¡æ¯æ¥å¿ |
| | | /// </summary> |
| | | /// <param name="fileName"></param> |
| | | /// <param name="msg"></param> |
| | | public void WriteInfo(string fileName, string msg) |
| | | { |
| | | StringBuilder builder = new StringBuilder(msg); |
| | |
| | | QuartzLogger.WriteLogToFile($"Info_{fileName}", builder.ToString()); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå
¥é误æ¥å¿ |
| | | /// </summary> |
| | | /// <param name="fileName"></param> |
| | | /// <param name="msg"></param> |
| | | /// <param name="ex"></param> |
| | | public void WriteError(string fileName, string msg, Exception ex) |
| | | { |
| | | StringBuilder builder = new StringBuilder(msg); |
| | |
| | | /// </summary> |
| | | [ImporterHeader(Name = "PLCç±»å")] |
| | | [ExporterHeader(DisplayName = "PLCç±»å")] |
| | | [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "PLCç±»å")] |
| | | [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "PLCç±»å")] |
| | | public string DevicePlcType { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | [ImporterHeader(Name = "设å¤åè®®åæ°åç§°")] |
| | | [ExporterHeader(DisplayName = "设å¤åè®®åæ°åç§°")] |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "设å¤åè®®åæ°åç§°")] |
| | | [SugarColumn(Length = 50, IsNullable = false, ColumnDescription = "设å¤åè®®åæ°åç§°")] |
| | | public string DeviceProParamName { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum; |
| | | TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum; |
| | | |
| | | |
| | | /// <summary> |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum; |
| | | TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum; |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®åæ°åç§°åå
¥å åæºå¯¹åºçæ°æ®ã |
| | |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | |
| | | public TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum |
| | | public TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString()); |
| | | return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | return devicePro == null ? throw new Exception($"è¯»åæ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | public TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum |
| | | public TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString() && x.DeviceChildCode == deviceChildCode); |
| | | return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | return devicePro == null ? throw new Exception() : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | public bool SetValue<TEnum, TValue>(TEnum @enum, TValue value) |
| | |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString()); |
| | | return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | return devicePro == null ? throw new Exception($"åå
¥æ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_QuartzJob.QuartzNet; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob.QuartzExtensions |
| | | { |
| | |
| | | { |
| | | if (services == null) throw new ArgumentNullException(nameof(services)); |
| | | |
| | | services.AddSingleton<Storage>(); |
| | | services.AddSingleton<QuartzNetExtension>(); |
| | | //å°JobFactory注å
¥å°æå¡ä¸ |
| | | services.AddSingleton<IJobFactory, JobFactory>(); |
| | | //å°SchedulerCenterServer注å
¥å°æå¡ä¸ |
| | | services.AddSingleton<ISchedulerCenter, SchedulerCenterServer>(); |
| | | //任塿³¨å
¥ |
| | | var baseType = typeof(IJob); |
| | | //è·åå½ååºç¨ç¨åºåçç¸å¯¹æç´¢è·¯å¾ |
| | | var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory; |
| | | //è·åæå®è·¯å¾ä¸çææç¨åºé |
| | | var referencedAssemblies = System.IO.Directory.GetFiles(path, "WIDESEAWCS_Tasks.dll").Select(Assembly.LoadFrom).ToArray(); |
| | | //è·åææå®ä¹çç±»å |
| | | var types = referencedAssemblies |
| | | .SelectMany(a => a.DefinedTypes) |
| | | .Select(type => type.AsType()) |
| | | //çéåºç»§æ¿èªIJobçç±»å |
| | | .Where(x => x != baseType && baseType.IsAssignableFrom(x)).ToArray(); |
| | | //è·åææå®ç°äºIJobçç±»å |
| | | var implementTypes = types.Where(x => x.IsClass).ToArray(); |
| | | //å°ææå®ç°äºIJobçç±»åæ³¨å
¥å°æå¡ä¸ |
| | | foreach (var implementType in implementTypes) |
| | | { |
| | | services.AddTransient(implementType); |
| | |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.QuartzNet; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob.QuartzExtensions |
| | |
| | | private readonly IDeviceInfoService _deviceInfoService; |
| | | private readonly IDispatchInfoService _dispatchInfoService; |
| | | private readonly IDeviceProtocolDetailService _deviceProtocolDetailService; |
| | | private readonly QuartzNetExtension _quartzNetExtension; |
| | | |
| | | public QuartzJobHostedService(ILogger<QuartzJobHostedService> logger, IDeviceInfoService deviceInfoService, IDispatchInfoService dispatchInfoService, ISchedulerCenter schedulerCenter, IDeviceProtocolDetailService deviceProtocolDetailService) |
| | | public QuartzJobHostedService(ILogger<QuartzJobHostedService> logger, IDeviceInfoService deviceInfoService, IDispatchInfoService dispatchInfoService, ISchedulerCenter schedulerCenter, IDeviceProtocolDetailService deviceProtocolDetailService, QuartzNetExtension quartzNetExtension) |
| | | { |
| | | _logger = logger; |
| | | _deviceInfoService = deviceInfoService; |
| | | _dispatchInfoService = dispatchInfoService; |
| | | _schedulerCenter = schedulerCenter; |
| | | _deviceProtocolDetailService = deviceProtocolDetailService; |
| | | _quartzNetExtension = quartzNetExtension; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <returns></returns> |
| | | public async Task StartAsync(CancellationToken cancellationToken) |
| | | { |
| | | try |
| | | if (!HslCommunication.Authorization.SetAuthorizationCode("891c8f18-d6de-409f-81f4-6de405431905")) |
| | | { |
| | | List<DispatchInfoDTO> dispatches = _dispatchInfoService.QueryDispatchInfos(); |
| | | List<DeviceInfoDTO> deviceInfos = await _deviceInfoService.QueryDeviceProInfos(); |
| | | |
| | | deviceInfos.ForEach(x => |
| | | { |
| | | if (dispatches.Exists(d => d.JobGroup == x.DeviceType)) |
| | | { |
| | | #region è¿æ¥PLC |
| | | Assembly assembly = Assembly.Load($"WIDESEAWCS_Communicator"); |
| | | Type? type = assembly.GetType($"WIDESEAWCS_Communicator.{x.DevicePlcType}"); |
| | | object? obj = Activator.CreateInstance(type, new object[] { x.DeviceIp, x.DevicePort, x.DeviceName }); |
| | | bool? connectResult = (bool)type.InvokeMember("Connect", BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, new object[] { }); |
| | | if (connectResult ?? false) ConsoleHelper.WriteSuccessLine(x.DeviceCode + "è¿æ¥æå"); else ConsoleHelper.WriteErrorLine(x.DeviceCode + "è¿æ¥å¤±è´¥"); |
| | | |
| | | #endregion |
| | | |
| | | #region å®ä¾å设å¤å¯¹è±¡ |
| | | |
| | | List<DeviceProDTO> devicePros = x.ProtocolList.Select(d => new DeviceProDTO |
| | | { |
| | | DeviceChildCode = d.DeviceChildCode, |
| | | DeviceDataType = d.DeviceProDataType, |
| | | DeviceId = d.DeviceId, |
| | | DeviceProId = d.Id, |
| | | DeviceProDataBlock = d.DeviceProDataBlock, |
| | | DeviceProDataLength = d.DeviceProDataLength, |
| | | DeviceProOffset = d.DeviceProOffset, |
| | | DeviceProParamDes = d.DeviceProParamDes, |
| | | DeviceProParamName = d.DeviceProParamName, |
| | | DeviceProParamType = d.DeviceProParamType, |
| | | DevicePlcType = x.DevicePlcType |
| | | }).ToList(); |
| | | |
| | | List<DeviceProtocolDetailDTO> deviceProtocolDetails = _deviceProtocolDetailService.GetDeviceProtocolDetailsByDeviceType(x.DeviceType); |
| | | |
| | | Assembly assemblyDevice = Assembly.Load($"WIDESEAWCS_QuartzJob"); |
| | | Type typeDevice = assemblyDevice.GetType($"WIDESEAWCS_QuartzJob.{x.DeviceType}"); |
| | | object deviceInstance = Activator.CreateInstance(typeDevice, new object[] { obj, devicePros, deviceProtocolDetails, x.DeviceCode, x.DeviceName }); |
| | | #endregion |
| | | |
| | | x.Device = (IDevice)deviceInstance; |
| | | |
| | | Storage.Devices.Add((IDevice)deviceInstance); |
| | | } |
| | | }); |
| | | for (int i = 0; i < dispatches.Count; i++) |
| | | { |
| | | DeviceInfoDTO? deviceProInfo = deviceInfos.FirstOrDefault(x => x.Id == dispatches[i].Id); |
| | | dispatches[i].JobParams = deviceProInfo?.Device; |
| | | WebResponseContent responseContent = await _schedulerCenter.AddScheduleJobAsync(dispatches[i]); |
| | | if (responseContent.Status) ConsoleHelper.WriteSuccessLine(dispatches[i].JobGroup + "è°åº¦æå¡æ·»å æå"); else ConsoleHelper.WriteErrorLine(dispatches[i].JobGroup + "è°åº¦æå¡æ·»å 失败"); |
| | | } |
| | | await _schedulerCenter.StartScheduleAsync(); |
| | | Console.WriteLine("active failed"); |
| | | Console.ReadLine(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | _logger.LogError(ex, "è°åº¦æå¡å¼å¯å¼å¸¸"); |
| | | Console.WriteLine("è°åº¦æå¡å¼å¯å¼å¸¸" + ex.ToString()); |
| | | throw; |
| | | } |
| | | |
| | | await _quartzNetExtension.StartAsync(); |
| | | } |
| | | |
| | | public Task StopAsync(CancellationToken cancellationToken) |
| | |
| | | /// <returns></returns> |
| | | Task<WebResponseContent> ResumeJob(DispatchInfoDTO sysSchedule); |
| | | |
| | | //Task<WebResponseContent> PauseAllJobAsync(); |
| | | |
| | | //Task<WebResponseContent> ResumeAllJobAsync(); |
| | | |
| | | /// <summary> |
| | | /// è·åä»»å¡è§¦åå¨ç¶æ |
| | | /// </summary> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using Microsoft.Extensions.Logging; |
| | | using WIDESEAWCS_QuartzJob.QuartzExtensions; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob.QuartzNet |
| | | { |
| | | public class QuartzNetExtension |
| | | { |
| | | private readonly ISchedulerCenter _schedulerCenter; |
| | | private readonly IDeviceInfoService _deviceInfoService; |
| | | private readonly IDispatchInfoService _dispatchInfoService; |
| | | private readonly IDeviceProtocolDetailService _deviceProtocolDetailService; |
| | | private readonly Storage _storage; |
| | | public QuartzNetExtension(IDeviceInfoService deviceInfoService, IDispatchInfoService dispatchInfoService, ISchedulerCenter schedulerCenter, IDeviceProtocolDetailService deviceProtocolDetailService, Storage storage) |
| | | { |
| | | _deviceInfoService = deviceInfoService; |
| | | _dispatchInfoService = dispatchInfoService; |
| | | _schedulerCenter = schedulerCenter; |
| | | _deviceProtocolDetailService = deviceProtocolDetailService; |
| | | _storage = storage; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¯å¨ç¨åºèªå¨å¼å¯è°åº¦æå¡ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public async Task StartAsync() |
| | | { |
| | | try |
| | | { |
| | | List<DispatchInfoDTO> dispatches = _dispatchInfoService.QueryDispatchInfos(); |
| | | List<DeviceInfoDTO> deviceInfos = await _deviceInfoService.QueryDeviceProInfos(); |
| | | |
| | | deviceInfos.ForEach(x => |
| | | { |
| | | if (!Storage.Devices.Exists(d => d.DeviceCode == x.DeviceCode)) |
| | | { |
| | | #region è¿æ¥PLC |
| | | // å è½½ç¨åºé |
| | | Assembly assembly = Assembly.Load($"WIDESEAWCS_Communicator"); |
| | | // è·åç±»å |
| | | Type? type = assembly.GetType($"WIDESEAWCS_Communicator.{x.DevicePlcType}"); |
| | | // å建å®ä¾ |
| | | object? obj = Activator.CreateInstance(type, new object[] { x.DeviceIp, x.DevicePort, x.DeviceName }); |
| | | // è°ç¨è¿æ¥æ¹æ³ |
| | | bool? connectResult = (bool)type.InvokeMember("Connect", BindingFlags.Default | BindingFlags.InvokeMethod, null, obj, new object[] { }); |
| | | // å¤æè¿æ¥ç»æ |
| | | if (connectResult ?? false) ConsoleHelper.WriteSuccessLine(x.DeviceCode + "è¿æ¥æå"); else ConsoleHelper.WriteErrorLine(x.DeviceCode + "è¿æ¥å¤±è´¥"); |
| | | #endregion |
| | | |
| | | #region å®ä¾å设å¤å¯¹è±¡ |
| | | List<DeviceProDTO> devicePros = x.ProtocolList.Select(d => new DeviceProDTO |
| | | { |
| | | // 设å¤åç¼ç |
| | | DeviceChildCode = d.DeviceChildCode, |
| | | // è®¾å¤æ°æ®ç±»å |
| | | DeviceDataType = d.DeviceProDataType, |
| | | // 设å¤ID |
| | | DeviceId = d.DeviceId, |
| | | // 设å¤åè®®ID |
| | | DeviceProId = d.Id, |
| | | // 设å¤åè®®æ°æ®å |
| | | DeviceProDataBlock = d.DeviceProDataBlock, |
| | | // 设å¤åè®®æ°æ®é¿åº¦ |
| | | DeviceProDataLength = d.DeviceProDataLength, |
| | | // 设å¤åè®®åç§»é |
| | | DeviceProOffset = d.DeviceProOffset, |
| | | // 设å¤åè®®åæ°æè¿° |
| | | DeviceProParamDes = d.DeviceProParamDes, |
| | | // 设å¤åè®®åæ°åç§° |
| | | DeviceProParamName = d.DeviceProParamName, |
| | | // 设å¤åè®®åæ°ç±»å |
| | | DeviceProParamType = d.DeviceProParamType, |
| | | // 设å¤PLCç±»å |
| | | DevicePlcType = x.DevicePlcType |
| | | }).ToList(); |
| | | |
| | | // æ ¹æ®è®¾å¤ç±»åè·å设å¤å议详æ
|
| | | List<DeviceProtocolDetailDTO> deviceProtocolDetails = _deviceProtocolDetailService.GetDeviceProtocolDetailsByDeviceType(x.DeviceType); |
| | | |
| | | // å 载设å¤ç¨åºé |
| | | Assembly assemblyDevice = Assembly.Load($"WIDESEAWCS_QuartzJob"); |
| | | // è·å设å¤ç±»å对åºçç±»å |
| | | Type typeDevice = assemblyDevice.GetType($"WIDESEAWCS_QuartzJob.{x.DeviceType}"); |
| | | // å建设å¤å®ä¾ |
| | | object deviceInstance = Activator.CreateInstance(typeDevice, new object[] { obj, devicePros, deviceProtocolDetails, x.DeviceCode, x.DeviceName }); |
| | | #endregion |
| | | |
| | | x.Device = (IDevice)deviceInstance; |
| | | |
| | | Storage.Devices.Add((IDevice)deviceInstance); |
| | | } |
| | | else |
| | | { |
| | | x.Device = Storage.Devices.FirstOrDefault(d => d.DeviceCode == x.DeviceCode); |
| | | } |
| | | }); |
| | | for (int i = 0; i < dispatches.Count; i++) |
| | | { |
| | | DeviceInfoDTO? deviceProInfo = deviceInfos.FirstOrDefault(x => x.Id == dispatches[i].Id); |
| | | dispatches[i].JobParams = deviceProInfo?.Device; |
| | | WebResponseContent responseContent = await _schedulerCenter.AddScheduleJobAsync(dispatches[i]); |
| | | if (responseContent.Status) ConsoleHelper.WriteSuccessLine(dispatches[i].Name + "è°åº¦æå¡æ·»å æå"); else ConsoleHelper.WriteErrorLine(dispatches[i].Name + "è°åº¦æå¡æ·»å 失败"); |
| | | } |
| | | //await _schedulerCenter.StartScheduleAsync(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine("è°åº¦æå¡å¼å¯å¼å¸¸" + ex.ToString()); |
| | | throw; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.CustomException; |
| | | using Quartz.Impl.Matchers; |
| | | |
| | | namespace WIDESEAWCS_QuartzJob |
| | | { |
| | | public class SchedulerCenterServer : ISchedulerCenter |
| | | { |
| | | private Task<IScheduler> _scheduler; |
| | | private IScheduler _scheduler; |
| | | private readonly IJobFactory _iocjobFactory; |
| | | public SchedulerCenterServer(IJobFactory jobFactory) |
| | | { |
| | | _iocjobFactory = jobFactory; |
| | | _scheduler = GetSchedulerAsync(); |
| | | } |
| | | private Task<IScheduler> GetSchedulerAsync() |
| | | private IScheduler GetSchedulerAsync() |
| | | { |
| | | if (_scheduler != null) |
| | | return this._scheduler; |
| | |
| | | { |
| | | { "quartz.serializer.type", "binary" }, |
| | | }; |
| | | StdSchedulerFactory factory = new StdSchedulerFactory(collection); |
| | | return _scheduler = factory.GetScheduler(); |
| | | //StdSchedulerFactory factory = new StdSchedulerFactory(collection); |
| | | StdSchedulerFactory factory = new StdSchedulerFactory(); |
| | | return _scheduler = factory.GetScheduler().Result; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new QuartzJobException(string.Format(QuartzJobExceptionMessage.JobFactoryInstanceException, ex.Message), innerException: ex); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | WebResponseContent result = new WebResponseContent(); |
| | | try |
| | | { |
| | | this._scheduler.Result.JobFactory = this._iocjobFactory; |
| | | if (!this._scheduler.Result.IsStarted) |
| | | if (_scheduler.IsShutdown && _scheduler.IsStarted) |
| | | { |
| | | // ä»Factoryä¸è·åSchedulerå®ä¾ |
| | | NameValueCollection collection = new NameValueCollection |
| | | { |
| | | { "quartz.serializer.type", "binary" }, |
| | | }; |
| | | //StdSchedulerFactory factory = new StdSchedulerFactory(collection); |
| | | StdSchedulerFactory factory = new StdSchedulerFactory(); |
| | | _scheduler = factory.GetScheduler().Result; |
| | | } |
| | | |
| | | this._scheduler.JobFactory = this._iocjobFactory; |
| | | |
| | | if (!this._scheduler.IsStarted) |
| | | { |
| | | //çå¾
ä»»å¡è¿è¡å®æ |
| | | await this._scheduler.Result.Start(); |
| | | await this._scheduler.Start(); |
| | | await Console.Out.WriteLineAsync(QuartzJobInfoMessage.StartJobSuccess); |
| | | result = WebResponseContent.Instance.OK(QuartzJobInfoMessage.StartJobSuccess); |
| | | return result; |
| | | } |
| | | else |
| | | { |
| | | await _scheduler.Shutdown(); |
| | | result = WebResponseContent.Instance.Error(QuartzJobInfoMessage.JobHasStart); |
| | | return result; |
| | | } |
| | |
| | | WebResponseContent result = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (!this._scheduler.Result.IsShutdown) |
| | | if (!_scheduler.IsShutdown) |
| | | { |
| | | //çå¾
ä»»å¡è¿è¡å®æ |
| | | await this._scheduler.Result.Shutdown(); |
| | | await _scheduler.Shutdown(false); |
| | | |
| | | await Console.Out.WriteLineAsync(QuartzJobInfoMessage.StopJobSuccess); |
| | | result = WebResponseContent.Instance.OK(QuartzJobInfoMessage.StopJobSuccess); |
| | | return result; |
| | | } |
| | | else |
| | | { |
| | | IReadOnlyCollection<string> jobGroupNames = await _scheduler.GetJobGroupNames(); |
| | | |
| | | await _scheduler.PauseAll(); |
| | | |
| | | result = WebResponseContent.Instance.Error(QuartzJobInfoMessage.JobHasStop); |
| | | return result; |
| | | } |
| | |
| | | { |
| | | try |
| | | { |
| | | if (_scheduler.IsShutdown && _scheduler.IsStarted) |
| | | { |
| | | // ä»Factoryä¸è·åSchedulerå®ä¾ |
| | | NameValueCollection collection = new NameValueCollection |
| | | { |
| | | { "quartz.serializer.type", "binary" }, |
| | | }; |
| | | //StdSchedulerFactory factory = new StdSchedulerFactory(collection); |
| | | StdSchedulerFactory factory = new StdSchedulerFactory(); |
| | | _scheduler = factory.GetScheduler().Result; |
| | | } |
| | | |
| | | |
| | | JobKey jobKey = new JobKey(tasksQz.Id.ToString(), tasksQz.JobGroup); |
| | | if (await _scheduler.Result.CheckExists(jobKey)) |
| | | if (await _scheduler.CheckExists(jobKey)) |
| | | { |
| | | result = WebResponseContent.Instance.Error(string.Format(QuartzJobInfoMessage.JobHasAdd, tasksQz.Name)); |
| | | return result; |
| | |
| | | { |
| | | tasksQz.EndTime = DateTime.MaxValue.AddDays(-1); |
| | | } |
| | | DateTimeOffset endRunTime = DateBuilder.NextGivenSecondDate(tasksQz.EndTime, 1);//设置æåæ¶é´ |
| | | |
| | | #endregion |
| | | |
| | |
| | | } |
| | | |
| | | Assembly assembly = Assembly.Load(new AssemblyName(tasksQz.AssemblyName)); |
| | | Type jobType = assembly.GetType(tasksQz.AssemblyName + "." + tasksQz.ClassName); |
| | | Type jobType = assembly.GetType(tasksQz.AssemblyName + "." + tasksQz.ClassName) ?? throw new Exception($"æªæ¾å°ç¨åºééé¢è¯¥ç±»åï¼ã{tasksQz.AssemblyName}. {tasksQz.ClassName}ã"); |
| | | |
| | | #endregion |
| | | |
| | | //夿任å¡è°åº¦æ¯å¦å¼å¯ |
| | | if (!_scheduler.IsStarted) |
| | | { |
| | | await StartScheduleAsync(); |
| | | } |
| | | |
| | | //ä¼ å
¥åå°åºæ¥çæ§è¡ç¨åºé |
| | | IJobDetail job = new JobDetailImpl(tasksQz.Id.ToString(), tasksQz.JobGroup, jobType); |
| | |
| | | ITrigger trigger = CreateSimpleTrigger(tasksQz); |
| | | |
| | | // åè¯Quartzä½¿ç¨æä»¬ç触å卿¥å®æä½ä¸ |
| | | await _scheduler.Result.ScheduleJob(job, trigger); |
| | | await _scheduler.ScheduleJob(job, trigger); |
| | | |
| | | result = WebResponseContent.Instance.OK(string.Format(QuartzJobInfoMessage.JobAddSuccess, tasksQz.Name)); |
| | | return result; |
| | |
| | | public async Task<bool> IsExistScheduleJobAsync(DispatchInfoDTO sysSchedule) |
| | | { |
| | | JobKey jobKey = new JobKey(sysSchedule.Id.ToString(), sysSchedule.JobGroup); |
| | | if (await _scheduler.Result.CheckExists(jobKey)) |
| | | if (await _scheduler.CheckExists(jobKey)) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | try |
| | | { |
| | | JobKey jobKey = new JobKey(sysSchedule.Id.ToString(), sysSchedule.JobGroup); |
| | | if (!await _scheduler.Result.CheckExists(jobKey)) |
| | | if (!await _scheduler.CheckExists(jobKey)) |
| | | { |
| | | result = WebResponseContent.Instance.Error(string.Format(QuartzJobInfoMessage.JobNotExist, sysSchedule.Name)); |
| | | return result; |
| | | } |
| | | else |
| | | { |
| | | await this._scheduler.Result.DeleteJob(jobKey); |
| | | await this._scheduler.DeleteJob(jobKey); |
| | | result = WebResponseContent.Instance.OK(string.Format(QuartzJobInfoMessage.StopAJobSuccess, sysSchedule.Name)); |
| | | return result; |
| | | } |
| | |
| | | try |
| | | { |
| | | JobKey jobKey = new JobKey(sysSchedule.Id.ToString(), sysSchedule.JobGroup); |
| | | if (!await _scheduler.Result.CheckExists(jobKey)) |
| | | if (!await _scheduler.CheckExists(jobKey)) |
| | | { |
| | | result = WebResponseContent.Instance.Error(string.Format(QuartzJobInfoMessage.ResumeJobNotExist, sysSchedule.Name)); |
| | | return result; |
| | | } |
| | | await this._scheduler.Result.ResumeJob(jobKey); |
| | | await this._scheduler.ResumeJob(jobKey); |
| | | result = WebResponseContent.Instance.OK(string.Format(QuartzJobInfoMessage.ResumeJobSuccess, sysSchedule.Name)); |
| | | return result; |
| | | } |
| | |
| | | throw new QuartzJobException(string.Format(QuartzJobExceptionMessage.ResumeJobException, sysSchedule.Name, ex.Message), innerException: ex); |
| | | } |
| | | } |
| | | |
| | | //public async Task<WebResponseContent> PauseAllJobAsync() |
| | | //{ |
| | | // WebResponseContent result = new WebResponseContent(); |
| | | // if (_scheduler.IsStarted && !_scheduler.IsShutdown) |
| | | // { |
| | | // await _scheduler.PauseAll(); |
| | | // } |
| | | // return WebResponseContent.Instance.OK(); |
| | | //} |
| | | |
| | | //public async Task<WebResponseContent> ResumeAllJobAsync() |
| | | //{ |
| | | // WebResponseContent result = new WebResponseContent(); |
| | | // if (_scheduler.IsStarted && !_scheduler.IsShutdown) |
| | | // await _scheduler.ResumeAll(); |
| | | // return WebResponseContent.Instance.OK(); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// æåæå®ç计åä»»å¡ |
| | |
| | | try |
| | | { |
| | | JobKey jobKey = new JobKey(sysSchedule.Id.ToString(), sysSchedule.JobGroup); |
| | | if (!await _scheduler.Result.CheckExists(jobKey)) |
| | | if (!await _scheduler.CheckExists(jobKey)) |
| | | { |
| | | result = WebResponseContent.Instance.Error(string.Format(QuartzJobInfoMessage.PauseJobNotExist, sysSchedule.Name)); |
| | | return result; |
| | | } |
| | | await this._scheduler.Result.PauseJob(jobKey); |
| | | await this._scheduler.PauseJob(jobKey); |
| | | result = WebResponseContent.Instance.OK(string.Format(QuartzJobInfoMessage.PauseJobSuccess, sysSchedule.Name)); |
| | | return result; |
| | | } |
| | |
| | | JobKey jobKey = new JobKey(tasksQz.Id.ToString(), tasksQz.JobGroup); |
| | | |
| | | //夿任塿¯å¦åå¨ï¼åå¨å 触å䏿¬¡ï¼ä¸åå¨åå
æ·»å ä¸ä¸ªä»»å¡ï¼è§¦å以åå åæ¢ä»»å¡ |
| | | if (!await _scheduler.Result.CheckExists(jobKey)) |
| | | if (!await _scheduler.CheckExists(jobKey)) |
| | | { |
| | | //ä¸åå¨ å æ·»å ä¸ä¸ªè®¡åä»»å¡ |
| | | await AddScheduleJobAsync(tasksQz); |
| | | |
| | | //è§¦åæ§è¡ä¸æ¬¡ |
| | | await _scheduler.Result.TriggerJob(jobKey); |
| | | await _scheduler.TriggerJob(jobKey); |
| | | |
| | | //åæ¢ä»»å¡ |
| | | await StopScheduleJobAsync(tasksQz); |
| | |
| | | } |
| | | else |
| | | { |
| | | await _scheduler.Result.TriggerJob(jobKey); |
| | | await _scheduler.TriggerJob(jobKey); |
| | | result = WebResponseContent.Instance.OK(string.Format(QuartzJobInfoMessage.ExecuteJobSuccess, tasksQz.Name)); |
| | | } |
| | | } |
| | |
| | | { |
| | | try |
| | | { |
| | | // 夿ä¸ä¼ çæä»¶æ¯å¦ä¸ºç©º |
| | | if (fileInput == null || fileInput.Count == 0) |
| | | return new WebResponseContent { Status = true, Message = "è¯·éæ©ä¸ä¼ çæä»¶" }; |
| | | // è·åä¸ä¼ çæä»¶ |
| | | Microsoft.AspNetCore.Http.IFormFile formFile = fileInput[0]; |
| | | // è·åæä»¶ä¿åè·¯å¾ |
| | | string dicPath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelImprot/{DateTime.Now.ToString("yyyMMdd")}/{typeof(Dt_DeviceProtocol).Name}/"; |
| | | // å¤æè·¯å¾æ¯å¦åå¨ï¼ä¸åå¨åå建 |
| | | if (!Directory.Exists(dicPath)) Directory.CreateDirectory(dicPath); |
| | | // çææä»¶å |
| | | string fileName = $"{Guid.NewGuid()}_{formFile.FileName}"; |
| | | // è·åæä»¶ä¿åè·¯å¾ |
| | | dicPath = $"{dicPath}{fileName}"; |
| | | // å°æä»¶ä¿åå°æå®è·¯å¾ |
| | | using (FileStream stream = new FileStream(dicPath, FileMode.Create)) |
| | | { |
| | | formFile.CopyTo(stream); |
| | | } |
| | | // å建Excel导å
¥å¨ |
| | | ExcelImporter importer = new ExcelImporter(); |
| | | // 导å
¥Excelæä»¶ |
| | | ImportResult<Dt_DeviceProtocol> importResult = importer.Import<Dt_DeviceProtocol>(dicPath, "").Result; |
| | | // 夿坼å
¥ç»ææ¯å¦æé误 |
| | | if (importResult.HasError) |
| | | { |
| | | // è¿åéè¯¯ä¿¡æ¯ |
| | | return WebResponseContent.Instance.Error(importResult.TemplateErrors.Serialize()); |
| | | } |
| | | // è¿å导å
¥ç»æ |
| | | return WebResponseContent.Instance.OK(data: importResult.Data); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // è¿åå¼å¸¸ä¿¡æ¯ |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | |
| | | List<Dt_Router> routers = new List<Dt_Router>(); |
| | | try |
| | | { |
| | | //æ¥è¯¢ä¸ä¸ä¸ªè·¯ç±ä¿¡æ¯ |
| | | List<Dt_Router> dt_Routers = BaseDal.QueryData(x => x.NextPosi == endPosi || x.ChildPosi == endPosi, new Dictionary<string, OrderByType> { { nameof(Dt_Router.IsEnd), OrderByType.Desc } }); |
| | | if (dt_Routers.Count > 0) |
| | | { |
| | | foreach (var item in dt_Routers) |
| | | { |
| | | //妿ä¸ä¸ä¸ªè·¯ç±çèµ·ç¹åç»ç¹é½å¹é
ï¼åæ·»å å°è·¯ç±åè¡¨ä¸ |
| | | if (item.StartPosi == startPosi && !routers.Any(x => x.Id == item.Id)) |
| | | { |
| | | routers.Add(item); |
| | | } |
| | | else |
| | | { |
| | | //å¦åï¼é彿¥è¯¢ä¸ä¸ä¸ªè·¯ç±çèµ·ç¹ |
| | | List<Dt_Router> tempRouters = QueryNextRoutes(startPosi, item.StartPosi); |
| | | foreach (var router in tempRouters) |
| | | { |
| | | //妿ä¸ä¸ä¸ªè·¯ç±çèµ·ç¹åç»ç¹é½å¹é
ï¼åæ·»å å°è·¯ç±åè¡¨ä¸ |
| | | if (router.StartPosi == startPosi && !routers.Any(x => x.Id == router.Id)) |
| | | { |
| | | routers.Add(router); |
| | |
| | | } |
| | | else |
| | | { |
| | | //妿æ¥è¯¢ä¸å°ä¸ä¸ä¸ªè·¯ç±ä¿¡æ¯ï¼åæåºå¼å¸¸ |
| | | throw new Exception($"è¯¥è·¯å¾æªé
ç½®æé
ç½®é误,è¯·æ£æ¥è®¾å¤è·¯ç±ä¿¡æ¯,èµ·ç¹:ã{startPosi}ã,ç»ç¹:ã{endPosi}ã"); |
| | | } |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="deviceCode">设å¤ç¼å·</param> |
| | | /// <returns>è¿åè·¯ç±ç¹ä½ç¼å·(è¾é线ç«å°ç¼å·)éå</returns> |
| | | // æ ¹æ®è®¾å¤ç¼ç æ¥è¯¢ææä½ç½® |
| | | public List<string> QueryAllPositions(string deviceCode) |
| | | { |
| | | // å建ä¸ä¸ªå符串å表ï¼ç¨äºå卿æä½ç½® |
| | | List<string> positions = new List<string>(); |
| | | try |
| | | { |
| | | // æ¥è¯¢ææè¿å
¥è·¯ç±å¨çä½ç½® |
| | | List<string> inRouterPositions = BaseDal.QueryData(x => x.ChildPosiDeviceCode == deviceCode && x.InOutType == RouterInOutType.In).GroupBy(x => x.StartPosi).Select(x => x.Key).ToList(); |
| | | |
| | | // æ¥è¯¢ææç¦»å¼è·¯ç±å¨çä½ç½® |
| | | List<string> outRouterPositions = BaseDal.QueryData(x => x.ChildPosiDeviceCode == deviceCode && x.InOutType == RouterInOutType.Out).GroupBy(x => x.ChildPosi).Select(x => x.Key).ToList(); |
| | | |
| | | // å°è¿å
¥å离å¼è·¯ç±å¨çä½ç½®æ·»å å°åè¡¨ä¸ |
| | | positions.AddRange(inRouterPositions); |
| | | positions.AddRange(outRouterPositions); |
| | | // è¿åå»éåçä½ç½®å表 |
| | | return positions.GroupBy(x => x).Select(x => x.Key).ToList(); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | // è¿åä½ç½®å表 |
| | | return positions; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·åè·¯ç±è¡¨ä¸ææå®æ´çè·¯ç±ä¿¡æ¯(å端è°ç¨å±ç¤ºæ°æ®)ã |
| | | /// </summary> |
| | |
| | | public List<object> GetAllWholeRouters() |
| | | { |
| | | List<object> data = new List<object>(); |
| | | // æ¥è¯¢ææè·¯ç± |
| | | List<Dt_Router> allRouters = BaseDal.QueryData(x => true); |
| | | // æ¥è¯¢ææç»æçè·¯ç±ï¼å¹¶æIdæåº |
| | | List<Dt_Router> dt_Routers = allRouters.Where(x => x.IsEnd).OrderBy(x => x.Id).ToList(); |
| | | |
| | | // éåææç»æçè·¯ç± |
| | | foreach (var item in dt_Routers) |
| | | { |
| | | // è·åå½åè·¯ç±çåè·¯ç± |
| | | string routes = $"{item.ChildPosi},"; |
| | | // è·åå½åè·¯ç±çç¶è·¯ç± |
| | | string str = GetPreviousRoutes(item.StartPosi, allRouters, item.InOutType); |
| | | // 妿ç¶è·¯ç±ä¸ä¸ºç©º |
| | | if (!string.IsNullOrEmpty(str)) |
| | | { |
| | | // 廿æåä¸ä¸ªéå· |
| | | if (str.EndsWith(",")) |
| | | str = str.Substring(0, str.Length - 1); |
| | | // å°ç¶è·¯ç±æ·»å å°åè·¯ç±ä¸ |
| | | routes += str; |
| | | } |
| | | // 妿å½åè·¯ç±æ¯å
¥å£ |
| | | if (item.InOutType == RouterInOutType.In) |
| | | { |
| | | // å°åè·¯ç±å转并添å å°dataä¸ |
| | | List<string> itemRouters = routes.Split(",").Reverse().ToList(); |
| | | object obj = new { type = RouterInOutType.In, routes = itemRouters }; |
| | | data.Add(obj); |
| | | } |
| | | // 妿å½åè·¯ç±æ¯åºå£ |
| | | else |
| | | { |
| | | // å°åè·¯ç±å转并添å å°dataä¸ |
| | | List<string> itemRouters = routes.Split(",").Reverse().ToList(); |
| | | object obj = new { type = RouterInOutType.Out, routes = itemRouters }; |
| | | data.Add(obj); |
| | | } |
| | | } |
| | | |
| | | // è¿ådata |
| | | return data; |
| | | } |
| | | |
| | | private string GetPreviousRoutes(string startPosi, List<Dt_Router> allRouters, RouterInOutType routerType) |
| | | { |
| | | // å®ä¹ä¸ä¸ªç©ºå符串routers |
| | | string routers = string.Empty; |
| | | // 夿startPosiæ¯å¦ä¸ºç©º |
| | | if (!string.IsNullOrEmpty(startPosi)) |
| | | { |
| | | // 夿routersæ¯å¦ä»¥éå·ç»å°¾ |
| | | if (!routers.EndsWith(",")) |
| | | // 妿䏿¯ï¼åå°startPosiæ·»å å°routersä¸ï¼å¹¶å¨åé¢å ä¸éå· |
| | | routers += $"{startPosi},"; |
| | | else |
| | | // 妿æ¯ï¼åå°startPosiæ·»å å°routersä¸ |
| | | routers += $"{startPosi}"; |
| | | } |
| | | // ä»allRoutersä¸çéåºNextPosiçäºstartPosiä¸InOutTypeçäºrouterTypeçå
ç´ ï¼å¹¶è½¬æ¢ä¸ºList |
| | | List<Dt_Router> preRouters = allRouters.Where(x => x.NextPosi == startPosi && x.InOutType == routerType).ToList(); |
| | | // éåpreRoutersä¸çæ¯ä¸ªå
ç´ |
| | | foreach (var item in preRouters) |
| | | { |
| | | // è°ç¨GetPreviousRoutesæ¹æ³ï¼ä¼ å
¥item.StartPosiãallRoutersårouterTypeï¼å¹¶å°è¿åå¼èµç»str |
| | | string str = GetPreviousRoutes(item.StartPosi, allRouters, routerType); |
| | | // 夿stræ¯å¦ä¸ºç©º |
| | | if (!string.IsNullOrEmpty(str)) |
| | | { |
| | | // 夿routersæ¯å¦ä»¥éå·ç»å°¾ |
| | | if (routers.EndsWith(",")) |
| | | // 妿æ¯ï¼åå°stræ·»å å°routersä¸ |
| | | routers += $"{str}"; |
| | | else |
| | | // 妿䏿¯ï¼åå°stræ·»å å°routersä¸ï¼å¹¶å¨åé¢å ä¸éå· |
| | | routers += $"{str},"; |
| | | } |
| | | } |
| | | // è¿årouters |
| | | return routers; |
| | | } |
| | | |
| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | // æ£æ¥åä½ç½®ç¼å·æ¯å¦éå¤ |
| | | if (routersAddDTOs.GroupBy(x => x.ChildPositionCode).Where(x => !string.IsNullOrEmpty(x.Key)).Select(x => x.Count()).Any(x => x > 1)) |
| | | { |
| | | return content = WebResponseContent.Instance.Error("åä½ç½®ç¼å·éå¤"); |
| | | } |
| | | |
| | | // æ£æ¥æ ¹ä½ç½®ç¼å·æ¯å¦éå¤ |
| | | if (routersAddDTOs.GroupBy(x => x.PositionCode).Select(x => x.Count()).Any(x => x > 1)) |
| | | { |
| | | return content = WebResponseContent.Instance.Error("æ ¹ä½ç½®ç¼å·éå¤"); |
| | | } |
| | | // æ¥è¯¢è®¾å¤ä¿¡æ¯ |
| | | List<dynamic> deviceCode = _deviceInfoRepository.QueryTabs<Dt_DeviceInfo, Dt_DeviceProtocol, dynamic>((a, b) => new object[] { JoinType.Inner, a.Id == b.DeviceId }, (a, b) => new { b.DeviceChildCode, a.DeviceCode }, (a, b) => true, x => true).Distinct().ToList(); |
| | | |
| | | List<Dt_Router> routers = new List<Dt_Router>(); |
| | | // éåroutersAddDTOsï¼çæDt_Router对象 |
| | | for (int i = 0; i < routersAddDTOs.Count - 1; i++) |
| | | { |
| | | dynamic obj = deviceCode.FirstOrDefault(x => x.DeviceChildCode == routersAddDTOs[i + 1].PositionCode || x.DeviceChildCode == routersAddDTOs[i + 1].ChildPositionCode); |
| | |
| | | StartPosi = routersAddDTOs[i].PositionCode, |
| | | IsEnd = false |
| | | }; |
| | | // å¦ææ¯æåä¸ä¸ªå
ç´ ï¼è®¾ç½®ç»ç¹ä½ç½®ç¼å· |
| | | if (i == routersAddDTOs.Count - 2) |
| | | { |
| | | if (routerType == (int)RouterInOutType.Out) |
| | | router.ChildPosi = routersAddDTOs[i + 1].ChildPositionCode; |
| | | router.IsEnd = true; |
| | | router.IsEnd = true; |
| | | } |
| | | routers.Add(router); |
| | | } |
| | | // æ£æ¥èµ·ç¹ä½ç½®ç¼å·ä¸åä½ç½®ç¼å·æ¯å¦ç¸å |
| | | if (routers.Any(x => x.StartPosi == x.ChildPosi)) |
| | | { |
| | | return content = WebResponseContent.Instance.Error("è¾å
¥æ°æ®èµ·ç¹ä½ç½®ç¼å·ä¸åä½ç½®ç¼å·ç¸å"); |
| | | } |
| | | // æ£æ¥èµ·ç¹ä½ç½®ç¼å·ä¸ç»ç¹ä½ç½®ç¼å·æ¯å¦ç¸å |
| | | if (routers.Any(x => x.StartPosi == x.NextPosi)) |
| | | { |
| | | return content = WebResponseContent.Instance.Error("è¾å
¥æ°æ®èµ·ç¹ä½ç½®ç¼å·ä¸ç»ç¹ä½ç½®ç¼å·ç¸å"); |
| | | } |
| | | // æ¥è¯¢æ°æ®åºä¸å·²æçè·¯ç±ä¿¡æ¯ |
| | | List<Dt_Router> dt_Routers = BaseDal.QueryData(x => x.InOutType == (RouterInOutType)routerType); |
| | | |
| | | // ç§»é¤éå¤çè·¯ç±ä¿¡æ¯ |
| | | dt_Routers.ForEach(x => |
| | | { |
| | | var t = routers.FirstOrDefault(v => v.StartPosi == x.StartPosi && v.NextPosi == x.NextPosi); |
| | |
| | | } |
| | | }); |
| | | |
| | | // æ·»å æ°çè·¯ç±ä¿¡æ¯ |
| | | BaseDal.AddData(routers); |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum; |
| | | TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum; |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®åæ°åç§°åå
¥å åæºå¯¹åºçæ°æ®ã |
| | |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum; |
| | | TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum; |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®åæ°åç§°ã设å¤åç¼å·åå
¥å¯¹åºçæ°æ®ã |
| | |
| | | |
| | | #region Public Method |
| | | |
| | | public TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum |
| | | public TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString()); |
| | | return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | return devicePro == null ? throw new Exception($"è¯»åæ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <param name="deviceChildCode">设å¤åç¼å·</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | public TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum |
| | | public TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString() && x.DeviceChildCode == deviceChildCode); |
| | | return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | return devicePro == null ? throw new Exception($"è¯»åæ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString() && x.DeviceChildCode == deviceChildCode); |
| | | return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | return devicePro == null ? throw new Exception($"åå
¥æ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | } |
| | | |
| | | public bool SetValue<TEnum, TValue>(TEnum @enum, TValue value) |
| | |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString()); |
| | | return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | return devicePro == null ? throw new Exception($"åå
¥æ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | } |
| | | |
| | | public void Dispose() |
| | |
| | | |
| | | using HslCommunication; |
| | | using Microsoft.AspNetCore.Http; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | |
| | | public bool IsEventSubscribed => StackerCraneTaskCompletedEventHandler != null; |
| | | |
| | | public int? LastTaskType { get; set; } = null; |
| | | |
| | | #endregion |
| | | |
| | | #region Constructor Function |
| | |
| | | /// æ ¹æ®åæ°å称读åå åæºå¯¹åºçæ°æ®ã |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">åæ°åç§°æä¸¾ç±»åã</typeparam> |
| | | /// <typeparam name="TRsult">读åç»æçè¿åå¼ç±»åã</typeparam> |
| | | /// <typeparam name="TResult">读åç»æçè¿åå¼ç±»åã</typeparam> |
| | | /// <param name="value">åæ°åç§°ã</param> |
| | | /// <returns>è¿å读åå°çæ°æ®ã</returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum |
| | | public TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString()); |
| | | return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString()) ?? throw new Exception($"è¯»åæ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}"); |
| | | return (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | where TValue : notnull |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString()); |
| | | return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString()) ?? throw new Exception($"åå
¥æ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}"); |
| | | return Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | } |
| | | |
| | | // å®ç°IDisposableæ¥å£çDisposeæ¹æ³ |
| | | public void Dispose() |
| | | { |
| | | // å°_heartStatr设置为false |
| | | _heartStatr = false; |
| | | // è°ç¨_communicatorçDisposeæ¹æ³ |
| | | _communicator.Dispose(); |
| | | // åè¯åå¾åæ¶å¨ä¸åè°ç¨æ¤å¯¹è±¡çç»ç»å¨ |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | #endregion |
| | |
| | | /// 读åPLCåè®®å°åçæ°æ® |
| | | /// </summary> |
| | | /// <typeparam name="TEnum">å议信æ¯çæä¸¾å¯¹è±¡ä¿¡æ¯ã</typeparam> |
| | | /// <typeparam name="TRsult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <typeparam name="TResult">è¯»åæ°æ®çç±»å对象信æ¯ã</typeparam> |
| | | /// <param name="value">æä¸¾å¼</param> |
| | | /// <returns>读åå°çæ°æ®</returns> |
| | | TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum; |
| | | TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum; |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®åæ°åç§°åå
¥å åæºå¯¹åºçæ°æ®ã |
| | |
| | | private int GetCurrentTaskNum() |
| | | { |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CurrentTaskNum)); |
| | | return devicePro == null ? throw new Exception($"读åå½åä»»å¡å·é误,æªè·åå°å议信æ¯,è¯·æ£æ¥é
ç½®åæ°åç§°æ¯å¦é
ç½®,ä¸é
置为为{nameof(CurrentTaskNum)}") : (int)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | return devicePro == null ? throw new Exception($"读åå½åä»»å¡å·é误,æªè·åå°å议信æ¯,è¯·æ£æ¥é
ç½®åæ°åç§°æ¯å¦é
ç½®,ä¸é
置为{nameof(CurrentTaskNum)}") : (int)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | private void CheckConnect() |
| | |
| | | #endregion |
| | | |
| | | #region Public Method |
| | | public T GetStackerCraneStatus<T>() |
| | | where T : notnull, Enum |
| | | public T GetStackerCraneStatus<T>() where T : notnull, Enum |
| | | { |
| | | return (T)GetStatus(typeof(T).Name); |
| | | } |
| | |
| | | GC.SuppressFinalize(this); |
| | | } |
| | | |
| | | public TRsult GetValue<TEnum, TRsult>(TEnum value) where TEnum : Enum |
| | | public TResult GetValue<TEnum, TResult>(TEnum value) where TEnum : Enum |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString()); |
| | | return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | return devicePro == null ? throw new Exception($"è¯»åæ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType); |
| | | } |
| | | |
| | | public void Heartbeat() |
| | |
| | | { |
| | | if (!IsConnected) throw new Exception($"éè®¯è¿æ¥é误ï¼è¯·æ£æ¥ç½ç»"); |
| | | DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString()); |
| | | return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | return devicePro == null ? throw new Exception($"åå
¥æ°æ®é误,æªå¨å议信æ¯é颿¾å°åæ°{value.ToString()}") : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value); |
| | | } |
| | | #endregion |
| | | } |
| | |
| | | public class Storage |
| | | { |
| | | public static List<IDevice> Devices = new List<IDevice>(); |
| | | |
| | | public List<IDevice> Pro_Devices { get; set; } |
| | | |
| | | public Storage() |
| | | { |
| | | Pro_Devices = new List<IDevice>(); |
| | | } |
| | | |
| | | public IDevice? GetDevice(string deviceCode) |
| | | { |
| | | return Pro_Devices.FirstOrDefault(x => x.DeviceCode == deviceCode); |
| | | } |
| | | |
| | | public List<IDevice> GetDevices(List<string> deviceCodes) |
| | | { |
| | | return Pro_Devices.Where(x => deviceCodes.Contains(x.DeviceCode)).ToList(); |
| | | } |
| | | |
| | | public BaseCommunicator? GetCommunicator(string deviceCode) |
| | | { |
| | | return Devices.FirstOrDefault(x => x.DeviceCode == deviceCode)?.Communicator; |
| | | } |
| | | } |
| | | } |
| | |
| | | <TargetFramework>net6.0</TargetFramework> |
| | | <ImplicitUsings>enable</ImplicitUsings> |
| | | <Nullable>enable</Nullable> |
| | | <Description>æ´æ°--ææ¶åªæ¯æè¥¿é¨åPLC读å对象</Description> |
| | | <Version>2.0.4</Version> |
| | | <Description> |
| | | 1ãHSLCommunicationæ¿æ´» |
| | | </Description> |
| | | <Version>2.1.1</Version> |
| | | </PropertyGroup> |
| | | |
| | | <ItemGroup> |
| | | <PackageReference Include="Quartz" Version="3.11.0" /> |
| | | <PackageReference Include="Quartz" Version="3.13.1" /> |
| | | </ItemGroup> |
| | | |
| | | <ItemGroup> |
| | |
| | | EndProject |
| | | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BasicInfo", "BasicInfo", "{9CB2F821-BB23-48E5-88E8-C326477733C0}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_IBasicInfoRepository", "WIDESEAWCS_IBasicInfoRepository\WIDESEAWCS_IBasicInfoRepository.csproj", "{266D07B7-3648-4F3D-818A-89EDA7D84C58}" |
| | | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_IBasicInfoRepository", "WIDESEAWCS_IBasicInfoRepository\WIDESEAWCS_IBasicInfoRepository.csproj", "{266D07B7-3648-4F3D-818A-89EDA7D84C58}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_BasicInfoRepository", "WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj", "{206FDF79-9BF3-433A-B7FF-627287BBD760}" |
| | | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_BasicInfoRepository", "WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj", "{206FDF79-9BF3-433A-B7FF-627287BBD760}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_IBasicInfoService", "WIDESEAWCS_IBasicInfoService\WIDESEAWCS_IBasicInfoService.csproj", "{8C2CC25B-DE5D-433E-A550-63864C7A716D}" |
| | | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_IBasicInfoService", "WIDESEAWCS_IBasicInfoService\WIDESEAWCS_IBasicInfoService.csproj", "{8C2CC25B-DE5D-433E-A550-63864C7A716D}" |
| | | EndProject |
| | | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WIDESEAWCS_BasicInfoService", "WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj", "{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}" |
| | | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WIDESEAWCS_BasicInfoService", "WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj", "{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}" |
| | | EndProject |
| | | Global |
| | | GlobalSection(SolutionConfigurationPlatforms) = preSolution |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.QuartzNet; |
| | | |
| | | namespace WIDESEAWCS_Server.Controllers.QuartzJob |
| | | { |
| | | [Route("api/Scheduler")] |
| | | [ApiController] |
| | | public class SchedulerController : ControllerBase |
| | | { |
| | | private readonly ISchedulerCenter _scheduler; |
| | | private readonly QuartzNetExtension _quartzNetExtension; |
| | | public SchedulerController(ISchedulerCenter scheduler, QuartzNetExtension quartzNetExtension) |
| | | { |
| | | _scheduler = scheduler; |
| | | _quartzNetExtension = quartzNetExtension; |
| | | } |
| | | |
| | | [HttpGet, Route("StartSchedule"), AllowAnonymous] |
| | | public async Task<WebResponseContent> StartSchedule() |
| | | { |
| | | try |
| | | { |
| | | await _quartzNetExtension.StartAsync(); |
| | | return WebResponseContent.Instance.OK("å¯å¨æå"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error("å¯å¨é误ï¼" + ex.Message); |
| | | } |
| | | } |
| | | |
| | | [HttpGet, Route("StopSchedule"), AllowAnonymous] |
| | | public Task<WebResponseContent> StopSchedule() |
| | | { |
| | | return _scheduler.StopScheduleAsync(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æåæå®ç计åä»»å¡ |
| | | /// </summary> |
| | | /// <param name="sysSchedule"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("PauseJob"), AllowAnonymous] |
| | | public Task<WebResponseContent> PauseJob([FromBody] DispatchInfoDTO sysSchedule) |
| | | { |
| | | return _scheduler.PauseJob(sysSchedule); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¢å¤æå®ç计åä»»å¡ |
| | | /// </summary> |
| | | /// <param name="sysSchedule"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ResumeJob"), AllowAnonymous] |
| | | public Task<WebResponseContent> ResumeJob([FromBody] DispatchInfoDTO sysSchedule) |
| | | { |
| | | return _scheduler.ResumeJob(sysSchedule); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ·»å ä¸ä¸ªè®¡åä»»å¡ï¼æ å°ç¨åºéæå®IJobå®ç°ç±»ï¼ |
| | | /// </summary> |
| | | /// <param name="sysSchedule"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("AddScheduleJob"), AllowAnonymous] |
| | | public Task<WebResponseContent> AddScheduleJob([FromBody] DispatchInfoDTO sysSchedule) |
| | | { |
| | | return _scheduler.AddScheduleJobAsync(sysSchedule); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ç«å³æ§è¡ ä¸ä¸ªä»»å¡ æ§è¡ä¸æ¬¡ |
| | | /// </summary> |
| | | /// <param name="sysSchedule"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("ExecuteJob"), AllowAnonymous] |
| | | public Task<WebResponseContent> ExecuteJob([FromBody] DispatchInfoDTO sysSchedule) |
| | | { |
| | | return _scheduler.ExecuteJobAsync(sysSchedule); |
| | | } |
| | | |
| | | ///// <summary> |
| | | ///// æåææè®¡åä»»å¡ |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //[HttpPost, Route("PauseAllJob"), AllowAnonymous] |
| | | //public Task<WebResponseContent> PauseAllJob() |
| | | //{ |
| | | // return _scheduler.PauseAllJobAsync(); |
| | | //} |
| | | |
| | | ///// <summary> |
| | | ///// æ¢å¤ææè®¡åä»»å¡ |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //[HttpPost, Route("ResumeAllJob"), AllowAnonymous] |
| | | //public Task<WebResponseContent> ResumeAllJob() |
| | | //{ |
| | | // return _scheduler.ResumeAllJobAsync(); |
| | | //} |
| | | |
| | | [HttpPost, Route("DeleteScheduleJob"), AllowAnonymous] |
| | | public Task<WebResponseContent> DeleteScheduleJob([FromBody] DispatchInfoDTO sysSchedule) |
| | | { |
| | | return _scheduler.StopScheduleJobAsync(sysSchedule); |
| | | } |
| | | } |
| | | } |
| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_DTO.System; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | |
| | | /// </summary> |
| | | public CustomProfile() |
| | | { |
| | | CreateMap<Sys_Menu, MenuDTO>(); |
| | | CreateMap<Dt_DeviceInfo,DeviceInfoDTO>(); |
| | | CreateMap<WMSTaskDTO, Dt_Task>().ForMember(a => a.WMSId, b => b.MapFrom(b => b.Id)); |
| | | CreateMap<Dt_Task, ConveyorLineTaskCommand>().ForMember(a => a.TargetAddress, b => b.MapFrom(b => b.NextAddress)).ForMember(a => a.Barcode, b => b.MapFrom(b => b.PalletCode)).ForMember(a => a.TaskNum, b => b.MapFrom(b => b.TaskNum)); |
| | |
| | | hostingContext.Configuration.ConfigureApplication(); |
| | | config.Sources.Clear(); |
| | | config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false); |
| | | }); ; |
| | | }); |
| | | builder.ConfigureApplication(); |
| | | |
| | | |
| | | // 2ãé
ç½®æå¡ |
| | | builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注å |
| | | builder.Services.AddAllOptionRegister();//读åé
ç½®æä»¶ |
| | | builder.Services.AddMemoryCacheSetup();//ç¼å |
| | | builder.Services.AddSqlsugarSetup();//SqlSugar å¯å¨æå¡ |
| | | //builder.Services.AddInitializationHostServiceSetup();//åºç¨åå§åæå¡æ³¨å
¥ |
| | | //builder.Services.AddHostedService<SeedDataHostedService>();//åå§åæ°æ®åº |
| | | |
| | | builder.Services.AddDbSetup();//Db å¯å¨æå¡ |
| | | |
| | | //builder.Services.AddScoped<QuartzJobCreateDataTabel>(); |
| | | //builder.Services.AddHostedService<QuartzJobDataTableHostedService>(); |
| | | //builder.Services.AddScoped<QuartzJobCreateDataTabel>();//ä»»å¡è°åº¦ 注å
¥å建QuartzJobæ°æ®åºè¡¨ç±» |
| | | //builder.Services.AddHostedService<QuartzJobDataTableHostedService>();//ä»»å¡è°åº¦ æ å°QuartzJobæ°æ®åºè¡¨ |
| | | |
| | | builder.Services.AddAutoMapperSetup(); |
| | | |
| | |
| | | |
| | | builder.Services.AddSwaggerSetup(); |
| | | |
| | | //builder.Services.AddJobSetup();//ä»»å¡è°åº¦ å¯å¨æå¡ |
| | | builder.Services.AddJobSetup();//ä»»å¡è°åº¦ 注å
¥åå°è·åä¾èµå¯¹è±¡ |
| | | |
| | | builder.Services.AddHttpContextSetup(); |
| | | |
| | | //builder.Services.AddHostedService<QuartzJobHostedService>(); |
| | | builder.Services.AddHostedService<QuartzJobHostedService>();//ä»»å¡è°åº¦ å¯å¨æå¡ |
| | | |
| | | builder.Services.AddMvc(options => |
| | | { |
| | |
| | | app.ConfigureApplication();//é
ç½®æä»¶ |
| | | app.UseApplicationSetup();//å¯å¨é
ç½® |
| | | |
| | | |
| | | app.UseAllServicesMiddle(builder.Services); |
| | | |
| | | app.UseSession(); |
| | | //if (app.Environment.IsDevelopment()) |
| | | { |
| | | app.UseSwaggerAuthorized(); |
| | | app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEAWCS_Server.index.html")); |
| | | app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEAWCS_Server.index.html") ?? throw new Exception("æªæ¾å°WIDESEAWCS_Server.index.htmlæä»¶")); |
| | | }//夿æ¯å¦éè¦æå¼swagger |
| | | |
| | | app.UseIpLimitMiddle(); |
| | |
| | | <name>WIDESEAWCS_Server</name> |
| | | </assembly> |
| | | <members> |
| | | <member name="M:WIDESEAWCS_Server.Controllers.QuartzJob.SchedulerController.PauseJob(WIDESEAWCS_QuartzJob.DTO.DispatchInfoDTO)"> |
| | | <summary> |
| | | æåæå®ç计åä»»å¡ |
| | | </summary> |
| | | <param name="sysSchedule"></param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="M:WIDESEAWCS_Server.Controllers.QuartzJob.SchedulerController.ResumeJob(WIDESEAWCS_QuartzJob.DTO.DispatchInfoDTO)"> |
| | | <summary> |
| | | æ¢å¤æå®ç计åä»»å¡ |
| | | </summary> |
| | | <param name="sysSchedule"></param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="M:WIDESEAWCS_Server.Controllers.QuartzJob.SchedulerController.AddScheduleJob(WIDESEAWCS_QuartzJob.DTO.DispatchInfoDTO)"> |
| | | <summary> |
| | | æ·»å ä¸ä¸ªè®¡åä»»å¡ï¼æ å°ç¨åºéæå®IJobå®ç°ç±»ï¼ |
| | | </summary> |
| | | <param name="sysSchedule"></param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="M:WIDESEAWCS_Server.Controllers.QuartzJob.SchedulerController.ExecuteJob(WIDESEAWCS_QuartzJob.DTO.DispatchInfoDTO)"> |
| | | <summary> |
| | | ç«å³æ§è¡ ä¸ä¸ªä»»å¡ æ§è¡ä¸æ¬¡ |
| | | </summary> |
| | | <param name="sysSchedule"></param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="T:WIDESEAWCS_WCSServer.Filter.AutoMapperConfig"> |
| | | <summary> |
| | | éæå
¨å± AutoMapper é
ç½®æä»¶ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # For more info on HTTP files go to https://aka.ms/vs/httpfile |
| | |
| | | "ApiName": "WIDESEAWCS", |
| | | "ExpMinutes": 120, |
| | | "QuartzJobAutoStart": true, |
| | | "LogDeubgEnable": true, |
| | | "PrintSql": true |
| | | "LogDeubgEnable": true, //æ¯å¦è®°å½è°è¯æ¥å¿ |
| | | "PrintSql": true, //æå°SQLè¯å¥ |
| | | "LogAOPEnable": true //æ¯å¦è®°å½AOPæ¥å¿ |
| | | } |
| | |
| | | using SqlSugar; |
| | | using AutoMapper; |
| | | using SqlSugar; |
| | | using System; |
| | | using System.Collections.Concurrent; |
| | | using System.Collections.Generic; |
| | | using System.Drawing; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_DTO.System; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Core.Helper; |
| | |
| | | { |
| | | public class Sys_MenuRepository : RepositoryBase<Sys_Menu>, ISys_MenuRepository |
| | | { |
| | | public Sys_MenuRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) |
| | | private readonly IMapper _mapper; |
| | | public Sys_MenuRepository(IUnitOfWorkManage unitOfWorkManage, IMapper mapper) : base(unitOfWorkManage) |
| | | { |
| | | _mapper = mapper; |
| | | } |
| | | |
| | | public List<Sys_Menu> GetAllMenu() |
| | | public List<MenuDTO> GetAllMenu() |
| | | { |
| | | List<Sys_Menu> _menus = base.QueryData(x => x.Enable == 1 || x.Enable == 2).OrderByDescending(a => a.OrderNo).ThenByDescending(q => q.ParentId).ToList(); |
| | | |
| | | List<Sys_Menu> menus = base.QueryData(x => x.Enable == 1 || x.Enable == 2).OrderByDescending(a => a.OrderNo).ThenByDescending(q => q.ParentId).ToList(); |
| | | List<MenuDTO> _menus = _mapper.Map<List<MenuDTO>>(menus); |
| | | _menus.ForEach(x => |
| | | { |
| | | x.MenuType ??= 0; |
| | |
| | | { |
| | | try |
| | | { |
| | | x.Actions = x.Auth.DeserializeObject<List<Sys_Actions>>(); |
| | | x.Actions = x.Auth.DeserializeObject<List<ActionDTO>>(); |
| | | } |
| | | catch { } |
| | | } |
| | | x.Actions ??= new List<Sys_Actions>(); |
| | | x.Actions ??= new List<ActionDTO>(); |
| | | }); |
| | | string test = _menus.Serialize(); |
| | | return _menus; |
| | |
| | | vueDictionaryDTOs.AddRange(selectDics); |
| | | } |
| | | |
| | | //object GetSourceData(string dicNo, string dbSql, object data) |
| | | //{ |
| | | // if (string.IsNullOrEmpty(dbSql)) |
| | | // { |
| | | // return data; |
| | | // } |
| | | // return BaseDal.QueryObjectDataBySql(dbSql, null); |
| | | //} |
| | | //List<VueDictionaryDTO> vueDictionaryDTOs = dicConfig.Select(item => new VueDictionaryDTO |
| | | //{ |
| | | // DicNo = item.dicNo, |
| | | // Config = item.config, |
| | | // Data = GetSourceData(item.dicNo, item.dbSql, item.list) |
| | | //}).ToList(); |
| | | |
| | | |
| | | return vueDictionaryDTOs; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_DTO.System; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | |
| | | } |
| | | |
| | | |
| | | public List<Sys_Menu> GetUserMenuList(int roleId) |
| | | public List<MenuDTO> GetUserMenuList(int roleId) |
| | | { |
| | | if (App.User.IsRoleIdSuperAdmin(roleId)) |
| | | { |
| | |
| | | return BaseDal.GetAllMenu().Where(x => menuIds.Contains(x.MenuId)).ToList(); |
| | | } |
| | | |
| | | public List<Sys_Actions> GetActions(int menuId, List<Sys_Actions> menuActions, List<Permissions> permissions, int roleId) |
| | | public List<ActionDTO> GetActions(int menuId, List<ActionDTO> menuActions, List<Permissions> permissions, int roleId) |
| | | { |
| | | if (App.User.IsRoleIdSuperAdmin(roleId)) |
| | | { |
| | |
| | | //è·åç¨æ·æé |
| | | List<Permissions> permissions = _MenuRepository.GetPermissions(roleId); |
| | | //æéç¨æ·æéæ¥è¯¢ææçèåä¿¡æ¯ |
| | | List<Sys_Menu> menus = _MenuService.GetUserMenuList(roleId); |
| | | List<MenuDTO> menus = _MenuService.GetUserMenuList(roleId); |
| | | //è·åå½åç¨æ·æéå¦:(Add,Search)对åºçæ¾ç¤ºææ¬ä¿¡æ¯å¦:Addï¼æ·»å ï¼Search:æ¥è¯¢ |
| | | var data = menus.Select(x => new |
| | | { |
| | |
| | | { |
| | | s.UserName, |
| | | s.UserTrueName, |
| | | s.Address, |
| | | s.PhoneNo, |
| | | s.Email, |
| | | //s.Address, |
| | | //s.PhoneNo, |
| | | //s.Email, |
| | | s.Remark, |
| | | s.Gender, |
| | | //s.Gender, |
| | | s.RoleName, |
| | | s.HeadImageUrl, |
| | | s.CreateDate |
| | |
| | | |
| | | public void AddTaskExecuteDetail(int taskId, string description = "") |
| | | { |
| | | // å°è¯æ§è¡æ·»å 任塿§è¡è¯¦æ
çæ¹æ³ |
| | | try |
| | | { |
| | | // åå§åæ¯å¦æ£å¸¸ä¸ºtrue |
| | | bool isNormal = true; |
| | | // æ ¹æ®ä»»å¡idæ¥è¯¢ä»»å¡ |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId); |
| | | // 妿任å¡ä¸ºç©ºï¼åè¿å |
| | | if (task == null) return; |
| | | // è·å任塿°é |
| | | int taskNum = task.TaskNum; |
| | | // è·åä»»å¡ç¶æ |
| | | int taskState = task.TaskState; |
| | | |
| | | // å°è¯å°ä»»å¡ç¶æè½¬æ¢ä¸ºTaskOutStatusEnumæä¸¾ç±»å |
| | | if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result)) |
| | | { |
| | | if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) |
| | | // å¦æè½¬æ¢å¤±è´¥ï¼åå°ä»»å¡ç¶æè½¬æ¢ä¸ºTaskInStatusEnumæä¸¾ç±»å |
| | | if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result)) |
| | | { |
| | | // å¦æè½¬æ¢å¤±è´¥ï¼åå°isNormal设置为false |
| | | isNormal = false; |
| | | } |
| | | } |
| | | else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result)) |
| | | // å¦æè½¬æ¢æåï¼å夿任å¡ç¶ææ¯å¦å¤§äºOutFinish |
| | | else if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) |
| | | { |
| | | if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish) |
| | | isNormal = false; |
| | | // 妿大äºï¼åå°isNormal设置为false |
| | | isNormal = false; |
| | | } |
| | | // åå»ºä»»å¡æ§è¡è¯¦æ
对象 |
| | | Dt_TaskExecuteDetail taskExecuteDetail = new() |
| | | { |
| | | // 设置æ¯å¦æå¨æ§è¡ |
| | | IsManual = App.User.UserId > 0, |
| | | // 设置æ¯å¦æ£å¸¸ |
| | | IsNormal = isNormal, |
| | | // è®¾ç½®ä»»å¡æ°é |
| | | TaskNum = taskNum, |
| | | // 设置任å¡id |
| | | TaskId = taskId, |
| | | // 设置任å¡ç¶æ |
| | | TaskState = taskState, |
| | | // 设置æè¿° |
| | | Description = description, |
| | | // 设置å½åå°å |
| | | CurrentAddress = task.CurrentAddress, |
| | | // 设置ä¸ä¸ä¸ªå°å |
| | | NextAddress = task.NextAddress, |
| | | }; |
| | | // æ·»å 任塿§è¡è¯¦æ
|
| | | BaseDal.AddData(taskExecuteDetail); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (conveyorLine != null) |
| | | { |
| | | //bool result = conveyorLine.Communicator.Write("DB1.0", "AAABBB"); |
| | | //string testVal = conveyorLine.Communicator.Read<string>("DB1.0"); |
| | | |
| | | List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode); |
| | | List<Task> tasks = new List<Task>(); |
| | | foreach (string childDeviceCode in childDeviceCodes) |
| | |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | | [DisallowConcurrentExecution] |
| | | |
| | | public class CommonStackerCraneJob : JobBase, IJob |
| | | { |
| | | private readonly ITaskService _taskService; |
| | |
| | | { |
| | | try |
| | | { |
| | | |
| | | // speStackerCrane.GetStackerCraneStatus<StackerCraneAutoStatus>(); |
| | | // speStackerCrane.GetStackerCraneStatus<StackerCraneWorkStatus>(); |
| | | // speStackerCrane.GetStackerCraneStatus<StackerCraneStatus>(); |
| | | |
| | | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | if (commonStackerCrane != null) |
| | | { |
| | | Console.Out.WriteLine(commonStackerCrane.DeviceName); |
| | | short a = commonStackerCrane.Communicator.Read<short>("DB2.2.0"); |
| | | //Console.Out.WriteLine(DateTime.Now + "ï¼" + commonStackerCrane.DeviceName); |
| | | if (!commonStackerCrane.IsEventSubscribed) |
| | | { |
| | | commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//订é
ä»»å¡å®æäºä»¶ |
| | |
| | | /// æçå· |
| | | /// </summary> |
| | | Barcode, |
| | | |
| | | CurrentTaskNum |
| | | } |
| | | } |
| | |
| | | using HslCommunication.Core; |
| | | using Microsoft.VisualBasic.FileIO; |
| | | using Quartz; |
| | | using Quartz.Impl; |
| | | using Quartz.Spi; |
| | | using SixLabors.ImageSharp.PixelFormats; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane.Enum; |
| | | using WIDESEAWCS_Tasks.StackerCraneJob; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | |
| | | { |
| | | CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | |
| | | Console.Out.WriteLine(commonStackerCrane.DeviceName + "ç¶æ:" + commonStackerCrane.StackerCraneStatusDes); |
| | | //1.SendCommandæ¹æ³ç¤ºä¾ |
| | | //å åæºå½ä»¤å¯¹è±¡ï¼ç»§æ¿DeviceCommand |
| | | StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); |
| | | //è°ç¨åéä»»å¡å½ä»¤æ¹æ³ |
| | | commonStackerCrane.SendCommand(stackerCraneTaskCommand); |
| | | |
| | | Console.Out.WriteLine(commonStackerCrane.DeviceName + "æèªå¨ç¶æ:" + commonStackerCrane.StackerCraneAutoStatusDes); |
| | | //2.GetValueæ¹æ³ç¤ºä¾ |
| | | //è°ç¨è¯»åPLCæ°æ®æ¹æ³ï¼StackerCraneDBName为æä¸¾ç±»åï¼StackerCraneDBName.CurrentTaskNum为æä¸¾å¼ |
| | | commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.CurrentTaskNum); |
| | | |
| | | Console.Out.WriteLine(commonStackerCrane.DeviceName + "ä½ä¸ç¶æ:" + commonStackerCrane.StackerCraneWorkStatusDes); |
| | | //3.SetValueæ¹æ³ç¤ºä¾ |
| | | //è°ç¨åå
¥PLCæ°æ®æ¹æ³ï¼StackerCraneDBName为æä¸¾ç±»åï¼StackerCraneDBName.CurrentTaskNum为æä¸¾å¼ï¼121为åå
¥çæ°æ® |
| | | commonStackerCrane.SetValue(StackerCraneDBName.CurrentTaskNum, 121); |
| | | |
| | | //Console.Out.WriteLine(commonStackerCrane.DeviceName + "å½åä»»å¡å·:" + commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.CurrentTaskNum)); |
| | | //4.è°ç¨ä»»å¡å®æäºä»¶çæµæ¹æ³ |
| | | commonStackerCrane.CheckStackerCraneTaskCompleted(); |
| | | |
| | | //commonStackerCrane.SetValue(StackerCraneDBName.CurrentTaskNum, DateTime.Now.Second); |
| | | |
| | | //OperateResult<TimeSpan> operateResult = commonStackerCrane.Communicator.Wait("DB1.18", 1000, 60000, 1); |
| | | //Console.Out.WriteLine(operateResult.Serialize()); |
| | | |
| | | byte[] bytes = commonStackerCrane.Communicator.Read("DB1.1", 2); |
| | | Console.Out.WriteLine(bytes.ToBoolArray().ToList().Serialize()); |
| | | |
| | | bool[] bools = new bool[] { true, false, true }; |
| | | byte[] bytes1 = bools.ToByteArray(); |
| | | Console.Out.WriteLine(bytes1.ToList().Serialize()); |
| | | |
| | | //StackerCraneCommand stackerCraneCommand = new StackerCraneCommand() |
| | | //{ |
| | | // TaskNum = 999, |
| | | // WorkType = 1, |
| | | // TrayType = 2, |
| | | // StartRow = 12, |
| | | // StartColumn = 13, |
| | | // StartLayer = 14, |
| | | // EndRow = 22, |
| | | // EndColumn = 23, |
| | | // EndLayer = 24, |
| | | //}; |
| | | |
| | | //bool flag = commonStackerCrane.SendCommand(stackerCraneCommand); |
| | | //Console.Out.WriteLine(flag); |
| | | |
| | | //StackerCraneCommand stackerCraneCommand2 = new StackerCraneCommand(); |
| | | //stackerCraneCommand2 = commonStackerCrane.Communicator.ReadCustomer<StackerCraneCommand>("DB2.2"); |
| | | //Console.Out.WriteLine(stackerCraneCommand2.Serialize()); |
| | | //5.使ç¨CommonStackerCraneä¸Communicator屿§ç´æ¥è¯»åPLCå°åçå¼ |
| | | string plcProtocolAddress = "DB1.0";//PLCé讯åè®®çå°åï¼å¯ç´æ¥ä½¿ç¨æºå°å读å |
| | | DeviceProDTO? deviceProDTO = commonStackerCrane.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(StackerCraneDBName.CurrentTaskNum));//PLCé讯åè®®çå°åï¼ä¹å¯éè¿[å议信æ¯å±æ§(DeviceProDTOs)]ï¼å»æ¥è¯¢å°ç¸å
³çæºå°å |
| | | if (deviceProDTO != null) |
| | | { |
| | | commonStackerCrane.Communicator.Read<short>(plcProtocolAddress); |
| | | commonStackerCrane.Communicator.Read<short>(deviceProDTO.DeviceProAddress); |
| | | } |
| | | |
| | | Console.Out.WriteLine(DateTime.Now); |
| | | |