PC原材料调拨出库与PDA签收逻辑完善

This commit is contained in:
2024-08-20 01:26:44 +08:00
parent 06610549b0
commit 29fd420bb2
9 changed files with 248 additions and 24 deletions

View File

@@ -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)