跨层与采购退货其他出库逻辑变更
This commit is contained in:
@@ -119,6 +119,7 @@ namespace Tnb.WarehouseMgr
|
||||
//.Where(a => a.status != "25065149810453")
|
||||
.WhereIF(queryJson != null && queryJson["type"] != null, a => a.type == queryJson["type"].ToString())
|
||||
.WhereIF(queryJson != null && queryJson["bill_code"] != null, a => a.bill_code.Contains(queryJson["bill_code"].ToString()))
|
||||
.WhereIF(queryJson != null && queryJson["status"] != null, a => a.status == queryJson["status"].ToString())
|
||||
.Select((a, b, c, d, e, f) => new WmsMaterialTransfer
|
||||
{
|
||||
id = a.id,
|
||||
@@ -144,7 +145,7 @@ namespace Tnb.WarehouseMgr
|
||||
order_code = a.order_code,
|
||||
erp_bill_code = a.erp_bill_code,
|
||||
})
|
||||
.OrderBy("a.bill_code desc")
|
||||
.OrderBy("a.create_time desc")
|
||||
.ToPagedListAsync(input.currentPage, input.pageSize);
|
||||
|
||||
var _data = PageResult<WmsMaterialTransfer>.SqlSugarPageResult(result);
|
||||
@@ -468,6 +469,7 @@ namespace Tnb.WarehouseMgr
|
||||
code_batch = c.code_batch,
|
||||
remainqty = d.actual_outstock_qty - d.rk_qty
|
||||
}).ToList();
|
||||
|
||||
return await ToApiResult(HttpStatusCode.OK, "成功", res);
|
||||
}
|
||||
|
||||
@@ -491,7 +493,7 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
throw new AppFriendlyException("来源其它出库单中的转库单明细id为空!", 500);
|
||||
}
|
||||
string materialtransferid = otherOutstockH.source_detail_id;
|
||||
string materialtransferdid = otherOutstockH.source_detail_id;
|
||||
OtherOutstockD otherOutstockD_first = await _db.Queryable<OtherOutstockD>().Where(r => r.fk_id == input.source_id).FirstAsync();
|
||||
|
||||
if (input.details.Count == 0)
|
||||
@@ -512,7 +514,7 @@ namespace Tnb.WarehouseMgr
|
||||
});
|
||||
|
||||
await _s_taskExecuteSemaphore_F1ZCCInstock.WaitAsync();
|
||||
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == materialtransferid);
|
||||
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == materialtransferdid);
|
||||
WmsMaterialTransfer wmsMaterialTransfer = await _db.Queryable<WmsMaterialTransfer>().FirstAsync(it => it.id == wmsMaterialTransferD.bill_id);
|
||||
|
||||
if (wmsMaterialTransferD.yxfqty_rk >= wmsMaterialTransferD.qty)
|
||||
@@ -556,7 +558,7 @@ namespace Tnb.WarehouseMgr
|
||||
commonCreatePretaskInput.endlocation_id = endLocation.id;
|
||||
commonCreatePretaskInput.task_type = WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID;
|
||||
commonCreatePretaskInput.biz_type = WmsWareHouseConst.BIZTYPE_WMSMATERIALTRANSFER_ID;
|
||||
commonCreatePretaskInput.source_id = materialtransferid;
|
||||
commonCreatePretaskInput.source_id = materialtransferdid;
|
||||
commonCreatePretaskInput.carry_id = wmsCarryHs[index].id;
|
||||
commonCreatePretaskInput.carry_code = wmsCarryHs[index].carry_code;
|
||||
commonCreatePretaskInput.isExcuteMission = false;
|
||||
@@ -593,7 +595,7 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
|
||||
// 更新子表已下发数量
|
||||
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + qty).Where(r => r.id == materialtransferid).ExecuteCommandAsync();
|
||||
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + qty).Where(r => r.id == materialtransferdid).ExecuteCommandAsync();
|
||||
|
||||
await _db.Ado.CommitTranAsync();
|
||||
}
|
||||
@@ -1570,6 +1572,13 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
throw new AppFriendlyException("来源单据id不可为空", 500);
|
||||
}
|
||||
OtherOutstockH otherOutstockH = await _db.Queryable<OtherOutstockH>().Where(r => r.id == input.source_id).FirstAsync();
|
||||
if (string.IsNullOrEmpty(otherOutstockH.source_detail_id))
|
||||
{
|
||||
throw new AppFriendlyException("来源其它出库单中的转库单明细id为空!", 500);
|
||||
}
|
||||
string materialtransferdid = otherOutstockH.source_detail_id;
|
||||
OtherOutstockD otherOutstockD_first = await _db.Queryable<OtherOutstockD>().Where(r => r.fk_id == input.source_id).FirstAsync();
|
||||
|
||||
if (string.IsNullOrEmpty(input.carry_code))
|
||||
{
|
||||
@@ -1581,11 +1590,11 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException("数量必须大于0", 500);
|
||||
}
|
||||
|
||||
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == input.source_id);
|
||||
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == materialtransferdid);
|
||||
if (wmsMaterialTransferD == null)
|
||||
{
|
||||
Logger.LogWarning($"不存在id为{input.source_id}的转库单明细!");
|
||||
throw new AppFriendlyException($"不存在id为{input.source_id}的转库单明细!", 500);
|
||||
Logger.LogWarning($"不存在id为{materialtransferdid}的转库单明细!");
|
||||
throw new AppFriendlyException($"不存在id为{materialtransferdid}的转库单明细!", 500);
|
||||
}
|
||||
|
||||
if (wmsMaterialTransferD.yxfqty_rk >= wmsMaterialTransferD.yzqty)
|
||||
@@ -1648,7 +1657,7 @@ namespace Tnb.WarehouseMgr
|
||||
commonCreatePretaskInput.task_type = WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID;
|
||||
commonCreatePretaskInput.biz_type = WmsWareHouseConst.BIZTYPE_WMSMATERIALTRANSFER_ID;
|
||||
// 转库单id
|
||||
commonCreatePretaskInput.source_id = input.source_id;
|
||||
commonCreatePretaskInput.source_id = materialtransferdid;
|
||||
commonCreatePretaskInput.carry_id = wmsCarryH.id;
|
||||
commonCreatePretaskInput.carry_code = wmsCarryH.carry_code;
|
||||
commonCreatePretaskInput.isExcuteMission = false;
|
||||
@@ -1673,13 +1682,15 @@ namespace Tnb.WarehouseMgr
|
||||
carryMaterialDetail.code_batch = wmsMaterialTransferD.code_batch;
|
||||
carryMaterialDetail.barcode = wmsCarryH.carry_code;
|
||||
carryMaterialDetail.unit_id = wmsMaterialTransferD.unit_id;
|
||||
carryMaterialDetail.auxprop_gys = otherOutstockD_first.auxprop_gys;
|
||||
carryMaterialDetail.auxprop_xph = otherOutstockD_first.auxprop_xph;
|
||||
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<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + input.qty).Where(r => r.id == input.source_id).ExecuteCommandAsync();
|
||||
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + input.qty).Where(r => r.id == materialtransferdid).ExecuteCommandAsync();
|
||||
|
||||
await _db.Ado.CommitTranAsync();
|
||||
}
|
||||
@@ -2254,6 +2265,13 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
throw new AppFriendlyException("来源单据id不可为空", 500);
|
||||
}
|
||||
OtherOutstockH otherOutstockH = await _db.Queryable<OtherOutstockH>().Where(r => r.id == input.source_id).FirstAsync();
|
||||
if (string.IsNullOrEmpty(otherOutstockH.source_detail_id))
|
||||
{
|
||||
throw new AppFriendlyException("来源其它出库单中的转库单明细id为空!", 500);
|
||||
}
|
||||
string materialtransferdid = otherOutstockH.source_detail_id;
|
||||
OtherOutstockD otherOutstockD_first = await _db.Queryable<OtherOutstockD>().Where(r => r.fk_id == input.source_id).FirstAsync();
|
||||
|
||||
if (string.IsNullOrEmpty(input.carry_code))
|
||||
{
|
||||
@@ -2265,10 +2283,10 @@ namespace Tnb.WarehouseMgr
|
||||
throw new AppFriendlyException("数量必须大于0", 500);
|
||||
}
|
||||
|
||||
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == input.source_id);
|
||||
WmsMaterialTransferD wmsMaterialTransferD = await _db.Queryable<WmsMaterialTransferD>().FirstAsync(it => it.id == materialtransferdid);
|
||||
if (wmsMaterialTransferD == null)
|
||||
{
|
||||
throw new AppFriendlyException($"不存在id为{input.source_id}的转库单明细!", 500);
|
||||
throw new AppFriendlyException($"不存在id为{materialtransferdid}的转库单明细!", 500);
|
||||
}
|
||||
|
||||
if (wmsMaterialTransferD.yxfqty_rk >= wmsMaterialTransferD.yzqty)
|
||||
@@ -2334,7 +2352,7 @@ namespace Tnb.WarehouseMgr
|
||||
commonCreatePretaskInput.task_type = WmsWareHouseConst.WMS_PRETASK_INSTOCK_TYPE_ID;
|
||||
commonCreatePretaskInput.biz_type = WmsWareHouseConst.BIZTYPE_WMSMATERIALTRANSFER_ID;
|
||||
// 转库单id
|
||||
commonCreatePretaskInput.source_id = input.source_id;
|
||||
commonCreatePretaskInput.source_id = materialtransferdid;
|
||||
commonCreatePretaskInput.carry_id = wmsCarryH.id;
|
||||
commonCreatePretaskInput.carry_code = wmsCarryH.carry_code;
|
||||
commonCreatePretaskInput.isExcuteMission = false;
|
||||
@@ -2358,13 +2376,15 @@ namespace Tnb.WarehouseMgr
|
||||
carryMaterialDetail.code_batch = wmsMaterialTransferD.code_batch;
|
||||
carryMaterialDetail.barcode = wmsCarryH.carry_code;
|
||||
carryMaterialDetail.unit_id = wmsMaterialTransferD.unit_id;
|
||||
carryMaterialDetail.auxprop_gys = otherOutstockD_first.auxprop_gys;
|
||||
carryMaterialDetail.auxprop_xph = otherOutstockD_first.auxprop_xph;
|
||||
carryMaterialDetails.Add(carryMaterialDetail);
|
||||
carryMaterialBindInput.details = carryMaterialDetails;
|
||||
await _wmsCarryBindService.CarryMaterialBind(carryMaterialBindInput, _db);
|
||||
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();
|
||||
await _db.Updateable<WmsMaterialTransferD>().SetColumns(r => r.yxfqty_rk == r.yxfqty_rk + input.qty).Where(r => r.id == materialtransferdid).ExecuteCommandAsync();
|
||||
|
||||
await _db.Ado.CommitTranAsync();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user