From bc500a125ac48116d74a593e90452207f8ac0af2 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Sat, 23 Mar 2024 15:19:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=5F?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=EF=BC=9A=E5=87=BA=E5=BA=93=E8=AE=A1?= =?UTF-8?q?=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/mes/wms/WmOutOrderService.cs | 74 +++++++++---------------- 1 file changed, 27 insertions(+), 47 deletions(-) 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; } }