PC原材料调拨出库与PDA签收逻辑完善
This commit is contained in:
@@ -379,8 +379,51 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException($"【MaterialByCarry】托盘{input.carry_code}不存在", 500);
|
||||
}
|
||||
|
||||
WmsDistaskH wmsDistaskH = await _db.Queryable<WmsDistaskH>().Where(r => r.carry_id == wmsCarryH.id).OrderByDescending(r => r.id).FirstAsync();
|
||||
if (wmsDistaskH == null)
|
||||
{
|
||||
throw new AppFriendlyException($"【MaterialSign】无法找到载具{input.carry_code}的执行任务", 500);
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(wmsDistaskH.biz_type))
|
||||
{
|
||||
throw new AppFriendlyException($"【MaterialSign】载具{input.carry_code}任务{wmsDistaskH.bill_code}的业务类型异常", 500);
|
||||
}
|
||||
List<WmsCarryCode> wmsCarryCodes = _db.Queryable<WmsCarryCode>().Where(r => r.carry_id == wmsCarryH.id && r.codeqty > 0).ToList();
|
||||
|
||||
switch (wmsDistaskH.biz_type)
|
||||
{
|
||||
case WmsWareHouseConst.BIZTYPE_WmsRawmatTransferoutstock_ID:
|
||||
{
|
||||
WmsRawmatTransferoutstockC wmsRawmatTransferoutstockC = await _db.Queryable<WmsRawmatTransferoutstockC>()
|
||||
.Where(r => r.mat_bill_id == wmsDistaskH.source_id && r.carry_id == wmsCarryH.id).FirstAsync();
|
||||
if (wmsRawmatTransferoutstockC != null)
|
||||
{
|
||||
// 返回默认签收数量
|
||||
if (wmsRawmatTransferoutstockC.sign_qty > 0)
|
||||
{
|
||||
List<WmsCarryCode> _wmsCarryCodes = wmsCarryCodes.Where(r => r.carry_id == wmsCarryH.id).ToList();
|
||||
foreach (WmsCarryCode wmsCarryCode in _wmsCarryCodes)
|
||||
{
|
||||
wmsCarryCode.carry_code = wmsCarryH.carry_code;
|
||||
if (wmsCarryCode.codeqty < wmsRawmatTransferoutstockC.sign_qty)
|
||||
{
|
||||
wmsCarryCode.sign_qty = wmsCarryCode.codeqty;
|
||||
wmsRawmatTransferoutstockC.sign_qty -= wmsCarryCode.codeqty;
|
||||
}
|
||||
else
|
||||
{
|
||||
wmsCarryCode.sign_qty = wmsRawmatTransferoutstockC.sign_qty;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return await ToApiResult(HttpStatusCode.OK, "成功", wmsCarryCodes);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
Reference in New Issue
Block a user