Skip to content

Commit 63352b2

Browse files
committed
wip
1 parent 444e4bb commit 63352b2

File tree

5 files changed

+57
-1
lines changed

5 files changed

+57
-1
lines changed

src/main/kotlin/no/nav/syfo/brev/esyfovarsel/EsyfovarselProducer.kt

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package no.nav.syfo.brev.esyfovarsel
22

33
import com.fasterxml.jackson.annotation.JsonTypeInfo
4+
import no.nav.syfo.dialogmote.domain.DialogmoteSvarType
45
import java.io.Serializable
56
import java.util.*
67
import org.apache.kafka.clients.producer.KafkaProducer
@@ -55,7 +56,8 @@ data class ArbeidstakerHendelse(
5556
data class VarselData(
5657
val journalpost: VarselDataJournalpost? = null,
5758
val narmesteLeder: VarselDataNarmesteLeder? = null,
58-
val motetidspunkt: VarselDataMotetidspunkt? = null
59+
val motetidspunkt: VarselDataMotetidspunkt? = null,
60+
val dialogmoteSvar: VarselDataDialogmoteSvar? = null
5961
)
6062

6163
data class VarselDataJournalpost(
@@ -71,6 +73,10 @@ data class VarselDataMotetidspunkt(
7173
val tidspunkt: LocalDateTime
7274
)
7375

76+
data class VarselDataDialogmoteSvar(
77+
val svar: DialogmoteSvarType
78+
)
79+
7480
enum class HendelseType {
7581
NL_DIALOGMOTE_INNKALT,
7682
SM_DIALOGMOTE_INNKALT,
@@ -81,4 +87,5 @@ enum class HendelseType {
8187
NL_DIALOGMOTE_NYTT_TID_STED,
8288
SM_DIALOGMOTE_NYTT_TID_STED,
8389
SM_DIALOGMOTE_LEST,
90+
NL_DIALOGMOTE_SVAR,
8491
}

src/main/kotlin/no/nav/syfo/brev/narmesteleder/NarmesteLederBrevApi.kt

+5
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,11 @@ fun Route.registerNarmestelederBrevApi(
177177
svarTekst = responsDTO.svarTekst,
178178
)
179179
if (updated) {
180+
dialogmoteService.publishNarmesteLederSvarMelding(
181+
brev = brev,
182+
responsDTO = responsDTO,
183+
narmesteLederPersonIdent = narmesteLederPersonIdent,
184+
)
180185
call.respond(HttpStatusCode.OK)
181186
} else {
182187
throw IllegalArgumentException("Response already stored")

src/main/kotlin/no/nav/syfo/brev/narmesteleder/NarmesteLederVarselService.kt

+4
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ class NarmesteLederVarselService(
2626
esyfovarselProducer.sendVarselToEsyfovarsel(hendelse)
2727
}
2828

29+
fun sendMelding(hendelse: EsyfovarselHendelse) {
30+
esyfovarselProducer.sendVarselToEsyfovarsel(hendelse)
31+
}
32+
2933
private fun getNaermesteLederVarselType(motedeltakerVarselType: MotedeltakerVarselType): HendelseType {
3034
return when (motedeltakerVarselType) {
3135
MotedeltakerVarselType.INNKALT -> HendelseType.NL_DIALOGMOTE_INNKALT

src/main/kotlin/no/nav/syfo/dialogmote/DialogmoteService.kt

+34
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ package no.nav.syfo.dialogmote
33
import no.nav.syfo.application.api.authentication.getNAVIdentFromToken
44
import no.nav.syfo.application.database.DatabaseInterface
55
import no.nav.syfo.application.exception.ConflictException
6+
import no.nav.syfo.brev.esyfovarsel.HendelseType
7+
import no.nav.syfo.brev.esyfovarsel.NarmesteLederHendelse
8+
import no.nav.syfo.brev.esyfovarsel.VarselData
9+
import no.nav.syfo.brev.esyfovarsel.VarselDataDialogmoteSvar
10+
import no.nav.syfo.brev.narmesteleder.domain.NarmesteLederResponsDTO
611
import no.nav.syfo.client.behandlendeenhet.BehandlendeEnhetClient
712
import no.nav.syfo.client.narmesteleder.NarmesteLederClient
813
import no.nav.syfo.client.narmesteleder.NarmesteLederRelasjonDTO
@@ -17,6 +22,8 @@ import no.nav.syfo.dialogmote.domain.*
1722
import no.nav.syfo.domain.EnhetNr
1823
import no.nav.syfo.domain.PersonIdent
1924
import no.nav.syfo.domain.Virksomhetsnummer
25+
import org.slf4j.Logger
26+
import org.slf4j.LoggerFactory
2027
import java.sql.Connection
2128
import java.time.LocalDateTime
2229
import java.util.*
@@ -843,4 +850,31 @@ class DialogmoteService(
843850
callId = callId,
844851
)
845852
}
853+
854+
fun publishNarmesteLederSvarMelding(
855+
brev: NarmesteLederBrev,
856+
responsDTO: NarmesteLederResponsDTO,
857+
narmesteLederPersonIdent: PersonIdent,
858+
) {
859+
val dialogmoteDeltagerArbeidsgiver = dialogmotedeltakerService.getDialogmoteDeltakerArbeidsgiverById(
860+
motedeltakerArbeidsgiverId = brev.motedeltakerArbeidsgiverId,
861+
)
862+
val arbeidstakerPersonIdent = dialogmotedeltakerService.getDialogmoteDeltakerArbeidstaker(
863+
moteId = dialogmoteDeltagerArbeidsgiver.moteId,
864+
).personIdent.value
865+
866+
varselService.sendNarmesteLederEsyfovarselMelding(
867+
NarmesteLederHendelse(
868+
type = HendelseType.NL_DIALOGMOTE_SVAR,
869+
data = VarselData(
870+
dialogmoteSvar = VarselDataDialogmoteSvar(
871+
svar = DialogmoteSvarType.valueOf(responsDTO.svarType),
872+
)
873+
),
874+
narmesteLederFnr = narmesteLederPersonIdent.value,
875+
arbeidstakerFnr = arbeidstakerPersonIdent,
876+
orgnummer = dialogmoteDeltagerArbeidsgiver.virksomhetsnummer.value,
877+
)
878+
)
879+
}
846880
}

src/main/kotlin/no/nav/syfo/dialogmote/VarselService.kt

+6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package no.nav.syfo.dialogmote
33
import java.util.*
44
import no.nav.syfo.brev.arbeidstaker.ArbeidstakerVarselService
55
import no.nav.syfo.brev.behandler.BehandlerVarselService
6+
import no.nav.syfo.brev.esyfovarsel.NarmesteLederHendelse
67
import no.nav.syfo.brev.narmesteleder.NarmesteLederVarselService
78
import no.nav.syfo.client.altinn.AltinnClient
89
import no.nav.syfo.client.altinn.createAltinnMelding
@@ -106,4 +107,9 @@ class VarselService(
106107
}
107108
}
108109
}
110+
fun sendNarmesteLederEsyfovarselMelding(
111+
hendelse: NarmesteLederHendelse
112+
) {
113+
narmesteLederVarselService.sendMelding(hendelse)
114+
}
109115
}

0 commit comments

Comments
 (0)