diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs index 42b328dc..1138ce60 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs @@ -282,9 +282,9 @@ namespace Tnb.WarehouseMgr Logger.Information($"【UnloadConfirm】 当前放货,任务编号:{input.taskCode}"); WmsDistaskH dis = null; + dis = _db.Queryable().Where(P => P.bill_code == input.taskCode).First(); try { - dis = _db.Queryable().Where(P => P.bill_code == input.taskCode).First(); if (dis.area_code == "ZSCJ001") { var flag = await _wareHouseService.Check(dis.endlocation_code, "UNLOAD"); @@ -406,7 +406,7 @@ namespace Tnb.WarehouseMgr // 3 4号梯需要电梯是当前楼层开门状态就能进 bool canEnter = false; - if (devName == "Elevator3" || devName == "Elevator4") + if ((devName == "Elevator3" || devName == "Elevator4") && dis.start_floor == 3) { string sno = devName.Match(@"\d+"); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs index 7cb731e4..fe746482 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs @@ -167,6 +167,7 @@ namespace Tnb.WarehouseMgr { try { + await _db.Ado.BeginTranAsync(); WmsCarryH? carry = await _db.Queryable().SingleAsync(it => it.carry_code == input.carrycode); if (carry == null) { @@ -325,15 +326,18 @@ namespace Tnb.WarehouseMgr throw new Exception($"物料列表为空,不能提交绑定,可能的原因;1.需要检查扫码设置(新PDA) 2.未扫到有效的二维码 详细信息:接收到{input.details.Count}个条码 成功绑定的条码数量为0个!"); } + await _db.Ado.CommitTranAsync(); } catch (PostgresException ex) { + await _db.Ado.RollbackTranAsync(); Logger.LogError(ex.Message); Logger.LogError(ex.StackTrace); throw new AppFriendlyException($"绑定失败(1.可能是存在已被绑定的条码 2.系统中存在其他与此托盘编号相同的托盘 3.存在字段传了空值) {ex.Message}", 500); } catch (Exception ex) { + await _db.Ado.RollbackTranAsync(); Logger.LogError(ex.Message); Logger.LogError(ex.StackTrace); throw new AppFriendlyException($"绑定失败 {ex.Message}", 500);