|
|
@ -128,5 +128,27 @@ public class SplitPackingRecAppService : |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
///
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="fromPackCode">from箱码</param>
|
|
|
|
/// <param name="inputQty">数量</param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpGet("check-split-num")] |
|
|
|
public async Task<bool> CheckSplitNum(string fromPackCode, decimal inputQty) |
|
|
|
{ |
|
|
|
var lst = await _splitPackingRecManager.GetAllByFromPackingCode(fromPackCode).ConfigureAwait(false); |
|
|
|
var originObj = lst.FirstOrDefault(itm => itm.FromPackingCode == fromPackCode && itm.OprType == OprTypeEnum.Other); |
|
|
|
if (originObj == null) |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"[CheckSplitNum]拆箱记录表没有数据:fromPackCode={fromPackCode},OprType={OprTypeEnum.Other}"); |
|
|
|
} |
|
|
|
var splitLst = lst.Where(itm => itm.FromPackingCode == fromPackCode && itm.OprType == OprTypeEnum.SplitBox); |
|
|
|
decimal splitSum = splitLst.Sum(itm => itm.ToQty); |
|
|
|
decimal overplusQty = originObj.FromQty - splitSum; |
|
|
|
return overplusQty >= inputQty; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|