HTML/views/SOSetting/ExportAllot.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/Model/ModelDto/DataDto/StockDetailDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/Logic/AllotSku.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
HTML/views/SOSetting/ExportAllot.html
@@ -829,6 +829,9 @@ console.log(obj); if (obj.event === 'del') { layer.confirm('确定撤销选中的分配信息吗?', function (index) { if (doing) { doing = false; var param = { Id: parseInt(obj.data.Id) }; @@ -840,14 +843,19 @@ time: 1000 //2秒关闭(如果不配置,默认是3秒) }, function () { refreshTable(); doing = true; }); } else { //不成功 layer.msg(res.msg, { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }, function () { }); }, function () { doing = true; }); } }); } }); } }); Wms/Model/ModelDto/DataDto/StockDetailDto.cs
@@ -199,5 +199,10 @@ /// Nullable:True /// </summary> public string Demo { get; set; } /// <summary> /// 储位深度 /// </summary> public int Dept { get; set; } } } Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -768,7 +768,7 @@ SupplierLot = supplierLot, InspectMark = "0", BitBoxMark = bNum > boxQty ? "1":"0", InspectStatus = "", InspectStatus = "0", ProductionTime = DateTime.Parse(productionTime), StoreTime = DateTime.Parse(storeTime), Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -469,6 +469,7 @@ //修改出库分配信息 allot.CompleteQty += pickQty; allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; Db.Updateable(allot).ExecuteCommand(); //删除库存明细 Db.Deleteable(stockDetail).ExecuteCommand(); @@ -642,6 +643,7 @@ //修改出库分配信息 allot.CompleteQty += pickQty; allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; if (allot.Status == "5") { //判断该托盘是否还存在物料 存在改为待回库 待回库完成后改为已完成 @@ -841,6 +843,7 @@ //修改出库分配信息 allot.CompleteQty += int.Parse(PickQty); allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; Db.Updateable(allot).ExecuteCommand(); int isDel = 0; @@ -1503,6 +1506,7 @@ OutMode = "",//出库口 CreateUser = userId, UpdateTime = DateTime.Now }; var fp = Db.Insertable(addAllot).ExecuteReturnEntity(); @@ -1887,6 +1891,7 @@ //修改出库分配信息 allot.CompleteQty += pickQty; allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; if (allot.Status == "5") { //判断该托盘是否还存在物料 存在改为待回库 待回库完成后改为已完成 @@ -2108,6 +2113,7 @@ OutMode = "",//出库口 CreateUser = userId, UpdateTime = DateTime.Now }; var fp = Db.Insertable(addAllot).ExecuteReturnEntity(); @@ -2351,6 +2357,8 @@ //修改出库分配信息 allot.CompleteQty += int.Parse(PickQty); allot.Status = allot.Qty == allot.CompleteQty ? "5" : "3"; allot.UpdateTime = DateTime.Now; Db.Updateable(allot).ExecuteCommand(); int isDel = 0; Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -392,6 +392,15 @@ { throw new Exception("未查到对应出库类型的物料"); } if (type!="8") { skuList = skuList.Where(m => m != "100088").ToList(); } else { skuList = skuList.Where(m => m == "100088").ToList(); } //skuList = sku.Select(m => m.SkuNo).ToList(); var stockRst = new StockServer(); var stockDetailRst = new StockDetailServer(); @@ -3013,6 +3022,8 @@ //库存明细 var stockList = Db.Queryable<DataStockDetail>().Where(a => stockIds.Contains(a.Id)).ToList(); //分配信息 var allots = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.SODetailNo == detail.Id && m.Status == "0").ToList(); //库存总表 //var stockz = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo); @@ -3030,6 +3041,10 @@ { throw new Exception("操作失败,出库数量超出库存数量!"); } var bl = allots.FirstOrDefault(m => m.StockId == st.StockId); if (bl == null) { //添加分配表信息 var allot = new BllExportAllot { @@ -3057,6 +3072,13 @@ CreateTime = DateTime.Now }; allotList.Add(allot); } else { bl.Qty += st.Qty; Db.Updateable(bl).ExecuteCommand(); } //库存明细 stock.LockQty += st.Qty; stock.Status = stock.LockQty == stock.Qty ? "2" : "1"; Wms/WMS.BLL/Logic/AllotSku.cs
@@ -2,6 +2,8 @@ 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; @@ -54,8 +56,10 @@ 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)//优先零箱(出完零箱出整箱) { @@ -218,6 +222,7 @@ //-------------------------------------------------------------------------------------------------------------- #region MyRegion ///// <summary> ///// 获得背包承重w,装货物o,从第k件向后考虑,得到的最大价值 @@ -260,5 +265,50 @@ // 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); } } } }