diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs index adfe188e..de44a27b 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs @@ -13,7 +13,7 @@ namespace ZR.Admin.WebApi.Controllers /// /// 出库货物记录表 /// - [Verify] + // [Verify] [Route("/mes/wm/WmGoodsOutProduction")] public class WmGoodsOutProductionController : BaseController { diff --git a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs index 1301ff7c..96f034de 100644 --- a/ZR.Service/mes/wms/WmGoodsOutProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsOutProductionService.cs @@ -29,12 +29,11 @@ namespace ZR.Service.mes.wms { int total = 0; var predicate = Expressionable.Create() - .AndIF(!string.IsNullOrEmpty(parm.Partnumber),it=>it.Partnumber.Contains(parm.Partnumber)) - .AndIF(!string.IsNullOrEmpty(parm.PackageCodeClient),it=>it.PackageCodeClient.Contains(parm.PackageCodeClient)) - .AndIF(!string.IsNullOrEmpty(parm.LocationCode),it=>it.LocationCode.Contains(parm.LocationCode)) - .AndIF(!string.IsNullOrEmpty(parm.FkOutOrderId),it=>it.FkOutOrderId.Contains(parm.FkOutOrderId)) + .AndIF(!string.IsNullOrEmpty(parm.Partnumber), wgo => wgo.Partnumber.Contains(parm.Partnumber)) + .AndIF(!string.IsNullOrEmpty(parm.PackageCodeClient), wgo => wgo.PackageCodeClient.Contains(parm.PackageCodeClient)) + .AndIF(!string.IsNullOrEmpty(parm.LocationCode), wgo => wgo.LocationCode.Contains(parm.LocationCode)) + .AndIF(!string.IsNullOrEmpty(parm.FkOutOrderId), wgo => wgo.FkOutOrderId.Contains(parm.FkOutOrderId)) ; - var response = Queryable() .LeftJoin((wgo, wml) => wgo.Partnumber == wml.Partnumber) .Where(predicate.ToExpression()) diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs index 866b40da..42414edf 100644 --- a/ZR.Service/mes/wms/WmOutOrderService.cs +++ b/ZR.Service/mes/wms/WmOutOrderService.cs @@ -275,7 +275,7 @@ namespace ZR.Service.mes.wms //现有零件数 int? num = Context.Queryable() .Where(it => it.Partnumber == stock.Partnumber) - .Sum(it => it.GoodsNumLogic); + .Sum(it => it.GoodsNumAction); stock.ItemNum = num ?? 0; } } @@ -311,14 +311,18 @@ namespace ZR.Service.mes.wms // 该物料下 ,现有货物列表,零件号相同,根据批次号从小到大排序 List wmGoodsNowsList = Context.Queryable() .Where(it => it.Partnumber == partnumber) - .OrderByDescending(it => it.PackageCodeClient) + .OrderBy(it => it.PackageCodeClient) .ToList(); + // 计算批次零件总数 + //int totalPartnumberNum = Context.Queryable() + //.Where(it => it.Partnumber == partnumber) + //.Sum(it => it.GoodsNumAction) ?? 0; // 判断要出多少批次的货 List wmOutOrderPlans = new List(); + // 当前累计批次货物总数 + int accumulation_num = 0; foreach (var witem in wmGoodsNowsList) { - // 当前累计批次货物总数 - int accumulation_num = 0; if (require_num >= accumulation_num) { WmOutOrderPlan orderPlan = new WmOutOrderPlan(); @@ -328,7 +332,8 @@ namespace ZR.Service.mes.wms orderPlan.MaterialCode = witem.Partnumber; orderPlan.WarehouseCode = witem.LocationCode; orderPlan.PackageNum = material.PackageNum; - orderPlan.PartnumberNum = material.ItemNum; + // 获得批次的总零件数 + orderPlan.PartnumberNum = witem.GoodsNumAction; orderPlan.RequireNum = require_num; orderPlan.Patchtime = Resolution_bath(witem.PackageCodeOriginal); wmOutOrderPlans.Add(orderPlan); @@ -344,12 +349,12 @@ namespace ZR.Service.mes.wms WmOutOrderPlan { FkOutOrderId = g.Max(p => p.FkOutOrderId), - Patchcode = g.Max(p => p.Patchcode), + Patchcode = g.Max(p => p.Patchcode_short), Patchcode_short = g.Max(p => p.Patchcode_short), WarehouseCode = g.Max(p => p.WarehouseCode), MaterialCode = g.Max(p => p.MaterialCode), PackageNum = g.Count(), - PartnumberNum = g.Max(p => p.PartnumberNum), + PartnumberNum = g.Sum(p=>p.PartnumberNum), RequireNum = g.Max(p => p.RequireNum), Patchtime = g.Max(p => p.Patchtime), }).ToList();