Skip to content

Commit

Permalink
fixup! editoast: stdcm: pre-filter requirements that are not in the r…
Browse files Browse the repository at this point in the history
…ange

Co-authored-by: Florian Amsallem  <[email protected]>
  • Loading branch information
eckter and flomonster committed Jul 18, 2024
1 parent a2cf3af commit 6c988d7
Showing 1 changed file with 25 additions and 14 deletions.
39 changes: 25 additions & 14 deletions editoast/src/views/v2/timetable/stdcm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -272,20 +272,33 @@ fn build_train_requirements(
latest_simulation_end: DateTime<Utc>,
) -> HashMap<i64, TrainRequirement> {
let mut trains_requirements = HashMap::new();
for (train, sim) in trains.iter().zip(simulations) {
let (sim, _) = sim;
for (train, (sim, _)) in trains.iter().zip(simulations) {
let final_output = match sim {
SimulationResponse::Success { final_output, .. } => final_output,
_ => continue,
};

// First check that the train overlaps with the simulation range
let start_time = train.start_time;
let train_duration_ms = *final_output.report_train.times.last().unwrap_or(&0);
if !is_resource_in_range(
departure_time,
latest_simulation_end,
start_time,
0,
train_duration_ms,
) {
continue;
}

let spacing_requirements: Vec<SpacingRequirement> = final_output
.spacing_requirements
.into_iter()
.filter(|req| {
is_resource_in_range(
departure_time,
latest_simulation_end,
train.start_time,
start_time,
req.begin_time,
req.end_time,
)
Expand All @@ -298,7 +311,7 @@ fn build_train_requirements(
is_resource_in_range(
departure_time,
latest_simulation_end,
train.start_time,
start_time,
req.begin_time,
req.zones
.iter()
Expand All @@ -308,16 +321,14 @@ fn build_train_requirements(
)
})
.collect();
if (!spacing_requirements.is_empty()) || (!routing_requirements.is_empty()) {
trains_requirements.insert(
train.id,
TrainRequirement {
start_time: train.start_time,
spacing_requirements,
routing_requirements,
},
);
}
trains_requirements.insert(
train.id,
TrainRequirement {
start_time,
spacing_requirements,
routing_requirements,
},
);
}
trains_requirements
}
Expand Down

0 comments on commit 6c988d7

Please sign in to comment.