diff --git a/src/main/java/br/gov/ans/integracao/sei/dao/ProcessoDAO.java b/src/main/java/br/gov/ans/integracao/sei/dao/ProcessoDAO.java index a992b56..99df489 100644 --- a/src/main/java/br/gov/ans/integracao/sei/dao/ProcessoDAO.java +++ b/src/main/java/br/gov/ans/integracao/sei/dao/ProcessoDAO.java @@ -44,11 +44,19 @@ public class ProcessoDAO { } if(StringUtils.isNoneBlank(tipoProcesso)){ - builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); + builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); + parametros.put("tipoProcesso", tipoProcesso); } - + builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); + if(StringUtils.isNoneBlank(unidade)){ + builder.append("AND p.id_unidade = :unidade "); + parametros.put("unidade", unidade); + } + + builder.append("group by pr.protocolo_formatado_pesquisa "); + if(crescente){ builder.append("order by pr.dta_geracao asc"); }else{ @@ -93,11 +101,19 @@ public class ProcessoDAO { } if(StringUtils.isNoneBlank(tipoProcesso)){ - builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); + builder.append("AND proc.id_tipo_procedimento = :tipoProcesso "); + parametros.put("tipoProcesso", tipoProcesso); } builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento "); + if(StringUtils.isNoneBlank(unidade)){ + builder.append("AND p.id_unidade = :unidade "); + parametros.put("unidade", unidade); + } + + builder.append("group by pr.protocolo_formatado_pesquisa "); + Query query = em.createNativeQuery(builder.toString()); setQueryParameters(query, parametros); diff --git a/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java b/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java index 4c8deb4..01e8f94 100644 --- a/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java +++ b/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java @@ -620,7 +620,11 @@ public class ProcessoResource { @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) @Wrapped(element = "processos") public Response consultarProcessos(@QueryParam("interessado") String interessado, @QueryParam("unidade") String unidade, @QueryParam("tipo") String tipoProcesso, - @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws BusinessException{ + @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws Exception{ + + if(StringUtils.isNotBlank(unidade)){ + unidade = unidadeResource.consultarCodigo(unidade); + } List processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso, pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros), crescente); -- libgit2 0.21.2