Skip to content

Commit

Permalink
some minor adaptions towards Shipment-based solving. some comments
Browse files Browse the repository at this point in the history
  • Loading branch information
kt86 committed Oct 10, 2024
1 parent e042693 commit 89283a3
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,8 @@ private void addShipmentLoadElement(LspShipment lspShipment, Tour tour) {
}

private void addShipmentTransportElement(
LspShipment lspShipment, Tour tour, Tour.TourActivity tourActivity) {
// LspShipment lspShipment, Tour tour, Tour.TourActivity tourActivity) {
LspShipment lspShipment, Tour tour, Tour.ServiceActivity tourActivity) {

LspShipmentUtils.ScheduledShipmentTransportBuilder builder =
LspShipmentUtils.ScheduledShipmentTransportBuilder.newInstance();
Expand Down Expand Up @@ -415,7 +416,23 @@ private void addDistributionServiceEventHandler(
for (LogisticChainElement element : this.resource.getClientElements()) {
if (element.getIncomingShipments().getLspShipmentsWTime().contains(lspShipment)) {
DistributionServiceStartEventHandler handler =
new DistributionServiceStartEventHandler(carrierService, lspShipment, element, resource);
new DistributionServiceStartEventHandler(carrierService, lspShipment, element, resource, null);
lspShipment.addSimulationTracker(handler);
break;
}
}
}

//TODO: Kann man das wieder zusammenfassen mitt der Methode fpr die Services?
private void addDistributionServiceEventHandler(
CarrierShipment carrierShipment,
LspShipment lspShipment,
LSPCarrierResource resource) {

for (LogisticChainElement element : this.resource.getClientElements()) {
if (element.getIncomingShipments().getLspShipmentsWTime().contains(lspShipment)) {
DistributionServiceStartEventHandler handler =
new DistributionServiceStartEventHandler(null, lspShipment, element, resource, carrierShipment);
lspShipment.addSimulationTracker(handler);
break;
}
Expand All @@ -438,4 +455,20 @@ private void addDistributionTourStartEventHandler(
}
}

private void addDistributionTourStartEventHandler(
CarrierShipment carrierShipment,
LspShipment lspShipment,
LSPCarrierResource resource,
Tour tour) {

for (LogisticChainElement element : this.resource.getClientElements()) {
if (element.getIncomingShipments().getLspShipmentsWTime().contains(lspShipment)) {
LSPTourStartEventHandler handler =
new LSPTourStartEventHandler(lspShipment, null, element, resource, tour); //FIXME: Hier müsste eigentlich das CarrierShipment übergeben werden in anaolger Logic zu Services... arghhh.
lspShipment.addSimulationTracker(handler);
break;
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
CarrierService carrierService,
LspShipment lspShipment,
LogisticChainElement element,
LSPCarrierResource resource) {
LSPCarrierResource resource, CarrierShipment carrierShipment) {
this.carrierShipment = carrierShipment;
this.carrierService = carrierService;
this.lspShipment = lspShipment;
Expand Down Expand Up @@ -96,6 +96,17 @@ private void logTransport(CarrierServiceStartEvent event) {
}
}

//TODO: Inahltlich ansehen, was hier passiert. Ist aktuell nur Copy und Paste aus Service-Variante
private void logTransport(CarrierShipmentDeliveryStartEvent event) {
String idString = resource.getId() + "" + logisticChainElement.getId() + "TRANSPORT";
Id<LspShipmentPlanElement> id = Id.create(idString, LspShipmentPlanElement.class);
LspShipmentPlanElement abstractPlanElement =
lspShipment.getShipmentLog().getPlanElements().get(id);
if (abstractPlanElement instanceof LspShipmentLeg transport) {
transport.setEndTime(event.getTime());
}
}

private void logUnload(CarrierServiceStartEvent event) {
LspShipmentUtils.LoggedShipmentUnloadBuilder builder =
LspShipmentUtils.LoggedShipmentUnloadBuilder.newInstance();
Expand All @@ -115,6 +126,26 @@ private void logUnload(CarrierServiceStartEvent event) {
lspShipment.getShipmentLog().addPlanElement(unloadId, unload);
}

//TODO: Inahltlich ansehen, was hier passiert. Ist aktuell nur Copy und Paste aus Service-Variante
private void logUnload(CarrierShipmentDeliveryStartEvent event) {
LspShipmentUtils.LoggedShipmentUnloadBuilder builder =
LspShipmentUtils.LoggedShipmentUnloadBuilder.newInstance();
builder.setCarrierId(event.getCarrierId());
builder.setLinkId(event.getLinkId());
builder.setLogisticChainElement(logisticChainElement);
builder.setResourceId(resource.getId());
builder.setStartTime(event.getTime());
builder.setEndTime(event.getTime() + event.getDeliveryDuration());
LspShipmentPlanElement unload = builder.build();
String idString =
unload.getResourceId()
+ ""
+ unload.getLogisticChainElement().getId()
+ unload.getElementType();
Id<LspShipmentPlanElement> unloadId = Id.create(idString, LspShipmentPlanElement.class);
lspShipment.getShipmentLog().addPlanElement(unloadId, unload);
}

public CarrierService getCarrierService() {
return carrierService;
}
Expand Down

0 comments on commit 89283a3

Please sign in to comment.