
Projekte
ios-basis-domain
Erweiterung Angebotsmodell

-
erweitert die Faktor-IOS Core Objekte durch eigene Ableitungen, die die Versicherung des Versicherungsmodells einbindet
Core Erweiterung Offer
Angebot
SalesProduct
Verkaufsprodukt
OfferVariant
AngebotsVariante
-
definiert Abhängigkeit zum Basis Versicherungsmodell
<dependency> <groupId>de.faktorzehn.versicherungsmodell</groupId> <artifactId>vm-basis-domain</artifactId> </dependency>
-
definiert Beziehung der Angebotsvariante zur Versicherung aus dem F10-Versicherungsmodell
-
definiert Beziehung Angebot zur Vorversicherungsinfo
-
definiert Beziehung Angebot zu Abschlussdaten (Abschluss)
VbInitializationData
Die VbInitializationData
sind eine Erweiterung der InitializationData
aus ios-core-model und können für die Vorbelegung bzw. initiale Anlage eines Angebots verwendet werden.
VbBeitragsberechnung
Die VbBeitragsberechnung
implementiert die ICalculationServiceFacade
und kann zur Berechnung des Beitrags einer Versicherung verwendet werden.
Validierung bei der Beitragsberechnung
Bei der Standard-Beitragsberechnung wird vor dem Aufruf der Tarifierung die Validierung der Angebotsvariante aufgerufen. Es kann im Kundenprojekt vorkommen, dass diese Validierung nicht gewünscht ist. Um das Verhalten zu ändern, kann in einer Ableitung der Klasse VbBeitragsberechnung
die folgenden Methoden überschrieben werden.
@Override
public MessageList validate(AngebotsVariante angebotsVariante) {
return filterMessages(ICalculationServiceFacade.super.validate(angebotsVariante));
}
@Override
public BasisValidationContext createValidationContext() {
return new BasisValidationContext();
}
/**
* Filterung der {@link MessageList} nach {@link IMarker#isRequiredInformationMissing()} und
* {@link MessageMarker} <b>BERECHTIGUNG_NICHT_VORHANDEN</b>, um die Berechnung aus diesen
* Gründen nicht zu unterbinden.
*/
protected MessageList filterMessages(MessageList messageList) {
return MessageListUtil.filtered(messageList, m -> !m.hasMarker(MessageMarker.OBLIGATORISCHE_INFORMATION_FEHLT)
&& !m.hasMarker(MessageMarker.BERECHTIGUNG_NICHT_VORHANDEN));
}
Um seine eigene Implementierung zu aktivieren, muss die Methode getCalculationService
in der Ableitung von CoreLobConfig
überschrieben werden.