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是任务单