This commit is contained in:
2024-09-20 13:55:28 +08:00
parent 1dcdaaf5b3
commit 755f6e9c44
2 changed files with 47 additions and 14 deletions

View File

@@ -544,10 +544,12 @@ namespace Tnb.WarehouseMgr
thirdWebapiRecord.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}";
await _db.Insertable(thirdWebapiRecord).ExecuteCommandAsync();
Logger.LogInformation("【WmsMaterialTransferService ModifyAsync】同步其它出库单到erp成功");
Logger.LogInformation("【WmsMaterialSignHService ModifyAsync】同步其它出库单到erp成功");
if (!_wareHouseService.GetFloor1WXSGWOutstockLocation().Contains(carryLoc.id))
if (wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_JZGLRK_CODE
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_QTCRK_CODE
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_PACKING_CODE)
{
// todo 对接其它入库单 入库数量为签收数量
@@ -615,6 +617,7 @@ namespace Tnb.WarehouseMgr
thirdWebapiRecord2.remark = $"原材料转库单wms_material_transfer:{wmsMaterialTransfer.bill_code}";
await _db.Insertable(thirdWebapiRecord2).ExecuteCommandAsync();
Logger.LogInformation("【WmsMaterialSignHService ModifyAsync】同步其它入库单到erp成功");
}
break;
}

View File

@@ -327,10 +327,10 @@ namespace Tnb.WarehouseMgr
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == input.source_id);
WmsMaterialTransfer wmsMaterialTransfer = await _db.Queryable<WmsMaterialTransfer>().FirstAsync(it => it.id == wmsMaterialTransferD.bill_id);
if (wmsMaterialTransferD.yxfqty >= wmsMaterialTransferD.qty)
{
throw new AppFriendlyException("已下发数量已达到转库数量", 500);
}
//if (wmsMaterialTransferD.yxfqty >= wmsMaterialTransferD.qty)
//{
// throw new AppFriendlyException("已下发数量已达到转库数量", 500);
//}
await _db.Ado.BeginTranAsync();
@@ -1065,7 +1065,9 @@ namespace Tnb.WarehouseMgr
await sign(input);
// 其它入库
if (wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_WXDBRK_CODE)
if (wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_WXDBRK_CODE
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_CROSSLAYER_CODE
|| wmsMaterialTransfer.type == WmsWareHouseConst.MATERIALTRANSFER_WXDBOUTWAREHOUSE_CODE)
{
Logger.LogInformation("【WmsMaterialTransferService ModifyAsync】同步其它入库单到erp...");
@@ -1855,8 +1857,35 @@ namespace Tnb.WarehouseMgr
// Logger.LogWarning($"【RackAndMatByWorkstation】工位{input.work_station}绑定的{wmsCarryH.carry_code}载具不是料架类型!请检查");
// continue;
//}
if (wmsCarryH.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID || wmsCarryH.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID)
{
var matCodes = _db.Queryable<WmsCarryCode>()
.InnerJoin<BasMaterial>((a, b) => a.material_id == b.id)
.Where((a, b) => a.carry_id == wmsCarryH.id)
.Select((a, b) => new
{
a.org_id,
a.material_id,
a.material_code,
material_name = b.name,
a.material_specification,
a.unit_id,
a.barcode,
a.code_batch,
a.codeqty,
a.create_id,
a.create_time
}).ToList();
var matCodes = _db.Queryable<WmsCarryD>()
JObject pairs = new JObject();
pairs["carry_id"] = wmsCarryH.id;
pairs["carry_code"] = wmsCarryH.carry_code;
pairs["details"] = JArray.Parse(JsonConvert.SerializeObject(matCodes));
jArray.Add(pairs);
}
else
{
var matCodes = _db.Queryable<WmsCarryD>()
.InnerJoin<WmsCarryCode>((a, b) => a.membercarry_id == b.carry_id)
.InnerJoin<BasMaterial>((a, b, c) => b.material_id == c.id)
.Where((a, b, c) => a.carry_id == wmsCarryH.id)
@@ -1877,11 +1906,12 @@ namespace Tnb.WarehouseMgr
b.create_time
}).ToList();
JObject pairs = new JObject();
pairs["carry_id"] = wmsCarryH.id;
pairs["carry_code"] = wmsCarryH.carry_code;
pairs["details"] = JArray.Parse(JsonConvert.SerializeObject(matCodes));
jArray.Add(pairs);
JObject pairs = new JObject();
pairs["carry_id"] = wmsCarryH.id;
pairs["carry_code"] = wmsCarryH.carry_code;
pairs["details"] = JArray.Parse(JsonConvert.SerializeObject(matCodes));
jArray.Add(pairs);
}
}
return await ToApiResult(HttpStatusCode.OK, jArray);
}
@@ -2331,7 +2361,7 @@ namespace Tnb.WarehouseMgr
carryMaterialDetails.Add(carryMaterialDetail);
carryMaterialBindInput.details = carryMaterialDetails;
await _wmsCarryBindService.CarryMaterialBind(carryMaterialBindInput, _db);
await _db.Updateable<WmsCarryH>().SetColumns(r => r.carry_status == "1").Where(r => r.id == wmsCarryH.id).ExecuteCommandAsync();
await _db.Updateable<WmsCarryH>().SetColumns(r => r.carry_status == "3").Where(r => r.id == wmsCarryH.id).ExecuteCommandAsync();
// 更新子表已下发数量
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + input.qty).Where(r => r.id == input.source_id).ExecuteCommandAsync();