Skip to content
This repository has been archived by the owner on Nov 29, 2024. It is now read-only.

Commit

Permalink
fix it: EndTime not later than start Time. Add this assertion also fo…
Browse files Browse the repository at this point in the history
…r UnloadElement
  • Loading branch information
kt86 committed Sep 26, 2023
1 parent f009b61 commit 4fcc3a6
Showing 1 changed file with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -214,11 +214,11 @@ private void addShipmentTransportElement(LspShipmentWithTime tuple, Tour tour, T
final int serviceIndex = tour.getTourElements().indexOf(serviceActivity);
final Leg legBeforeService = (Leg) tour.getTourElements().get(serviceIndex - 1);
final double startTimeOfTransport = legAfterStart.getExpectedDepartureTime();
final double latestEnd = legBeforeService.getExpectedTransportTime() + legBeforeService.getExpectedDepartureTime();
Assert.isTrue(latestEnd > startTimeOfTransport, "latest End must be later than earliest start. start: " + startTimeOfTransport + " ; end: " +latestEnd);
final double endTimeOfTransport = legBeforeService.getExpectedTransportTime() + legBeforeService.getExpectedDepartureTime();
Assert.isTrue(endTimeOfTransport >= startTimeOfTransport, "latest End must be later than earliest start. start: " + startTimeOfTransport + " ; end: " +endTimeOfTransport);

builder.setStartTime(startTimeOfTransport);
builder.setEndTime(latestEnd);
builder.setEndTime(endTimeOfTransport);
builder.setCarrierId(carrier.getId());
builder.setFromLinkId(tour.getStartLinkId());
builder.setToLinkId(serviceActivity.getLocation());
Expand All @@ -239,8 +239,13 @@ private void addShipmentUnloadElement(LspShipmentWithTime tuple, Tour tour, Tour
}
int serviceIndex = tour.getTourElements().indexOf(serviceActivity);
ServiceActivity service = (ServiceActivity) tour.getTourElements().get(serviceIndex);
builder.setStartTime(service.getExpectedArrival());
builder.setEndTime(service.getDuration() + service.getExpectedArrival());

final double startTime = service.getExpectedArrival();
final double endTime = startTime + service.getDuration();
Assert.isTrue(endTime >= startTime, "latest End must be later than earliest start. start: " + startTime + " ; end: " + endTime);

builder.setStartTime(startTime);
builder.setEndTime(endTime);
builder.setCarrierId(carrier.getId());
builder.setLinkId(serviceActivity.getLocation());
builder.setCarrierService(serviceActivity.getService());
Expand Down

0 comments on commit 4fcc3a6

Please sign in to comment.