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