Commit d099286d6714b94caa3b48dc0f2c44426b221cfb

Authored by andre.guimaraes
1 parent 99bc23f9

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
src/main/java/br/gov/ans/integracao/sei/dao/DocumentoDAO.java
... ... @@ -21,39 +21,6 @@ public class DocumentoDAO {
21 21 @PersistenceContext(unitName = "sei_pu", type = PersistenceContextType.EXTENDED)
22 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 24 public List<DocumentoResumido> getDocumentos(String interessado, String codigoTipo, Integer pagina, Integer qtdRegistros, boolean somenteAssinados,
58 25 boolean ordemCrescente, boolean orderByProcesso){
59 26 HashMap<String, Object> parametros = new HashMap<String, Object>();
... ... @@ -161,7 +128,7 @@ public class DocumentoDAO {
161 128 StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, ");
162 129 builder.append("d.numero numeroInformado, an.nome nome, ");
163 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 132 builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado ");
166 133 builder.append("FROM documento AS d ");
167 134  
... ... @@ -173,6 +140,7 @@ public class DocumentoDAO {
173 140  
174 141 builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento ");
175 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 144 builder.append("LEFT JOIN anexo AS an ON d.id_documento = an.id_protocolo ");
177 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 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 668 * @api {get} /:unidade/processos/:processo/andamentos Listar andamentos
659 669 * @apiName listarAndamentos
... ...