Skip to content

Commit

Permalink
Bugfix Kvartalsregnskap
Browse files Browse the repository at this point in the history
  • Loading branch information
jonolehagemo committed Dec 7, 2022
1 parent 52a1db8 commit ef71818
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import java.util.List;
import java.util.stream.Stream;

import static no.ssb.kostra.control.felles.Comparator.isCodeInCodeList;

@SuppressWarnings("SpellCheckingInspection")
public class ControlIntegritet {

Expand All @@ -21,20 +19,35 @@ public static boolean doControl(

errorReport.incrementCount();

return
controlSkjema(errorReport, regnskap)
|| controlAargang(errorReport, regnskap)
|| controlKvartal(errorReport, regnskap)
|| controlRegion(errorReport, regnskap)
|| controlOrganisasjonsnummer(errorReport, regnskap)
|| controlForetaksnummer(errorReport, regnskap)
|| controlKontoklasse(errorReport, regnskap, kontoklasseList)
|| (isCodeInCodeList(args.getSkjema(), bevilgningRegnskapList) && controlFunksjon(errorReport, regnskap, funksjonkapittelList)
&& controlArt(errorReport, regnskap, artsektorList))
|| (isCodeInCodeList(args.getSkjema(), balanseRegnskapList) && controlKapittel(errorReport, regnskap, funksjonkapittelList)
&& controlSektor(errorReport, regnskap, artsektorList))
|| controlBelop(errorReport, regnskap)
|| controlUgyldigeBelop(errorReport, regnskap);
boolean isControlSkjema = controlSkjema(errorReport, regnskap);
boolean isControlAargang = controlAargang(errorReport, regnskap);
boolean isControlKvartal = controlKvartal(errorReport, regnskap);
boolean isControlRegion = controlRegion(errorReport, regnskap);
boolean isControlOrganisasjonsnummer = controlOrganisasjonsnummer(errorReport, regnskap);
boolean isControlForetaksnummer = controlForetaksnummer(errorReport, regnskap);
boolean isControlKontoklasse = controlKontoklasse(errorReport, regnskap, kontoklasseList);
boolean isControlFunksjon = controlFunksjon(errorReport, regnskap, funksjonkapittelList);
boolean isControlArt = controlArt(errorReport, regnskap, artsektorList);
boolean isControlKapittel = controlKapittel(errorReport, regnskap, funksjonkapittelList);
boolean isControlSektor = controlSektor(errorReport, regnskap, artsektorList);
boolean isControlBelop = controlBelop(errorReport, regnskap);
boolean isControlUgyldigeBelop = controlUgyldigeBelop(errorReport, regnskap);

return (
isControlSkjema
|| isControlAargang
|| isControlKvartal
|| isControlRegion
|| isControlOrganisasjonsnummer
|| isControlForetaksnummer
|| isControlKontoklasse
|| isControlFunksjon
|| isControlArt
|| isControlKapittel
|| isControlSektor
|| isControlBelop
|| isControlUgyldigeBelop
);
}

public static boolean controlSkjema(final ErrorReport errorReport, final List<KostraRecord> regnskap) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,46 @@ public void testDoControl0CK3NoErrors() {
assertNotNull("Has content ErrorReport", errorReport);
assertEquals(Constants.NO_ERROR, errorReport.getErrorType());
}

@Test
public void testDoControl0DK4WithErrors() {
//@formatter:off
String inputFileContent =
//00000000111111111122222222223333333333444444444
//23456789012345678901234567890123456789012345678
"""
0D20224340001 215 000 2899
0D20224340000 215 070 302276
0D20224340000 215 080 40000
0D20224340000 216 110 28888
0D20224340000 235 161 438
0D20224340000 234 152 2881
0D20224340000 234 153 -7583
0D20224340000 234 320 304
0D20224340000 234 395 32
0D20224340000 234 430 32
0D20224340000 234 450 32
0D20224340000 234 499 32
0D20224340000 234 550 32
0D20224340000 234 570 32
0D20224340000 234 610 32
0D20224340000 234 640 32""";

//@formatter:on

var byteArrayInputStream = new ByteArrayInputStream(inputFileContent.getBytes(StandardCharsets.ISO_8859_1));

var arguments = new Arguments(new
String[]{"-s", "0DK4", "-y", "2022", "-q", "4", "-r", "340000", "-n", "Innlandet Fylkeskommune"},
byteArrayInputStream);

var errorReport = Main.doControls(arguments);

if (Constants.DEBUG) {
System.out.print(errorReport.generateReport());
}

assertNotNull("Has content ErrorReport", errorReport);
assertEquals(Constants.CRITICAL_ERROR, errorReport.getErrorType());
}
}

0 comments on commit ef71818

Please sign in to comment.