修复出库任务单同物料多条数据影响出库的bug
This commit is contained in:
@@ -100,7 +100,7 @@ namespace WMS.Web.Domain.Services
|
||||
return Result.ReFailure(ResultCodes.BoxOutStockTaskBoxError);
|
||||
}
|
||||
//上传的物料在任务单里没有找到不能出库
|
||||
var ex = dto.Details.Select(s => s.MaterialNumber).Except(outStockTask.Details.Select(s => s.MaterialNumber)).ToList();
|
||||
var ex = dto.Details.Select(s => s.MaterialNumber).Except(outStockTask.Details.Where(w => w.IsRepeal != true).Select(s => s.MaterialNumber)).ToList();
|
||||
if (ex.Count() > 0 && dto.Method == 2)
|
||||
return Result.ReFailure(ResultCodes.OutStockMaterialError);
|
||||
var boxIds = dto.Details.Select(s => s.BoxId).ToList();
|
||||
@@ -135,7 +135,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
if (b.Qty <= 0) continue;
|
||||
var num = boxInventoryDetails.Where(w => w.MaterialNumber == b.MaterialNumber).Sum(s => s.Qty);
|
||||
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == b.MaterialNumber);
|
||||
var taskDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == b.MaterialNumber && f.IsRepeal != true);
|
||||
if (taskDetail == null) return Result.ReFailure(ResultCodes.BoxOutStockTaskMaterialError);
|
||||
//箱子里该物料的总数量大于出库单(应出库数量-已出库数量) 不能出库
|
||||
if (num > (taskDetail.AccruedQty - taskDetail.RealityQty))
|
||||
@@ -155,7 +155,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var mid in mIds)
|
||||
{
|
||||
//任务单明细
|
||||
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == mid);
|
||||
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialNumber == mid && f.IsRepeal != true);
|
||||
var dtoDetails = dto.Details.Where(w => w.MaterialNumber == mid);
|
||||
var qty = dtoDetails.Sum(s => s.Qty);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user