Commit 8f96a48eb6810bfcd904f230ac78f41b5056b348

Authored by andre.guimaraes
1 parent 03031361

Inclui nome do arquivo na consulta a documentos

Retorno do nome do arquivo que foi incluído como documento externo no
SEI. Ao consultar os documentos do processo, os que documentos cujo
a origem seja 'RECEBIDO' terão um atributo nome.
src/main/java/br/gov/ans/integracao/sei/dao/DocumentoDAO.java
@@ -59,6 +59,7 @@ public class DocumentoDAO { @@ -59,6 +59,7 @@ public class DocumentoDAO {
59 HashMap<String, Object> parametros = new HashMap<String, Object>(); 59 HashMap<String, Object> parametros = new HashMap<String, Object>();
60 60
61 StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, "); 61 StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, ");
  62 + builder.append("null as nome, ");
62 builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, "); 63 builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, ");
63 builder.append("pr.dta_geracao dataGeracao, pr.protocolo_formatado as processo, u.sigla as unidade, "); 64 builder.append("pr.dta_geracao dataGeracao, pr.protocolo_formatado as processo, u.sigla as unidade, ");
64 builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado "); 65 builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado ");
@@ -155,7 +156,8 @@ public class DocumentoDAO { @@ -155,7 +156,8 @@ public class DocumentoDAO {
155 String numeroInformado, Integer pagina, Integer qtdRegistros){ 156 String numeroInformado, Integer pagina, Integer qtdRegistros){
156 HashMap<String, Object> parametros = new HashMap<String, Object>(); 157 HashMap<String, Object> parametros = new HashMap<String, Object>();
157 158
158 - StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, "); 159 + StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, ");
  160 + builder.append("d.numero numeroInformado, an.nome nome, ");
159 builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, "); 161 builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, ");
160 builder.append("pr.dta_geracao dataGeracao, null as processo, null as unidade, "); 162 builder.append("pr.dta_geracao dataGeracao, null as processo, null as unidade, ");
161 builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado "); 163 builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado ");
@@ -169,6 +171,7 @@ public class DocumentoDAO { @@ -169,6 +171,7 @@ public class DocumentoDAO {
169 171
170 builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento "); 172 builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento ");
171 builder.append("JOIN serie AS s ON d.id_serie = s.id_serie "); 173 builder.append("JOIN serie AS s ON d.id_serie = s.id_serie ");
  174 + builder.append("LEFT JOIN anexo AS an ON d.id_documento = an.id_protocolo ");
172 builder.append("WHERE d.id_procedimento = :idProcedimento "); 175 builder.append("WHERE d.id_procedimento = :idProcedimento ");
173 176
174 parametros.put("idProcedimento", idProcedimento); 177 parametros.put("idProcedimento", idProcedimento);
src/main/java/br/gov/ans/integracao/sei/modelo/DocumentoResumido.java
@@ -18,6 +18,7 @@ import org.codehaus.jackson.map.annotate.JsonSerialize; @@ -18,6 +18,7 @@ import org.codehaus.jackson.map.annotate.JsonSerialize;
18 @SqlResultSetMapping(name = "DocumentoResumidoMapping", entities = { @EntityResult(entityClass = DocumentoResumido.class, fields = { 18 @SqlResultSetMapping(name = "DocumentoResumidoMapping", entities = { @EntityResult(entityClass = DocumentoResumido.class, fields = {
19 @FieldResult(name = "numero", column = "numero"), 19 @FieldResult(name = "numero", column = "numero"),
20 @FieldResult(name = "numeroInformado", column = "numeroInformado"), 20 @FieldResult(name = "numeroInformado", column = "numeroInformado"),
  21 + @FieldResult(name = "nome", column = "nome"),
21 @FieldResult(name = "unidade", column = "unidade"), 22 @FieldResult(name = "unidade", column = "unidade"),
22 @FieldResult(name = "origem", column = "origem"), 23 @FieldResult(name = "origem", column = "origem"),
23 @FieldResult(name = "processo", column = "processo"), 24 @FieldResult(name = "processo", column = "processo"),
@@ -38,6 +39,7 @@ public class DocumentoResumido { @@ -38,6 +39,7 @@ public class DocumentoResumido {
38 @Id 39 @Id
39 private String numero; 40 private String numero;
40 private String numeroInformado; 41 private String numeroInformado;
  42 + private String nome;
41 private String unidade; 43 private String unidade;
42 private String origem; 44 private String origem;
43 private Date dataGeracao; 45 private Date dataGeracao;
@@ -56,6 +58,14 @@ public class DocumentoResumido { @@ -56,6 +58,14 @@ public class DocumentoResumido {
56 this.numero = numero; 58 this.numero = numero;
57 } 59 }
58 60
  61 + public String getNome() {
  62 + return nome;
  63 + }
  64 +
  65 + public void setNome(String nome) {
  66 + this.nome = nome;
  67 + }
  68 +
59 public Tipo getTipo() { 69 public Tipo getTipo() {
60 return tipo; 70 return tipo;
61 } 71 }
src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java
@@ -593,7 +593,7 @@ public class DocumentoResource { @@ -593,7 +593,7 @@ public class DocumentoResource {
593 @GET 593 @GET
594 @Path("interessados/{interessado}/documentos") 594 @Path("interessados/{interessado}/documentos")
595 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 595 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
596 - public Response consultarDocumentos(@PathParam("interessado") String interessado, @QueryParam("tipo") String tipo, @QueryParam("pagina") String pagina, 596 + public Response consultarDocumentosDoInteressado(@PathParam("interessado") String interessado, @QueryParam("tipo") String tipo, @QueryParam("pagina") String pagina,
597 @QueryParam("qtdRegistros") String qtdRegistros, @QueryParam("somenteAssinados") boolean somenteAssinados, @QueryParam("crescente") boolean ordemCrescente, 597 @QueryParam("qtdRegistros") String qtdRegistros, @QueryParam("somenteAssinados") boolean somenteAssinados, @QueryParam("crescente") boolean ordemCrescente,
598 @QueryParam("orderByProcesso") boolean orderByProcesso) throws BusinessException, ResourceNotFoundException{ 598 @QueryParam("orderByProcesso") boolean orderByProcesso) throws BusinessException, ResourceNotFoundException{
599 599
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
@@ -1187,6 +1187,7 @@ public class ProcessoResource { @@ -1187,6 +1187,7 @@ public class ProcessoResource {
1187 * @apiSuccess (Sucesso Response Body - 200) {DocumentoResumido} documentos.documentoResumido Resumo do documento encontrado no SEI. 1187 * @apiSuccess (Sucesso Response Body - 200) {DocumentoResumido} documentos.documentoResumido Resumo do documento encontrado no SEI.
1188 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numero Número do documento. 1188 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numero Número do documento.
1189 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numeroInformado Número informado na inclusão do documento, também conhecido como número de árvore. 1189 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numeroInformado Número informado na inclusão do documento, também conhecido como número de árvore.
  1190 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.nome Nome do arquivo que foi enviado para o SEI. (Somente para documentos cujo a origem é "RECEBIDO", também conhecidos como documentos externos)
1190 * @apiSuccess (Sucesso Response Body - 200) {String="GERADO","RECEBIDO"} documentos.documentoResumido.origem Origem do documento, se o mesmo é um documento "GERADO" internamente ou "RECEBIDO" de uma fonte externa. 1191 * @apiSuccess (Sucesso Response Body - 200) {String="GERADO","RECEBIDO"} documentos.documentoResumido.origem Origem do documento, se o mesmo é um documento "GERADO" internamente ou "RECEBIDO" de uma fonte externa.
1191 * @apiSuccess (Sucesso Response Body - 200) {Data} documentos.documentoResumido.dataGeracao Data de geração do documento. 1192 * @apiSuccess (Sucesso Response Body - 200) {Data} documentos.documentoResumido.dataGeracao Data de geração do documento.
1192 * @apiSuccess (Sucesso Response Body - 200) {Tipo} documentos.documentoResumido.tipo Objeto representando o tipo do documento. 1193 * @apiSuccess (Sucesso Response Body - 200) {Tipo} documentos.documentoResumido.tipo Objeto representando o tipo do documento.