12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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 Task[] GetOutTask(this List<WCS_TASK> tasks)
- {
- return tasks.Select(v => Create<Task>(v))
- .OrderBy(v => v.Line)
- .ThenBy(v => v.Layer)
- .ThenBy(v => v.Col)
- .Take(2)
- .DistinctBy(v => v.Col).ToArray();
- }
- }
- 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(WCS_TASK task)
- {
- var addrFrom = task.ADDRFROM.Split("-");
- ADDRTO = task.ADDRTO;
- ID = task.ID;
- Line = addrFrom[0].ToShort();
- Col = addrFrom[1].ToShort();
- Layer = addrFrom[2].ToShort();
- }
- }
- }
|