Skip to content

Commit

Permalink
Version für VUVM2023.xml vorbereitet
Browse files Browse the repository at this point in the history
  • Loading branch information
Oli B committed Nov 28, 2023
1 parent e632415 commit 6cfd22d
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 11 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ Aus Gründen der Übersichtlichkeit sind bei älteren Versionen die einzelnen Pa

## [Unreleased]

### Planned

- Umstellugn Feld-Constructor auf ByteAdresse


### Added

- Unterstützung GDV-Version 2023

### Changed

- schnellere Validierung
Expand Down
2 changes: 1 addition & 1 deletion lib/src/main/java/gdv/xport/feld/Bezeichner.java
Original file line number Diff line number Diff line change
Expand Up @@ -1250,7 +1250,7 @@ public final class Bezeichner implements Serializable {
public static final Bezeichner VERSICHERUNGSSCHUTZ = new Bezeichner("Versicherungsschutz");
public static final Bezeichner VERSICHERUNGSSUMME_AKTUELL_IN_WAEHRUNGSEINHEITEN = new Bezeichner("Versicherungssumme aktuell in W\u00e4hrungseinheiten");
public static final Bezeichner VERSICHERUNGSSUMME_IN_WAEHRUNGSEINHEITEN = new Bezeichner("Versicherungssumme in W\u00e4hrungseinheiten");
public static final Bezeichner VERSION_SATZART_9999 = new Bezeichner("Version Satzart 9999 Nachsatz", "Satzart9999");
public static final Bezeichner VERSION_SATZART_9999 = new Bezeichner("Version Satzart 9999 Nachsatz", "Satzart9999", "Nachsatzsatzart9999");
public static final Bezeichner VERTRAG_MIT_ZUWACHSGARANTIE = new Bezeichner("Vertrag mit Zuwachsgarantie");
public static final Bezeichner VERSION_SATZART_0001 = new Bezeichner("Version Satzart 0001");
public static final Bezeichner VERSION_SATZART_0100 = new Bezeichner("Version Satzart 0100");
Expand Down
13 changes: 11 additions & 2 deletions lib/src/main/java/gdv/xport/feld/Version.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public class Version extends Feld {
private static final Map<String, SatzTyp> MAPPING = new HashMap<>();

static {
MAPPING.put("Satzart0220", SatzTyp.of("0220.080"));
MAPPING.put("Satzart02102", SatzTyp.of("0210.170"));
MAPPING.put("Satzart02202", SatzTyp.of("0220.170"));
MAPPING.put("Satzart02103", SatzTyp.of("0210.190"));
Expand All @@ -46,6 +47,12 @@ public class Version extends Feld {
MAPPING.put("Satzart02104", SatzTyp.of("0210.000"));
MAPPING.put("Satzart02204", SatzTyp.of("0220.000"));
MAPPING.put("KfzBaustein", SatzTyp.of("0220.055"));
MAPPING.put("Satzart02112", SatzTyp.of("0211.080"));
MAPPING.put("Satzart02212", SatzTyp.of("0221.080"));
MAPPING.put("Satzart02113", SatzTyp.of("0211.190"));
MAPPING.put("Satzart02213", SatzTyp.of("0221.190"));
MAPPING.put("Satzart02214", SatzTyp.of("0221.000"));
MAPPING.put("Satzart02114", SatzTyp.of("0211.000"));
}

/**
Expand Down Expand Up @@ -113,8 +120,10 @@ private static SatzTyp getSatzTypFrom(String technischerName) {
String typ = StringUtils.substringAfter(technischerName.toLowerCase(), "satzart").trim();
bufSatzTyp.append(typ, 0, 4);
if (typ.length() > 4) {
bufSatzTyp.append('.');
bufSatzTyp.append(typ, 4, 7);
String subTyp = typ.substring(4, 7);
if (StringUtils.isNumeric(subTyp)) {
bufSatzTyp.append('.').append(subTyp);
}
}
return SatzTyp.of(bufSatzTyp.toString());
}
Expand Down
14 changes: 7 additions & 7 deletions lib/src/main/java/gdv/xport/satz/Vorsatz.java
Original file line number Diff line number Diff line change
Expand Up @@ -205,17 +205,17 @@ public void setErstellungsZeitraum(final Datum startDatum,
* @return Erstellungszeitraum (VonDatum, BisDatum)
*/
public String getErstellungsZeitraum() {
return this.getFeld(Bezeichner.ERSTELLUNGS_DAT_ZEITRAUM_VOM_ZEITRAUM_BIS).getInhalt().trim();
return this.getFeld(ByteAdresse.of(70)).getInhalt().trim();
}

public void setErstellungsZeitraumVon(Datum von) {
setErstellungsZeitraum(von, getErstellungsZeitraumBis());
}

public Datum getErstellungsZeitraumVon() {
Feld vonBis = super.getFeld(Bezeichner.ERSTELLUNGS_DAT_ZEITRAUM_VOM_ZEITRAUM_BIS);
Datum von = new Datum(ERSTELLUNGSDAT_ZEITRAUM_VOM, 8, vonBis.getByteAdresse());
von.setInhalt(vonBis.getInhalt().substring(0, 8));
String vonBis = getErstellungsZeitraum();
Datum von = new Datum(ERSTELLUNGSDAT_ZEITRAUM_VOM, 8, 70);
von.setInhalt(vonBis.substring(0, 8));
return von;
}

Expand All @@ -224,9 +224,9 @@ public void setErstellungsZeitraumBis(Datum bis) {
}

public Datum getErstellungsZeitraumBis() {
Feld vonBis = super.getFeld(Bezeichner.ERSTELLUNGS_DAT_ZEITRAUM_VOM_ZEITRAUM_BIS);
Datum bis = new Datum(ERSTELLUNGSDAT_ZEITRAUM_BIS, 8, vonBis.getByteAdresse() + 8);
bis.setInhalt(vonBis.getInhalt().substring(8));
String vonBis = getErstellungsZeitraum();
Datum bis = new Datum(ERSTELLUNGSDAT_ZEITRAUM_BIS, 8, 78);
bis.setInhalt(vonBis.substring(8));
return bis;
}

Expand Down
14 changes: 13 additions & 1 deletion lib/src/test/java/gdv/xport/feld/VersionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,20 @@ public void testGetSatzTyp02102() {

@Test
public void testGetSatzTyp0300() {
Version v = new Version(new Bezeichner("Beteiligungs-Informationssatz Satzart 0300", "BeteiligungsInformationssatzsatzart0300"), 210);
Version v = new Version(new Bezeichner("Beteiligungs-Informationssatz Satzart 0300"), 210);
assertEquals(SatzTyp.of("0300"), v.getSatzTyp());
}

@Test
public void testGetSatzTyp0251() {
Version v = new Version(new Bezeichner("Satzart 0251 Einzelanmeldung"), 174);
assertEquals(SatzTyp.of("0251"), v.getSatzTyp());
}

@Test
public void testGetSatzTyp9999() {
Version v = new Version(new Bezeichner("Nachsatz Satzart 9999", "Nachsatzsatzart9999"), 225);
assertEquals(SatzTyp.of("9999"), v.getSatzTyp());
}

}

0 comments on commit 6cfd22d

Please sign in to comment.