12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using WCS.Entity;
- namespace WCS.Service.Extensions
- {
- /// <summary>
- /// 任务扩展
- /// </summary>
- public static class TaskExtension
- {
- public static T Create<T>(WCS_TASK source)
- {
- return (T)Activator.CreateInstance(typeof(T), source);
- }
- /// <summary>
- /// 获取可用的出库任务
- /// </summary>
- /// <param name="tasks"></param>
- /// <returns></returns>
- public static List<WCS_TASK> GetOutTask(this List<WCS_TASK> tasks)
- {
- var taskids = tasks.Select(v => Create<Task>(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
- {
- /// <summary>
- /// 行
- /// </summary>
- public short Line { get; set; }
- /// <summary>
- /// 列
- /// </summary>
- public short Col { get; set; }
- /// <summary>
- /// 层
- /// </summary>
- public short Layer { get; set; }
- public Task()
- {
- var addrFrom = ADDRFROM.Split("-");
- Line = addrFrom[0].ToShort();
- Col = addrFrom[1].ToShort();
- Layer = addrFrom[2].ToShort();
- }
- }
- }
|