Search in sources :

Example 1 with FunksjonellException

use of no.nav.vedtak.exception.FunksjonellException in project fp-formidling by navikt.

the class DokumentMalUtleder method mapKlageBrev.

private DokumentMalType mapKlageBrev(Behandling behandling) {
    Klage klage = domeneobjektProvider.hentKlagebehandling(behandling);
    KlageVurderingResultat klageVurderingResultat = klage.getGjeldendeKlageVurderingsresultat();
    if (klageVurderingResultat == null) {
        throw new FunksjonellException("FPFORMIDLING-100507", String.format("Klagebehandling med id %s mangler resultat av klagevurderingen", behandling.getUuid().toString()), "Fortsett saksbehandlingen");
    }
    KlageVurdering klagevurdering = klageVurderingResultat.klageVurdering();
    if (KlageVurdering.AVVIS_KLAGE.equals(klagevurdering)) {
        return DokumentMalType.KLAGE_AVVIST;
    } else if (Arrays.asList(KlageVurdering.OPPHEVE_YTELSESVEDTAK, KlageVurdering.HJEMSENDE_UTEN_Å_OPPHEVE).contains(klagevurdering)) {
        return DokumentMalType.KLAGE_HJEMSENDT;
    } else if (KlageVurdering.MEDHOLD_I_KLAGE.equals(klagevurdering)) {
        return DokumentMalType.KLAGE_OMGJORT;
    } else if (KlageVurdering.STADFESTE_YTELSESVEDTAK.equals(klagevurdering)) {
        return DokumentMalType.KLAGE_STADFESTET;
    }
    throw new TekniskException("FPFORMIDLING-666915", String.format("Ingen brevmal konfigurert for denne type behandlingen %s.", behandling.getUuid().toString()));
}
Also used : KlageVurdering(no.nav.foreldrepenger.fpformidling.klage.KlageVurdering) KlageVurderingResultat(no.nav.foreldrepenger.fpformidling.klage.KlageVurderingResultat) FunksjonellException(no.nav.vedtak.exception.FunksjonellException) TekniskException(no.nav.vedtak.exception.TekniskException) Klage(no.nav.foreldrepenger.fpformidling.klage.Klage)

Example 2 with FunksjonellException

use of no.nav.vedtak.exception.FunksjonellException in project fpfordel by navikt.

the class BehandleDokumentService method validerXml.

private String validerXml(MottakMeldingDataWrapper dataWrapper, BehandlingTema behandlingTema, DokumentTypeId dokumentTypeId, String xml) {
    MottattStrukturertDokument<?> mottattDokument;
    try {
        mottattDokument = MeldingXmlParser.unmarshallXml(xml);
    } catch (Exception e) {
        LOG.info("FPFORDEL GOSYS Journalpost med type {} er strukturert men er ikke gyldig XML", dokumentTypeId);
        return null;
    }
    if (DokumentTypeId.FORELDREPENGER_ENDRING_SØKNAD.equals(dokumentTypeId) && !BehandlingTema.ikkeSpesifikkHendelse(behandlingTema)) {
        dataWrapper.setBehandlingTema(BehandlingTema.FORELDREPENGER);
    }
    try {
        mottattDokument.kopierTilMottakWrapper(dataWrapper, pdl::hentAktørIdForPersonIdent);
    } catch (FunksjonellException e) {
        // Her er det "greit" - da har man bestemt seg, men kan lage rot i saken.
        if ("FP-401245".equals(e.getKode())) {
            String logMessage = e.getMessage();
            LOG.info("FPFORDEL GOSYS" + logMessage);
        } else {
            throw e;
        }
    }
    String imType = dataWrapper.getInntektsmeldingYtelse().orElse(null);
    LocalDate startDato = dataWrapper.getOmsorgsovertakelsedato().orElse(dataWrapper.getFørsteUttaksdag().orElse(Tid.TIDENES_ENDE));
    validerDokumentData(dataWrapper, behandlingTema, dokumentTypeId, imType, startDato);
    return xml;
}
Also used : FunksjonellException(no.nav.vedtak.exception.FunksjonellException) LocalDate(java.time.LocalDate) FunksjonellException(no.nav.vedtak.exception.FunksjonellException)

Aggregations

FunksjonellException (no.nav.vedtak.exception.FunksjonellException)2 LocalDate (java.time.LocalDate)1 Klage (no.nav.foreldrepenger.fpformidling.klage.Klage)1 KlageVurdering (no.nav.foreldrepenger.fpformidling.klage.KlageVurdering)1 KlageVurderingResultat (no.nav.foreldrepenger.fpformidling.klage.KlageVurderingResultat)1 TekniskException (no.nav.vedtak.exception.TekniskException)1