diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs index fdda9514..40ef0bf3 100644 --- a/ZR.Service/mes/wms/WmOutOrderService.cs +++ b/ZR.Service/mes/wms/WmOutOrderService.cs @@ -295,62 +295,24 @@ namespace ZR.Service.mes.wms string partnumber = material.Partnumber; - /*此物料下的最早列表 - List wmGoodsNows = Context.Queryable().Where(it => it.Partnumber == partnumber) - .OrderByDescending(it => it.EntryWarehouseTime).ToList(); - if (wmGoodsNows != null && wmGoodsNows.Count > 0) - { - - foreach (var witem in wmGoodsNows) - { - if (require_num >= witem.GoodsNumLogic) - { // 取出同一批次下列表 - string patchcode = witem.PackageCodeClient.Split("_")[0]; - List Samebatch_wmGoodsNows = Context.Queryable() - .Where(it => it.Partnumber == partnumber) - .Where(it => it.PackageCodeClient.StartsWith(patchcode)).ToList(); - 出货计划 - WmOutOrderPlan orderPlan = new WmOutOrderPlan(); - - orderPlan.FkOutOrderId = shipment_num; - - orderPlan.Patchcode = witem.PackageCodeClient; - orderPlan.MaterialCode = witem.Partnumber; - orderPlan.WarehouseCode = witem.LocationCode; - orderPlan.PackageNum = 1; - orderPlan.RequireNum = require_num; - orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); + // 该物料下 ,现有货物列表 + List wmGoodsNowsList = Context.Queryable() + .Where(it => it.Partnumber == partnumber) + .OrderByDescending(it => it.PackageCodeClient) + .ToList(); - wmOutOrderPlans.Add(orderPlan); + + - } - else - { - 一个箱子就可以做一个出货计划 - WmOutOrderPlan orderPlan = new WmOutOrderPlan(); - - orderPlan.FkOutOrderId = shipment_num; - - orderPlan.Patchcode = witem.PackageCodeClient; - orderPlan.MaterialCode = witem.Partnumber; - orderPlan.WarehouseCode = witem.LocationCode; - orderPlan.PackageNum = 1; - orderPlan.RequireNum = require_num; - orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); - } - } - }*/ - List wmGoodsNowsList = Context.Queryable().Where(it => it.Partnumber == partnumber) - .OrderByDescending(it => it.PackageCodeClient).ToList(); foreach (var witem in wmGoodsNowsList) { int accumulation_num = 0; @@ -370,8 +332,26 @@ namespace ZR.Service.mes.wms accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0; } - else - { //超了 + else + { + // 超过要用零头箱 + if(require_num- accumulation_num<= witem.GoodsNumLogic) + { + WmOutOrderPlan orderPlan = new WmOutOrderPlan(); + orderPlan.FkOutOrderId = shipment_num; + + orderPlan.Patchcode = witem.PackageCodeClient; + orderPlan.MaterialCode = witem.Partnumber; + orderPlan.WarehouseCode = witem.LocationCode; + orderPlan.PackageNum = int.Parse(witem.PackageCodeClient.Split("_")[1]); + orderPlan.RequireNum = require_num; + orderPlan.Patchtime = Resolution_bath(witem.PackageCodeClient); + wmOutOrderPlans.Add(orderPlan); + + accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0; + + } + break; } }