| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Comm.PLCDBItem; |
| | | using WIDESEA_Comm; |
| | | using WIDESEA_Core.Extensions; |
| | | using WIDESEA_WCS.Jobs; |
| | | using WIDESEA_WCS.WCSClient; |
| | |
| | | return Task.CompletedTask; |
| | | } |
| | | |
| | | public static StackerReadDBItem StackerDBItem; |
| | | private void DoAction(IJobExecutionContext context) |
| | | { |
| | | var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient; |
| | |
| | | client.Connect(); |
| | | return; |
| | | } |
| | | PropertyInfo[] propertyInfos = typeof(StackerReadDBItem).GetProperties(); |
| | | if (StackerDBItem == null) |
| | | { |
| | | StackerDBItem = new(); |
| | | //StackerDBItem.OnReadStackerSignal += HandleReadStackerSignal; |
| | | } |
| | | List<StackerReadDBItem> StackerReadDBItems = new List<StackerReadDBItem>(); |
| | | var groups = client.itemGroups.OrderBy(x => x.Methods).ThenBy(x=>x.name).GroupBy(x => x.Methods); |
| | | foreach (var key in groups) |
| | | { |
| | | //foreach (var item in key) |
| | | //{ |
| | | for (int i = 0; i < propertyInfos.Length; i++) |
| | | { |
| | | if (i == 0) |
| | | { |
| | | StackerDBItem.StackerNo = key.First(x=>true).Methods; |
| | | } |
| | | else |
| | | { |
| | | DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfos[i].Name); |
| | | if (group != null) |
| | | { |
| | | object readData = DBExtension.Read(group, client); |
| | | object obj = propertyInfos[i].GetValue(StackerDBItem); |
| | | if (obj != readData) |
| | | propertyInfos[i].SetValue(StackerDBItem, readData); |
| | | } |
| | | } |
| | | } |
| | | StackerReadDBItems.Add(StackerDBItem); |
| | | //} |
| | | } |
| | | |
| | | |
| | | WheelDBItem.VK4WheelDBItem = new List<WheelDBItem>(); |
| | | GetDate.GetWheelDate(client); |
| | | } |
| | | } |
| | | } |