diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 01da9cef..eb51fcc8 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -166,21 +166,20 @@ namespace WMS.Web.Domain.Services result.SourceBillNo = tast.SourceBillNo; result.TaskId = tast.Id; result.BoxId = box.Id; - foreach (var item in box.Details) + foreach (var item in tast.Details) { - //这里找任务单的物料条件:物料ID和应入库数量大于收货数量,防止有同样的物料数据,收货的时候 会有收货数量,只要找到没有收完的就行了 - var current_task_Det = tast.Details.Where(x => x.MaterialId == item.MaterialId && x.AccruedQty > x.ReceiveQty).FirstOrDefault(); + //这里找箱的物料条件 + var current_box_Det = box.Details.Where(x => x.MaterialId == item.MaterialId).FirstOrDefault(); //3.2映射返回明细对象 var box_task_detail = new BoxDetailsInStockTaskDto(); - box_task_detail.SupplierId = current_task_Det == null ? 0 : current_task_Det.SupplierId; - box_task_detail.OrgId = current_task_Det == null ? 0 : current_task_Det.OrgId; - box_task_detail.ReceiveQty = current_task_Det == null ? 0 : current_task_Det.ReceiveQty; - box_task_detail.AccruedQty = current_task_Det == null ? 0 : current_task_Det.AccruedQty; - box_task_detail.ErpDetailId= current_task_Det == null ? 0 : current_task_Det.ErpDetailId; - + box_task_detail.SupplierId = item.SupplierId; + box_task_detail.OrgId = item.OrgId; + box_task_detail.ReceiveQty = item.ReceiveQty; + box_task_detail.AccruedQty = item.AccruedQty; + box_task_detail.ErpDetailId= item.ErpDetailId; box_task_detail.MaterialId = item.MaterialId; - box_task_detail.BoxMaterialQty = item.Qty; + box_task_detail.BoxMaterialQty = current_box_Det==null?0:current_box_Det.Qty; box_task_detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, item.MaterialId); box_task_detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, item.MaterialId); box_task_detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, item.MaterialId);