diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs index 270e933a..1955a030 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs @@ -125,6 +125,22 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.id).ToList(); preTaskUpInput.PreTaskRecords = preTasks.Adapt>(); preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId()); + WmsHandleH handleH = new(); + handleH.org_id = _userManager.User.OrganizeId; + handleH.startlocation_id = input.data[nameof(WmsPointH.location_id)]?.ToString(); + handleH.endlocation_id = endLocations[0].id; + handleH.bill_code = input.data[nameof(WmsHandleH.bill_code)]?.ToString(); + handleH.biz_type = input.data[nameof(WmsHandleH.biz_type)]?.ToString(); + handleH.carry_id = input.data[nameof(WmsHandleH.carry_id)]?.ToString(); + handleH.carry_code = input.data[nameof(WmsHandleH.carry_code)]?.ToString(); + handleH.require_id = input.data["ReturnIdentity"].ToString(); + handleH.require_code = input.data[nameof(WmsHandleH.bill_code)]?.ToString()!; + handleH.create_id = _userManager.UserId; + handleH.create_time = DateTime.Now; + preTaskUpInput.PreTaskRecord = handleH; + //根据空载具入库Id,回更单据状态 + await _db.Updateable().SetColumns(it => new WmsEmptyInstock { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == preTaskUpInput.PreTaskId).ExecuteCommandAsync(); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionCancelService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionCancelService.cs index a3551d1a..28fb5180 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionCancelService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAExceptionCancelService.cs @@ -61,21 +61,28 @@ namespace Tnb.WarehouseMgr try { await _db.Ado.BeginTranAsync(); - //更新任务执行状态 已取消 - await _db.Updateable().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_CANCEL_ID }).Where(it => it.bill_code == input.data[nameof(WmsDistaskH.bill_code)].ToString()).ExecuteCommandAsync(); - //预任务取消 - await _db.Updateable().SetColumns(it => new WmsPretaskH { status = WmsWareHouseConst.PRETASK_BILL_STATUS_CANCEL_ID }).Where(it => it.id == input.data[nameof(WmsDistaskH.pretask_id)].ToString()).ExecuteCommandAsync(); - //载具解锁 - await _db.Updateable().SetColumns(it => new WmsCarryH { is_lock = 0 }).Where(it => it.id == input.data[nameof(WmsDistaskH.carry_id)].ToString()).ExecuteCommandAsync(); - //所有库位解锁 + if (input.data.ContainsKey(nameof(WmsDistaskH.bill_code))) { + //更新任务执行状态 已取消 + await _db.Updateable().SetColumns(it => new WmsDistaskH { status = WmsWareHouseConst.TASK_BILL_STATUS_CANCEL_ID }).Where(it => it.bill_code == input.data[nameof(WmsDistaskH.bill_code)].ToString()).ExecuteCommandAsync(); + + } + if (input.data.ContainsKey(nameof(WmsDistaskH.pretask_id))) + { + //预任务取消 + await _db.Updateable().SetColumns(it => new WmsPretaskH { status = WmsWareHouseConst.PRETASK_BILL_STATUS_CANCEL_ID }).Where(it => it.id == input.data[nameof(WmsDistaskH.pretask_id)].ToString()).ExecuteCommandAsync(); + + } + if (input.data.ContainsKey(nameof(WmsDistaskH.carry_id))) + { + //载具解锁 + await _db.Updateable().SetColumns(it => new WmsCarryH { is_lock = 0 }).Where(it => it.id == input.data[nameof(WmsDistaskH.carry_id)].ToString()).ExecuteCommandAsync(); + } if (input.data.ContainsKey(nameof(WmsDistaskH.startlocation_id)) && input.data.ContainsKey(nameof(WmsDistaskH.endlocation_id))) { + //所有库位解锁 var ids = new[] { input.data[nameof(WmsDistaskH.startlocation_id)]?.ToString(), input.data[nameof(WmsDistaskH.endlocation_id)]?.ToString() }; await _db.Updateable().SetColumns(it => new BasLocation { is_lock = 0 }).Where(it => ids.Contains(it.id)).ExecuteCommandAsync(); } - - - await _db.Ado.CommitTranAsync(); } catch (Exception ex)