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,7 +44,7 @@ public class ProcessoDAO { | ||
44 | } | 44 | } |
45 | 45 | ||
46 | if(StringUtils.isNoneBlank(tipoProcesso)){ | 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 | builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); | 50 | builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); |
@@ -73,25 +73,31 @@ public class ProcessoDAO { | @@ -73,25 +73,31 @@ public class ProcessoDAO { | ||
73 | return processos; | 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 | HashMap<String, Object> parametros = new HashMap<String, Object>(); | 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 | if(StringUtils.isNotBlank(interessado)){ | 90 | if(StringUtils.isNotBlank(interessado)){ |
86 | builder.append("AND c.sigla = :interessado "); | 91 | builder.append("AND c.sigla = :interessado "); |
87 | parametros.put("interessado", interessado); | 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 | Query query = em.createNativeQuery(builder.toString()); | 101 | Query query = em.createNativeQuery(builder.toString()); |
96 | 102 | ||
97 | setQueryParameters(query, parametros); | 103 | setQueryParameters(query, parametros); |
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
@@ -576,7 +576,7 @@ public class ProcessoResource { | @@ -576,7 +576,7 @@ public class ProcessoResource { | ||
576 | * @apiParam (Query Parameters) {String} [unidade] Unidade da qual deseja filtrar os processos | 576 | * @apiParam (Query Parameters) {String} [unidade] Unidade da qual deseja filtrar os processos |
577 | * @apiParam (Query Parameters) {String} [pagina=1] Número da página | 577 | * @apiParam (Query Parameters) {String} [pagina=1] Número da página |
578 | * @apiParam (Query Parameters) {String} [qtdRegistros=50] Quantidade de registros retornados por página | 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 | * @apiExample Exemplo de requisição: | 581 | * @apiExample Exemplo de requisição: |
582 | * curl -i https://<host>/sei-broker/service/processos | 582 | * curl -i https://<host>/sei-broker/service/processos |
@@ -605,7 +605,7 @@ public class ProcessoResource { | @@ -605,7 +605,7 @@ public class ProcessoResource { | ||
605 | @Path("/processos") | 605 | @Path("/processos") |
606 | @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) | 606 | @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) |
607 | @Wrapped(element = "processos") | 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 | @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws BusinessException{ | 609 | @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws BusinessException{ |
610 | 610 | ||
611 | List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso, | 611 | List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso, |
@@ -613,7 +613,7 @@ public class ProcessoResource { | @@ -613,7 +613,7 @@ public class ProcessoResource { | ||
613 | 613 | ||
614 | GenericEntity<List<ProcessoResumido>> entity = new GenericEntity<List<ProcessoResumido>>(processos){}; | 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 | return Response.ok().entity(entity) | 618 | return Response.ok().entity(entity) |
619 | .header("total_registros", totalRegistros).build(); | 619 | .header("total_registros", totalRegistros).build(); |
src/main/webapp/api-docs/api_data.js
@@ -6268,7 +6268,7 @@ define({ "api": [ | @@ -6268,7 +6268,7 @@ define({ "api": [ | ||
6268 | "group": "Query Parameters", | 6268 | "group": "Query Parameters", |
6269 | "type": "String", | 6269 | "type": "String", |
6270 | "optional": true, | 6270 | "optional": true, |
6271 | - "field": "tipoProcesso", | 6271 | + "field": "tipo", |
6272 | "description": "<p>Identificador do tipo de processo que deseja filtrar</p>" | 6272 | "description": "<p>Identificador do tipo de processo que deseja filtrar</p>" |
6273 | } | 6273 | } |
6274 | ] | 6274 | ] |
src/main/webapp/api-docs/api_data.json
@@ -6268,7 +6268,7 @@ | @@ -6268,7 +6268,7 @@ | ||
6268 | "group": "Query Parameters", | 6268 | "group": "Query Parameters", |
6269 | "type": "String", | 6269 | "type": "String", |
6270 | "optional": true, | 6270 | "optional": true, |
6271 | - "field": "tipoProcesso", | 6271 | + "field": "tipo", |
6272 | "description": "<p>Identificador do tipo de processo que deseja filtrar</p>" | 6272 | "description": "<p>Identificador do tipo de processo que deseja filtrar</p>" |
6273 | } | 6273 | } |
6274 | ] | 6274 | ] |
src/main/webapp/api-docs/api_project.js
@@ -8,7 +8,7 @@ define({ | @@ -8,7 +8,7 @@ define({ | ||
8 | "apidoc": "0.2.0", | 8 | "apidoc": "0.2.0", |
9 | "generator": { | 9 | "generator": { |
10 | "name": "apidoc", | 10 | "name": "apidoc", |
11 | - "time": "2017-10-04T17:59:43.178Z", | 11 | + "time": "2017-10-04T19:12:14.480Z", |
12 | "url": "http://apidocjs.com", | 12 | "url": "http://apidocjs.com", |
13 | "version": "0.15.1" | 13 | "version": "0.15.1" |
14 | } | 14 | } |
src/main/webapp/api-docs/api_project.json
@@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
8 | "apidoc": "0.2.0", | 8 | "apidoc": "0.2.0", |
9 | "generator": { | 9 | "generator": { |
10 | "name": "apidoc", | 10 | "name": "apidoc", |
11 | - "time": "2017-10-04T17:59:43.178Z", | 11 | + "time": "2017-10-04T19:12:14.480Z", |
12 | "url": "http://apidocjs.com", | 12 | "url": "http://apidocjs.com", |
13 | "version": "0.15.1" | 13 | "version": "0.15.1" |
14 | } | 14 | } |