调整出库反写

This commit is contained in:
18942506660
2023-11-08 14:35:07 +08:00
parent 48eb94f14e
commit 6bbe7acacf
4 changed files with 38 additions and 30 deletions

View File

@@ -80,6 +80,33 @@ namespace WMS.Web.Domain.Entitys
this.CreateTime = createTime;
}
/// <summary>
/// 出库 反写 任务单
/// </summary>
/// <param name="materialId"></param>
/// <param name="qty"></param>
/// <returns></returns>
public Result OutStock(int materialId, decimal qty)
{
var detail = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
if (detail == null) return Result.ReFailure(ResultCodes.OrderNoData);
if ((detail.AccruedQty - detail.RealityQty) < qty)
return Result.ReFailure(ResultCodes.OutStockQtyError);
if (detail.RealityQty <= 0)
detail.OutStockBeginTime = DateTime.Now;
detail.OutStockEndTime = DateTime.Now;
detail.RealityQty = detail.RealityQty + qty;
if (this.Details.Where(w => w.RealityQty >= w.AccruedQty).Count() == this.Details.Count())
this.Status = OutStockStatus.Already;
else
this.Status = OutStockStatus.Part;
return Result.ReSuccess();
}
/// <summary>
/// 生成单据号
/// </summary>
public void GenerateNo()
@@ -127,7 +154,7 @@ namespace WMS.Web.Domain.Entitys
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
var details = list.SelectMany(s => s.Details).ToList();
if (details.GroupBy(g => g.StockId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
//清空数据绑定