using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Comm;
using WIDESEA_WCS.WCSClient;
namespace WIDESEA_WCS
{
public class GetDate
{
///
/// 获取车轮数据
///
public static List GetWheelDate(PLCClient client)
{
List wheelDBItems = new List();
PropertyInfo[] propertyInfos = typeof(WheelDBItem).GetProperties();
var groups = client.itemGroups.OrderBy(x => x.Methods).ThenBy(x => x.name).GroupBy(x => x.Methods).ToList();
foreach (var key in groups)
{
WheelDBItem StackerDBItem = new WheelDBItem();
foreach (var propertyInfo in propertyInfos)
{
if (propertyInfo.Name == "StackerNo")
{
StackerDBItem.StackerNo = key.Key;
}
else
{
DBItemGroup group = key.FirstOrDefault(x => x.name == propertyInfo.Name);
if (group != null)
{
var readData = DBExtension.Read(group, client);
switch (propertyInfo.Name)
{
case "R_wheel_SN":
StackerDBItem.R_wheel_SN = readData.ToString();
break;
case "R_wheel_type":
StackerDBItem.R_wheel_type = Convert.ToInt16(readData);
break;
case "R_part_status":
StackerDBItem.R_part_status = Convert.ToByte(readData);
break;
case "R_part_process":
StackerDBItem.R_part_process = Convert.ToByte(readData);
break;
}
}
}
}
wheelDBItems.Add(StackerDBItem);
}
return wheelDBItems;
}
}
}