|
@@ -78,12 +78,18 @@ class RecedingHorizonControl:
|
|
|
|
|
|
# check if we need to update the inbound
|
|
|
if None == plannedInbound.PlannedStar:
|
|
|
- if inbound.InitialArrivalTime < self.Windows[index].StartTime or inbound.InitialArrivalTime >= self.Windows[index].EndTime:
|
|
|
+ reference = inbound.InitialArrivalTime
|
|
|
+ if plannedInbound.InitialArrivalTime > reference:
|
|
|
+ reference = plannedInbound.InitialArrivalTime
|
|
|
+
|
|
|
+ if reference < self.Windows[index].StartTime or reference >= self.Windows[index].EndTime:
|
|
|
self.Windows[index].remove(inbound.Callsign)
|
|
|
self.AssignedWindow.pop(inbound.Callsign)
|
|
|
+ inbound.InitialArrivalTime = reference
|
|
|
self.updateReport(inbound)
|
|
|
else:
|
|
|
- plannedInbound.InitialArrivalTime = inbound.InitialArrivalTime
|
|
|
+ plannedInbound.InitialArrivalTime = reference
|
|
|
+ self.Windows[index].Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.InitialArrivalTime)
|
|
|
else:
|
|
|
self.insertInWindow(inbound, False)
|
|
|
|