Commit eb9f48114815650b694cd1dddf17b66d755cfaeb
1 parent
9bbcf30f
Exists in
master
and in
1 other branch
Corrigido o count dos processos e erro que ocorria ao filtrar por tipo de proces…
…so, documentação atualizada.
Showing
6 changed files
with
23 additions
and
17 deletions
Show diff stats
src/main/java/br/gov/ans/integracao/sei/dao/ProcessoDAO.java
| ... | ... | @@ -44,7 +44,7 @@ public class ProcessoDAO { |
| 44 | 44 | } |
| 45 | 45 | |
| 46 | 46 | if(StringUtils.isNoneBlank(tipoProcesso)){ |
| 47 | - builder.append("AND proc.id_tipo_procedimento = :tipoProcesso"); | |
| 47 | + builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); | |
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); |
| ... | ... | @@ -73,25 +73,31 @@ public class ProcessoDAO { |
| 73 | 73 | return processos; |
| 74 | 74 | } |
| 75 | 75 | |
| 76 | - public Long countProcessos(String interessado, String unidade){ | |
| 76 | + public Long countProcessos(String interessado, String unidade, String tipoProcesso){ | |
| 77 | 77 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
| 78 | + | |
| 79 | + StringBuilder builder = new StringBuilder("SELECT count(*) "); | |
| 80 | + builder.append("FROM protocolo pr, tipo_procedimento tp, participante p "); | |
| 81 | + | |
| 82 | + if(StringUtils.isNotBlank(interessado)){ | |
| 83 | + builder.append("JOIN contato c ON c.id_contato = p.id_contato "); | |
| 84 | + } | |
| 78 | 85 | |
| 79 | - StringBuilder builder = new StringBuilder("SELECT "); | |
| 80 | - builder.append("COUNT(*) "); | |
| 81 | - builder.append("FROM participante p, protocolo pr, contato c, unidade u "); | |
| 82 | - builder.append("WHERE " ); | |
| 83 | - builder.append("p.id_contato = c.id_contato AND p.id_protocolo = pr.id_protocolo AND p.id_unidade = u.id_unidade AND pr.sta_protocolo = 'P' "); | |
| 86 | + builder.append("JOIN unidade u ON u.id_unidade = p.id_unidade "); | |
| 87 | + builder.append("JOIN procedimento proc ON proc.id_procedimento = p.id_protocolo "); | |
| 88 | + builder.append("WHERE pr.sta_protocolo = 'P' AND p.id_protocolo = pr.id_protocolo "); | |
| 84 | 89 | |
| 85 | 90 | if(StringUtils.isNotBlank(interessado)){ |
| 86 | 91 | builder.append("AND c.sigla = :interessado "); |
| 87 | 92 | parametros.put("interessado", interessado); |
| 88 | 93 | } |
| 89 | 94 | |
| 90 | - if(StringUtils.isNotBlank(unidade)){ | |
| 91 | - builder.append("AND u.sigla = :unidade "); | |
| 92 | - parametros.put("unidade", unidade); | |
| 95 | + if(StringUtils.isNoneBlank(tipoProcesso)){ | |
| 96 | + builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); | |
| 93 | 97 | } |
| 94 | 98 | |
| 99 | + builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); | |
| 100 | + | |
| 95 | 101 | Query query = em.createNativeQuery(builder.toString()); |
| 96 | 102 | |
| 97 | 103 | setQueryParameters(query, parametros); | ... | ... |
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
| ... | ... | @@ -576,7 +576,7 @@ public class ProcessoResource { |
| 576 | 576 | * @apiParam (Query Parameters) {String} [unidade] Unidade da qual deseja filtrar os processos |
| 577 | 577 | * @apiParam (Query Parameters) {String} [pagina=1] Número da página |
| 578 | 578 | * @apiParam (Query Parameters) {String} [qtdRegistros=50] Quantidade de registros retornados por página |
| 579 | - * @apiParam (Query Parameters) {String} [tipoProcesso] Identificador do tipo de processo que deseja filtrar | |
| 579 | + * @apiParam (Query Parameters) {String} [tipo] Identificador do tipo de processo que deseja filtrar | |
| 580 | 580 | * |
| 581 | 581 | * @apiExample Exemplo de requisição: |
| 582 | 582 | * curl -i https://<host>/sei-broker/service/processos |
| ... | ... | @@ -605,7 +605,7 @@ public class ProcessoResource { |
| 605 | 605 | @Path("/processos") |
| 606 | 606 | @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) |
| 607 | 607 | @Wrapped(element = "processos") |
| 608 | - public Response consultarProcessos(@QueryParam("interessado") String interessado, @QueryParam("unidade") String unidade, @QueryParam("tipoProcesso") String tipoProcesso, | |
| 608 | + public Response consultarProcessos(@QueryParam("interessado") String interessado, @QueryParam("unidade") String unidade, @QueryParam("tipo") String tipoProcesso, | |
| 609 | 609 | @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws BusinessException{ |
| 610 | 610 | |
| 611 | 611 | List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso, |
| ... | ... | @@ -613,7 +613,7 @@ public class ProcessoResource { |
| 613 | 613 | |
| 614 | 614 | GenericEntity<List<ProcessoResumido>> entity = new GenericEntity<List<ProcessoResumido>>(processos){}; |
| 615 | 615 | |
| 616 | - Long totalRegistros = processoDAO.countProcessos(interessado, unidade); | |
| 616 | + Long totalRegistros = processoDAO.countProcessos(interessado, unidade, tipoProcesso); | |
| 617 | 617 | |
| 618 | 618 | return Response.ok().entity(entity) |
| 619 | 619 | .header("total_registros", totalRegistros).build(); | ... | ... |
src/main/webapp/api-docs/api_data.js
| ... | ... | @@ -6268,7 +6268,7 @@ define({ "api": [ |
| 6268 | 6268 | "group": "Query Parameters", |
| 6269 | 6269 | "type": "String", |
| 6270 | 6270 | "optional": true, |
| 6271 | - "field": "tipoProcesso", | |
| 6271 | + "field": "tipo", | |
| 6272 | 6272 | "description": "<p>Identificador do tipo de processo que deseja filtrar</p>" |
| 6273 | 6273 | } |
| 6274 | 6274 | ] | ... | ... |
src/main/webapp/api-docs/api_data.json
src/main/webapp/api-docs/api_project.js
src/main/webapp/api-docs/api_project.json