From 4de77d18bb896b66e7a88619526d40387b9db07a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20P=C3=B8hner?= Date: Mon, 13 Nov 2023 14:42:00 +0100 Subject: [PATCH] Saksbehandlergrupper: ryddigere ved fjerning av saksbehandler --- .../AvdelingslederSaksbehandlerTjeneste.java | 4 ++-- .../los/organisasjon/OrganisasjonRepository.java | 12 ++++++------ .../AvdelingslederSaksbehandlerRestTjeneste.java | 4 ++-- .../AvdelingslederSaksbehandlerRestTjenesteTest.java | 4 +--- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/domene/src/main/java/no/nav/foreldrepenger/los/avdelingsleder/AvdelingslederSaksbehandlerTjeneste.java b/domene/src/main/java/no/nav/foreldrepenger/los/avdelingsleder/AvdelingslederSaksbehandlerTjeneste.java index 11bc945f4..ae4c252c9 100644 --- a/domene/src/main/java/no/nav/foreldrepenger/los/avdelingsleder/AvdelingslederSaksbehandlerTjeneste.java +++ b/domene/src/main/java/no/nav/foreldrepenger/los/avdelingsleder/AvdelingslederSaksbehandlerTjeneste.java @@ -88,8 +88,8 @@ public SaksbehandlerGruppe opprettSaksbehandlerGruppe(String avdelingEnhet) { return gruppe; } - public void endreSaksbehandlerGruppeNavn(long gruppeId, String gruppeNavn) { - organisasjonRepository.updateSaksbehandlerGruppeNavn(gruppeId, gruppeNavn); + public void endreSaksbehandlerGruppeNavn(long gruppeId, String gruppeNavn, String avdelingEnhet) { + organisasjonRepository.updateSaksbehandlerGruppeNavn(gruppeId, gruppeNavn, avdelingEnhet); } public void slettSaksbehandlerGruppe(long gruppeId, String avdelingEnhet) { diff --git a/domene/src/main/java/no/nav/foreldrepenger/los/organisasjon/OrganisasjonRepository.java b/domene/src/main/java/no/nav/foreldrepenger/los/organisasjon/OrganisasjonRepository.java index 9804ea36d..5ba2b117a 100644 --- a/domene/src/main/java/no/nav/foreldrepenger/los/organisasjon/OrganisasjonRepository.java +++ b/domene/src/main/java/no/nav/foreldrepenger/los/organisasjon/OrganisasjonRepository.java @@ -84,14 +84,14 @@ public void fjernSaksbehandlerFraGruppe(String saksbehandlerIdent, long gruppeId var gruppe = entityManager.find(SaksbehandlerGruppe.class, gruppeId); sjekkGruppeEnhetTilknytning(gruppeId, avdelingEnhet, gruppe); gruppe.getSaksbehandlere().removeIf(s -> s.getSaksbehandlerIdent().equals(saksbehandlerIdent)); - entityManager.persist(gruppe); + entityManager.merge(gruppe); } - public void updateSaksbehandlerGruppeNavn(long gruppeId, String gruppeNavn) { - entityManager.createQuery("UPDATE saksbehandlerGruppe g SET g.gruppeNavn = :gruppeNavn WHERE g.id = :gruppeId") - .setParameter("gruppeNavn", gruppeNavn) - .setParameter("gruppeId", gruppeId) - .executeUpdate(); + public void updateSaksbehandlerGruppeNavn(long gruppeId, String gruppeNavn, String avdelingEnhet) { + var gruppe = entityManager.find(SaksbehandlerGruppe.class, gruppeId); + sjekkGruppeEnhetTilknytning(gruppeId, avdelingEnhet, gruppe); + gruppe.setGruppeNavn(gruppeNavn); + entityManager.merge(gruppe); } public void slettSaksbehandlerGruppe(long gruppeId, String avdelingEnhet) { diff --git a/web/src/main/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjeneste.java b/web/src/main/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjeneste.java index 49886f691..5c6ee226d 100644 --- a/web/src/main/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjeneste.java +++ b/web/src/main/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjeneste.java @@ -109,11 +109,11 @@ public SaksbehandlerGruppeDto opprettSaksbehandlerGruppe(@Valid AvdelingEnhetDto } @POST - @Path("/grupper/endre-gruppe") + @Path("/grupper/endre-gruppenavn") @Operation(description = "Gir nytt navn til gruppe", tags = "AvdelingslederSaksbehandlergrupper") @BeskyttetRessurs(actionType = ActionType.UPDATE, resourceType = ResourceType.OPPGAVESTYRING_AVDELINGENHET) public void endreSaksbehandlerGruppe(@Valid SaksbehandlerGruppeNavneEndringDto dto) { - avdelingslederSaksbehandlerTjeneste.endreSaksbehandlerGruppeNavn(dto.gruppeId(), dto.gruppeNavn()); + avdelingslederSaksbehandlerTjeneste.endreSaksbehandlerGruppeNavn(dto.gruppeId(), dto.gruppeNavn(), dto.avdelingEnhet().getAvdelingEnhet()); } @POST diff --git a/web/src/test/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjenesteTest.java b/web/src/test/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjenesteTest.java index 175dcf686..757bb3b42 100644 --- a/web/src/test/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjenesteTest.java +++ b/web/src/test/java/no/nav/foreldrepenger/los/web/app/tjenester/avdelingsleder/saksbehandler/AvdelingslederSaksbehandlerRestTjenesteTest.java @@ -48,11 +48,9 @@ class AvdelingslederSaksbehandlerRestTjenesteTest { @Mock private OppgaveRepository oppgaveRepository; - private EntityManager entityManager; @BeforeEach public void setUp(EntityManager entityManager) { - this.entityManager = entityManager; var organisasjonRepository = new OrganisasjonRepository(entityManager); avdelingslederSaksbehandlerTjeneste = new AvdelingslederSaksbehandlerTjeneste(oppgaveRepository, organisasjonRepository); restTjeneste = new AvdelingslederSaksbehandlerRestTjeneste(avdelingslederSaksbehandlerTjeneste, saksbehandlerDtoTjeneste); @@ -99,6 +97,7 @@ void kan_fjerne_saksbehandlere_fra_gruppe() { assertThat(hentetGrupper.saksbehandlerGrupper().get(0).saksbehandlere()).hasSize(1); restTjeneste.fjernSaksbehandlerFraGruppe(new SaksbehandlerOgGruppeDto(brukerIdentDto, avdelingDto, gruppe.gruppeId())); + var etterSletting = restTjeneste.hentSaksbehandlerGrupper(avdelingDto); assertThat(etterSletting.saksbehandlerGrupper().get(0).saksbehandlere()).isEmpty(); } @@ -108,7 +107,6 @@ void kan_gi_grupper_nytt_navn() { var gruppe = restTjeneste.opprettSaksbehandlerGruppe(avdelingDto); assertThat(gruppe.gruppeNavn()).isNotEqualTo("Nytt navn"); restTjeneste.endreSaksbehandlerGruppe(new SaksbehandlerGruppeNavneEndringDto(gruppe.gruppeId(), "Nytt navn", avdelingDto)); - entityManager.clear(); // glem eksisterende entiteter for å hente nytt fra databasen var hentetGrupper = restTjeneste.hentSaksbehandlerGrupper(avdelingDto); var oppdatertGruppe = hentetGrupper.saksbehandlerGrupper().get(0); assertThat(oppdatertGruppe.gruppeNavn()).isEqualTo("Nytt navn");