Skip to content

Commit

Permalink
håndter brukerpassbytte
Browse files Browse the repository at this point in the history
  • Loading branch information
olesls committed Feb 13, 2024
1 parent 7b35b5e commit c6792d5
Show file tree
Hide file tree
Showing 5 changed files with 125 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,9 @@ internal class SøknadStoreInnsenderPostgres(private val dataSource: DataSource)
ON status.ID = (
SELECT ID FROM V1_STATUS WHERE SOKNADS_ID = soknad.SOKNADS_ID ORDER BY created DESC LIMIT 1
)
WHERE soknad.FNR_INNSENDER = :fnrInnsender AND soknad.SOKNADS_ID = :soknadId $behovsmeldingTypeClause
WHERE soknad.FNR_INNSENDER = :fnrInnsender
AND soknad.DATA ->> 'behovsmeldingType' <> 'BRUKERPASSBYTTE'
AND soknad.SOKNADS_ID = :soknadId $behovsmeldingTypeClause
AND soknad.created > :minimumDato
AND (
status.STATUS NOT IN ('SLETTET', 'UTLØPT', 'VEDTAKSRESULTAT_AVSLÅTT', 'VEDTAKSRESULTAT_HENLAGTBORTFALT', 'VEDTAKSRESULTAT_ANNET', 'BESTILLING_AVVIST', 'UTSENDING_STARTET')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package no.nav.hjelpemidler.soknad.db.domain

enum class BehovsmeldingType {
SØKNAD, BESTILLING, BYTTE
SØKNAD, BESTILLING, BYTTE, BRUKERPASSBYTTE
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package no.nav.hjelpemidler.soknad.db.domain

import java.util.UUID

data class Brukerpassbytte(
val id: UUID,
val hjelpemiddel: BytteHjelpemiddel,
val bytteårsak: BrukerpassBytteårsak,
val utleveringsmåte: BytteUtleveringsmåte,
val brukersNavn: String,
val folkeregistrertAdresse: BytteAdresse?,
val adresse: BytteAdresse?,
val dato: String
)

data class BytteHjelpemiddel(
val artnr: String,
val navn: String,
val kategori: String
)

enum class BrukerpassBytteårsak {
UTSLITT, ØDELAGT, ANNEN_ÅRSAK
}

enum class BytteUtleveringsmåte {
FOLKEREGISTRERT_ADRESSE, OPPGITT_ADRESSE
}

data class BytteAdresse(
val adresse: String?,
val postnr: String?,
val poststed: String?,
)
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,65 @@ class SoknadMedStatus private constructor(
val valgteÅrsaker: List<String>,
) {
companion object {
fun newSøknadUtenFormidlernavn(soknadId: UUID, behovsmeldingType: BehovsmeldingType, journalpostId: String?, datoOpprettet: Date, datoOppdatert: Date, status: Status, fullmakt: Boolean, er_digital: Boolean, soknadGjelder: String?, valgteÅrsaker: List<String>) =
SoknadMedStatus(soknadId, behovsmeldingType, journalpostId, datoOpprettet, datoOppdatert, status, fullmakt, null, er_digital, soknadGjelder, valgteÅrsaker)
fun newSøknadUtenFormidlernavn(
soknadId: UUID,
behovsmeldingType: BehovsmeldingType,
journalpostId: String?,
datoOpprettet: Date,
datoOppdatert: Date,
status: Status,
fullmakt: Boolean,
er_digital: Boolean,
soknadGjelder: String?,
valgteÅrsaker: List<String>
) =
SoknadMedStatus(
soknadId,
behovsmeldingType,
journalpostId,
datoOpprettet,
datoOppdatert,
status,
fullmakt,
null,
er_digital,
soknadGjelder,
valgteÅrsaker
)

fun newSøknadMedFormidlernavn(soknadId: UUID, behovsmeldingType: BehovsmeldingType, journalpostId: String?, datoOpprettet: Date, datoOppdatert: Date, status: Status, fullmakt: Boolean, søknad: JsonNode, er_digital: Boolean, soknadGjelder: String?, valgteÅrsaker: List<String>) =
SoknadMedStatus(soknadId, behovsmeldingType, journalpostId, datoOpprettet, datoOppdatert, status, fullmakt, formidlerNavn(søknad), er_digital, soknadGjelder, valgteÅrsaker)
fun newSøknadMedFormidlernavn(
soknadId: UUID,
behovsmeldingType: BehovsmeldingType,
journalpostId: String?,
datoOpprettet: Date,
datoOppdatert: Date,
status: Status,
fullmakt: Boolean,
knad: JsonNode,
er_digital: Boolean,
soknadGjelder: String?,
valgteÅrsaker: List<String>
) =
SoknadMedStatus(
soknadId,
behovsmeldingType,
journalpostId,
datoOpprettet,
datoOppdatert,
status,
fullmakt,
formidlerNavn(søknad),
er_digital,
soknadGjelder,
valgteÅrsaker
)
}
}

private fun formidlerNavn(soknad: JsonNode): String {
private fun formidlerNavn(soknad: JsonNode): String? {
if (soknad["behovsmeldingType"].textValue() == BehovsmeldingType.BRUKERPASSBYTTE.name) {
return null
}
val leveringNode = soknad["soknad"]["levering"]
return "${leveringNode["hmfFornavn"].textValue()} ${leveringNode["hmfEtternavn"].textValue()}"
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class SøknadForBruker private constructor(
val fullmakt: Boolean,
val fnrBruker: String,
valknadsdata: Søknadsdata?,
val brukerpassbytte: Brukerpassbytte?,
val er_digital: Boolean,
val soknadGjelder: String?,
var ordrelinjer: List<SøknadForBrukerOrdrelinje>,
Expand All @@ -43,24 +44,37 @@ class SøknadForBruker private constructor(
fagsakId: String?,
knadType: String?,
valgteÅrsaker: List<String>,
) =
SøknadForBruker(
søknadId,
behovsmeldingType,
journalpostId,
datoOpprettet,
datoOppdatert,
status,
fullmakt,
fnrBruker,
Søknadsdata(søknad, kommunenavn),
er_digital,
soknadGjelder,
ordrelinjer,
fagsakId,
søknadType,
valgteÅrsaker,
): SøknadForBruker {
val søknadsdata = when (behovsmeldingType) {
BehovsmeldingType.SØKNAD, BehovsmeldingType.BESTILLING, BehovsmeldingType.BYTTE -> Søknadsdata(søknad, kommunenavn)
BehovsmeldingType.BRUKERPASSBYTTE -> null
}

val brukerpassbytte = when (behovsmeldingType) {
BehovsmeldingType.SØKNAD, BehovsmeldingType.BESTILLING, BehovsmeldingType.BYTTE -> null
BehovsmeldingType.BRUKERPASSBYTTE -> objectMapper.treeToValue<Brukerpassbytte>(søknad["brukerpassbytte"])
}

return SøknadForBruker(
søknadId = søknadId,
behovsmeldingType = behovsmeldingType,
journalpostId = journalpostId,
datoOpprettet = datoOpprettet,
datoOppdatert = datoOppdatert,
status = status,
fullmakt = fullmakt,
fnrBruker = fnrBruker,
søknadsdata = søknadsdata,
brukerpassbytte = brukerpassbytte,
er_digital = er_digital,
soknadGjelder = soknadGjelder,
ordrelinjer = ordrelinjer,
fagsakId = fagsakId,
søknadType = søknadType,
valgteÅrsaker = valgteÅrsaker,
)
}


fun newEmptySøknad(
knadId: UUID,
Expand Down Expand Up @@ -88,6 +102,7 @@ class SøknadForBruker private constructor(
fullmakt,
fnrBruker,
null,
null,
er_digital,
soknadGjelder,
ordrelinjer,
Expand Down

0 comments on commit c6792d5

Please sign in to comment.