Skip to content

Commit 4f310b4

Browse files
authored
Merge pull request #1403 from navikt/omgjoeringskrav-based-on-journalpost
Omgjoeringskrav based on journalpost
2 parents ae71c36 + 52259e6 commit 4f310b4

15 files changed

+558
-93
lines changed

src/main/kotlin/no/nav/klage/oppgave/api/controller/KabinApiController.kt

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,21 @@ class KabinApiController(
133133
)
134134
}
135135

136+
@PostMapping("/createklage")
137+
fun createKlage(
138+
@RequestBody input: CreateKlageBasedOnKabinInput
139+
): CreatedBehandlingResponse {
140+
logMethodDetails(
141+
methodName = ::createKlage.name,
142+
innloggetIdent = innloggetSaksbehandlerService.getInnloggetIdent(),
143+
logger = logger
144+
)
145+
146+
return kabinApiService.createKlage(
147+
input = input
148+
)
149+
}
150+
136151
@PostMapping("/createankefromcompleteinput")
137152
fun createAnkeFromCompleteInput(
138153
@RequestBody input: CreateAnkeBasedOnCompleteKabinInput
@@ -148,33 +163,33 @@ class KabinApiController(
148163
)
149164
}
150165

151-
@PostMapping("/searchusedjournalpostid")
152-
fun getUsedJournalpostIdListForPerson(
153-
@RequestBody input: SearchUsedJournalpostIdInput,
154-
): List<String> {
166+
@PostMapping("/create-omgjoeringskrav-based-on-journalpost")
167+
fun createOmgjoeringskravBasedOnJournalpost(
168+
@RequestBody input: CreateOmgjoeringskravBasedOnJournalpostInput
169+
): CreatedBehandlingResponse {
155170
logMethodDetails(
156-
methodName = ::getUsedJournalpostIdListForPerson.name,
171+
methodName = ::createOmgjoeringskravBasedOnJournalpost.name,
157172
innloggetIdent = innloggetSaksbehandlerService.getInnloggetIdent(),
158173
logger = logger
159174
)
160175

161-
return mottakService.getUsedJournalpostIdList(
162-
sakenGjelder = input.fnr
176+
return kabinApiService.createOmgjoeringskravBasedOnJournalpost(
177+
input = input
163178
)
164179
}
165180

166-
@PostMapping("/createklage")
167-
fun createKlage(
168-
@RequestBody input: CreateKlageBasedOnKabinInput
169-
): CreatedBehandlingResponse {
181+
@PostMapping("/searchusedjournalpostid")
182+
fun getUsedJournalpostIdListForPerson(
183+
@RequestBody input: SearchUsedJournalpostIdInput,
184+
): List<String> {
170185
logMethodDetails(
171-
methodName = ::createKlage.name,
186+
methodName = ::getUsedJournalpostIdListForPerson.name,
172187
innloggetIdent = innloggetSaksbehandlerService.getInnloggetIdent(),
173188
logger = logger
174189
)
175190

176-
return kabinApiService.createKlage(
177-
input = input
191+
return mottakService.getUsedJournalpostIdList(
192+
sakenGjelder = input.fnr
178193
)
179194
}
180195

src/main/kotlin/no/nav/klage/oppgave/api/mapper/BehandlingMapper.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ class BehandlingMapper(
125125
gosysOppgaveId = klagebehandling.gosysOppgaveId,
126126
tilbakekreving = klagebehandling.tilbakekreving,
127127
timesPreviouslyExtended = klagebehandling.getTimesPreviouslyExtended(),
128+
requiresGosysOppgave = !klagebehandling.fagsystem.modernized,
128129
)
129130
}
130131

@@ -199,6 +200,7 @@ class BehandlingMapper(
199200
kommentarFraVedtaksinstans = null,
200201
tilbakekreving = omgjoeringskravbehandling.tilbakekreving,
201202
timesPreviouslyExtended = omgjoeringskravbehandling.getTimesPreviouslyExtended(),
203+
requiresGosysOppgave = omgjoeringskravbehandling is OmgjoeringskravbehandlingBasedOnJournalpost || !omgjoeringskravbehandling.fagsystem.modernized
202204
)
203205
}
204206

@@ -318,6 +320,7 @@ class BehandlingMapper(
318320
gosysOppgaveId = ankebehandling.gosysOppgaveId,
319321
tilbakekreving = ankebehandling.tilbakekreving,
320322
timesPreviouslyExtended = ankebehandling.getTimesPreviouslyExtended(),
323+
requiresGosysOppgave = !ankebehandling.fagsystem.modernized,
321324
)
322325
}
323326

@@ -388,6 +391,7 @@ class BehandlingMapper(
388391
gosysOppgaveId = ankeITrygderettenbehandling.gosysOppgaveId,
389392
tilbakekreving = ankeITrygderettenbehandling.tilbakekreving,
390393
timesPreviouslyExtended = ankeITrygderettenbehandling.getTimesPreviouslyExtended(),
394+
requiresGosysOppgave = !ankeITrygderettenbehandling.fagsystem.modernized,
391395
)
392396
}
393397

@@ -465,6 +469,7 @@ class BehandlingMapper(
465469
gosysOppgaveId = behandlingEtterTrygderettenOpphevet.gosysOppgaveId,
466470
tilbakekreving = behandlingEtterTrygderettenOpphevet.tilbakekreving,
467471
timesPreviouslyExtended = behandlingEtterTrygderettenOpphevet.getTimesPreviouslyExtended(),
472+
requiresGosysOppgave = !behandlingEtterTrygderettenOpphevet.fagsystem.modernized
468473
)
469474
}
470475

src/main/kotlin/no/nav/klage/oppgave/api/view/BehandlingDetaljerView.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ data class BehandlingDetaljerView(
4949
val previousSaksbehandler: SaksbehandlerView?,
5050
val varsletFrist: LocalDate?,
5151
val gosysOppgaveId: Long?,
52+
val requiresGosysOppgave: Boolean,
5253
val tilbakekreving: Boolean,
5354
val timesPreviouslyExtended: Int,
5455
) {

src/main/kotlin/no/nav/klage/oppgave/api/view/kabin/KabinRequest.kt

Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,7 @@ data class CreateBehandlingBasedOnKabinInput(
3838
val svarbrevInput: SvarbrevInput?,
3939
val hjemmelIdList: List<String>,
4040
val gosysOppgaveId: Long?,
41-
) {
42-
data class OversendtPartId(
43-
val type: OversendtPartIdType,
44-
val value: String
45-
)
46-
47-
enum class OversendtPartIdType { PERSON, VIRKSOMHET }
48-
}
41+
)
4942

5043
@JsonIgnoreProperties(ignoreUnknown = true)
5144
data class CreateAnkeBasedOnCompleteKabinInput(
@@ -64,22 +57,21 @@ data class CreateAnkeBasedOnCompleteKabinInput(
6457
val saksbehandlerIdent: String?,
6558
val svarbrevInput: SvarbrevInput?,
6659
val gosysOppgaveId: Long?,
67-
) {
68-
data class OversendtPartId(
69-
val type: OversendtPartIdType,
70-
val value: String
71-
)
72-
73-
fun OversendtPartId.toPartId(): PartId {
74-
return PartId(
75-
type = PartIdType.of(type.name),
76-
value = value
77-
)
78-
}
60+
)
61+
data class OversendtPartId(
62+
val type: OversendtPartIdType,
63+
val value: String
64+
)
7965

80-
enum class OversendtPartIdType { PERSON, VIRKSOMHET }
66+
fun OversendtPartId.toPartId(): PartId {
67+
return PartId(
68+
type = PartIdType.of(type.name),
69+
value = value
70+
)
8171
}
8272

73+
enum class OversendtPartIdType { PERSON, VIRKSOMHET }
74+
8375
@JsonIgnoreProperties(ignoreUnknown = true)
8476
data class CreateKlageBasedOnKabinInput(
8577
val sakenGjelder: OversendtPartId,
@@ -98,21 +90,25 @@ data class CreateKlageBasedOnKabinInput(
9890
val saksbehandlerIdent: String?,
9991
val svarbrevInput: SvarbrevInput?,
10092
val gosysOppgaveId: Long?,
101-
) {
102-
data class OversendtPartId(
103-
val type: OversendtPartIdType,
104-
val value: String
105-
)
106-
107-
fun OversendtPartId.toPartId(): PartId {
108-
return PartId(
109-
type = PartIdType.of(type.name),
110-
value = value
111-
)
112-
}
93+
)
11394

114-
enum class OversendtPartIdType { PERSON, VIRKSOMHET }
115-
}
95+
data class CreateOmgjoeringskravBasedOnJournalpostInput(
96+
val sakenGjelder: OversendtPartId,
97+
val klager: OversendtPartId?,
98+
val fullmektig: OversendtPartId?,
99+
val fagsakId: String,
100+
val fagsystemId: String,
101+
val hjemmelIdList: List<String>,
102+
val forrigeBehandlendeEnhet: String,
103+
val receivedDocumentJournalpostId: String,
104+
val mottattNav: LocalDate,
105+
val frist: LocalDate,
106+
val ytelseId: String,
107+
val kildereferanse: String,
108+
val saksbehandlerIdent: String?,
109+
val svarbrevInput: SvarbrevInput?,
110+
val gosysOppgaveId: Long?,
111+
)
116112

117113
data class SvarbrevInput(
118114
val title: String,

src/main/kotlin/no/nav/klage/oppgave/domain/klage/Omgjoeringskravbehandling.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ import java.util.*
1717
//const val KLAGEENHET_PREFIX = "42"
1818

1919
@Entity
20-
@DiscriminatorValue("omgjoeringskrav")
2120
@Audited
22-
class Omgjoeringskravbehandling(
21+
abstract class Omgjoeringskravbehandling(
2322
@Column(name = "klage_behandlende_enhet")
2423
val klageBehandlendeEnhet: String,
2524
@Column(name = "mottak_id")
@@ -30,8 +29,6 @@ class Omgjoeringskravbehandling(
3029
val kakaKvalitetsvurderingVersion: Int,
3130
@Embedded
3231
override var varsletBehandlingstid: VarsletBehandlingstid?,
33-
@Column(name = "source_behandling_id")
34-
var sourceBehandlingId: UUID?,
3532
@OneToOne(cascade = [CascadeType.ALL], optional = true)
3633
@JoinColumn(name = "forlenget_behandlingstid_draft_id", referencedColumnName = "id")
3734
@NotAudited
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
package no.nav.klage.oppgave.domain.klage
2+
3+
import jakarta.persistence.DiscriminatorValue
4+
import jakarta.persistence.Entity
5+
import no.nav.klage.kodeverk.Fagsystem
6+
import no.nav.klage.kodeverk.FlowState
7+
import no.nav.klage.kodeverk.Type
8+
import no.nav.klage.kodeverk.Utfall
9+
import no.nav.klage.kodeverk.hjemmel.Hjemmel
10+
import no.nav.klage.kodeverk.hjemmel.Registreringshjemmel
11+
import no.nav.klage.kodeverk.ytelse.Ytelse
12+
import org.hibernate.envers.Audited
13+
import java.time.LocalDate
14+
import java.time.LocalDateTime
15+
import java.util.*
16+
17+
//const val KLAGEENHET_PREFIX = "42"
18+
19+
@Entity
20+
@DiscriminatorValue("omgjoeringskrav-based-on-journalpost")
21+
@Audited
22+
class OmgjoeringskravbehandlingBasedOnJournalpost(
23+
24+
//Common properties between klage/anke
25+
id: UUID = UUID.randomUUID(),
26+
klager: Klager,
27+
sakenGjelder: SakenGjelder,
28+
prosessfullmektig: Prosessfullmektig?,
29+
ytelse: Ytelse,
30+
type: Type,
31+
kildeReferanse: String,
32+
dvhReferanse: String? = null,
33+
fagsystem: Fagsystem,
34+
fagsakId: String,
35+
mottattKlageinstans: LocalDateTime,
36+
frist: LocalDate,
37+
tildeling: Tildeling? = null,
38+
created: LocalDateTime = LocalDateTime.now(),
39+
modified: LocalDateTime = LocalDateTime.now(),
40+
saksdokumenter: MutableSet<Saksdokument> = mutableSetOf(),
41+
hjemler: Set<Hjemmel> = emptySet(),
42+
sattPaaVent: SattPaaVent? = null,
43+
feilregistrering: Feilregistrering? = null,
44+
utfall: Utfall? = null,
45+
extraUtfallSet: Set<Utfall> = emptySet(),
46+
registreringshjemler: MutableSet<Registreringshjemmel> = mutableSetOf(),
47+
medunderskriver: MedunderskriverTildeling? = null,
48+
medunderskriverFlowState: FlowState = FlowState.NOT_SENT,
49+
ferdigstilling: Ferdigstilling? = null,
50+
rolIdent: String? = null,
51+
rolFlowState: FlowState = FlowState.NOT_SENT,
52+
rolReturnedDate: LocalDateTime? = null,
53+
tildelingHistorikk: MutableSet<TildelingHistorikk> = mutableSetOf(),
54+
medunderskriverHistorikk: MutableSet<MedunderskriverHistorikk> = mutableSetOf(),
55+
rolHistorikk: MutableSet<RolHistorikk> = mutableSetOf(),
56+
klagerHistorikk: MutableSet<KlagerHistorikk> = mutableSetOf(),
57+
fullmektigHistorikk: MutableSet<FullmektigHistorikk> = mutableSetOf(),
58+
sattPaaVentHistorikk: MutableSet<SattPaaVentHistorikk> = mutableSetOf(),
59+
previousSaksbehandlerident: String?,
60+
oppgaveId: Long?,
61+
gosysOppgaveId: Long?,
62+
gosysOppgaveUpdate: GosysOppgaveUpdate? = null,
63+
tilbakekreving: Boolean = false,
64+
ignoreGosysOppgave: Boolean = false,
65+
klageBehandlendeEnhet: String,
66+
mottakId: UUID,
67+
kakaKvalitetsvurderingId: UUID,
68+
kakaKvalitetsvurderingVersion: Int,
69+
varsletBehandlingstid: VarsletBehandlingstid?,
70+
forlengetBehandlingstidDraft: ForlengetBehandlingstidDraft?,
71+
) : BehandlingWithVarsletBehandlingstid, Omgjoeringskravbehandling(
72+
id = id,
73+
klager = klager,
74+
sakenGjelder = sakenGjelder,
75+
prosessfullmektig = prosessfullmektig,
76+
ytelse = ytelse,
77+
type = type,
78+
kildeReferanse = kildeReferanse,
79+
mottattKlageinstans = mottattKlageinstans,
80+
modified = modified,
81+
created = created,
82+
tildeling = tildeling,
83+
frist = frist,
84+
fagsakId = fagsakId,
85+
fagsystem = fagsystem,
86+
dvhReferanse = dvhReferanse,
87+
saksdokumenter = saksdokumenter,
88+
hjemler = hjemler,
89+
sattPaaVent = sattPaaVent,
90+
feilregistrering = feilregistrering,
91+
utfall = utfall,
92+
extraUtfallSet = extraUtfallSet,
93+
registreringshjemler = registreringshjemler,
94+
medunderskriver = medunderskriver,
95+
medunderskriverFlowState = medunderskriverFlowState,
96+
ferdigstilling = ferdigstilling,
97+
rolIdent = rolIdent,
98+
rolFlowState = rolFlowState,
99+
rolReturnedDate = rolReturnedDate,
100+
tildelingHistorikk = tildelingHistorikk,
101+
medunderskriverHistorikk = medunderskriverHistorikk,
102+
rolHistorikk = rolHistorikk,
103+
klagerHistorikk = klagerHistorikk,
104+
fullmektigHistorikk = fullmektigHistorikk,
105+
sattPaaVentHistorikk = sattPaaVentHistorikk,
106+
previousSaksbehandlerident = previousSaksbehandlerident,
107+
gosysOppgaveId = gosysOppgaveId,
108+
gosysOppgaveUpdate = gosysOppgaveUpdate,
109+
tilbakekreving = tilbakekreving,
110+
ignoreGosysOppgave = ignoreGosysOppgave,
111+
klageBehandlendeEnhet = klageBehandlendeEnhet,
112+
mottakId = mottakId,
113+
kakaKvalitetsvurderingId = kakaKvalitetsvurderingId,
114+
kakaKvalitetsvurderingVersion = kakaKvalitetsvurderingVersion,
115+
varsletBehandlingstid = varsletBehandlingstid,
116+
forlengetBehandlingstidDraft = forlengetBehandlingstidDraft,
117+
oppgaveId = oppgaveId,
118+
) {
119+
120+
override fun toString(): String {
121+
return "OmgjoeringskravbehandlingBasedOnJournalpost(id=$id, " +
122+
"modified=$modified, " +
123+
"created=$created)"
124+
}
125+
126+
override fun equals(other: Any?): Boolean {
127+
if (this === other) return true
128+
if (javaClass != other?.javaClass) return false
129+
130+
other as OmgjoeringskravbehandlingBasedOnJournalpost
131+
132+
return id == other.id
133+
}
134+
135+
override fun hashCode(): Int {
136+
return id.hashCode()
137+
}
138+
}

0 commit comments

Comments
 (0)