From c1c9000e0ce7b955a119e5d142c6136d46ef3f31 Mon Sep 17 00:00:00 2001 From: majian <780924089@qq.com> Date: Wed, 26 Jun 2024 16:56:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E6=A5=BC=E7=89=A9=E6=96=99=E5=91=BC?= =?UTF-8?q?=E5=8F=AB=E5=8F=96=E4=BB=BB=E5=8A=A1=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tnb.ProductionMgr/RedisBackGround.cs | 32 +++++++++++++------ .../Tnb.WarehouseMgr/DeviceProviderService.cs | 4 +-- .../Tnb.WarehouseMgr/WareHouseService.cs | 2 -- .../WmsMaterialTransferService.cs | 14 ++++---- 4 files changed, 31 insertions(+), 21 deletions(-) diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs index e9336d86..6546c700 100644 --- a/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs +++ b/ProductionMgr/Tnb.ProductionMgr/RedisBackGround.cs @@ -443,6 +443,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA Dictionary getdic = new Dictionary(); getdic.Add("YCLCKBGW", new string[] { "CP8", "AllowPutEmptyBox1" }); + await db_BGWCarrySupplementtimer.Ado.BeginTranAsync(); foreach (var key in getdic.Keys) { var strs = getdic.Where(p => p.Key == key).First().Value; @@ -525,11 +526,14 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA _ = _wareHouseService.GenTaskExecute(); } } + + await db_BGWCarrySupplementtimer.Ado.CommitTranAsync(); } catch (Exception ex) { Console.WriteLine("【BGWCarrySupplement】" + ex.Message); LoggerBGWCarrySupplement.LogInformation($"【BGWCarrySupplementtimer】 八工位空托盘补充发生异常:{ex}"); + await db_BGWCarrySupplementtimer.Ado.RollbackTranAsync(); } finally { @@ -558,6 +562,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA Dictionary getdic = new Dictionary(); getdic.Add("SGW-YCL", new string[] { "CP3-5", "AllowGetFullBox" }); + await db_YCLGLDPJInstocktimer.Ado.BeginTranAsync(); foreach (var key in getdic.Keys) { var strs = getdic.Where(p => p.Key == key).First().Value; @@ -612,11 +617,13 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA _ = _wareHouseService.GenTaskExecute(); } } + await db_YCLGLDPJInstocktimer.Ado.CommitTranAsync(); } catch (Exception ex) { Console.WriteLine("【YCLGLDPJInstock】" + ex.Message); LoggerYCLGLDPJInstock.LogInformation($"【YCLGLDPJInstock】 三工位叠盘机空托入库发生异常:{ex}"); + await db_YCLGLDPJInstocktimer.Ado.RollbackTranAsync(); } finally { @@ -645,6 +652,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA Dictionary getdic = new Dictionary(); getdic.Add("未定", new string[] { "CP3-3", "AllowGetFullBox" }); + await db_YCLWXDPJInstocktimer.Ado.BeginTranAsync(); foreach (var key in getdic.Keys) { var strs = getdic.Where(p => p.Key == key).First().Value; @@ -696,10 +704,12 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA _ = _wareHouseService.GenTaskExecute(); } } + await db_YCLWXDPJInstocktimer.Ado.CommitTranAsync(); } catch (Exception ex) { LoggerYCLGLDPJInstock.LogInformation($"【YCLWXDPJInstock】 外协叠盘机空托入库发生异常:{ex}"); + await db_YCLWXDPJInstocktimer.Ado.RollbackTranAsync(); } finally { @@ -1041,7 +1051,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA return; } - //await db.BeginTranAsync(); + await db_Floor2timer送空托到上升降区.Ado.BeginTranAsync(); // 料架区 foreach (WmsMechanicalArmH wmsMechanicalArmH in WmsMechanicalArmHs) { @@ -1096,14 +1106,14 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA throw new Exception($"【送空托到上升降区】 未成功生成预任务 起点{startLocation.location_code} 终点{wmsMechanicalArmH.location_code} 料架 {wmsMechanicalArmH.rackcode}"); } } - //await db.CommitTranAsync(); + await db_Floor2timer送空托到上升降区.Ado.CommitTranAsync(); } } catch (Exception ex) { LoggerFloor2RackDelivery.LogInformation($"【送空托到上升降区】 {ex.Message}"); LoggerFloor2RackDelivery.LogInformation($"【送空托到上升降区】 {ex.StackTrace}"); - //await db.RollbackTranAsync(); + await db_Floor2timer送空托到上升降区.Ado.RollbackTranAsync(); } finally { @@ -1164,7 +1174,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA return; } - //await db.BeginTranAsync(); + await db_Floor2timer送满托到下升降区.Ado.BeginTranAsync(); // 料架区 foreach (WmsMechanicalArmH wmsMechanicalArmH in WmsMechanicalArmHs) { @@ -1251,14 +1261,14 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA continue; } } - //await db.CommitTranAsync(); + await db_Floor2timer送满托到下升降区.Ado.CommitTranAsync(); } } catch (Exception ex) { LoggerFloor2RackDelivery.LogInformation($"【送满托到下升降区】 {ex.Message}"); LoggerFloor2RackDelivery.LogInformation($"【送满托到下升降区】 {ex.StackTrace}"); - //await db.RollbackTranAsync(); + await db_Floor2timer送满托到下升降区.Ado.RollbackTranAsync(); } finally { @@ -1310,6 +1320,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA //await db.BeginTranAsync(); // 读取上升降机的左右料架区配置 + await db_Floor2timer移走上升降区未生成预任务且满托的料架.Ado.BeginTranAsync(); List WmsMechanicalArmHs = db_Floor2timer移走上升降区未生成预任务且满托的料架.Queryable().Where(r => r.stackingcount == r.maxnum && r.maxnum != 0 && !string.IsNullOrEmpty(r.rackcode) && r.iscreatepretask == 0 && configs_upMachine.Contains(r.name) && r.mechanicalconfirm == 1).ToList(); @@ -1354,14 +1365,14 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA LoggerFloor2RackDelivery.LogInformation($"【移走上升降区满托的料架】 成功生成预任务 {result}"); } - //await db.CommitTranAsync(); + await db_Floor2timer移走上升降区未生成预任务且满托的料架.Ado.CommitTranAsync(); } } catch (Exception ex) { LoggerFloor2RackDelivery.LogInformation($"【移走上升降区未生成预任务且满托的料架】 {ex.Message}"); LoggerFloor2RackDelivery.LogInformation($"【移走上升降区未生成预任务且满托的料架】 {ex.StackTrace}"); - //await db.RollbackTranAsync(); + await db_Floor2timer移走上升降区未生成预任务且满托的料架.Ado.RollbackTranAsync(); } finally { @@ -1414,6 +1425,7 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA //await db.BeginTranAsync(); // 读取下升降机的左右料架区配置 + await db_Floor2timer移走下升降区未生成预任务且空托的料架.Ado.BeginTranAsync(); List WmsMechanicalArmHs = db_Floor2timer移走下升降区未生成预任务且空托的料架.Queryable().Where(r => !string.IsNullOrEmpty(r.rackcode) && r.iscreatepretask == 0 && configs_upMachine.Contains(r.name)).ToList(); foreach (WmsMechanicalArmH wmsMechanicalArmH in WmsMechanicalArmHs) @@ -1461,14 +1473,14 @@ where carry_code = '{coderesult}' and status = '{WmsWareHouseConst.TASK_BILL_STA continue; } } - //await db.CommitTranAsync(); + await db_Floor2timer移走下升降区未生成预任务且空托的料架.Ado.CommitTranAsync(); } } catch (Exception ex) { LoggerFloor2RackDelivery.LogInformation($"【移走下升降区空托的料架】 {ex.Message}"); LoggerFloor2RackDelivery.LogInformation($"【移走下升降区空托的料架】 {ex.StackTrace}"); - //await db.RollbackTranAsync(); + await db_Floor2timer移走下升降区未生成预任务且空托的料架.Ado.RollbackTranAsync(); } finally { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs index a9b783af..438918aa 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/DeviceProviderService.cs @@ -599,9 +599,9 @@ namespace Tnb.WarehouseMgr } catch (Exception ex) { - Logger.Error("【TaskCallback】 任务状态上报出现错误", ex); + Logger.Error("【TaskCallback】 任务状态上报出现错误", ex.Message); Logger.Error("【TaskCallback】 任务状态上报错误堆栈信息", ex.StackTrace); - return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!"); + return await ToApiResult(HttpStatusCode.InternalServerError, "请重试!" + ex.Message); throw; } finally diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index a39cfc16..5c2b10a9 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -2810,8 +2810,6 @@ namespace Tnb.WarehouseMgr var db = _db; if (dbConn != null) db = dbConn; - else - db = _db.CopyNew(); { diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs index e99fae1d..d7831dee 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsMaterialTransferService.cs @@ -467,16 +467,16 @@ namespace Tnb.WarehouseMgr // 获取任务单 - List organizeEntityCXs = _db.Queryable().Where(r => r.workline_id == organizeEntityCX.Id && r.mo_task_status == DictConst.InProgressEnCode).ToList(); + List organizeEntityCXs = _db.Queryable().Where(r => r.workline_id == organizeEntityCX.Id && r.mo_task_status == DictConst.InProgressEnCode && !string.IsNullOrEmpty(r.parent_id)).ToList(); if (organizeEntityCXs.Count > 1) { - Logger.LogWarning($"【DistributeHCC】工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单不唯一,请检查!"); + Logger.LogWarning($"【DistributeHCC】工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单不唯一(需要有parentid),请检查!"); throw new AppFriendlyException($"【DistributeHCC】工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单不唯一,请检查!", 500); } if (organizeEntityCXs.Count == 0) { - Logger.LogWarning($"【DistributeHCC】未找到工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单,请检查!"); - throw new AppFriendlyException($"【DistributeHCC】未找到工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单,请检查!", 500); + Logger.LogWarning($"【DistributeHCC】未找到工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单(需要有parentid,请检查!"); + throw new AppFriendlyException($"【DistributeHCC】未找到工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单),请检查!", 500); } PrdMoTask prdMoTask = organizeEntityCXs.First(); @@ -782,15 +782,15 @@ namespace Tnb.WarehouseMgr // 获取任务单 - List organizeEntityCXs = _db.Queryable().Where(r => r.workline_id == organizeEntityCX.Id && r.mo_task_status == DictConst.InProgressEnCode).ToList(); + List organizeEntityCXs = _db.Queryable().Where(r => r.workline_id == organizeEntityCX.Id && r.mo_task_status == DictConst.InProgressEnCode && !string.IsNullOrEmpty(r.parent_id)).ToList(); if (organizeEntityCXs.Count > 1) { - Logger.LogWarning($"【CallRackToProductionLine】工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单不唯一,请检查!"); + Logger.LogWarning($"【CallRackToProductionLine】工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单不唯一(需要有parentid),请检查!"); throw new AppFriendlyException($"【CallRackToProductionLine】工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单不唯一,请检查!", 500); } if (organizeEntityCXs.Count == 0) { - Logger.LogWarning($"【CallRackToProductionLine】未找到工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单,请检查!"); + Logger.LogWarning($"【CallRackToProductionLine】未找到工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单(需要有parentid),请检查!"); throw new AppFriendlyException($"【CallRackToProductionLine】未找到工位{organizeEntity.EnCode}的上级{organizeEntityCX.EnCode}对应的进行中的任务单,请检查!", 500); } PrdMoTask prdMoTask = organizeEntityCXs.First();