Projekte

ios-basis-domain

Erweiterung Angebotsmodell

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.