From 2ea627e98554e3172ad585262b2e3d6f947b8191 Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Wed, 26 Mar 2025 16:05:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E8=BF=90=E8=BE=93?= =?UTF-8?q?=E6=97=B6=E6=95=88=E9=A2=84=E8=AD=A6=E9=87=8D=E5=A4=8D=E7=94=9F?= =?UTF-8?q?=E6=88=90=E4=BB=BB=E5=8A=A1=E8=BF=9B=E8=80=8C=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=94=9F=E6=88=90=E6=98=8E=E7=BB=86=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Warning/Handlers/TransportWarningHandler.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs index 14e1c6eb..8794b9d4 100644 --- a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs +++ b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs @@ -303,7 +303,7 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen ); // 处理【预警明细生成就绪阶段】预警明细生成任务 - var (updateTasks, addTasks) = HandleDetailGenerateTask(order, orderTasks, ruleItemBoDict, trackStatusTrackDict); + var (updateTasks, addTasks) = HandleDetailGenerateTask(order, orderTasks, warningDetails, ruleItemBoDict, trackStatusTrackDict); addDetailGenerateTasks.AddRange(addTasks); updateDetailGenerateTasks.AddRange(updateTasks); } @@ -411,12 +411,11 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen // 命中:存在任务,起始轨迹状态轨迹变更则更新任务信息, // 命中:不存在任务,添加生成任务 // 未命中,已有的任务关闭,没有的忽略生成 - private (List UpdateTasks, List AddTasks) HandleDetailGenerateTask( - OrderEntity order, + private (List UpdateTasks, List AddTasks) HandleDetailGenerateTask(OrderEntity order, List tasks, + List warningDetails, Dictionary ruleItemBoDict, - Dictionary trackStatusIdEarliestTrackDict - ) + Dictionary trackStatusIdEarliestTrackDict) { var insertTasks = new List(); var updateTasks = new List(); @@ -437,7 +436,9 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen // 不存在任务,生成任务根据最早轨迹 if (task == null) { - insertTasks.Add(BuildDetailsGenerateTask(order, ruleItem, earliestTrack)); + // 不存在开启的预警明细,则添加一个生成任务 + if (warningDetails.All(x => x.WarningSceneRuleItemId != ruleId)) + insertTasks.Add(BuildDetailsGenerateTask(order, ruleItem, earliestTrack)); continue; }