erp材料出库单同步接口,材料出库与抽检业务编写,采购收货收货质检逻辑、采购订单同步接口完善、erp成品调拨入库同步

This commit is contained in:
2024-08-20 14:51:36 +08:00
parent 29fd420bb2
commit 6bac8c73b7
19 changed files with 1201 additions and 230 deletions

View File

@@ -338,7 +338,23 @@ namespace Tnb.WarehouseMgr
}
await _db.Updateable<WmsCarryH>().SetColumns(r => r.carry_status == ((int)EnumCarryStatus.).ToString()).Where(r => r.id == input.carry_id).ExecuteCommandAsync();
// todo 绑定记录表
WmsCarryH wmsCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.id == input.carry_id).FirstAsync();
WmsCarrybindH wmsCarrybindH = new WmsCarrybindH();
wmsCarrybindH.carry_id = input.carry_id;
wmsCarrybindH.carry_code = wmsCarryH.carry_code;
wmsCarrybindH.create_id = input.create_id;
wmsCarrybindH.create_time = DateTime.Now;
wmsCarrybindH.org_id = WmsWareHouseConst.AdministratorOrgId;
wmsCarrybindH.location_id = wmsCarryH.location_id;
wmsCarrybindH.location_code = wmsCarryH.location_code;
List<WmsCarrybindCode> wmsCarrybindCodes = new List<WmsCarrybindCode>();
var wmsCarrybindCode = input.Adapt<WmsCarrybindCode>();
wmsCarrybindCode.carrybind_id = wmsCarrybindH.id;
await _db.Insertable(wmsCarrybindH).ExecuteCommandAsync();
await _db.Insertable(wmsCarrybindCode).ExecuteCommandAsync();
return await ToApiResult(HttpStatusCode.OK, "成功");
}
@@ -382,12 +398,12 @@ namespace Tnb.WarehouseMgr
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);
throw new AppFriendlyException($"【MaterialByCarry】无法找到载具{input.carry_code}的执行任务", 500);
}
if (string.IsNullOrEmpty(wmsDistaskH.biz_type))
{
throw new AppFriendlyException($"【MaterialSign】载具{input.carry_code}任务{wmsDistaskH.bill_code}的业务类型异常", 500);
throw new AppFriendlyException($"【MaterialByCarry】载具{input.carry_code}任务{wmsDistaskH.bill_code}的业务类型异常", 500);
}
List<WmsCarryCode> wmsCarryCodes = _db.Queryable<WmsCarryCode>().Where(r => r.carry_id == wmsCarryH.id && r.codeqty > 0).ToList();
@@ -406,6 +422,7 @@ namespace Tnb.WarehouseMgr
foreach (WmsCarryCode wmsCarryCode in _wmsCarryCodes)
{
wmsCarryCode.carry_code = wmsCarryH.carry_code;
wmsCarryCode.biz_type = wmsDistaskH.biz_type;
if (wmsCarryCode.codeqty < wmsRawmatTransferoutstockC.sign_qty)
{
wmsCarryCode.sign_qty = wmsCarryCode.codeqty;
@@ -419,6 +436,35 @@ namespace Tnb.WarehouseMgr
}
}
break;
}
case WmsWareHouseConst.BIZTYPE_WmsRawmatOutstock_ID:
{
WmsRawmatOutstockC wmsRawmatOutstockC = await _db.Queryable<WmsRawmatOutstockC>()
.Where(r => r.mat_bill_id == wmsDistaskH.source_id && r.carry_id == wmsCarryH.id).FirstAsync();
if (wmsRawmatOutstockC != null)
{
// 返回默认签收数量
if (wmsRawmatOutstockC.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;
wmsCarryCode.biz_type = wmsDistaskH.biz_type;
if (wmsCarryCode.codeqty < wmsRawmatOutstockC.sign_qty)
{
wmsCarryCode.sign_qty = wmsCarryCode.codeqty;
wmsRawmatOutstockC.sign_qty -= wmsCarryCode.codeqty;
}
else
{
wmsCarryCode.sign_qty = wmsRawmatOutstockC.sign_qty;
}
}
}
}
break;
}
}