修复出库任务单同物料多条数据影响出库的bug
This commit is contained in:
@@ -115,7 +115,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
if (this.Status == OutStockStatus.Repeal)
|
||||
return Result<List<(int erpDetailId, decimal qty)>>.ReFailure(ResultCodes.OutStockTaskRepeal);
|
||||
|
||||
var detail = this.Details.FirstOrDefault(f => f.MaterialNumber == materialNumber);
|
||||
var detail = this.Details.FirstOrDefault(f => f.MaterialNumber == materialNumber && f.IsRepeal != true);
|
||||
if (detail == null) return Result<List<(int erpDetailId, decimal qty)>>.ReFailure(ResultCodes.OrderNoData);
|
||||
if ((detail.AccruedQty - detail.RealityQty) < qty)
|
||||
return Result<List<(int erpDetailId, decimal qty)>>.ReFailure(ResultCodes.OutStockQtyError);
|
||||
@@ -255,7 +255,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
if (list.GroupBy(g => g.OrgCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
var details = list.SelectMany(s => s.Details).ToList().Clone();
|
||||
var details = list.SelectMany(s => s.Details).Where(w => w.IsRepeal != true).ToList().Clone();
|
||||
if (list.GroupBy(g => g.StockCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
List<OutStockTaskDetails> details_new = new List<OutStockTaskDetails>();
|
||||
|
||||
@@ -264,7 +264,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
{
|
||||
d.Id = 0;
|
||||
d.Fid = 0;
|
||||
var detail_new = details_new.FirstOrDefault(f => f.MaterialNumber == d.MaterialNumber);
|
||||
var detail_new = details_new.FirstOrDefault(f => f.MaterialNumber == d.MaterialNumber && f.IsRepeal != true);
|
||||
if (detail_new != null)
|
||||
{
|
||||
detail_new.AccruedQty += d.AccruedQty;//应出数量累加
|
||||
|
||||
Reference in New Issue
Block a user