| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- using System.Collections.Generic;
 
- using System.Linq;
 
- using WCS.Service.Entity;
 
- using WCS.Service.Extensions;
 
- namespace WCS.Service.Helpers
 
- {
 
-     /// <summary>
 
-     /// 处理完成任务记录集合
 
-     /// </summary>
 
-     /// <typeparam name="T"></typeparam>
 
-     public class FinishTaskList<T>
 
-     {
 
-         public FinishTaskList(T finishCode, StationDevice station)
 
-         {
 
-             FinishCode = finishCode;
 
-             Station = station;
 
-         }
 
-         /// <summary>
 
-         /// 完成
 
-         /// </summary>
 
-         public T FinishCode { get; set; }
 
-         /// <summary>
 
-         /// 对应设备信息
 
-         /// </summary>
 
-         public StationDevice Station { get; set; }
 
-     }
 
-     /// <summary>
 
-     /// 处理完成任务记录集合
 
-     /// </summary>
 
-     /// <typeparam name="T"></typeparam>
 
-     public class FinishTaskList<T,T1>
 
-     {
 
-         public FinishTaskList(T finishCode, T1 station)
 
-         {
 
-             FinishCode = finishCode;
 
-             Station = station;
 
-         }
 
-         /// <summary>
 
-         /// 完成
 
-         /// </summary>
 
-         public T FinishCode { get; set; }
 
-         /// <summary>
 
-         /// 对应设备信息
 
-         /// </summary>
 
-         public T1 Station { get; set; }
 
-     }
 
-     public static class FinishTaskListExtensions
 
-     {
 
-         /// <summary>
 
-         /// 入库可用任务数是否有效
 
-         /// </summary>
 
-         /// <param name="finishes"></param>
 
-         /// <exception cref="WarnException"></exception>
 
-         public static void Valid(this List<FinishTaskList<string>> finishes)
 
-         {
 
-             var maxGoodsnum = finishes.Select(v => v.Station.Data2.Goodsnum).OrderByDescending(v => v).FirstOrDefault();
 
-             if (finishes.Count != maxGoodsnum) throw new WarnException($"可用货物数{finishes.Count},实际货物数{maxGoodsnum}");
 
-             if (!finishes.Any()) throw new DoException("没有任务");
 
-         }
 
-         /// <summary>
 
-         /// 入库可用任务数是否有效
 
-         /// </summary>
 
-         /// <param name="finishes"></param>
 
-         /// <exception cref="WarnException"></exception>
 
-         public static List<I_WCS_GetInTaskResponseItem> GetWMSInTask(this List<FinishTaskList<string>> finishes)
 
-         {
 
-             if (!finishes.Any()) throw new DoException("没有任务");
 
-             var items = finishes.ToArray();
 
-             var infos = items.Length switch
 
-             {
 
-                 1 => WMS.I_WCS_GetInTask(items[0].FinishCode, items[0].Station.Entity.CODE),
 
-                 2 => WMS.I_WCS_GetInTask(items[0].FinishCode, items[0].Station.Entity.CODE, items[1].FinishCode, items[1].Station.Entity.CODE),
 
-                 _ => throw new WarnException($"一组任务数量最大为2,当前{items.Length}"),
 
-             };
 
-             return infos;
 
-         }
 
-     }
 
- }
 
 
  |