Skip to content

Commit 22b2315

Browse files
authored
TFP-6454: fiks håndtering av avslagskode i søknadsfristvilkår (#7661)
* TFP-6454: fiks håndtering av avslagskode i søknadsfristvilkår * legg til util for nullable til verdi i HistorikkinnslagLinjeBuilder * fjern ubrukt import
1 parent 43d0f68 commit 22b2315

File tree

16 files changed

+99
-78
lines changed

16 files changed

+99
-78
lines changed

behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/historikk/HistorikkinnslagLinjeBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,13 @@ public HistorikkinnslagLinjeBuilder til(String hva, boolean til) {
120120
return fraTil(hva, null, til);
121121
}
122122

123+
public static HistorikkinnslagLinjeBuilder tilNullable(String hva, String til) {
124+
if (til == null) {
125+
return null;
126+
}
127+
return new HistorikkinnslagLinjeBuilder().fraTil(hva, null, til);
128+
}
129+
123130
public static HistorikkinnslagLinjeBuilder fraTilEquals(String hva, String fra, String til) {
124131
if (Objects.equals(fra, til)) {
125132
return null;

domenetjenester/behandling/src/main/java/no/nav/foreldrepenger/behandling/aksjonspunkt/AvslagbartAksjonspunktDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77
public interface AvslagbartAksjonspunktDto extends AksjonspunktKode {
88

9-
Boolean getErVilkarOk();
9+
boolean getErVilkarOk();
1010

1111
String getAvslagskode();
1212

domenetjenester/familie-hendelse/src/main/java/no/nav/foreldrepenger/familiehendelse/aksjonspunkt/HistorikkSammeBarnTjeneste.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void lagHistorikkinnslagForAksjonspunkt(BehandlingReferanse ref,
7474
}
7575

7676
private static VilkårUtfallType vilkårUtfallTypeFra(AvslagbartAksjonspunktDto dto) {
77-
return Boolean.TRUE.equals(dto.getErVilkarOk()) ? VilkårUtfallType.OPPFYLT : VilkårUtfallType.IKKE_OPPFYLT;
77+
return dto.getErVilkarOk() ? VilkårUtfallType.OPPFYLT : VilkårUtfallType.IKKE_OPPFYLT;
7878
}
7979

8080
private static String finnTekstForFelt(Vilkår vilkår) {

domenetjenester/familie-hendelse/src/main/java/no/nav/foreldrepenger/familiehendelse/aksjonspunkt/sammebarn/VurdereYtelseSammeBarnSøkerOppdaterer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ public OppdateringResultat oppdater(AvslagbartAksjonspunktDto dto, AksjonspunktO
5151
if (relevantVilkår.isPresent()) {
5252
var vilkår = relevantVilkår.get();
5353
historikkSammeBarnTjeneste.lagHistorikkinnslagForAksjonspunkt(ref, behandlingsresultat, dto, vilkår);
54-
if (Boolean.TRUE.equals(dto.getErVilkarOk())) {
55-
var nyttUtfall = Boolean.TRUE.equals(dto.getErVilkarOk()) ? VilkårUtfallType.OPPFYLT : VilkårUtfallType.IKKE_OPPFYLT;
54+
if (dto.getErVilkarOk()) {
55+
var nyttUtfall = dto.getErVilkarOk() ? VilkårUtfallType.OPPFYLT : VilkårUtfallType.IKKE_OPPFYLT;
5656
var totrinn = !Objects.equals(vilkår.getGjeldendeVilkårUtfall(), nyttUtfall);
5757
var resultatBuilder = OppdateringResultat.utenTransisjon();
5858
resultatBuilder.leggTilManueltOppfyltVilkår(vilkår.getVilkårType());

domenetjenester/familie-hendelse/src/main/java/no/nav/foreldrepenger/familiehendelse/aksjonspunkt/sammebarn/dto/VurdereYtelseSammeBarnSøkerAksjonspunktDto.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class VurdereYtelseSammeBarnSøkerAksjonspunktDto extends BekreftetAksjon
1616

1717

1818
@NotNull
19-
private Boolean erVilkarOk;
19+
private boolean erVilkarOk;
2020

2121
@Size(min = 1, max = 100)
2222
@Pattern(regexp = InputValideringRegex.KODEVERK)
@@ -32,7 +32,7 @@ public class VurdereYtelseSammeBarnSøkerAksjonspunktDto extends BekreftetAksjon
3232
}
3333

3434
@Override
35-
public Boolean getErVilkarOk() {
35+
public boolean getErVilkarOk() {
3636
return erVilkarOk;
3737
}
3838

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,49 @@
11
package no.nav.foreldrepenger.web.app.tjenester.behandling.søknad.aksjonspunkt;
22

33
import jakarta.validation.constraints.NotNull;
4+
import jakarta.validation.constraints.Pattern;
5+
import jakarta.validation.constraints.Size;
46

57
import com.fasterxml.jackson.annotation.JsonAutoDetect;
68
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
7-
import com.fasterxml.jackson.annotation.JsonIgnore;
8-
import com.fasterxml.jackson.annotation.JsonProperty;
99
import com.fasterxml.jackson.annotation.JsonTypeName;
1010

1111
import no.nav.foreldrepenger.behandling.aksjonspunkt.AvslagbartAksjonspunktDto;
1212
import no.nav.foreldrepenger.behandling.aksjonspunkt.BekreftetAksjonspunktDto;
1313
import no.nav.foreldrepenger.behandlingslager.behandling.aksjonspunkt.AksjonspunktKodeDefinisjon;
14+
import no.nav.foreldrepenger.behandlingslager.behandling.vilkår.Avslagsårsak;
15+
import no.nav.vedtak.util.InputValideringRegex;
1416

15-
@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
17+
@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY)
1618
@JsonTypeName(AksjonspunktKodeDefinisjon.MANUELL_VURDERING_AV_SØKNADSFRISTVILKÅRET_KODE)
1719
public class SoknadsfristAksjonspunktDto extends BekreftetAksjonspunktDto implements AvslagbartAksjonspunktDto {
1820

19-
20-
@JsonProperty("erVilkarOk")
2121
@NotNull
22-
private Boolean erVilkarOk;
22+
private boolean erVilkarOk;
23+
24+
@Size(min = 4, max = 4)
25+
@Pattern(regexp = InputValideringRegex.KODEVERK)
26+
private String avslagskode;
2327

2428
SoknadsfristAksjonspunktDto() {
2529
//For Jackson
2630
}
2731

28-
public SoknadsfristAksjonspunktDto(String begrunnelse, Boolean erVilkarOk) {
32+
public SoknadsfristAksjonspunktDto(boolean erVilkarOk, String begrunnelse, String avslagskode) {
2933
super(begrunnelse);
3034
this.erVilkarOk = erVilkarOk;
35+
this.avslagskode = avslagskode;
3136
}
3237

3338
@Override
34-
public Boolean getErVilkarOk() {
39+
public boolean getErVilkarOk() {
3540
return erVilkarOk;
3641
}
3742

38-
@JsonIgnore
43+
// TODO: fjerne denne håndteringen når frontend er oppdatert til å sende med avslagskode
3944
@Override
4045
public String getAvslagskode() {
41-
// Ikke supportert
42-
return null;
46+
return avslagskode == null && !erVilkarOk ? Avslagsårsak.SØKT_FOR_SENT.getKode() : avslagskode;
4347
}
4448

4549
}

web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/søknad/aksjonspunkt/SøknadsfristOppdaterer.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package no.nav.foreldrepenger.web.app.tjenester.behandling.søknad.aksjonspunkt;
22

3+
import static no.nav.foreldrepenger.behandlingslager.behandling.historikk.HistorikkinnslagLinjeBuilder.tilNullable;
34
import static no.nav.foreldrepenger.behandlingslager.behandling.vilkår.VilkårType.SØKNADSFRISTVILKÅRET;
45

6+
import java.util.Optional;
7+
58
import jakarta.enterprise.context.ApplicationScoped;
69
import jakarta.inject.Inject;
710

@@ -12,10 +15,11 @@
1215
import no.nav.foreldrepenger.behandling.aksjonspunkt.OppdateringResultat;
1316
import no.nav.foreldrepenger.behandlingslager.behandling.historikk.HistorikkAktør;
1417
import no.nav.foreldrepenger.behandlingslager.behandling.historikk.Historikkinnslag;
15-
import no.nav.foreldrepenger.behandlingslager.behandling.historikk.HistorikkinnslagLinjeBuilder;
1618
import no.nav.foreldrepenger.behandlingslager.behandling.historikk.HistorikkinnslagRepository;
1719
import no.nav.foreldrepenger.behandlingslager.behandling.skjermlenke.SkjermlenkeType;
1820
import no.nav.foreldrepenger.behandlingslager.behandling.vilkår.Avslagsårsak;
21+
import no.nav.foreldrepenger.behandlingslager.behandling.vilkår.VilkårUtfallType;
22+
import no.nav.vedtak.exception.FunksjonellException;
1923

2024
@ApplicationScoped
2125
@DtoTilServiceAdapter(dto = SoknadsfristAksjonspunktDto.class, adapter = AksjonspunktOppdaterer.class)
@@ -38,19 +42,25 @@ public OppdateringResultat oppdater(SoknadsfristAksjonspunktDto dto, Aksjonspunk
3842
if (dto.getErVilkarOk()) {
3943
return new OppdateringResultat.Builder().leggTilManueltOppfyltVilkår(SØKNADSFRISTVILKÅRET).build();
4044
}
45+
46+
var avslagsårsak = Avslagsårsak.fraDefinertKode(dto.getAvslagskode())
47+
.orElseThrow(() -> new FunksjonellException("FP-MANGLER-ÅRSAK", "Ugyldig avslagsårsak", "Velg gyldig avslagsårsak"));
48+
4149
return OppdateringResultat.utenTransisjon()
4250
.medFremoverHopp(AksjonspunktOppdateringTransisjon.AVSLAG_VILKÅR)
43-
.leggTilManueltAvslåttVilkår(SØKNADSFRISTVILKÅRET, Avslagsårsak.SØKT_FOR_SENT)
51+
.leggTilManueltAvslåttVilkår(SØKNADSFRISTVILKÅRET, avslagsårsak)
4452
.build();
4553
}
4654

4755
private void lagreHistorikk(SoknadsfristAksjonspunktDto dto, AksjonspunktOppdaterParameter param) {
48-
var tilTekst = dto.getErVilkarOk() ? "oppfylt" : "ikke oppfylt";
56+
var avslagsårsak = Optional.ofNullable(dto.getAvslagskode()).flatMap(Avslagsårsak::fraDefinertKode).map(Avslagsårsak::getNavn).orElse(null);
57+
var utfall = dto.getErVilkarOk() ? VilkårUtfallType.OPPFYLT.getNavn() : VilkårUtfallType.IKKE_OPPFYLT.getNavn();
4958
var historikkinnslag = new Historikkinnslag.Builder().medFagsakId(param.getFagsakId())
5059
.medBehandlingId(param.getBehandlingId())
5160
.medTittel(SkjermlenkeType.SOEKNADSFRIST)
5261
.medAktør(HistorikkAktør.SAKSBEHANDLER)
53-
.addLinje(new HistorikkinnslagLinjeBuilder().til("Søknadsfristvilkåret", tilTekst))
62+
.addLinje(tilNullable(SØKNADSFRISTVILKÅRET.getNavn(), utfall))
63+
.addLinje(tilNullable("Avslagsårsak", avslagsårsak))
5464
.addLinje(dto.getBegrunnelse())
5565
.build();
5666
historikkinnslagRepository.lagre(historikkinnslag);

web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/vilkår/aksjonspunkt/FødselsvilkåretFarMedmorOverstyringshåndterer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@ public class FødselsvilkåretFarMedmorOverstyringshåndterer extends Inngangsvi
2121
}
2222

2323
@Inject
24-
public FødselsvilkåretFarMedmorOverstyringshåndterer(InngangsvilkårTjeneste inngangsvilkårTjeneste, HistorikkinnslagRepository historikkinnslagRepository) {
24+
public FødselsvilkåretFarMedmorOverstyringshåndterer(InngangsvilkårTjeneste inngangsvilkårTjeneste,
25+
HistorikkinnslagRepository historikkinnslagRepository) {
2526
super(VilkårType.FØDSELSVILKÅRET_FAR_MEDMOR, inngangsvilkårTjeneste, historikkinnslagRepository);
2627
}
2728

2829

2930
@Override
3031
public void lagHistorikkInnslag(OverstyringFødselvilkåretFarMedmorDto dto, BehandlingReferanse ref) {
31-
lagHistorikkInnslagForOverstyrtVilkår(ref, dto.getBegrunnelse(), dto.getErVilkarOk(), SkjermlenkeType.PUNKT_FOR_FOEDSEL);
32+
lagHistorikkInnslagForOverstyrtVilkår(ref, dto, SkjermlenkeType.PUNKT_FOR_FOEDSEL);
3233
}
3334
}

web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/vilkår/aksjonspunkt/FødselsvilkåretOverstyringshåndterer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ public class FødselsvilkåretOverstyringshåndterer extends InngangsvilkårOver
2828

2929
@Override
3030
public void lagHistorikkInnslag(OverstyringFødselsvilkåretDto dto, BehandlingReferanse ref) {
31-
lagHistorikkInnslagForOverstyrtVilkår(ref, dto.getBegrunnelse(), dto.getErVilkarOk(), SkjermlenkeType.PUNKT_FOR_FOEDSEL);
31+
lagHistorikkInnslagForOverstyrtVilkår(ref, dto, SkjermlenkeType.PUNKT_FOR_FOEDSEL);
3232
}
3333
}

web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/vilkår/aksjonspunkt/InngangsvilkårOverstyringshåndterer.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package no.nav.foreldrepenger.web.app.tjenester.behandling.vilkår.aksjonspunkt;
22

3-
import static no.nav.foreldrepenger.behandlingslager.behandling.historikk.HistorikkinnslagLinjeBuilder.fraTilEquals;
3+
import static no.nav.foreldrepenger.behandlingslager.behandling.historikk.HistorikkinnslagLinjeBuilder.tilNullable;
4+
5+
import java.util.Optional;
46

57
import no.nav.foreldrepenger.behandling.BehandlingReferanse;
68
import no.nav.foreldrepenger.behandling.aksjonspunkt.AksjonspunktOppdateringTransisjon;
@@ -50,18 +52,17 @@ public abstract class InngangsvilkårOverstyringshåndterer<T extends Overstyrin
5052
return OppdateringResultat.utenOverhopp();
5153
}
5254

53-
protected void lagHistorikkInnslagForOverstyrtVilkår(BehandlingReferanse ref,
54-
String begrunnelse,
55-
boolean vilkårOppfylt,
56-
SkjermlenkeType skjermlenkeType) {
57-
var tilVerdi = vilkårOppfylt ? "Vilkåret er oppfylt" : "Vilkåret er ikke oppfylt";
58-
var fraVerdi = vilkårOppfylt ? "Vilkåret er ikke oppfylt" : "Vilkåret er oppfylt";
55+
protected void lagHistorikkInnslagForOverstyrtVilkår(BehandlingReferanse ref, T dto, SkjermlenkeType skjermlenkeType) {
56+
var utfall = dto.getErVilkarOk() ? VilkårUtfallType.OPPFYLT.getNavn() : VilkårUtfallType.IKKE_OPPFYLT.getNavn();
57+
var avslagsårsak = Optional.ofNullable(dto.getAvslagskode()).flatMap(Avslagsårsak::fraDefinertKode).map(Avslagsårsak::getNavn).orElse(null);
5958
var historikkinnslag = new Historikkinnslag.Builder().medTittel(skjermlenkeType)
6059
.medAktør(HistorikkAktør.SAKSBEHANDLER)
6160
.medBehandlingId(ref.behandlingId())
6261
.medFagsakId(ref.fagsakId())
63-
.addLinje(fraTilEquals("Overstyrt vurdering: Utfallet", fraVerdi, tilVerdi))
64-
.addLinje(begrunnelse)
62+
.addLinje(dto.getAksjonspunktDefinisjon().getNavn())
63+
.addLinje(tilNullable(vilkårType.getNavn(), utfall))
64+
.addLinje(tilNullable("Avslagsårsak", avslagsårsak))
65+
.addLinje(dto.getBegrunnelse())
6566
.build();
6667
historikkinnslagRepository.lagre(historikkinnslag);
6768
}

0 commit comments

Comments
 (0)