Skip to content

Commit 7cec3e5

Browse files
committed
Hardere validering på meldekortkjeder. log feil ved opprett meldekortbehandling
1 parent a92ab26 commit 7cec3e5

File tree

5 files changed

+11
-6
lines changed

5 files changed

+11
-6
lines changed

app/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/meldekort/domene/MeldeperiodeKjeder.kt

+5-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ data class MeldeperiodeKjeder(
3939
}
4040

4141
meldeperiodeKjeder.zipWithNext { a, b ->
42-
require(a.periode.fraOgMed <= b.periode.fraOgMed) {
42+
require(a.kjedeId != b.kjedeId) {
43+
"Meldeperiodekjedene kan ikke ha samme kjedeId - ${a.kjedeId} og ${b.kjedeId} (sak ${a.sakId})"
44+
}
45+
// 2 kjeder kan ikke ha samme meldeperiode. Og de må være sortert på periode.
46+
require(a.periode.tilOgMed < b.periode.fraOgMed) {
4347
"Meldeperiodekjedene må være sortert på periode - ${a.kjedeId} og ${b.kjedeId} var i feil rekkefølge (sak ${a.sakId})"
4448
}
4549
require(ChronoUnit.DAYS.between(a.periode.fraOgMed, b.periode.fraOgMed) % 14 == 0L) {

app/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/meldekort/service/OpprettMeldekortBehandlingService.kt

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class OpprettMeldekortBehandlingService(
5656
clock = clock,
5757
)
5858
}.getOrElse {
59+
logger.error(it) { "Kunne ikke opprette meldekort behandling på kjede $kjedeId for sak $sakId" }
5960
return KanIkkeOppretteMeldekortBehandling.KanIkkeOpprettePåKjede.left()
6061
}
6162

app/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/repository/meldekort/MeldeperiodePostgresRepo.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ internal class MeldeperiodePostgresRepo(
7878
sessionContext: SessionContext?,
7979
): MeldeperiodeKjeder {
8080
return sessionFactory.withSession(sessionContext) { session ->
81-
hentForSakId(sakId, session)
81+
hentMeldeperiodekjederForSakId(sakId, session)
8282
}
8383
}
8484

@@ -154,7 +154,7 @@ internal class MeldeperiodePostgresRepo(
154154
)
155155
}
156156

157-
internal fun hentForSakId(
157+
internal fun hentMeldeperiodekjederForSakId(
158158
sakId: SakId,
159159
session: Session,
160160
): MeldeperiodeKjeder {

app/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/repository/sak/SakPostgresRepo.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ internal class SakPostgresRepo(
264264
val vedtaksliste: Vedtaksliste = RammevedtakPostgresRepo.hentForSakId(id, session)
265265
val meldekortBehandlinger =
266266
MeldekortBehandlingPostgresRepo.hentForSakId(id, session) ?: MeldekortBehandlinger.empty()
267-
val meldeperioder = MeldeperiodePostgresRepo.hentForSakId(id, session)
267+
val meldeperiodekjeder = MeldeperiodePostgresRepo.hentMeldeperiodekjederForSakId(id, session)
268268
val soknader = SøknadDAO.hentForSakId(id, session)
269269
Sak(
270270
id = id,
@@ -274,7 +274,7 @@ internal class SakPostgresRepo(
274274
vedtaksliste = vedtaksliste,
275275
meldekortBehandlinger = meldekortBehandlinger,
276276
utbetalinger = UtbetalingsvedtakPostgresRepo.hentForSakId(id, session),
277-
meldeperiodeKjeder = meldeperioder,
277+
meldeperiodeKjeder = meldeperiodekjeder,
278278
brukersMeldekort = BrukersMeldekortPostgresRepo.hentForSakId(id, session),
279279
soknader = soknader,
280280
).also { sak ->

app/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/routes/meldekort/dto/MeldeperiodeKjedeDTO.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fun Sak.toMeldeperiodeKjedeDTO(kjedeId: MeldeperiodeKjedeId, clock: Clock): Meld
2525
}
2626

2727
fun Sak.toMeldeperiodeKjederDTO(clock: Clock): List<MeldeperiodeKjedeDTO> {
28-
return this.meldeperiodeKjeder.map { meldeperiodeKjede ->
28+
return this.meldeperiodeKjeder.sortedByDescending { it.periode.fraOgMed }.map { meldeperiodeKjede ->
2929
MeldeperiodeKjedeDTO(
3030
kjedeId = meldeperiodeKjede.kjedeId.toString(),
3131
periode = meldeperiodeKjede.periode.toDTO(),

0 commit comments

Comments
 (0)