From ca3d04cb836c061f75fba77d11f6f5ef6ea89b3c Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 14 Aug 2023 09:12:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=AE=8C=E6=88=90=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4=E5=B0=86?= =?UTF-8?q?=E5=8E=9F=E5=BA=93=E4=BD=8D=E6=9B=B4=E6=96=B0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BA=E6=89=B9=E9=87=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.WarehouseMgr/WareHouseService.cs | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index 2110d885..d43b80c0 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -498,10 +498,11 @@ namespace Tnb.WarehouseMgr await _db.Updateable(eles).ReSetValue(it => it.task_nums--).ExecuteCommandAsync(); //更新载具,锁定状态为未锁定,更新载具的库位当前任务的目标库位 - var multiList = disTasks.Select(it => (it.carry_id, it.endlocation_id, it.endlocation_code)).ToList(); + var multiList = disTasks.Select(it => (it.carry_id, it.carry_status, it.endlocation_id, it.endlocation_code)).ToList(); var locWhIdMap = await _db.Queryable().Where(it => multiList.Select(x => x.endlocation_id).Contains(it.id)).ToDictionaryAsync(it => it.id, it => it.wh_id); List carryIts = new(); List carryCodeIts = new(); + List locIts = new(); for (int i = 0; i < multiList.Count; i++) { WmsCarryH carry = new() @@ -520,8 +521,14 @@ namespace Tnb.WarehouseMgr carryIts.Add(carry); carryCodeIts.Add(carryCode); + BasLocation loc = new(); + loc.is_lock = 0; + if (multiList[i].carry_status.ToEnum() == EnumCarryStatus.空闲) + { + loc.is_use = ((int)EnumCarryStatus.占用).ToString(); + } + locIts.Add(loc); //await _db.Updateable().SetColumns(it => new WmsCarryH { is_lock = 0, location_id = multiList[i].endlocation_id, location_code = multiList[i].endlocation_code }).Where(it => it.id == multiList[i].carry_id).ExecuteCommandAsync(); - ////更新条码的库位和仓库信息 //var carryCodes = await _db.Queryable().Where(it => it.id == multiList[i].carry_id).ToListAsync(); //if (carryCodes?.Count > 0) //{ @@ -529,19 +536,21 @@ namespace Tnb.WarehouseMgr //} } await _db.Updateable(carryIts).UpdateColumns(it => new { it.is_lock, it.location_id, it.location_code }).ExecuteCommandAsync(); + //更新条码的库位和仓库信息 await _db.Updateable(carryCodeIts).UpdateColumns(it => new { it.warehouse_id, it.location_id, it.location_code }).Where(it => multiList.Select(x => x.carry_id).Contains(it.carry_id)).ExecuteCommandAsync(); //更新库位信息,使用状态为 使用,锁定状态为未锁定 - var multis = disTasks.Select(it => (it.endlocation_id, it.carry_status)).ToList(); - for (int i = 0; i < multis.Count; i++) - { - var carryStatus = multis[i].carry_status; - if (multis[i].carry_status == ((int)EnumCarryStatus.空闲).ToString()) - { - carryStatus = ((int)EnumCarryStatus.占用).ToString(); - } - var cStatus = carryStatus.ParseToInt(); - await _db.Updateable().SetColumns(it => new BasLocation { is_use = cStatus.ToString(), is_lock = 0 }).Where(it => it.id == multis[i].endlocation_id).ExecuteCommandAsync(); - } + await _db.Updateable(locIts).UpdateColumns(it => new { it.is_use, it.is_lock }).Where(it => multiList.Select(x => x.endlocation_id).Contains(it.id)).ExecuteCommandAsync(); + //var multis = disTasks.Select(it => (it.endlocation_id, it.carry_status)).ToList(); + //for (int i = 0; i < multis.Count; i++) + //{ + // var carryStatus = multis[i].carry_status; + // if (multis[i].carry_status == ((int)EnumCarryStatus.空闲).ToString()) + // { + // carryStatus = ((int)EnumCarryStatus.占用).ToString(); + // } + // var cStatus = carryStatus.ParseToInt(); + // await _db.Updateable().SetColumns(it => new BasLocation { is_use = cStatus.ToString(), is_lock = 0 }).Where(it => it.id == multis[i].endlocation_id).ExecuteCommandAsync(); + //} //更新业务主表的单据状态 foreach (var dt in disTasks)