From 17a85cd795ca547ec39237ec49982933651b0206 Mon Sep 17 00:00:00 2001 From: Davi Aliaga Date: Wed, 14 Oct 2026 12:51:44 -0300 Subject: [PATCH 1/2] =?UTF-8?q?feat/meta:=20adiciona=20endpoint=20para=20b?= =?UTF-8?q?uscar=20metas=20do=20plano=20de=20a=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acta/common/config/swagger/openapi/MetaOpenapi.java | 9 ++++++++- src/main/java/br/com/acta/controller/MetaController.java | 9 ++++++++- src/main/java/br/com/acta/service/MetaService.java | 8 ++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/java/br/com/acta/common/config/swagger/openapi/MetaOpenapi.java b/src/main/java/br/com/acta/common/config/swagger/openapi/MetaOpenapi.java index fd0ca21..1eaf5f5 100644 --- a/src/main/java/br/com/acta/common/config/swagger/openapi/MetaOpenapi.java +++ b/src/main/java/br/com/acta/common/config/swagger/openapi/MetaOpenapi.java @@ -35,6 +35,13 @@ public interface MetaOpenapi { @ApiBadRequestResponse ResponseEntity> buscar(@Parameter(description = SwaggerParameterDescriptions.ID_CICLO) Long idCiclo, @Parameter(description = SwaggerParameterDescriptions.FILTRO_STATUS) StatusMeta status, @Parameter(description = SwaggerParameterDescriptions.FILTRO_PRIORIDADE) Prioridade prioridade); + @Operation(summary = "Lista as metas de um plano de ação") + @ApiResponse(responseCode = "200", description = "Metas encontradas", content = @Content(array = @ArraySchema(schema = @Schema(implementation = MetaResponseDTO.class)))) + @ApiAuthenticationResponses + @ApiBadRequestResponse + @ApiNotFoundResponse + ResponseEntity> buscarPorPlanoAcao(@Parameter(description = SwaggerParameterDescriptions.ID_PLANO_ACAO) Long idPlanoAcao); + @Operation(summary = "Busca uma meta") @ApiResponse(responseCode = "200", description = "Meta encontrada", content = @Content(schema = @Schema(implementation = MetaResponseDTO.class))) @ApiAuthenticationResponses @@ -83,4 +90,4 @@ public interface MetaOpenapi { @ApiResourceResponses @ApiBusinessRuleResponse ResponseEntity excluirResponsaveis(@Parameter(description = SwaggerParameterDescriptions.ID_META) Long id, @Parameter(description = SwaggerParameterDescriptions.IDS_RESPONSAVEIS) List idsResponsaveis); -} +} \ No newline at end of file diff --git a/src/main/java/br/com/acta/controller/MetaController.java b/src/main/java/br/com/acta/controller/MetaController.java index b09afce..a9d8560 100644 --- a/src/main/java/br/com/acta/controller/MetaController.java +++ b/src/main/java/br/com/acta/controller/MetaController.java @@ -31,6 +31,13 @@ public ResponseEntity> buscar(@PathVariable @Positive Long return ResponseEntity.ok(metas); } + @GetMapping("/plano-acao/{idPlanoAcao}/meta") + @Override + public ResponseEntity> buscarPorPlanoAcao(@PathVariable @Positive Long idPlanoAcao) { + List metas = service.buscarPorPlanoAcao(idPlanoAcao); + return ResponseEntity.ok(metas); + } + @GetMapping("/meta/{id}") @Override public ResponseEntity buscar(@PathVariable @Positive Long id) { @@ -86,4 +93,4 @@ public ResponseEntity excluirResponsaveis(@PathVariable Long id, @RequestP service.excluirResponsaveis(id, idsResponsaveis); return ResponseEntity.noContent().build(); } -} +} \ No newline at end of file diff --git a/src/main/java/br/com/acta/service/MetaService.java b/src/main/java/br/com/acta/service/MetaService.java index c35af5b..f0fea9e 100644 --- a/src/main/java/br/com/acta/service/MetaService.java +++ b/src/main/java/br/com/acta/service/MetaService.java @@ -171,6 +171,14 @@ public List buscar(Long idCiclo, StatusMeta status, Prioridade return mapper.toResponseList(metas); } + @PreAuthorize("isAuthenticated()") + @Transactional(readOnly = true) + public List buscarPorPlanoAcao(Long idPlanoAcao) { + planoAcaoService.getEntity(idPlanoAcao); + List metas = repo.findByPlanoAcaoId(idPlanoAcao); + return mapper.toResponseList(metas); + } + @PreAuthorize("isAuthenticated()") @Transactional(readOnly = true) public List buscarResponsaveis(Long id){ From 8f612110bfdef8189f357bc9c9185c999659c89b Mon Sep 17 00:00:00 2001 From: Davi Aliaga Date: Wed, 14 Oct 2026 13:00:01 -0300 Subject: [PATCH 2/2] =?UTF-8?q?feat/meta:=20adiciona=20m=C3=A9todo=20para?= =?UTF-8?q?=20buscar=20metas=20por=20ID=20do=20plano=20de=20a=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/br/com/acta/repository/padrao/MetaRepository.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/br/com/acta/repository/padrao/MetaRepository.java b/src/main/java/br/com/acta/repository/padrao/MetaRepository.java index c7c4181..e06db27 100644 --- a/src/main/java/br/com/acta/repository/padrao/MetaRepository.java +++ b/src/main/java/br/com/acta/repository/padrao/MetaRepository.java @@ -10,9 +10,10 @@ public interface MetaRepository extends BaseRepository { Optional findByIdAndCicloEmpresaId(Long id, Long idEmpresa); + List findByPlanoAcaoId(Long idPlanoAcao); List findByCicloId(Long idCiclo); List findByResponsaveisId(Long idResponsavel); List findByCicloIdAndStatus(Long cicloId, StatusMeta status); List findByCicloIdAndPrioridade(Long cicloId, Prioridade prioridade); List findByCicloIdAndStatusAndPrioridade(Long cicloId, StatusMeta status, Prioridade prioridade); -} +} \ No newline at end of file