diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs index 41d92746..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.CopyNew(); - 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}的生产任务单"); @@ -611,6 +613,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; @@ -621,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() { @@ -667,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); } @@ -748,9 +752,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 +772,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,22 +801,24 @@ 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() + await _db.Updateable() .SetColumns(x => x.carry_status == carryStatus) .SetColumns(x => x.is_check == isCheck) .Where(x => x.id==carryId) @@ -823,11 +830,18 @@ 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(); - 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) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index e6a08bdf..78647e59 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -3172,10 +3172,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是任务单