Skip to content

Commit

Permalink
chore: updating db values based on user input
Browse files Browse the repository at this point in the history
  • Loading branch information
jaflaten committed Dec 5, 2024
1 parent 18979bc commit 3f250c5
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import no.nav.sykdig.digitalisering.papirsykmelding.api.model.Document
import no.nav.sykdig.digitalisering.papirsykmelding.api.model.FerdigstillRegistrering
import no.nav.sykdig.digitalisering.papirsykmelding.api.model.PapirManuellOppgave
import no.nav.sykdig.digitalisering.papirsykmelding.api.model.PapirSmRegistering
import no.nav.sykdig.digitalisering.papirsykmelding.api.model.SmRegistreringManuell
import no.nav.sykdig.digitalisering.papirsykmelding.db.NasjonalOppgaveRepository
import no.nav.sykdig.digitalisering.papirsykmelding.db.model.NasjonalManuellOppgaveDAO
import no.nav.sykdig.digitalisering.papirsykmelding.db.model.Utfall
Expand Down Expand Up @@ -49,23 +50,66 @@ class NasjonalOppgaveService(
}
val res = nasjonalOppgaveRepository.save(mapToDao(papirManuellOppgave, null))
log.info("Lagret oppgave med sykmeldingId ${res.sykmeldingId} og med database id ${eksisterendeOppgave?.id}")
securelog.info("Lagret oppgave med sykmeldingId ${res.sykmeldingId} og med database id ${eksisterendeOppgave?.id} og som dette objetket: $res")
securelog.info("Lagret oppgave med sykmeldingId ${res.sykmeldingId} og med database id ${eksisterendeOppgave?.id} og som dette objektet: $res")
return res
}

fun oppdaterOppgave(sykmeldingId: String, utfall: String, ferdigstiltAv: String, avvisningsgrunn: String?): NasjonalManuellOppgaveDAO? {
val updated = nasjonalOppgaveRepository.findBySykmeldingId(sykmeldingId)?.copy(
fun oppdaterOppgave(sykmeldingId: String, utfall: String, ferdigstiltAv: String, avvisningsgrunn: String?, smRegistreringManuell: SmRegistreringManuell?): NasjonalManuellOppgaveDAO? {
// val updated = nasjonalOppgaveRepository.findBySykmeldingId(sykmeldingId)?.copy(
// utfall = utfall,
// ferdigstiltAv = ferdigstiltAv,
// avvisningsgrunn = avvisningsgrunn,
// datoFerdigstilt = LocalDateTime.now(),
// ferdigstilt = true,
//
//
// )
// when (updated) {
// null -> log.info("Sykmelding $sykmeldingId not found ")
// else -> {
// securelog.info("Lagret oppgave med sykmeldingId ${updated.sykmeldingId} og med database id ${updated?.id} og som dette objektet: $updated")
// nasjonalOppgaveRepository.save(updated)
// }
// }
// return updated

val existingOppgave = nasjonalOppgaveRepository.findBySykmeldingId(sykmeldingId)

if (existingOppgave == null) {
log.info("Sykmelding $sykmeldingId not found")
return null
}

val updatedOppgave = existingOppgave.copy(
utfall = utfall,
ferdigstiltAv = ferdigstiltAv,
avvisningsgrunn = avvisningsgrunn,
datoFerdigstilt = LocalDateTime.now(),
ferdigstilt = true,
papirSmRegistrering = mapToUpdatedPapirSmRegistrering(existingOppgave, smRegistreringManuell)
)
when (updated) {
null -> log.info("Sykmelding $sykmeldingId not found ")
else -> nasjonalOppgaveRepository.save(updated)
}
return updated

securelog.info("Lagret oppgave med sykmeldingId ${updatedOppgave.sykmeldingId} og med database id ${updatedOppgave.id} som dette objektet: $updatedOppgave")
return nasjonalOppgaveRepository.save(updatedOppgave)
}

private fun mapToUpdatedPapirSmRegistrering(existingOppgave: NasjonalManuellOppgaveDAO, smRegistreringManuell: SmRegistreringManuell?): PapirSmRegistering {
val updatedPapirSmRegistrering = existingOppgave.papirSmRegistrering.copy(
meldingTilArbeidsgiver = smRegistreringManuell?.meldingTilArbeidsgiver
?: existingOppgave.papirSmRegistrering.meldingTilArbeidsgiver,
medisinskVurdering = smRegistreringManuell?.medisinskVurdering ?: existingOppgave.papirSmRegistrering.medisinskVurdering,
meldingTilNAV = smRegistreringManuell?.meldingTilNAV ?: existingOppgave.papirSmRegistrering.meldingTilNAV,
arbeidsgiver = smRegistreringManuell?.arbeidsgiver ?: existingOppgave.papirSmRegistrering.arbeidsgiver,
kontaktMedPasient = smRegistreringManuell?.kontaktMedPasient ?: existingOppgave.papirSmRegistrering.kontaktMedPasient,
perioder = smRegistreringManuell?.perioder ?: existingOppgave.papirSmRegistrering.perioder,
behandletTidspunkt = smRegistreringManuell?.behandletDato ?: existingOppgave.papirSmRegistrering.behandletTidspunkt,
syketilfelleStartDato = smRegistreringManuell?.syketilfelleStartDato ?: existingOppgave.papirSmRegistrering.syketilfelleStartDato,
behandler = smRegistreringManuell?.behandler ?: existingOppgave.papirSmRegistrering.behandler,
skjermesForPasient = smRegistreringManuell?.skjermesForPasient ?: existingOppgave.papirSmRegistrering.skjermesForPasient,
)

securelog.info("Updated papirSmRegistrering: $updatedPapirSmRegistrering to be saved in syk-dig-backend db nasjonal_manuellOppgave")
return updatedPapirSmRegistrering
}


Expand Down Expand Up @@ -121,6 +165,7 @@ class NasjonalOppgaveService(
utfall = Utfall.AVVIST.toString(),
ferdigstiltAv = veilederIdent,
avvisningsgrunn = avvisningsgrunn,
null
)

log.info("Har avvist oppgave med oppgaveId $oppgaveId")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class NasjonalSykmeldingService(
return handleBrokenRule(validationResult, oppgaveId.toInt())
}

return handleOK(validationResult, receivedSykmelding.copy(validationResult = validationResult), ferdigstillRegistrering, loggingMeta, null)
return handleOK(validationResult, receivedSykmelding.copy(validationResult = validationResult), ferdigstillRegistrering, loggingMeta, null, smRegistreringManuell)
}

private suspend fun handleOK(
Expand All @@ -110,6 +110,7 @@ class NasjonalSykmeldingService(
ferdigstillRegistrering: FerdigstillRegistrering,
loggingMeta: LoggingMeta,
avvisningsgrunn: String?,
smRegistreringManuell: SmRegistreringManuell,
): ResponseEntity<Any> {
if (validationResult.status == Status.OK || validationResult.status == Status.MANUAL_PROCESSING) {
val veileder = oppgaveSecurityService.getNavIdent()
Expand All @@ -132,6 +133,7 @@ class NasjonalSykmeldingService(
utfall = validationResult.status.toString(),
ferdigstiltAv = veileder.veilederIdent,
avvisningsgrunn = avvisningsgrunn,
smRegistreringManuell = smRegistreringManuell,
)
log.info("Ferdigstilt papirsykmelding med sykmelding id ${receivedSykmelding.sykmelding.id}")
return ResponseEntity(HttpStatus.OK)
Expand Down

0 comments on commit 3f250c5

Please sign in to comment.