fix:修复运输时效预警重复生成任务进而导致重复生成明细的问题
This commit is contained in:
parent
d474d3b008
commit
2ea627e985
@ -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<TransportWarningDetailsGenerateTaskEntity> UpdateTasks, List<TransportWarningDetailsGenerateTaskEntity> AddTasks) HandleDetailGenerateTask(
|
||||
OrderEntity order,
|
||||
private (List<TransportWarningDetailsGenerateTaskEntity> UpdateTasks, List<TransportWarningDetailsGenerateTaskEntity> AddTasks) HandleDetailGenerateTask(OrderEntity order,
|
||||
List<TransportWarningDetailsGenerateTaskEntity> tasks,
|
||||
List<TransportWarningDetailsIndex> warningDetails,
|
||||
Dictionary<int, TransportWarningSceneRuleItemBO> ruleItemBoDict,
|
||||
Dictionary<int, TrackDetailsIndex> trackStatusIdEarliestTrackDict
|
||||
)
|
||||
Dictionary<int, TrackDetailsIndex> trackStatusIdEarliestTrackDict)
|
||||
{
|
||||
var insertTasks = new List<TransportWarningDetailsGenerateTaskEntity>();
|
||||
var updateTasks = new List<TransportWarningDetailsGenerateTaskEntity>();
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user