Commit d099286d6714b94caa3b48dc0f2c44426b221cfb
1 parent
99bc23f9
Exists in
master
and in
1 other branch
Retorna unidade na consultaDocumentosProcesso
A consulta a documentos do processo passa a retornar a unidade responsável pela inclusão do documento. Criado um endpoint para lista os processos de um interessado. OTRS - 2018092820000496
Showing
2 changed files
with
12 additions
and
34 deletions
Show diff stats
src/main/java/br/gov/ans/integracao/sei/dao/DocumentoDAO.java
| @@ -21,39 +21,6 @@ public class DocumentoDAO { | @@ -21,39 +21,6 @@ public class DocumentoDAO { | ||
| 21 | @PersistenceContext(unitName = "sei_pu", type = PersistenceContextType.EXTENDED) | 21 | @PersistenceContext(unitName = "sei_pu", type = PersistenceContextType.EXTENDED) |
| 22 | private EntityManager em; | 22 | private EntityManager em; |
| 23 | 23 | ||
| 24 | - @SuppressWarnings("unchecked") | ||
| 25 | - public List<DocumentoResumido> getDocumentosV1(String interessado, String unidade, Integer pagina, Integer qtdRegistros){ | ||
| 26 | - HashMap<String, Object> parametros = new HashMap<String, Object>(); | ||
| 27 | - | ||
| 28 | - StringBuilder builder = new StringBuilder("SELECT "); | ||
| 29 | - builder.append("pr.protocolo_formatado_pesquisa numero, s.nome tipo, d.numero numeroInformado, "); | ||
| 30 | - builder.append("(select protocolo_formatado from protocolo where id_protocolo = d.id_procedimento) processo, "); | ||
| 31 | - builder.append("u.sigla unidade, CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, pr.dta_geracao dataGeracao "); | ||
| 32 | - builder.append("FROM participante p, protocolo pr, documento d, contato c, serie s, unidade u "); | ||
| 33 | - builder.append("WHERE p.id_contato = c.id_contato AND p.id_protocolo = pr.id_protocolo AND p.id_protocolo = d.id_documento "); | ||
| 34 | - builder.append("AND p.id_unidade = u.id_unidade AND d.id_serie = s.id_serie "); | ||
| 35 | - | ||
| 36 | - if(StringUtils.isNotBlank(interessado)){ | ||
| 37 | - builder.append("AND c.sigla = :interessado "); | ||
| 38 | - parametros.put("interessado", interessado); | ||
| 39 | - } | ||
| 40 | - | ||
| 41 | - if(StringUtils.isNotBlank(unidade)){ | ||
| 42 | - builder.append("AND u.sigla = :unidade "); | ||
| 43 | - parametros.put("unidade", unidade); | ||
| 44 | - } | ||
| 45 | - | ||
| 46 | - builder.append("order by pr.dta_geracao asc"); | ||
| 47 | - | ||
| 48 | - Query query = em.createNativeQuery(builder.toString(), "DocumentoResumidoMapping"); | ||
| 49 | - | ||
| 50 | - setQueryParameters(query, parametros); | ||
| 51 | - | ||
| 52 | - setPaginacaoQuery(query, pagina, qtdRegistros); | ||
| 53 | - | ||
| 54 | - return query.getResultList(); | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | public List<DocumentoResumido> getDocumentos(String interessado, String codigoTipo, Integer pagina, Integer qtdRegistros, boolean somenteAssinados, | 24 | public List<DocumentoResumido> getDocumentos(String interessado, String codigoTipo, Integer pagina, Integer qtdRegistros, boolean somenteAssinados, |
| 58 | boolean ordemCrescente, boolean orderByProcesso){ | 25 | boolean ordemCrescente, boolean orderByProcesso){ |
| 59 | HashMap<String, Object> parametros = new HashMap<String, Object>(); | 26 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
| @@ -161,7 +128,7 @@ public class DocumentoDAO { | @@ -161,7 +128,7 @@ public class DocumentoDAO { | ||
| 161 | StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, "); | 128 | StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, "); |
| 162 | builder.append("d.numero numeroInformado, an.nome nome, "); | 129 | builder.append("d.numero numeroInformado, an.nome nome, "); |
| 163 | builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, "); | 130 | builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, "); |
| 164 | - builder.append("pr.dta_geracao dataGeracao, null as processo, null as unidade, "); | 131 | + builder.append("pr.dta_geracao dataGeracao, null as processo, u.sigla as unidade, "); |
| 165 | builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado "); | 132 | builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado "); |
| 166 | builder.append("FROM documento AS d "); | 133 | builder.append("FROM documento AS d "); |
| 167 | 134 | ||
| @@ -173,6 +140,7 @@ public class DocumentoDAO { | @@ -173,6 +140,7 @@ public class DocumentoDAO { | ||
| 173 | 140 | ||
| 174 | builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento "); | 141 | builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento "); |
| 175 | builder.append("JOIN serie AS s ON d.id_serie = s.id_serie "); | 142 | builder.append("JOIN serie AS s ON d.id_serie = s.id_serie "); |
| 143 | + builder.append("JOIN unidade AS u ON u.id_unidade = d.id_unidade_responsavel "); | ||
| 176 | builder.append("LEFT JOIN anexo AS an ON d.id_documento = an.id_protocolo "); | 144 | builder.append("LEFT JOIN anexo AS an ON d.id_documento = an.id_protocolo "); |
| 177 | builder.append("WHERE d.id_procedimento = :idProcedimento "); | 145 | builder.append("WHERE d.id_procedimento = :idProcedimento "); |
| 178 | 146 |
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
| @@ -654,6 +654,16 @@ public class ProcessoResource { | @@ -654,6 +654,16 @@ public class ProcessoResource { | ||
| 654 | .header("total_registros", totalRegistros).build(); | 654 | .header("total_registros", totalRegistros).build(); |
| 655 | } | 655 | } |
| 656 | 656 | ||
| 657 | + @GET | ||
| 658 | + @Path("/interessados/{interessado}/processos") | ||
| 659 | + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) | ||
| 660 | + @Wrapped(element = "processos") | ||
| 661 | + public Response consultarProcessosPorInteressado(@PathParam("interessado") String interessado, @QueryParam("unidade") String unidade, @QueryParam("tipo") String tipoProcesso, | ||
| 662 | + @QueryParam("crescente") boolean crescente, @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros) throws Exception{ | ||
| 663 | + | ||
| 664 | + return consultarProcessos(interessado, unidade, tipoProcesso, crescente, pagina, qtdRegistros); | ||
| 665 | + } | ||
| 666 | + | ||
| 657 | /** | 667 | /** |
| 658 | * @api {get} /:unidade/processos/:processo/andamentos Listar andamentos | 668 | * @api {get} /:unidade/processos/:processo/andamentos Listar andamentos |
| 659 | * @apiName listarAndamentos | 669 | * @apiName listarAndamentos |