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();
}
}
}