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);
|
addDetailGenerateTasks.AddRange(addTasks);
|
||||||
updateDetailGenerateTasks.AddRange(updateTasks);
|
updateDetailGenerateTasks.AddRange(updateTasks);
|
||||||
}
|
}
|
||||||
@ -411,12 +411,11 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
|||||||
// 命中:存在任务,起始轨迹状态轨迹变更则更新任务信息,
|
// 命中:存在任务,起始轨迹状态轨迹变更则更新任务信息,
|
||||||
// 命中:不存在任务,添加生成任务
|
// 命中:不存在任务,添加生成任务
|
||||||
// 未命中,已有的任务关闭,没有的忽略生成
|
// 未命中,已有的任务关闭,没有的忽略生成
|
||||||
private (List<TransportWarningDetailsGenerateTaskEntity> UpdateTasks, List<TransportWarningDetailsGenerateTaskEntity> AddTasks) HandleDetailGenerateTask(
|
private (List<TransportWarningDetailsGenerateTaskEntity> UpdateTasks, List<TransportWarningDetailsGenerateTaskEntity> AddTasks) HandleDetailGenerateTask(OrderEntity order,
|
||||||
OrderEntity order,
|
|
||||||
List<TransportWarningDetailsGenerateTaskEntity> tasks,
|
List<TransportWarningDetailsGenerateTaskEntity> tasks,
|
||||||
|
List<TransportWarningDetailsIndex> warningDetails,
|
||||||
Dictionary<int, TransportWarningSceneRuleItemBO> ruleItemBoDict,
|
Dictionary<int, TransportWarningSceneRuleItemBO> ruleItemBoDict,
|
||||||
Dictionary<int, TrackDetailsIndex> trackStatusIdEarliestTrackDict
|
Dictionary<int, TrackDetailsIndex> trackStatusIdEarliestTrackDict)
|
||||||
)
|
|
||||||
{
|
{
|
||||||
var insertTasks = new List<TransportWarningDetailsGenerateTaskEntity>();
|
var insertTasks = new List<TransportWarningDetailsGenerateTaskEntity>();
|
||||||
var updateTasks = new List<TransportWarningDetailsGenerateTaskEntity>();
|
var updateTasks = new List<TransportWarningDetailsGenerateTaskEntity>();
|
||||||
@ -437,6 +436,8 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
|||||||
// 不存在任务,生成任务根据最早轨迹
|
// 不存在任务,生成任务根据最早轨迹
|
||||||
if (task == null)
|
if (task == null)
|
||||||
{
|
{
|
||||||
|
// 不存在开启的预警明细,则添加一个生成任务
|
||||||
|
if (warningDetails.All(x => x.WarningSceneRuleItemId != ruleId))
|
||||||
insertTasks.Add(BuildDetailsGenerateTask(order, ruleItem, earliestTrack));
|
insertTasks.Add(BuildDetailsGenerateTask(order, ruleItem, earliestTrack));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user