Praemienfaktor hinzugefügt. Attribute für Fahrzeuge hinzugefügt.
This commit is contained in:
@@ -100,7 +100,7 @@ public class RDFHelper {
|
||||
Integer max = Integer.parseInt(Models.objectLiteral(model.filter(iri, maxIri, null)).map(Literal::getLabel).orElse("-1"));
|
||||
|
||||
int start = iri.stringValue().lastIndexOf("ElemInt");
|
||||
ai.setId(BigInteger.valueOf(Long.valueOf(iri.stringValue().substring(start + "ElemInt".length()))));
|
||||
ai.setId(BigInteger.valueOf(Long.parseLong(iri.stringValue().substring(start + "ElemInt".length()))));
|
||||
|
||||
ai.setBezeichnung(bez);
|
||||
ai.setDefault(def);
|
||||
@@ -204,6 +204,8 @@ public class RDFHelper {
|
||||
"http://vvo.pisanoapi.at/type"), null)).map(Literal::getLabel).orElse(null);
|
||||
String risikoobjektType = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
||||
"http://vvo.pisanoapi.at/risikoobjektType"), null)).map(Literal::getLabel).orElse(null);
|
||||
String praemie = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
||||
"http://vvo.pisanoapi.at/praemienfaktor"), null)).map(Literal::getLabel).orElse(null);
|
||||
XMLGregorianCalendar verkaufsoffenVon = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
||||
"http://vvo.pisanoapi.at/salesFrom"), null)).map(Literal::getLabel).isPresent() ?
|
||||
DatatypeFactory.newInstance().newXMLGregorianCalendar( Models.objectLiteral(model.filter(
|
||||
@@ -239,6 +241,7 @@ public class RDFHelper {
|
||||
verkaufsproduktType.setMaxOccurrences(maxOccurrence);
|
||||
verkaufsproduktType.setMinOccurrences(minOccurrence);
|
||||
verkaufsproduktType.setRisikoobjektType(risikoobjektType);
|
||||
verkaufsproduktType.setPraemienfaktor(praemie);
|
||||
|
||||
parentId.ifPresent(p -> parents.put(id, p));
|
||||
bausteine.put(id, verkaufsproduktType);
|
||||
@@ -302,6 +305,8 @@ public class RDFHelper {
|
||||
"http://vvo.pisanoapi.at/type"), null)).map(Literal::getLabel).orElse(null);
|
||||
String risikoobjektType = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
||||
"http://vvo.pisanoapi.at/risikoobjektType"), null)).map(Literal::getLabel).orElse(null);
|
||||
String praemie = Models.objectLiteral(model.filter(iri, vf.createIRI(
|
||||
"http://vvo.pisanoapi.at/praemienfaktor"), null)).map(Literal::getLabel).orElse(null);
|
||||
List<ServiceFault> meldungen = model.filter(iri, vf.createIRI(
|
||||
"http://vvo.pisanoapi.at/Meldung"), null).objects().stream()
|
||||
.filter(s -> s instanceof IRI).map(s -> {
|
||||
@@ -348,6 +353,7 @@ public class RDFHelper {
|
||||
verkaufsproduktType.setMaxVorkommen(maxOccurrence);
|
||||
verkaufsproduktType.setMinVorkommen(minOccurrence);
|
||||
verkaufsproduktType.setRisikoobjektErforderlich(risikoobjektType != null);
|
||||
verkaufsproduktType.setPraemienfaktor(praemie);
|
||||
|
||||
for (ServiceFault meldung : meldungen) {
|
||||
if (meldung != null) {
|
||||
@@ -403,21 +409,47 @@ public class RDFHelper {
|
||||
IRI bezIri = iri(baseIri + "bez");
|
||||
IRI baujahrIri = iri(baseIri + "baujahr");
|
||||
IRI erstzulassungIri = iri(baseIri + "erstzulassung");
|
||||
IRI kenIri = iri(baseIri + "kennzeichen");
|
||||
IRI leistungIri = iri(baseIri + "leistung");
|
||||
IRI sonderIri = iri(baseIri + "sonderausstattung");
|
||||
IRI listenpreisIri = iri(baseIri + "listenpreis");
|
||||
|
||||
|
||||
for (Resource iri : Models.subjectIRIs(model)) {
|
||||
if (iri.stringValue().contains("Fahrzeug")) {
|
||||
String id = iri.stringValue();
|
||||
|
||||
String bez = Models.objectLiteral(model.filter(iri, bezIri, null)).map(Literal::getLabel).orElse(null);
|
||||
int baujahr = Integer.parseInt(Models.objectLiteral(model.filter(iri, baujahrIri, null)).map(Literal::getLabel).orElse("-1"));
|
||||
XMLGregorianCalendar erstzulassung = Models.objectLiteral(model.filter(iri, erstzulassungIri, null)).map(Literal::getLabel).isPresent() ? DatatypeFactory.newInstance().newXMLGregorianCalendar(
|
||||
Models.objectLiteral(model.filter(iri, erstzulassungIri, null)).map(Literal::getLabel).orElse(null)) : null;
|
||||
String bez = Models.objectLiteral(
|
||||
model.filter(iri, bezIri, null)).map(Literal::getLabel).orElse(null);
|
||||
String ken = Models.objectLiteral(
|
||||
model.filter(iri, kenIri, null)).map(Literal::getLabel).orElse(null);
|
||||
BigDecimal listenpreis = BigDecimal.valueOf(
|
||||
Double.parseDouble(Models.objectLiteral(model.filter(iri, listenpreisIri, null))
|
||||
.map(Literal::getLabel).orElse("-1")));
|
||||
BigDecimal sonderausstattung = BigDecimal.valueOf(
|
||||
Double.parseDouble(Models.objectLiteral(model.filter(iri, sonderIri, null))
|
||||
.map(Literal::getLabel).orElse("-1")));
|
||||
|
||||
int leistung = Integer.parseInt(Models.objectLiteral(
|
||||
model.filter(iri, leistungIri, null)).map(Literal::getLabel).orElse("-1"));
|
||||
int baujahr = Integer.parseInt(Models.objectLiteral(
|
||||
model.filter(iri, baujahrIri, null)).map(Literal::getLabel).orElse("-1"));
|
||||
|
||||
XMLGregorianCalendar erstzulassung = Models.objectLiteral(model.filter(
|
||||
iri, erstzulassungIri, null)).map(Literal::getLabel).isPresent() ?
|
||||
DatatypeFactory.newInstance().newXMLGregorianCalendar(
|
||||
Models.objectLiteral(model.filter(iri, erstzulassungIri, null))
|
||||
.map(Literal::getLabel).orElse(null)) : null;
|
||||
|
||||
FahrzeugType fahrzeug = new FahrzeugType();
|
||||
|
||||
fahrzeug.setErstzulassdat(erstzulassung);
|
||||
fahrzeug.setBaujahr(baujahr);
|
||||
fahrzeug.setHandelsbez(bez);
|
||||
fahrzeug.setPolKennz(ken);
|
||||
fahrzeug.setLeistung(leistung);
|
||||
fahrzeug.setListenpreis(listenpreis);
|
||||
fahrzeug.setSonderausstattung(sonderausstattung);
|
||||
|
||||
erg.add(new Pair<>(id, fahrzeug));
|
||||
}
|
||||
@@ -486,6 +518,7 @@ public class RDFHelper {
|
||||
IRI risikoobjektTypeIri = iri(baseIri + "risikoobjektType");
|
||||
IRI bausteinIri = iri(baseIri + "Baustein");
|
||||
IRI parentIri = iri(baseIri + "Parent");
|
||||
IRI praemieIri = iri(baseIri + "praemienfaktor");
|
||||
|
||||
IRI vpIri = iriMap.get(guiProdukt);
|
||||
|
||||
@@ -502,7 +535,7 @@ public class RDFHelper {
|
||||
model.add(vpIri, maxOccurrenceIri, Values.literal(produkt.getMaxVorkommen()));
|
||||
model.add(vpIri, typeIri, Values.literal(produkt.getTyp()));
|
||||
if (produkt.isRisikoobjektErforderlich()) model.add(vpIri, risikoobjektTypeIri, Values.literal("FahrzeugType"));
|
||||
|
||||
if (produkt.getPraemienfaktor() != null) model.add(vpIri, praemieIri, Values.literal(produkt.getPraemienfaktor()));
|
||||
if (parentId != null) model.add(vpIri, parentIri, Values.iri(parentId));
|
||||
|
||||
}
|
||||
@@ -578,7 +611,6 @@ public class RDFHelper {
|
||||
meldungId++;
|
||||
}
|
||||
|
||||
int fahrzeugId = 1;
|
||||
for (VersichertesInteresseType ro : produkt.getVersicherteObjekte()){
|
||||
if (ro instanceof FahrzeugType fa){
|
||||
IRI fahrzeugIri = iri(baseIri + "FahrzeugType");
|
||||
@@ -586,16 +618,23 @@ public class RDFHelper {
|
||||
IRI faBaujahrIri = iri(baseIri + "baujahr");
|
||||
IRI faBezIri = iri(baseIri + "bez");
|
||||
IRI faErstZuIri = iri(baseIri + "erstzulassung");
|
||||
IRI faKennIri = iri(baseIri + "kennzeichen");
|
||||
IRI faLpreisIri = iri(baseIri + "listenpreis");
|
||||
IRI faSonderIri = iri(baseIri + "sonderausstattung");
|
||||
IRI faLeistungIri = iri(baseIri + "leistung");
|
||||
IRI prodRoIri = iri(baseIri + "VersichertesInteresseType");
|
||||
|
||||
model.add(faIri, RDF.TYPE, fahrzeugIri);
|
||||
model.add(faIri, faBaujahrIri, Values.literal(fa.getBaujahr()));
|
||||
model.add(faIri, faBezIri, Values.literal(fa.getHandelsbez()));
|
||||
model.add(faIri, faErstZuIri, Values.literal(fa.getErstzulassdat()));
|
||||
model.add(faIri, faKennIri, Values.literal(fa.getPolKennz()));
|
||||
model.add(faIri, faLpreisIri, Values.literal(fa.getListenpreis()));
|
||||
model.add(faIri, faSonderIri, Values.literal(fa.getSonderausstattung()));
|
||||
model.add(faIri, faLeistungIri, Values.literal(fa.getLeistung()));
|
||||
|
||||
model.add(vpIri, prodRoIri, faIri);
|
||||
|
||||
fahrzeugId++;
|
||||
} else if (ro instanceof VersicherteLiegenschaftType) {
|
||||
//To-Do
|
||||
} else if (ro instanceof RisikoGebaeudeType) {
|
||||
|
||||
@@ -60,6 +60,8 @@ public class TreeHelper {
|
||||
((ProduktbausteinType) original.getValue().getProdukt()).isRisikoobjektErforderlich());
|
||||
cloneOriginalValue.getVersicherteObjekte().addAll(
|
||||
((ProduktbausteinType) original.getValue().getProdukt()).getVersicherteObjekte());
|
||||
cloneOriginalValue.setPraemienfaktor(
|
||||
((ProduktbausteinType) original.getValue().getProdukt()).getPraemienfaktor());
|
||||
|
||||
TreeItem<GuiProdukt> clonedItem = new TreeItem<>(new GuiProdukt(cloneOriginalValue));
|
||||
|
||||
@@ -143,6 +145,8 @@ public class TreeHelper {
|
||||
((APrioriProduktbausteinType) produkt.getValue().getProdukt()).getType());
|
||||
erg.setRisikoobjektErforderlich(
|
||||
((APrioriProduktbausteinType) produkt.getValue().getProdukt()).getRisikoobjektType() != null);
|
||||
erg.setPraemienfaktor(
|
||||
((APrioriProduktbausteinType) produkt.getValue().getProdukt()).getPraemienfaktor());
|
||||
|
||||
for (int i = 0; i < ((APrioriProduktbausteinType) produkt.getValue().getProdukt()).getBausteine().size(); i++) {
|
||||
erg.getBausteine().add((ProduktbausteinType) aprioriItemToCalcItem(
|
||||
|
||||
@@ -65,6 +65,7 @@ public class BuildCalculateRequestAuskunft {
|
||||
baustein.setMinVorkommen(((ProduktbausteinType)treeItem.getValue().getProdukt()).getMinVorkommen());
|
||||
baustein.setMaxVorkommen(((ProduktbausteinType)treeItem.getValue().getProdukt()).getMaxVorkommen());
|
||||
baustein.getVersicherteObjekte().addAll(((ProduktbausteinType) treeItem.getValue().getProdukt()).getVersicherteObjekte());
|
||||
baustein.setPraemienfaktor(((ProduktbausteinType)treeItem.getValue().getProdukt()).getPraemienfaktor());
|
||||
|
||||
return baustein;
|
||||
}
|
||||
|
||||
@@ -1729,7 +1729,8 @@
|
||||
<xsd:attribute name="VerkaufsoffenBis" type="xsd:date" ><xsd:annotation><xsd:documentation>Verkaufsoffen bis</xsd:documentation></xsd:annotation></xsd:attribute>
|
||||
<xsd:attribute name="Typ" type="xsd:string" />
|
||||
<xsd:attribute name="RisikoobjektErforderlich" type="xsd:boolean" default="false"/>
|
||||
</xsd:extension>
|
||||
<xsd:attribute name="Praemienfaktor" type="xsd:string" />
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ProduktbausteinGenerisch_Type" abstract="true">
|
||||
@@ -5065,7 +5066,8 @@
|
||||
<xsd:attribute name="maxOccurrences" type="xsd:int" />
|
||||
<xsd:attribute name="type" type="xsd:string" use="required" />
|
||||
<xsd:attribute name="risikoobjekt_type" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
<xsd:attribute name="praemienfaktor" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
<xsd:annotation><xsd:documentation>Es gibt zwei Implementierungen für a priori: Verkaufsprodukt und Unterbaustein</xsd:documentation></xsd:annotation>
|
||||
<xsd:complexType name="APrioriUnterbaustein_Type">
|
||||
<xsd:complexContent>
|
||||
|
||||
Reference in New Issue
Block a user