Skip to content

Commit

Permalink
Sortering boforhold (#115)
Browse files Browse the repository at this point in the history
* Sortering av boforhold. og sivilstand
  • Loading branch information
s148719 authored Dec 14, 2023
1 parent 49dcfe0 commit de9191c
Show file tree
Hide file tree
Showing 19 changed files with 112 additions and 117 deletions.
2 changes: 1 addition & 1 deletion .nais/feature.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ env:
BIDRAG_BEREGN_FORSKUDD_URL: http://bidrag-beregn-forskudd-rest
BIDRAG_BEREGN_FORSKUDD_SCOPE: dev-gcp.bidrag.bidrag-beregn-forskudd-rest
BIDRAG_GRUNNLAG_URL: http://bidrag-grunnlag-feature
BIDRAG_GRUNNLAG_URL_SCOPE: dev-gcp.bidrag.bidrag-grunnlag-feature
BIDRAG_GRUNNLAG_SCOPE: dev-gcp.bidrag.bidrag-grunnlag-feature
BIDRAG_FORSENDELSE_URL: http://bidrag-dokument-forsendelse-feature
BIDRAG_FORSENDELSE_SCOPE: dev-gcp.bidrag.bidrag-dokument-forsendelse-feature
BIDRAG_TILGANGSKONTROLL_URL: http://bidrag-tilgangskontroll-feature
Expand Down
2 changes: 1 addition & 1 deletion .nais/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ env:
BIDRAG_BEREGN_FORSKUDD_URL: http://bidrag-beregn-forskudd-rest
BIDRAG_BEREGN_FORSKUDD_SCOPE: dev-gcp.bidrag.bidrag-beregn-forskudd-rest
BIDRAG_GRUNNLAG_URL: http://bidrag-grunnlag
BIDRAG_GRUNNLAG_URL_SCOPE: dev-gcp.bidrag.bidrag-grunnlag
BIDRAG_GRUNNLAG_SCOPE: dev-gcp.bidrag.bidrag-grunnlag
BIDRAG_FORSENDELSE_URL: http://bidrag-dokument-forsendelse
BIDRAG_FORSENDELSE_SCOPE: dev-gcp.bidrag.bidrag-dokument-forsendelse
BIDRAG_TILGANGSKONTROLL_URL: http://bidrag-tilgangskontroll
Expand Down
2 changes: 1 addition & 1 deletion .nais/prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ env:
BIDRAG_BEREGN_FORSKUDD_URL: http://bidrag-beregn-forskudd-rest
BIDRAG_BEREGN_FORSKUDD_SCOPE: prod-gcp.bidrag.bidrag-beregn-forskudd-rest
BIDRAG_GRUNNLAG_URL: http://bidrag-grunnlag
BIDRAG_GRUNNLAG_URL_SCOPE: prod-gcp.bidrag.bidrag-grunnlag
BIDRAG_GRUNNLAG_SCOPE: prod-gcp.bidrag.bidrag-grunnlag
BIDRAG_FORSENDELSE_URL: http://bidrag-dokument-forsendelse
BIDRAG_FORSENDELSE_SCOPE: prod-gcp.bidrag.bidrag-dokument-forsendelse
BIDRAG_TILGANGSKONTROLL_URL: http://bidrag-tilgangskontroll
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ class DeprecatedBehandlingController(private val behandlingService: BehandlingSe
it.opprettetDato?.toDate(),
)
}.toSet(),
behandling.husstandsbarn.toHusstandsBarnDto(),
behandling.husstandsbarn.toHusstandsBarnDto(behandling),
behandling.sivilstand.toSivilstandDto(),
behandling.virkningsdato,
behandling.soknadRefId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@ package no.nav.bidrag.behandling.controller.deprecated
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.security.SecurityRequirement
import no.nav.bidrag.behandling.deprecated.dto.BoforholdResponse
import no.nav.bidrag.behandling.deprecated.dto.UpdateBoforholdRequest
import no.nav.bidrag.behandling.deprecated.dto.toDomain
import no.nav.bidrag.behandling.deprecated.dto.OppdatereBoforholdRequest
import no.nav.bidrag.behandling.deprecated.dto.toHustandsbarndDto
import no.nav.bidrag.behandling.service.BehandlingService
import no.nav.bidrag.behandling.transformers.toDomain
import no.nav.bidrag.behandling.transformers.toHusstandsBarnDto
import no.nav.bidrag.behandling.transformers.toSivilstandDomain
import no.nav.bidrag.behandling.transformers.toSivilstandDto
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable
Expand All @@ -26,22 +24,20 @@ class DeprecatedBoforholdController(private val behandlingService: BehandlingSer
)
fun oppdatereBoforhold(
@PathVariable behandlingId: Long,
@RequestBody updateBoforholdRequest: UpdateBoforholdRequest,
@RequestBody updateBoforholdRequest: OppdatereBoforholdRequest,
): BoforholdResponse {
val behandling = behandlingService.hentBehandlingById(behandlingId)

behandlingService.updateBoforhold(
behandlingId,
updateBoforholdRequest.husstandsBarn.toDomain(behandling),
updateBoforholdRequest.sivilstand.toSivilstandDomain(behandling),
updateBoforholdRequest.boforholdBegrunnelseKunINotat,
updateBoforholdRequest.boforholdBegrunnelseMedIVedtakNotat,
updateBoforholdRequest.husstandsBarn.toHustandsbarndDto(),
updateBoforholdRequest.sivilstand,
updateBoforholdRequest.boforholdsbegrunnelseKunINotat,
updateBoforholdRequest.boforholdsbegrunnelseIVedtakOgNotat,
)

val updatedBehandling = behandlingService.hentBehandlingById(behandlingId)

return BoforholdResponse(
updatedBehandling.husstandsbarn.toHusstandsBarnDto(),
updatedBehandling.husstandsbarn.toHusstandsBarnDto(updatedBehandling),
updatedBehandling.sivilstand.toSivilstandDto(),
updatedBehandling.boforholdsbegrunnelseIVedtakOgNotat,
updatedBehandling.boforholdsbegrunnelseKunINotat,
Expand All @@ -60,7 +56,7 @@ class DeprecatedBoforholdController(private val behandlingService: BehandlingSer
val behandling = behandlingService.hentBehandlingById(behandlingId)

return BoforholdResponse(
behandling.husstandsbarn.toHusstandsBarnDto(),
behandling.husstandsbarn.toHusstandsBarnDto(behandling),
behandling.sivilstand.toSivilstandDto(),
behandling.boforholdsbegrunnelseIVedtakOgNotat,
behandling.boforholdsbegrunnelseKunINotat,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ class BehandlingController(private val behandlingService: BehandlingService) {
it.opprettetDato,
)
}.toSet(),
behandling.husstandsbarn.toHusstandsBarnDto(),
behandling.husstandsbarn.toHusstandsBarnDto(behandling),
behandling.sivilstand.toSivilstandDto(),
behandling.virkningsdato,
behandling.soknadRefId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement
import no.nav.bidrag.behandling.dto.boforhold.BoforholdResponse
import no.nav.bidrag.behandling.dto.boforhold.OppdatereBoforholdRequest
import no.nav.bidrag.behandling.service.BehandlingService
import no.nav.bidrag.behandling.transformers.toDomain
import no.nav.bidrag.behandling.transformers.toHusstandsBarnDto
import no.nav.bidrag.behandling.transformers.toSivilstandDomain
import no.nav.bidrag.behandling.transformers.toSivilstandDto
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PathVariable
Expand All @@ -26,23 +24,21 @@ class BoforholdController(private val behandlingService: BehandlingService) {
@PathVariable behandlingId: Long,
@RequestBody oppdatereBoforholdRequest: OppdatereBoforholdRequest,
): BoforholdResponse {
val behandling = behandlingService.hentBehandlingById(behandlingId)

behandlingService.updateBoforhold(
behandlingId,
oppdatereBoforholdRequest.husstandsbarn.toDomain(behandling),
oppdatereBoforholdRequest.sivilstand.toSivilstandDomain(behandling),
oppdatereBoforholdRequest.husstandsbarn,
oppdatereBoforholdRequest.sivilstand,
oppdatereBoforholdRequest.boforholdsbegrunnelseKunINotat,
oppdatereBoforholdRequest.boforholdsbegrunnelseIVedtakOgNotat,
)

val updatedBehandling = behandlingService.hentBehandlingById(behandlingId)
val oppdatertBehandling = behandlingService.hentBehandlingById(behandlingId)

return BoforholdResponse(
updatedBehandling.husstandsbarn.toHusstandsBarnDto(),
updatedBehandling.sivilstand.toSivilstandDto(),
updatedBehandling.boforholdsbegrunnelseIVedtakOgNotat,
updatedBehandling.boforholdsbegrunnelseKunINotat,
oppdatertBehandling.husstandsbarn.toHusstandsBarnDto(oppdatertBehandling),
oppdatertBehandling.sivilstand.toSivilstandDto(),
oppdatertBehandling.boforholdsbegrunnelseIVedtakOgNotat,
oppdatertBehandling.boforholdsbegrunnelseKunINotat,
)
}

Expand All @@ -58,7 +54,7 @@ class BoforholdController(private val behandlingService: BehandlingService) {
val behandling = behandlingService.hentBehandlingById(behandlingId)

return BoforholdResponse(
behandling.husstandsbarn.toHusstandsBarnDto(),
behandling.husstandsbarn.toHusstandsBarnDto(behandling),
behandling.sivilstand.toSivilstandDto(),
behandling.boforholdsbegrunnelseIVedtakOgNotat,
behandling.boforholdsbegrunnelseKunINotat,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,35 +80,35 @@ class Behandling(
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "behandling",
cascade = [CascadeType.ALL],
cascade = [CascadeType.MERGE, CascadeType.PERSIST],
orphanRemoval = true,
)
var husstandsbarn: MutableSet<Husstandsbarn> = mutableSetOf(),
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "behandling",
cascade = [CascadeType.PERSIST, CascadeType.MERGE],
cascade = [CascadeType.MERGE, CascadeType.PERSIST],
orphanRemoval = true,
)
var inntekter: MutableSet<Inntekt> = mutableSetOf(),
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "behandling",
cascade = [CascadeType.ALL],
cascade = [CascadeType.MERGE, CascadeType.PERSIST],
orphanRemoval = true,
)
var sivilstand: MutableSet<Sivilstand> = mutableSetOf(),
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "behandling",
cascade = [CascadeType.PERSIST, CascadeType.MERGE],
cascade = [CascadeType.MERGE, CascadeType.PERSIST],
orphanRemoval = true,
)
var barnetillegg: MutableSet<Barnetillegg> = mutableSetOf(),
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "behandling",
cascade = [CascadeType.PERSIST, CascadeType.MERGE],
cascade = [CascadeType.MERGE, CascadeType.PERSIST],
orphanRemoval = true,
)
var utvidetBarnetrygd: MutableSet<UtvidetBarnetrygd> = mutableSetOf(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ class Husstandsbarn(
val ident: String? = null,
val navn: String? = null,
val foedselsdato: LocalDate,
@OneToMany(fetch = FetchType.EAGER, mappedBy = "husstandsbarn", cascade = [CascadeType.ALL], orphanRemoval = true)
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "husstandsbarn",
cascade = [CascadeType.PERSIST, CascadeType.MERGE],
orphanRemoval = true,
)
var perioder: MutableSet<Husstandsbarnperiode> = mutableSetOf(),
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ package no.nav.bidrag.behandling.deprecated.dto

import com.fasterxml.jackson.annotation.JsonFormat
import io.swagger.v3.oas.annotations.media.Schema
import no.nav.bidrag.behandling.database.datamodell.Husstandsbarn
import no.nav.bidrag.behandling.database.datamodell.Husstandsbarnperiode
import no.nav.bidrag.behandling.database.datamodell.Kilde
import no.nav.bidrag.domene.enums.person.Bostatuskode
import java.time.LocalDate
Expand All @@ -22,13 +20,13 @@ data class HusstandsBarnPeriodeDto(
val kilde: Kilde,
)

fun Set<HusstandsBarnPeriodeDto>.toDomain(husstandsBarn: Husstandsbarn) =
fun Set<HusstandsBarnPeriodeDto>.toHusstandsbarnperiodeDto(): Set<no.nav.bidrag.behandling.dto.husstandsbarn.HusstandsbarnperiodeDto> =
this.map {
Husstandsbarnperiode(
husstandsBarn,
it.datoFom,
it.datoTom,
it.bostatus!!,
it.kilde,
no.nav.bidrag.behandling.dto.husstandsbarn.HusstandsbarnperiodeDto(
id = it.id,
datoFom = it.datoFom,
datoTom = it.datoTom,
bostatus = it.bostatus!!,
kilde = it.kilde,
)
}.toSet()
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ package no.nav.bidrag.behandling.deprecated.dto

import com.fasterxml.jackson.annotation.JsonFormat
import io.swagger.v3.oas.annotations.media.Schema
import no.nav.bidrag.behandling.database.datamodell.Behandling
import no.nav.bidrag.behandling.database.datamodell.Husstandsbarn
import no.nav.bidrag.behandling.transformers.toDomain
import java.time.LocalDate

data class HusstandsbarnDto(
Expand All @@ -14,23 +11,22 @@ data class HusstandsbarnDto(
@Schema(required = true)
val perioder: Set<HusstandsBarnPeriodeDto>,
val ident: String? = null,
val navn: String? = null,
var navn: String? = null,
@Schema(type = "string", format = "date", example = "2025-01-25")
@JsonFormat(pattern = "yyyy-MM-dd")
val foedselsdato: LocalDate? = null,
val foedselsdato: LocalDate,
valdselsdato: LocalDate = foedselsdato,
)

fun Set<HusstandsbarnDto>.toDomain(behandling: Behandling) =
this.map {
val barn =
Husstandsbarn(
behandling,
it.medISak,
it.id,
it.ident,
it.navn,
it.foedselsdato!!,
)
barn.perioder = it.perioder.toDomain(barn).toMutableSet()
barn
}.toMutableSet()
fun Set<HusstandsbarnDto>.toHustandsbarndDto(): Set<no.nav.bidrag.behandling.dto.husstandsbarn.HusstandsbarnDto> =
this.map { it.toHusstandsbarnDto() }.toSet()

fun HusstandsbarnDto.toHusstandsbarnDto(): no.nav.bidrag.behandling.dto.husstandsbarn.HusstandsbarnDto =
no.nav.bidrag.behandling.dto.husstandsbarn.HusstandsbarnDto(
id = this.id,
medISak = this.medISak,
perioder = this.perioder.toHusstandsbarnperiodeDto(),
ident = this.ident,
navn = this.navn,
fødselsdato = this.fødselsdato,
)
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package no.nav.bidrag.behandling.deprecated.dto
import io.swagger.v3.oas.annotations.media.Schema
import no.nav.bidrag.behandling.dto.behandling.SivilstandDto

data class UpdateBoforholdRequest(
@Schema(required = true)
data class OppdatereBoforholdRequest(
@Deprecated("Bruk husstandsbarn")
val husstandsBarn: Set<HusstandsbarnDto>,
@Schema(required = true)
val sivilstand: Set<SivilstandDto>,
val boforholdBegrunnelseMedIVedtakNotat: String? = null,
val boforholdBegrunnelseKunINotat: String? = null,
val boforholdsbegrunnelseIVedtakOgNotat: String? = null,
val boforholdsbegrunnelseKunINotat: String? = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ import no.nav.bidrag.behandling.dto.behandling.SivilstandDto
import no.nav.bidrag.behandling.dto.husstandsbarn.HusstandsbarnDto

data class OppdatereBoforholdRequest(
@Deprecated("Bruk husstandsbarn")
val husstandsBarn: Set<HusstandsbarnDto>,
@Schema(required = true)
val husstandsbarn: Set<HusstandsbarnDto>,
val husstandsbarn: Set<HusstandsbarnDto> = husstandsBarn,
@Schema(required = true)
val sivilstand: Set<SivilstandDto>,
val boforholdsbegrunnelseIVedtakOgNotat: String? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,23 @@ import no.nav.bidrag.behandling.behandlingNotFoundException
import no.nav.bidrag.behandling.consumer.BidragGrunnlagConsumer
import no.nav.bidrag.behandling.database.datamodell.Behandling
import no.nav.bidrag.behandling.database.datamodell.ForskuddAarsakType
import no.nav.bidrag.behandling.database.datamodell.Husstandsbarn
import no.nav.bidrag.behandling.database.datamodell.Sivilstand
import no.nav.bidrag.behandling.database.repository.BehandlingRepository
import no.nav.bidrag.behandling.database.repository.RolleRepository
import no.nav.bidrag.behandling.dto.behandling.CreateRolleDto
import no.nav.bidrag.behandling.dto.behandling.SivilstandDto
import no.nav.bidrag.behandling.dto.forsendelse.BehandlingInfoDto
import no.nav.bidrag.behandling.dto.forsendelse.InitalizeForsendelseRequest
import no.nav.bidrag.behandling.dto.husstandsbarn.HusstandsbarnDto
import no.nav.bidrag.behandling.dto.inntekt.BarnetilleggDto
import no.nav.bidrag.behandling.dto.inntekt.InntektDto
import no.nav.bidrag.behandling.dto.inntekt.UtvidetBarnetrygdDto
import no.nav.bidrag.behandling.transformers.tilForsendelseRolleDto
import no.nav.bidrag.behandling.transformers.tilVedtakType
import no.nav.bidrag.behandling.transformers.toBarnetilleggDomain
import no.nav.bidrag.behandling.transformers.toDomain
import no.nav.bidrag.behandling.transformers.toInntektDomain
import no.nav.bidrag.behandling.transformers.toRolle
import no.nav.bidrag.behandling.transformers.toSivilstandDomain
import no.nav.bidrag.behandling.transformers.toUtvidetBarnetrygdDomain
import no.nav.bidrag.domene.enums.rolle.Rolletype
import org.springframework.stereotype.Service
Expand Down Expand Up @@ -161,28 +163,26 @@ class BehandlingService(
virkningstidspunktbegrunnelseMedIVedtakOgNotat,
)

@Transactional
fun updateBoforhold(
behandlingsid: Long,
husstandsbarn: MutableSet<Husstandsbarn>,
sivilstand: MutableSet<Sivilstand>,
husstandsbarn: Set<HusstandsbarnDto>,
sivilstand: Set<SivilstandDto>,
boforholdsbegrunnelseKunINotat: String?,
boforholdsbegrunnelseMedIVedtakOgNotat: String?,
) = behandlingRepository.save(
behandlingRepository.findBehandlingById(behandlingsid)
.orElseThrow { behandlingNotFoundException(behandlingsid) }
.let {
it.boforholdsbegrunnelseKunINotat = boforholdsbegrunnelseKunINotat
it.boforholdsbegrunnelseIVedtakOgNotat = boforholdsbegrunnelseMedIVedtakOgNotat
) {
var behandling = hentBehandlingById(behandlingsid)
behandling.boforholdsbegrunnelseKunINotat = boforholdsbegrunnelseKunINotat
behandling.boforholdsbegrunnelseIVedtakOgNotat = boforholdsbegrunnelseMedIVedtakOgNotat

it.husstandsbarn.clear()
it.husstandsbarn.addAll(husstandsbarn)
behandling.husstandsbarn.clear()
behandling.husstandsbarn.addAll(husstandsbarn.toDomain(behandling))

it.sivilstand.clear()
it.sivilstand.addAll(sivilstand)
behandling.sivilstand.clear()
behandling.sivilstand.addAll(sivilstand.toSivilstandDomain(behandling))

it
},
)
behandlingRepository.save(behandling)
}

@Transactional
fun oppdaterVedtakId(
Expand Down
Loading

0 comments on commit de9191c

Please sign in to comment.