From 1a76482a74af190a449a3dfc5e6efa5cb7f6e615 Mon Sep 17 00:00:00 2001 From: zhou keda <1315948824@qq.com> Date: Fri, 11 Oct 2024 10:58:26 +0800 Subject: [PATCH 1/2] bug --- .../PrdMaterialReceiptService.cs | 36 ++++++++++++------- .../Tnb.WarehouseMgr/WareHouseService.cs | 9 ++--- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs index 41d92746..bb4b8c67 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs @@ -598,7 +598,7 @@ namespace Tnb.ProductionMgr throw Oops.Bah("来源id为空"); } - var db = _repository.CopyNew(); + var db = _repository.AsSugarClient(); PrdMoTask moTask = await db.Queryable().SingleAsync(x => x.id == input.requireId); if (moTask == null) { @@ -611,6 +611,8 @@ namespace Tnb.ProductionMgr List insertFHList = new List(); List insertFDList = new List(); List clearCarryIds = new List(); + List deleteCarryCodeIds = new List(); + List deleteCarryDIds = new List(); string orgId = WmsWareHouseConst.AdministratorOrgId; // string userId = moTask.worker_id; string userId = WmsWareHouseConst.AdministratorUserId; @@ -748,9 +750,9 @@ namespace Tnb.ProductionMgr // { // throw Oops.Bah(result.msg); // } - - int row = await db.Deleteable().Where(r => r.carry_id == detail.member_carry_id).ExecuteCommandAsync(); - Log.Information($"载具{detail.member_carry_id}已解绑,解绑条数{row}"); + deleteCarryCodeIds.Add(detail.member_carry_id); + // int row = await db.Deleteable().Where(r => r.carry_id == detail.member_carry_id).ExecuteCommandAsync(); + // Log.Information($"载具{detail.member_carry_id}已解绑,解绑条数{row}"); } } @@ -768,8 +770,9 @@ namespace Tnb.ProductionMgr // throw Oops.Bah(result.msg); // } - int row = await db.Deleteable().Where(r => r.carry_id == carry.id).ExecuteCommandAsync(); - Log.Information($"载具{carry.id}已解绑,解绑条数{row}"); + deleteCarryCodeIds.Add(carry.id); + // int row = await db.Deleteable().Where(r => r.carry_id == carry.id).ExecuteCommandAsync(); + // Log.Information($"载具{carry.id}已解绑,解绑条数{row}"); } } else @@ -796,21 +799,23 @@ namespace Tnb.ProductionMgr // throw Oops.Bah(result2.msg); // } - int row = await db.Deleteable().Where(r => r.carry_id == prdMaterialReceiptH.carry_id).ExecuteCommandAsync(); - Log.Information($"载具{prdMaterialReceiptH.carry_id}已解绑,解绑条数{row}"); + deleteCarryDIds.Add(prdMaterialReceiptH.carry_id); + // int row = await db.Deleteable().Where(r => r.carry_id == prdMaterialReceiptH.carry_id).ExecuteCommandAsync(); + // Log.Information($"载具{prdMaterialReceiptH.carry_id}已解绑,解绑条数{row}"); } } + await db.Updateable().SetColumns(r => new WmsCarryH + { + work_station = "" + }).Where(r => input.carryIds.Contains(r.id)).ExecuteCommandAsync(); + Log.Information($"清空载具信息:{JsonConvert.SerializeObject(clearCarryIds)}"); string carryStatus = ((int)EnumCarryStatus.空闲).ToString(); string isCheck = ((int)EnumCheckConclusion.待检).ToString(); foreach(string carryId in clearCarryIds) { - string sql = $"update wms_carry_h set carry_status='0',is_check='8' where id='{carryId}';"; - Log.Information($"自动签收更新载具sql:{sql}"); - await db.Ado.ExecuteCommandAsync(sql); - Log.Information($"用SQL更新载具{carryId}状态为空闲{carryStatus},检验为{isCheck}成功"); await db.Updateable() .SetColumns(x => x.carry_status == carryStatus) .SetColumns(x => x.is_check == isCheck) @@ -823,6 +828,13 @@ namespace Tnb.ProductionMgr { throw Oops.Bah(ErrorCode.COM1000); } + + + int dRow1 = await db.Deleteable().Where(r => deleteCarryDIds.Contains(r.carry_id)).ExecuteCommandAsync(); + Log.Information($"子载具{JsonConvert.SerializeObject(deleteCarryDIds)}已解绑,解绑条数{dRow1}"); + + int dRow2 = await db.Deleteable().Where(r => deleteCarryCodeIds.Contains(r.carry_id)).ExecuteCommandAsync(); + Log.Information($"载具条码{JsonConvert.SerializeObject(deleteCarryDIds)}已解绑,解绑条数{dRow2}"); int row1 = await db.Insertable(insertHList).ExecuteCommandAsync(); int row2 = await db.Insertable(insertDList).ExecuteCommandAsync(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index d91a219a..d8888034 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -3171,10 +3171,11 @@ namespace Tnb.WarehouseMgr // 二楼物料呼叫任务结束后清空工位信息 else if (dt.biz_type == "FloorCallMaterial") { - await db.Updateable().SetColumns(r => new WmsCarryH - { - work_station = "" - }).Where(r => r.id == dt.carry_id).ExecuteCommandAsync(); + //放到ModifyAsync + // await db.Updateable().SetColumns(r => new WmsCarryH + // { + // work_station = "" + // }).Where(r => r.id == dt.carry_id).ExecuteCommandAsync(); //await QTRK2BIP(dt, db); // require_code是任务单 From 7142f40a105562d03062d4f2d04d87158df8f816 Mon Sep 17 00:00:00 2001 From: zhou keda <1315948824@qq.com> Date: Fri, 11 Oct 2024 11:05:08 +0800 Subject: [PATCH 2/2] 1 --- .../PrdMaterialReceiptService.cs | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs index bb4b8c67..e2d47405 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs @@ -43,6 +43,7 @@ namespace Tnb.ProductionMgr { private const string BizTypeId = "FloorCallMaterial"; private readonly ISqlSugarRepository _repository; + private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IOrganizeService _organizeService; private readonly IBillRullService _billRullService; @@ -63,6 +64,7 @@ namespace Tnb.ProductionMgr ) { _repository = repository; + _db = _repository.AsSugarClient(); _userManager = userManager; _organizeService = organizeService; _billRullService = billRullService; @@ -598,8 +600,8 @@ namespace Tnb.ProductionMgr throw Oops.Bah("来源id为空"); } - var db = _repository.AsSugarClient(); - PrdMoTask moTask = await db.Queryable().SingleAsync(x => x.id == input.requireId); + // var db = _repository.AsSugarClient(); + PrdMoTask moTask = await _db.Queryable().SingleAsync(x => x.id == input.requireId); if (moTask == null) { throw Oops.Bah($"未找到来源id为{input.requireId}的生产任务单"); @@ -623,7 +625,7 @@ namespace Tnb.ProductionMgr foreach(string carryId in input.carryIds) { clearCarryIds.Add(carryId); - WmsCarryH carry = await db.Queryable().SingleAsync(x => x.id == carryId); + WmsCarryH carry = await _db.Queryable().SingleAsync(x => x.id == carryId); string code = await _billRullService.GetBillNumber(CodeTemplateConst.MATERIAL_RECEIPT_CODE); PrdMaterialReceiptH prdMaterialReceiptH = new PrdMaterialReceiptH() { @@ -669,19 +671,19 @@ namespace Tnb.ProductionMgr if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) { - carryCodes = await db.Queryable().Where(x=>x.carry_id==carry.id).ToListAsync(); + carryCodes = await _db.Queryable().Where(x=>x.carry_id==carry.id).ToListAsync(); } else { //CarryQueryOutput carryQueryOutput = await _wmsCarryQueryService.MESCarryQueryResult(new MESCarryQueryResultInput(){carry_code = carry.carry_code}); - memberCarryIds = await db.Queryable().Where(x=>x.carry_id==carry.id).Select(x=>x.membercarry_id).ToListAsync(); + memberCarryIds = await _db.Queryable().Where(x=>x.carry_id==carry.id).Select(x=>x.membercarry_id).ToListAsync(); if (memberCarryIds == null || memberCarryIds.IsEmpty()) { throw Oops.Bah($"未找到载具编号{carry.carry_code}的子载具"); } - memberCarrys = await db.Queryable().Where(x=>memberCarryIds.Contains(x.id)).ToListAsync(); - carryCodes = await db.Queryable().Where(x=>memberCarryIds.Contains(x.carry_id)).ToListAsync(); + memberCarrys = await _db.Queryable().Where(x=>memberCarryIds.Contains(x.id)).ToListAsync(); + carryCodes = await _db.Queryable().Where(x=>memberCarryIds.Contains(x.carry_id)).ToListAsync(); clearCarryIds.AddRange(memberCarryIds); } @@ -806,7 +808,7 @@ namespace Tnb.ProductionMgr } - await db.Updateable().SetColumns(r => new WmsCarryH + await _db.Updateable().SetColumns(r => new WmsCarryH { work_station = "" }).Where(r => input.carryIds.Contains(r.id)).ExecuteCommandAsync(); @@ -816,7 +818,7 @@ namespace Tnb.ProductionMgr string isCheck = ((int)EnumCheckConclusion.待检).ToString(); foreach(string carryId in clearCarryIds) { - await db.Updateable() + await _db.Updateable() .SetColumns(x => x.carry_status == carryStatus) .SetColumns(x => x.is_check == isCheck) .Where(x => x.id==carryId) @@ -830,16 +832,16 @@ namespace Tnb.ProductionMgr } - int dRow1 = await db.Deleteable().Where(r => deleteCarryDIds.Contains(r.carry_id)).ExecuteCommandAsync(); + int dRow1 = await _db.Deleteable().Where(r => deleteCarryDIds.Contains(r.carry_id)).ExecuteCommandAsync(); Log.Information($"子载具{JsonConvert.SerializeObject(deleteCarryDIds)}已解绑,解绑条数{dRow1}"); - int dRow2 = await db.Deleteable().Where(r => deleteCarryCodeIds.Contains(r.carry_id)).ExecuteCommandAsync(); + int dRow2 = await _db.Deleteable().Where(r => deleteCarryCodeIds.Contains(r.carry_id)).ExecuteCommandAsync(); Log.Information($"载具条码{JsonConvert.SerializeObject(deleteCarryDIds)}已解绑,解绑条数{dRow2}"); - int row1 = await db.Insertable(insertHList).ExecuteCommandAsync(); - int row2 = await db.Insertable(insertDList).ExecuteCommandAsync(); - int row3 = await db.Insertable(insertFHList).ExecuteCommandAsync(); - int row4 = await db.Insertable(insertFDList).ExecuteCommandAsync(); + int row1 = await _db.Insertable(insertHList).ExecuteCommandAsync(); + int row2 = await _db.Insertable(insertDList).ExecuteCommandAsync(); + int row3 = await _db.Insertable(insertFHList).ExecuteCommandAsync(); + int row4 = await _db.Insertable(insertFDList).ExecuteCommandAsync(); if (row1 <= 0 || row2 <= 0 || row3<=0 || row4<=0)