| | |
| | | using WIDESEA_Core.EFDbContext; |
| | | using WIDESEA_Entity.DomainModels; |
| | | using WIDESEA_WCS.IRepositories; |
| | | using WIDESEA_WCS.Jobs; |
| | | using WIDESEA_WCS.Repositories; |
| | | using WIDESEA_WCS.WCSClient; |
| | | |
| | |
| | | /// 妗佹灦 |
| | | /// </summary> |
| | | [DisallowConcurrentExecution] |
| | | public class GantryJob : IJob |
| | | public class GantryJob : JobBase, IJob |
| | | { |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | try |
| | | { |
| | | var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient; |
| | | if (client == null) |
| | | { |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | //鑷姩閲嶈繛 |
| | | if (!client.IsConnected) |
| | | { |
| | | client.Connect(); |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | //DoAction(client); |
| | | //ExecuteJob(context, DoAction); |
| | | ExecuteJob(context, DoAction); |
| | | } |
| | | catch { } |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | private void DoAction(IJobExecutionContext context) |
| | | { |
| | | var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient; |
| | | //鑷姩閲嶈繛 |
| | | if (!client.IsConnected) |
| | | { |
| | | client.Connect(); |
| | | return; |
| | | } |
| | | Gantry gantry = new Gantry(); |
| | | gantry.QueryWheeldata(client); |
| | | gantry.QueryOrder(client); |
| | | gantry.Layofflevel(client); |
| | | gantry.Stupidproofmeasure(client); |
| | | } |
| | | |
| | | #region |
| | | static List<MachineDB> MachineDBs = new List<MachineDB>(); |
| | | static List<WheelDataDB> wheelDataDBs = new List<WheelDataDB>(); |
| | | private void DoAction(PLCClient client) |
| | |
| | | throw; |
| | | } |
| | | } |
| | | #endregion |
| | | public void HandleReadSignal(string type, MachineDB DBItem) |
| | | { |
| | | switch (type) |