Commit 3963c34029cec16ebdd987bc5cdcf0538482772a
1 parent
427061b9
Exists in
master
and in
1 other branch
Correção em query que estava ignorando um filtro e não estava agrupando os resultados.
Showing
2 changed files
with
24 additions
and
4 deletions
Show diff stats
src/main/java/br/gov/ans/integracao/sei/dao/ProcessoDAO.java
... | ... | @@ -44,11 +44,19 @@ 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 | + parametros.put("tipoProcesso", tipoProcesso); | |
48 | 49 | } |
49 | - | |
50 | + | |
50 | 51 | builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); |
51 | 52 | |
53 | + if(StringUtils.isNoneBlank(unidade)){ | |
54 | + builder.append("AND p.id_unidade = :unidade "); | |
55 | + parametros.put("unidade", unidade); | |
56 | + } | |
57 | + | |
58 | + builder.append("group by pr.protocolo_formatado_pesquisa "); | |
59 | + | |
52 | 60 | if(crescente){ |
53 | 61 | builder.append("order by pr.dta_geracao asc"); |
54 | 62 | }else{ |
... | ... | @@ -93,11 +101,19 @@ public class ProcessoDAO { |
93 | 101 | } |
94 | 102 | |
95 | 103 | if(StringUtils.isNoneBlank(tipoProcesso)){ |
96 | - builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); | |
104 | + builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); | |
105 | + parametros.put("tipoProcesso", tipoProcesso); | |
97 | 106 | } |
98 | 107 | |
99 | 108 | builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); |
100 | 109 | |
110 | + if(StringUtils.isNoneBlank(unidade)){ | |
111 | + builder.append("AND p.id_unidade = :unidade "); | |
112 | + parametros.put("unidade", unidade); | |
113 | + } | |
114 | + | |
115 | + builder.append("group by pr.protocolo_formatado_pesquisa "); | |
116 | + | |
101 | 117 | Query query = em.createNativeQuery(builder.toString()); |
102 | 118 | |
103 | 119 | setQueryParameters(query, parametros); | ... | ... |
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
... | ... | @@ -620,7 +620,11 @@ public class ProcessoResource { |
620 | 620 | @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) |
621 | 621 | @Wrapped(element = "processos") |
622 | 622 | public Response consultarProcessos(@QueryParam("interessado") String interessado, @QueryParam("unidade") String unidade, @QueryParam("tipo") String tipoProcesso, |
623 | - @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws BusinessException{ | |
623 | + @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws Exception{ | |
624 | + | |
625 | + if(StringUtils.isNotBlank(unidade)){ | |
626 | + unidade = unidadeResource.consultarCodigo(unidade); | |
627 | + } | |
624 | 628 | |
625 | 629 | List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso, |
626 | 630 | pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros), crescente); | ... | ... |