Skip to content

Commit

Permalink
Merge pull request #4463 from navikt/refactor/deltaker-status
Browse files Browse the repository at this point in the history
Refactor/deltaker status
  • Loading branch information
sondrele authored Oct 10, 2024
2 parents 6181874 + 1a65f96 commit 3f4cf12
Show file tree
Hide file tree
Showing 26 changed files with 238 additions and 307 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.mulighetsrommet.domain.dbo

import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.domain.dto.ArenaDeltakerStatus
import no.nav.mulighetsrommet.domain.dto.NorskIdent
import no.nav.mulighetsrommet.domain.dto.Organisasjonsnummer
import no.nav.mulighetsrommet.domain.serializers.LocalDateTimeSerializer
Expand All @@ -24,21 +25,3 @@ data class ArenaDeltakerDbo(
@Serializable(with = LocalDateTimeSerializer::class)
val registrertIArenaDato: LocalDateTime,
)

enum class ArenaDeltakerStatus {
AVSLAG,
IKKE_AKTUELL,
TAKKET_NEI_TIL_TILBUD,
TILBUD,
TAKKET_JA_TIL_TILBUD,
INFORMASJONSMOTE,
AKTUELL,
VENTELISTE,
GJENNOMFORES,
DELTAKELSE_AVBRUTT,
GJENNOMFORING_AVBRUTT,
GJENNOMFORING_AVLYST,
FULLFORT,
IKKE_MOTT,
FEILREGISTRERT,
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package no.nav.mulighetsrommet.domain.dto

enum class ArbeidsgiverAvtaleStatus(val description: String) {
/**
* Tiltaket er påbegynt, men kan fortsatt mangle noe data som er påkrevd for at det skal kunne gjennomføres.
* Kan anses som en "kladd".
*/
PAABEGYNT("Påbegynt"),

/**
* Bl.a. når man mangler godkjenning av "controller", men kan muligens også være andre godkjenninger som
* kreves.
*/
MANGLER_GODKJENNING("Mangler godkjenning"),

/**
* Status er basert på startdato for avtale. Kan anta at avtalen er klar, men startdato er i fremtiden.
*/
KLAR_FOR_OPPSTART("Klar for oppstart"),

/**
* Avtale gjennomføres.
* Bruker deltar på tiltaket.
*/
GJENNOMFORES("Gjennomføres"),

/**
* Avtale har blitt avsluttet.
* Bruker har deltatt på tiltaket.
*/
AVSLUTTET("Avsluttet"),

/**
* Avtale ble avbrutt.
*/
AVBRUTT("Avbrutt"),

/**
* Tiltaket ble aldri noe av.
*/
ANNULLERT("Annullert"),
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package no.nav.mulighetsrommet.domain.dto

enum class ArenaDeltakerStatus(val description: String) {
AKTUELL("Aktuell"),
AVSLAG("Fått avslag"),
DELTAKELSE_AVBRUTT("Deltakelse avbrutt"),
FEILREGISTRERT("Feilregistrert"),
FULLFORT("Fullført"),
GJENNOMFORES("Gjennomføres"),
GJENNOMFORING_AVBRUTT("Gjennomføring avbrutt"),
GJENNOMFORING_AVLYST("Gjennomføring avlyst"),
IKKE_AKTUELL("Ikke aktuell"),
IKKE_MOTT("Ikke møtt"),
INFORMASJONSMOTE("Informasjonsmøte"),
TAKKET_JA_TIL_TILBUD("Takket ja til tilbud"),
TAKKET_NEI_TIL_TILBUD("Takket nei til tilbud"),
TILBUD("Godkjent tiltaksplass"),
VENTELISTE("Venteliste"),
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package no.nav.mulighetsrommet.domain.dto

import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.domain.serializers.LocalDateTimeSerializer
import java.time.LocalDateTime

@Serializable
data class DeltakerStatus(
val type: Type,
val aarsak: Aarsak?,
@Serializable(with = LocalDateTimeSerializer::class)
val opprettetDato: LocalDateTime,
) {
enum class Type(val description: String) {
AVBRUTT("Avbrutt"),
AVBRUTT_UTKAST("Avbrutt utkast"),
DELTAR("Deltar"),
FEILREGISTRERT("Feilregistrert"),
FULLFORT("Fullført"),
HAR_SLUTTET("Har sluttet"),
IKKE_AKTUELL("Ikke aktuell"),
KLADD("Kladd"),
PABEGYNT_REGISTRERING("Påbegynt registrering"),
SOKT_INN("Søkt om plass"),
UTKAST_TIL_PAMELDING("Utkast til påmelding"),
VENTELISTE("På venteliste"),
VENTER_PA_OPPSTART("Venter på oppstart"),
VURDERES("Vurderes"),
}

enum class Aarsak(val description: String) {
ANNET("Annet"),
AVLYST_KONTRAKT("Avlyst kontrakt"),
FATT_JOBB("Fått jobb"),
FEILREGISTRERT("Feilregistrert"),
FERDIG("Ferdig"),
FIKK_IKKE_PLASS("Fikk ikke plass"),
IKKE_MOTT("Møter ikke opp"),
OPPFYLLER_IKKE_KRAVENE("Oppfyller ikke kravene"),
SAMARBEIDET_MED_ARRANGOREN_ER_AVBRUTT("Samarbeidet med arrangøren er avbrutt"),
SYK("Syk"),
TRENGER_ANNEN_STOTTE("Trenger annen støtte"),
UTDANNING("Utdanning"),
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package no.nav.mulighetsrommet.domain.dto
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.domain.Tiltakskode
import no.nav.mulighetsrommet.domain.dbo.ArenaDeltakerStatus
import no.nav.mulighetsrommet.domain.dto.amt.AmtDeltakerStatus
import no.nav.mulighetsrommet.domain.serializers.LocalDateSerializer
import no.nav.mulighetsrommet.domain.serializers.UUIDSerializer
import java.time.LocalDate
Expand Down Expand Up @@ -69,7 +67,7 @@ sealed class Tiltakshistorikk {
override val sluttDato: LocalDate?,
@Serializable(with = UUIDSerializer::class)
val id: UUID,
val status: AmtDeltakerStatus,
val status: DeltakerStatus,
val gjennomforing: Gjennomforing,
val arrangor: Arrangor,
) : Tiltakshistorikk() {
Expand All @@ -87,7 +85,7 @@ sealed class Tiltakshistorikk {
@Serializable(with = UUIDSerializer::class)
val avtaleId: UUID,
val tiltakstype: Tiltakstype,
val status: Status,
val status: ArbeidsgiverAvtaleStatus,
val arbeidsgiver: Arbeidsgiver,
) : Tiltakshistorikk() {
override val opphav = Opphav.TEAM_TILTAK
Expand All @@ -100,47 +98,6 @@ sealed class Tiltakshistorikk {
INKLUDERINGSTILSKUDD,
SOMMERJOBB,
}

enum class Status {
/**
* Tiltaket er påbegynt, men kan fortsatt mangle noe data som er påkrevd for at det skal kunne gjennomføres.
* Kan anses som en "kladd".
*/
PAABEGYNT,

/**
* Bl.a. når man mangler godkjenning av "controller", men kan muligens også være andre godkjenninger som
* kreves.
*/
MANGLER_GODKJENNING,

/**
* Status er basert på startdato for avtale. Kan anta at avtalen er klar, men startdato er i fremtiden.
*/
KLAR_FOR_OPPSTART,

/**
* Avtale gjennomføres.
* Bruker deltar på tiltaket.
*/
GJENNOMFORES,

/**
* Avtale har blitt avsluttet.
* Bruker har deltatt på tiltaket.
*/
AVSLUTTET,

/**
* Avtale ble avbrutt.
*/
AVBRUTT,

/**
* Tiltaket ble aldri noe av.
*/
ANNULLERT,
}
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.mulighetsrommet.domain.dto.amt

import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.domain.dto.DeltakerStatus
import no.nav.mulighetsrommet.domain.serializers.LocalDateSerializer
import no.nav.mulighetsrommet.domain.serializers.LocalDateTimeSerializer
import no.nav.mulighetsrommet.domain.serializers.UUIDSerializer
Expand All @@ -19,51 +20,11 @@ data class AmtDeltakerV1Dto(
val startDato: LocalDate?,
@Serializable(with = LocalDateSerializer::class)
val sluttDato: LocalDate?,
val status: AmtDeltakerStatus,
val status: DeltakerStatus,
@Serializable(with = LocalDateTimeSerializer::class)
val registrertDato: LocalDateTime,
@Serializable(with = LocalDateTimeSerializer::class)
val endretDato: LocalDateTime,
val dagerPerUke: Float?,
val prosentStilling: Float?,
)

@Serializable
data class AmtDeltakerStatus(
val type: Type,
val aarsak: Aarsak?,
@Serializable(with = LocalDateTimeSerializer::class)
val opprettetDato: LocalDateTime,
) {
enum class Type {
AVBRUTT,
AVBRUTT_UTKAST,
DELTAR,
FEILREGISTRERT,
FULLFORT,
HAR_SLUTTET,
IKKE_AKTUELL,
KLADD,
PABEGYNT_REGISTRERING,
SOKT_INN,
UTKAST_TIL_PAMELDING,
VENTELISTE,
VENTER_PA_OPPSTART,
VURDERES,
}

enum class Aarsak {
SYK,
FATT_JOBB,
TRENGER_ANNEN_STOTTE,
FIKK_IKKE_PLASS,
UTDANNING,
FERDIG,
AVLYST_KONTRAKT,
IKKE_MOTT,
FEILREGISTRERT,
OPPFYLLER_IKKE_KRAVENE,
ANNET,
SAMARBEIDET_MED_ARRANGOREN_ER_AVBRUTT,
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import io.ktor.client.request.*
import io.ktor.client.statement.*
import io.ktor.http.*
import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.domain.dto.DeltakerStatus
import no.nav.mulighetsrommet.domain.dto.NorskIdent
import no.nav.mulighetsrommet.domain.dto.amt.AmtDeltakerStatus
import no.nav.mulighetsrommet.domain.serializers.LocalDateSerializer
import no.nav.mulighetsrommet.domain.serializers.UUIDSerializer
import no.nav.mulighetsrommet.ktor.clients.httpJsonClient
Expand Down Expand Up @@ -85,20 +85,21 @@ data class DeltakelseFraKomet(
val deltakerlisteId: UUID,
val tittel: String,
val tiltakstype: DeltakelserResponse.Tiltakstype,
val status: DeltakerStatus,
val status: Status,
@Serializable(with = LocalDateSerializer::class)
val innsoktDato: LocalDate? = null,
@Serializable(with = LocalDateSerializer::class)
val sistEndretDato: LocalDate? = null,
val periode: Periode? = null,
)
) {

@Serializable
data class DeltakerStatus(
val type: AmtDeltakerStatus.Type,
val visningstekst: String,
val aarsak: String? = null,
)
@Serializable
data class Status(
val type: DeltakerStatus.Type,
val visningstekst: String,
val aarsak: String? = null,
)
}

@Serializable
data class Periode(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package no.nav.mulighetsrommet.api.domain.dbo

import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.domain.dto.amt.AmtDeltakerStatus
import no.nav.mulighetsrommet.domain.dto.DeltakerStatus
import no.nav.mulighetsrommet.domain.serializers.LocalDateSerializer
import no.nav.mulighetsrommet.domain.serializers.LocalDateTimeSerializer
import no.nav.mulighetsrommet.domain.serializers.UUIDSerializer
Expand All @@ -24,5 +24,5 @@ data class DeltakerDbo(
@Serializable(with = LocalDateTimeSerializer::class)
val endretTidspunkt: LocalDateTime,
val stillingsprosent: Double?,
val status: AmtDeltakerStatus,
val status: DeltakerStatus,
)
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package no.nav.mulighetsrommet.api.domain.dto

import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.domain.dbo.ArenaDeltakerStatus
import no.nav.mulighetsrommet.domain.dto.Tiltakshistorikk
import no.nav.mulighetsrommet.domain.dto.amt.AmtDeltakerStatus
import no.nav.mulighetsrommet.domain.dto.ArbeidsgiverAvtaleStatus
import no.nav.mulighetsrommet.domain.dto.ArenaDeltakerStatus
import no.nav.mulighetsrommet.domain.dto.DeltakerStatus
import no.nav.mulighetsrommet.domain.serializers.LocalDateSerializer
import no.nav.mulighetsrommet.domain.serializers.UUIDSerializer
import java.time.LocalDate
Expand Down Expand Up @@ -46,10 +46,10 @@ sealed class Deltakelse {
@Serializable(with = LocalDateSerializer::class)
override val sistEndretDato: LocalDate?,
override val periode: Periode,
val status: DeltakerStatus,
val status: Status,
) : Deltakelse() {
@Serializable
data class DeltakerStatus(
data class Status(
val type: ArenaDeltakerStatus,
val visningstekst: String,
)
Expand All @@ -67,13 +67,13 @@ sealed class Deltakelse {
@Serializable(with = LocalDateSerializer::class)
override val sistEndretDato: LocalDate?,
override val periode: Periode,
val status: DeltakerStatus,
val status: Status,
@Serializable(with = UUIDSerializer::class)
val gjennomforingId: UUID,
) : Deltakelse() {
@Serializable
data class DeltakerStatus(
val type: AmtDeltakerStatus.Type,
data class Status(
val type: DeltakerStatus.Type,
val visningstekst: String,
val aarsak: String?,
)
Expand All @@ -91,11 +91,11 @@ sealed class Deltakelse {
@Serializable(with = LocalDateSerializer::class)
override val sistEndretDato: LocalDate?,
override val periode: Periode,
val status: DeltakerStatus,
val status: Status,
) : Deltakelse() {
@Serializable
data class DeltakerStatus(
val type: Tiltakshistorikk.ArbeidsgiverAvtale.Status,
data class Status(
val type: ArbeidsgiverAvtaleStatus,
val visningstekst: String,
)
}
Expand Down
Loading

0 comments on commit 3f4cf12

Please sign in to comment.