| | |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using Model.ModelDto.DataDto; |
| | | using SqlSugar; |
| | | using WMS.Entity.Context; |
| | | using WMS.Entity.DataEntity; |
| | | using WMS.Entity.SysEntity; |
| | |
| | | decimal qty = 0; //分配的总数量 |
| | | var ztNum = needQty / fullPalletQty;//需要整托数 |
| | | |
| | | var zps = palletList.Where(s => s.Qty >= fullPalletQty).ToList();//整托 |
| | | var sps = palletList.Where(s => s.Qty < fullPalletQty).ToList();//散托(有可能是被锁定了数量的) |
| | | var list = GetDataListOrderByDept(palletList); |
| | | |
| | | var zps = list.Where(s => s.Qty >= fullPalletQty).ToList();//整托 |
| | | var sps = list.Where(s => s.Qty < fullPalletQty).ToList();//散托(有可能是被锁定了数量的) |
| | | |
| | | if (allotSet == 0)//优先零箱(出完零箱出整箱) |
| | | { |
| | |
| | | |
| | | //-------------------------------------------------------------------------------------------------------------- |
| | | |
| | | #region MyRegion |
| | | |
| | | ///// <summary> |
| | | ///// 获得背包承重w,装货物o,从第k件向后考虑,得到的最大价值 |
| | |
| | | // return a > b ? a : b; |
| | | //} |
| | | |
| | | #endregion |
| | | |
| | | |
| | | private List<StockDetailDto> GetDataListOrderByDept(List<DataStockDetail> palletList) |
| | | { |
| | | try |
| | | { |
| | | var Db = DataContext.Db; |
| | | var data = new List<StockDetailDto>(); |
| | | |
| | | //库外托盘 |
| | | var detail1 = palletList.Where(m => string.IsNullOrWhiteSpace(m.LocatNo)).ToList(); |
| | | //平库内托盘 |
| | | var detail2 = palletList.Where(m => m.WareHouseNo == "W02").ToList(); |
| | | //立库内托盘 |
| | | var detail3 = palletList.Where(m => m.WareHouseNo == "W01").ToList(); |
| | | |
| | | var data1 = detail1.Select(m => new StockDetailDto()).ToList(); |
| | | var data2 = detail2.Select(m => new StockDetailDto()).ToList(); |
| | | var data3 = detail3.Select(m => new StockDetailDto()).ToList(); |
| | | foreach (var item in data2) |
| | | { |
| | | var dept = item.LocatNo.Substring(5,2); |
| | | |
| | | item.Dept = int.Parse(dept); |
| | | } |
| | | foreach (var item in data3) |
| | | { |
| | | var dept = item.LocatNo.Substring(6, 2); |
| | | |
| | | item.Dept = int.Parse(dept); |
| | | } |
| | | data.AddRange(data1); |
| | | data.AddRange(data2.OrderBy(m => m.Dept).ToList()); |
| | | data.AddRange(data3.OrderBy(m => m.Dept).ToList()); |
| | | |
| | | return data; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |