bug处理

This commit is contained in:
2024-06-24 13:01:42 +08:00
parent c0be9943f8
commit 7d6602ad12
6 changed files with 79 additions and 27 deletions

View File

@@ -54,14 +54,17 @@ namespace Tnb.WarehouseMgr
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<Entities.Dto.Outputs.Result> PrdInstock(WmsPrdInstockInput input)
public async Task<Entities.Dto.Outputs.Result> PrdInstock(WmsPrdInstockInput input, ISqlSugarClient dbConn = null)
{
Logger.LogInformation($"【PrdInstock】传入参数 {JsonConvert.SerializeObject(input)}");
var db = _db;
if (dbConn != null)
db = dbConn;
try
{
await _db.Ado.BeginTranAsync();
await db.Ado.BeginTranAsync();
WmsPrdInstockH prdInstockH = _db.Queryable<WmsPrdInstockH>().Where(r => r.prd_bill_code == input.prd_bill_code).First();
WmsPrdInstockH prdInstockH = db.Queryable<WmsPrdInstockH>().Where(r => r.prd_bill_code == input.prd_bill_code).First();
string prd_instock_code_id = "";
string type = "";
@@ -85,7 +88,7 @@ namespace Tnb.WarehouseMgr
wmsPrdInstockH.type = input.type;
//wmsPrdInstockH.status = WmsWareHouseConst.BILLSTATUS_ADD_ID;
await _db.Insertable(wmsPrdInstockH).ExecuteCommandAsync();
await db.Insertable(wmsPrdInstockH).ExecuteCommandAsync();
prd_instock_code_id = wmsPrdInstockH.id;
type = input.type;
@@ -94,7 +97,7 @@ namespace Tnb.WarehouseMgr
{
prd_instock_code_id = prdInstockH.id;
await _db.Updateable<WmsPrdInstockH>(r => new WmsPrdInstockH
await db.Updateable<WmsPrdInstockH>(r => new WmsPrdInstockH
{
pqty = input.pqty,
rqty = input.rqty
@@ -135,9 +138,9 @@ namespace Tnb.WarehouseMgr
});
}
await _db.Insertable(WmsPrdInstockDs).ExecuteCommandAsync();
await db.Insertable(WmsPrdInstockDs).ExecuteCommandAsync();
await _db.Insertable(WmsPrdInstockCodes).ExecuteCommandAsync();
await db.Insertable(WmsPrdInstockCodes).ExecuteCommandAsync();
foreach (WmsPrdInstockD wmsPrdInstockD in WmsPrdInstockDs)
{
@@ -150,7 +153,7 @@ namespace Tnb.WarehouseMgr
}
BasLocation endLocation = endLocations[0];
BasLocation startLocation = _db.Queryable<BasLocation>().Where(r => r.id == wmsPrdInstockD.startlocation_id).First();
BasLocation startLocation = db.Queryable<BasLocation>().Where(r => r.id == wmsPrdInstockD.startlocation_id).First();
if (startLocation == null)
{
throw new AppFriendlyException("系统中找不到起点ID的库位信息", 500);
@@ -165,8 +168,8 @@ namespace Tnb.WarehouseMgr
Logger.LogInformation($"【PrdInstock】注塑车间生产提报");
// 注塑线边库到24输送线
// 根据ZSSSXCTU01 ZSSSXCTU02任务数平均分配任务
endlocation_ssx = await _db.Queryable<BasLocation>().Where(r => new string[2] { "32624148726549", "32624157608981" }.Contains(r.id)).OrderBy("is_lock, task_nums, location_code").FirstAsync();
await _db.Updateable<BasLocation>().SetColumns(it => it.task_nums == it.task_nums + 1).Where(it => endlocation_ssx.id == it.id).ExecuteCommandAsync();
endlocation_ssx = await db.Queryable<BasLocation>().Where(r => new string[2] { "32624148726549", "32624157608981" }.Contains(r.id)).OrderBy("is_lock, task_nums, location_code").FirstAsync();
await db.Updateable<BasLocation>().SetColumns(it => it.task_nums == it.task_nums + 1).Where(it => endlocation_ssx.id == it.id).ExecuteCommandAsync();
// ZSSSXCTU01 对应 SSX-011-002
if (endlocation_ssx.location_code == "ZSSSXCTU01")
@@ -179,7 +182,7 @@ namespace Tnb.WarehouseMgr
startlocation_id_ssx = "32609093546005";
}
WmsCarryH wmsCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.id == wmsPrdInstockD.carry_id).FirstAsync();
WmsCarryH wmsCarryH = await db.Queryable<WmsCarryH>().Where(r => r.id == wmsPrdInstockD.carry_id).FirstAsync();
// 生成到输送线任务
CommonCreatePretaskInput commonCreatePretaskInput1 = new CommonCreatePretaskInput();
@@ -191,7 +194,7 @@ namespace Tnb.WarehouseMgr
commonCreatePretaskInput1.biz_type = "";
commonCreatePretaskInput1.require_id = wmsPrdInstockD.id;
commonCreatePretaskInput1.isExcuteMission = false;
Entities.Dto.Outputs.Result res1 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput1);
Entities.Dto.Outputs.Result res1 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput1, db);
if (res1.code != HttpStatusCode.OK)
{
throw new Exception($"注塑车间生成到输送线的任务失败 {res1.msg}");
@@ -208,7 +211,7 @@ namespace Tnb.WarehouseMgr
commonCreatePretaskInput2.require_id = wmsPrdInstockD.id;
commonCreatePretaskInput2.isChangeCarryLoc2StartLoc = false;
Entities.Dto.Outputs.Result res2 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput2);
Entities.Dto.Outputs.Result res2 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput2, db);
if (res2.code != HttpStatusCode.OK)
{
throw new Exception($"注塑车间生成到中储仓的任务失败 {res2.msg}");
@@ -217,7 +220,7 @@ namespace Tnb.WarehouseMgr
else if (type == "25019172714005")
{
Logger.LogInformation($"【PrdInstock】挤出车间生产提报");
WmsCarryH wmsCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.id == wmsPrdInstockD.carry_id).FirstAsync();
WmsCarryH wmsCarryH = await db.Queryable<WmsCarryH>().Where(r => r.id == wmsPrdInstockD.carry_id).FirstAsync();
// 生成到中储仓任务
CommonCreatePretaskInput commonCreatePretaskInput2 = new CommonCreatePretaskInput();
@@ -230,7 +233,7 @@ namespace Tnb.WarehouseMgr
commonCreatePretaskInput2.require_id = wmsPrdInstockD.id;
commonCreatePretaskInput2.isChangeCarryLoc2StartLoc = false;
Entities.Dto.Outputs.Result res2 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput2);
Entities.Dto.Outputs.Result res2 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput2, db);
if (res2.code != HttpStatusCode.OK)
{
throw new Exception($"挤出车间生成到中储仓的任务失败 {res2.msg}");
@@ -239,7 +242,7 @@ namespace Tnb.WarehouseMgr
else if (type == "25019191681045")
{
Logger.LogInformation($"【PrdInstock】包装车间生产提报");
WmsCarryH wmsCarryH = await _db.Queryable<WmsCarryH>().Where(r => r.id == wmsPrdInstockD.carry_id).FirstAsync();
WmsCarryH wmsCarryH = await db.Queryable<WmsCarryH>().Where(r => r.id == wmsPrdInstockD.carry_id).FirstAsync();
// 生成到中储仓任务
CommonCreatePretaskInput commonCreatePretaskInput2 = new CommonCreatePretaskInput();
@@ -252,7 +255,7 @@ namespace Tnb.WarehouseMgr
commonCreatePretaskInput2.require_id = wmsPrdInstockD.id;
commonCreatePretaskInput2.isChangeCarryLoc2StartLoc = false;
Entities.Dto.Outputs.Result res2 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput2);
Entities.Dto.Outputs.Result res2 = await _wareHouseService.CommonCreatePretask(commonCreatePretaskInput2, db);
if (res2.code != HttpStatusCode.OK)
{
throw new Exception($"包装车间生成到中储仓的任务失败 {res2.msg}");
@@ -262,13 +265,13 @@ namespace Tnb.WarehouseMgr
}
await _db.Ado.CommitTranAsync();
await db.Ado.CommitTranAsync();
}
catch (Exception ex)
{
Logger.Error(ex.Message);
Logger.Error(ex.StackTrace);
await _db.Ado.RollbackTranAsync();
await db.Ado.RollbackTranAsync();
return await ToApiResult(HttpStatusCode.InternalServerError, ex.Message);
}
finally