using System; using System.Collections.Generic; using System.Linq; using WCS.Entity; namespace WCS.Service.Extensions { /// /// 任务扩展 /// public static class TaskExtension { public static T Create(WCS_TASK source) { return (T)Activator.CreateInstance(typeof(T), source); } /// /// 获取可用的出库任务 /// /// /// public static List GetOutTask(this List tasks) { var taskids = tasks.Select(v => Create(v)).OrderBy(v => v.Line).ThenBy(v => v.Col).ThenBy(v => v.Layer).Take(2).DistinctBy(v => v.SRMSTATION).Select(v => v.ID); return tasks.Where(v => taskids.Contains(v.ID)).ToList(); } } public class Task : WCS_TASK { /// /// 行 /// public short Line { get; set; } /// /// 列 /// public short Col { get; set; } /// /// 层 /// public short Layer { get; set; } public Task() { var addrFrom = ADDRFROM.Split("-"); Line = addrFrom[0].ToShort(); Col = addrFrom[1].ToShort(); Layer = addrFrom[2].ToShort(); } } }