From 69609c06e7f003a6d35a41b887160de5682ad2ca Mon Sep 17 00:00:00 2001 From: zhou keda <1315948824@qq.com> Date: Mon, 4 Nov 2024 14:33:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=AD=BE=E6=94=B6bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PrdMaterialReceiptService.cs | 40 ++++----- .../Tnb.WarehouseMgr/WareHouseService.cs | 84 +++++++++++++------ .../WmsMaterialTransferService.cs | 20 ++--- 3 files changed, 87 insertions(+), 57 deletions(-) diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs index 632cb8ac..62fdc783 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMaterialReceiptService.cs @@ -742,16 +742,16 @@ namespace Tnb.ProductionMgr } else { - Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput() - { - carry_id = detail.member_carry_id - },_db); - - - if (result.code != HttpStatusCode.OK) - { - throw Oops.Bah(result.msg); - } + // Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput() + // { + // carry_id = detail.member_carry_id + // },_db); + // + // + // if (result.code != HttpStatusCode.OK) + // { + // throw Oops.Bah(result.msg); + // } //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}"); @@ -761,16 +761,16 @@ namespace Tnb.ProductionMgr if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) { - Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput() - { - carry_id = carry.id - },_db); - - - if (result.code != HttpStatusCode.OK) - { - throw Oops.Bah(result.msg); - } + // Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput() + // { + // carry_id = carry.id + // },_db); + // + // + // if (result.code != HttpStatusCode.OK) + // { + // throw Oops.Bah(result.msg); + // } //deleteCarryCodeIds.Add(carry.id); // int row = await db.Deleteable().Where(r => r.carry_id == carry.id).ExecuteCommandAsync(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index 37249c9c..d8d8e1ec 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -3131,9 +3131,13 @@ namespace Tnb.WarehouseMgr List clearCarryIds = new List(); clearCarryIds.Add(carry.id); List memberCarryIds = new List(); + List deleteCarryCodes = new List(); + List deleteCarryCodeCarryIds = new List(); if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) { + + deleteCarryCodes = await _db.Queryable().Where(x=>x.carry_id==carry.id).ToListAsync(); } else { @@ -3141,27 +3145,39 @@ namespace Tnb.WarehouseMgr clearCarryIds.AddRange(memberCarryIds); } - // await db.Updateable() - // .SetColumns(x => x.carry_status == carryStatus) - // .SetColumns(x => x.is_check == isCheck) - // .Where(x => clearCarryIds.Contains(x.id)) - // .ExecuteCommandAsync(); - await db.Updateable() .SetColumns(x => x.carry_status == carryStatus) - .Where(x => clearCarryIds.Contains(x.id)) - .ExecuteCommandAsync(); - Logger.Information($"【TaskComplate FloorCallMaterial】 更新载具状态 {JsonConvert.SerializeObject(clearCarryIds)}成功"); - - await db.Updateable() .SetColumns(x => x.is_check == isCheck) .Where(x => clearCarryIds.Contains(x.id)) .ExecuteCommandAsync(); - Logger.Information($"【TaskComplate FloorCallMaterial】 更新载具检验 {JsonConvert.SerializeObject(clearCarryIds)}成功"); - //await QTRK2BIP(dt, db); - // require_code是任务单 - //string mo_task_code = dt.require_code; + if (deleteCarryCodes != null && deleteCarryCodes.Count > 0) + { + foreach (var item in deleteCarryCodes) + { + if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) + { + } + else + { + deleteCarryCodeCarryIds.Add(item.carry_id); + } + } + + if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) + { + deleteCarryCodeCarryIds.Add(carry.id); + } + } + + deleteCarryCodeCarryIds = deleteCarryCodeCarryIds.Distinct().ToList(); + if (!deleteCarryCodeCarryIds.IsEmpty()) + { + string unbindCarryStr = String.Join(',',await db.Queryable().Where(x=>deleteCarryCodeCarryIds.Contains(x.id)).Select(x=>x.carry_code).ToListAsync()); + Logger.Information($"【TaskComplate FloorCallMaterial】载具物料明细 {unbindCarryStr}已解绑"); + await db.Deleteable().Where(r => deleteCarryCodeCarryIds.Contains(r.carry_id) ).ExecuteCommandAsync(); + } + } else if (dt.biz_type ==WmsWareHouseConst.BIZTYPE_WMSMATERIALTRANSFER_ID)//长管签收 { @@ -3170,6 +3186,8 @@ namespace Tnb.WarehouseMgr List clearCarryIds = new List(); clearCarryIds.Add(carry.id); List memberCarryIds = new List(); + List deleteCarryCodes = new List(); + List deleteCarryCodeCarryIds = new List(); if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) { @@ -3179,25 +3197,37 @@ namespace Tnb.WarehouseMgr memberCarryIds = await db.Queryable().Where(x=>x.carry_id==carry.id).Select(x=>x.membercarry_id).ToListAsync(); clearCarryIds.AddRange(memberCarryIds); - // await db.Updateable() - // .SetColumns(x => x.carry_status == carryStatus) - // .SetColumns(x => x.is_check == isCheck) - // .Where(x => clearCarryIds.Contains(x.id)) - // .ExecuteCommandAsync(); - await db.Updateable() .SetColumns(x => x.carry_status == carryStatus) - .Where(x => clearCarryIds.Contains(x.id)) - .ExecuteCommandAsync(); - Logger.Information($"【TaskComplate 长管签收】 更新载具状态 {JsonConvert.SerializeObject(clearCarryIds)}成功"); - - await db.Updateable() .SetColumns(x => x.is_check == isCheck) .Where(x => clearCarryIds.Contains(x.id)) .ExecuteCommandAsync(); - Logger.Information($"【TaskComplate 长管签收】 更新载具检验 {JsonConvert.SerializeObject(clearCarryIds)}成功"); + + // await db.Updateable() + // .SetColumns(x => x.carry_status == carryStatus) + // .Where(x => clearCarryIds.Contains(x.id)) + // .ExecuteCommandAsync(); + // Logger.Information($"【TaskComplate 长管签收】 更新载具状态 {JsonConvert.SerializeObject(clearCarryIds)}成功"); + // + // await db.Updateable() + // .SetColumns(x => x.is_check == isCheck) + // .Where(x => clearCarryIds.Contains(x.id)) + // .ExecuteCommandAsync(); + // Logger.Information($"【TaskComplate 长管签收】 更新载具检验 {JsonConvert.SerializeObject(clearCarryIds)}成功"); } + if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) + { + deleteCarryCodeCarryIds.Add(carry.id); + } + + deleteCarryCodeCarryIds = deleteCarryCodeCarryIds.Distinct().ToList(); + if (!deleteCarryCodeCarryIds.IsEmpty()) + { + string unbindCarryStr = String.Join(',',await db.Queryable().Where(x=>deleteCarryCodeCarryIds.Contains(x.id)).Select(x=>x.carry_code).ToListAsync()); + Logger.Information($"【TaskComplate 长管签收】载具物料明细 {unbindCarryStr}已解绑"); + await db.Deleteable().Where(r => deleteCarryCodeCarryIds.Contains(r.carry_id) ).ExecuteCommandAsync(); + } } else if (dt.biz_type == "erp_qtrk") diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs index 4157687b..ca07ef6d 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs @@ -2712,16 +2712,16 @@ namespace Tnb.WarehouseMgr if (carry.carrystd_id == WmsWareHouseConst.CARRY_ZYXCSTD_ID || carry.carrystd_id == WmsWareHouseConst.CARRY_ZYLJSTD_ID) { - Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput() - { - carry_id = carry.id - },_db); - - - if (result.code != HttpStatusCode.OK) - { - throw Oops.Bah(result.msg); - } + // Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result = await _wmsCarryUnbindService.CarryCodeUnbindWithoutTran(new CarryCodeUnbindInput() + // { + // carry_id = carry.id + // },_db); + // + // + // if (result.code != HttpStatusCode.OK) + // { + // throw Oops.Bah(result.msg); + // } //deleteCarryCodeIds.Add(carry.id); // int row = await db.Deleteable().Where(r => r.carry_id == carry.id).ExecuteCommandAsync();