Commit 2d1b6fb17d6715c1efa6b3e39249cf776cc3e2e7

Authored by andre guimaraes
1 parent e0b91ee2

Alterações para integração SIF x SEI, versão 2.2 do Broker.

Showing 58 changed files with 3399 additions and 968 deletions   Show diff stats
.classpath
... ... @@ -33,9 +33,9 @@
33 33 <attribute name="owner.project.facets" value="#system#;jst.jsf;jst.web"/>
34 34 </attributes>
35 35 </classpathentry>
36   - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_25">
  36 + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
37 37 <attributes>
38   - <attribute name="owner.project.facets" value="java"/>
  38 + <attribute name="maven.pomderived" value="true"/>
39 39 </attributes>
40 40 </classpathentry>
41 41 <classpathentry kind="output" path="target/classes"/>
... ...
.settings/org.eclipse.wst.common.component
1 1 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
2   - <wb-module deploy-name="sei-broker-2.1">
  2 + <wb-module deploy-name="sei-broker-2.2">
3 3 <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
4 4 <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
5 5 <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
... ...
apidoc.json
1 1 {
2 2 "name": "sei-broker",
3 3 "version": "2.0.0",
4   - "description": "Documentação da camada de integração ANS X SEI. Essa documentação serve para apoiar aos consumidores da camada de integração, pode ser necessário consultar a <a href=\"https://softwarepublico.gov.br/social/sei/manuais\">documentação oficial do SEI</a> para melhor entendimento do negócio e seus objetos.",
  4 + "description": "Documentação da camada de integração ANS X SEI. Essa documentação serve para apoiar aos consumidores da camada de integração, pode ser necessário consultar a <a href=\"https://softwarepublico.gov.br/social/sei/manuais\">documentação oficial do SEI</a> para melhor entendimento do negócio e seus objetos. Mais informações do SEI-Broker veja o <a href=\"http://wiki.ans.gov.br/index.php/Sei-broker\">artigo wiki</a>.",
5 5 "title": "Documentação - sei-broker",
6 6 "url":"https://<host>/sei-broker/service"
7 7 }
8 8 \ No newline at end of file
... ...
pom.xml
... ... @@ -4,7 +4,7 @@
4 4 <modelVersion>4.0.0</modelVersion>
5 5 <groupId>br.gov.ans</groupId>
6 6 <artifactId>sei-broker</artifactId>
7   - <version>2.1</version>
  7 + <version>2.2</version>
8 8 <packaging>war</packaging>
9 9 <name>sei-broker</name>
10 10 <description>Projeto demonstrativo de webservice Rest</description>
... ...
src/main/java/br/gov/ans/dao/DAO.java
... ... @@ -53,6 +53,10 @@ public class DAO&lt;T&gt; implements Serializable{
53 53 em.remove(em.merge(t));
54 54 }
55 55  
  56 + public T findById(Serializable id){
  57 + return (T)em.find(classe, id);
  58 + }
  59 +
56 60 @Transactional
57 61 @SuppressWarnings({ "unchecked", "rawtypes" })
58 62 public Long count() {
... ...
src/main/java/br/gov/ans/exceptions/BusinessException.java
1 1 package br.gov.ans.exceptions;
2 2  
  3 +import javax.ejb.ApplicationException;
  4 +
  5 +@ApplicationException
3 6 public class BusinessException extends Exception{
4 7  
5 8 private static final long serialVersionUID = 1L;
... ...
src/main/java/br/gov/ans/exceptions/ResourceConflictException.java 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +package br.gov.ans.exceptions;
  2 +
  3 +import javax.ejb.ApplicationException;
  4 +
  5 +@ApplicationException
  6 +public class ResourceConflictException extends Exception{
  7 +
  8 + private static final long serialVersionUID = 1L;
  9 +
  10 + private String message;
  11 +
  12 + public ResourceConflictException(String message) {
  13 + this.message = message;
  14 + }
  15 +
  16 + public String getMessage() {
  17 + return message;
  18 + }
  19 +
  20 + public void setMessage(String message) {
  21 + this.message = message;
  22 + }
  23 +}
... ...
src/main/java/br/gov/ans/exceptions/ResourceNotFoundException.java
1 1 package br.gov.ans.exceptions;
2 2  
  3 +import javax.ejb.ApplicationException;
  4 +
  5 +@ApplicationException
3 6 public class ResourceNotFoundException extends Exception {
4 7  
5 8 private static final long serialVersionUID = 1L;
... ...
src/main/java/br/gov/ans/exceptions/WrappedException.java
1 1 package br.gov.ans.exceptions;
2 2  
  3 +import javax.ejb.ApplicationException;
  4 +
  5 +@ApplicationException
3 6 public class WrappedException extends Exception{
4 7  
5 8 private static final long serialVersionUID = 1L;
... ...
src/main/java/br/gov/ans/exceptions/handlers/EJBExceptionHandler.java 0 → 100644
... ... @@ -0,0 +1,40 @@
  1 +package br.gov.ans.exceptions.handlers;
  2 +
  3 +import static br.gov.ans.utils.HttpHeadersUtil.getAcceptType;
  4 +
  5 +import javax.ejb.EJBException;
  6 +import javax.inject.Inject;
  7 +import javax.ws.rs.core.Context;
  8 +import javax.ws.rs.core.HttpHeaders;
  9 +import javax.ws.rs.core.Response;
  10 +import javax.ws.rs.core.Response.Status;
  11 +import javax.ws.rs.ext.ExceptionMapper;
  12 +import javax.ws.rs.ext.Provider;
  13 +
  14 +import org.jboss.logging.Logger;
  15 +
  16 +import br.gov.ans.exceptions.ErrorMessage;
  17 +import br.gov.ans.utils.MessageUtils;
  18 +
  19 +@Provider
  20 +public class EJBExceptionHandler implements ExceptionMapper<EJBException>{
  21 +
  22 + @Inject
  23 + private Logger logger;
  24 +
  25 + @Context
  26 + private HttpHeaders headers;
  27 +
  28 + @Inject
  29 + private MessageUtils messages;
  30 +
  31 + public Response toResponse(EJBException ex) {
  32 + logger.error(ex, ex);
  33 +
  34 + return Response.status(Status.INTERNAL_SERVER_ERROR)
  35 + .entity(new ErrorMessage(messages.getMessage("erro.inesperado"),String.valueOf(Status.INTERNAL_SERVER_ERROR.getStatusCode())))
  36 + .type(getAcceptType(headers))
  37 + .build();
  38 + }
  39 +
  40 +}
... ...
src/main/java/br/gov/ans/exceptions/handlers/PersistenceExceptionHandler.java 0 → 100644
... ... @@ -0,0 +1,40 @@
  1 +package br.gov.ans.exceptions.handlers;
  2 +
  3 +import static br.gov.ans.utils.HttpHeadersUtil.getAcceptType;
  4 +
  5 +import javax.inject.Inject;
  6 +import javax.persistence.PersistenceException;
  7 +import javax.ws.rs.core.Context;
  8 +import javax.ws.rs.core.HttpHeaders;
  9 +import javax.ws.rs.core.Response;
  10 +import javax.ws.rs.core.Response.Status;
  11 +import javax.ws.rs.ext.ExceptionMapper;
  12 +import javax.ws.rs.ext.Provider;
  13 +
  14 +import org.jboss.logging.Logger;
  15 +
  16 +import br.gov.ans.exceptions.ErrorMessage;
  17 +import br.gov.ans.utils.MessageUtils;
  18 +
  19 +@Provider
  20 +public class PersistenceExceptionHandler implements ExceptionMapper<PersistenceException>{
  21 +
  22 + @Inject
  23 + private Logger logger;
  24 +
  25 + @Context
  26 + private HttpHeaders headers;
  27 +
  28 + @Inject
  29 + private MessageUtils messages;
  30 +
  31 + public Response toResponse(PersistenceException ex) {
  32 + logger.error(ex, ex);
  33 +
  34 + return Response.status(Status.INTERNAL_SERVER_ERROR)
  35 + .entity(new ErrorMessage(messages.getMessage("erro.inesperado"),String.valueOf(Status.INTERNAL_SERVER_ERROR.getStatusCode())))
  36 + .type(getAcceptType(headers))
  37 + .build();
  38 + }
  39 +
  40 +}
... ...
src/main/java/br/gov/ans/exceptions/handlers/ResourceConflictExceptionHandler.java 0 → 100644
... ... @@ -0,0 +1,35 @@
  1 +package br.gov.ans.exceptions.handlers;
  2 +
  3 +import static br.gov.ans.utils.HttpHeadersUtil.getAcceptType;
  4 +
  5 +import javax.inject.Inject;
  6 +import javax.ws.rs.core.Context;
  7 +import javax.ws.rs.core.HttpHeaders;
  8 +import javax.ws.rs.core.Response;
  9 +import javax.ws.rs.core.Response.Status;
  10 +import javax.ws.rs.ext.ExceptionMapper;
  11 +import javax.ws.rs.ext.Provider;
  12 +
  13 +import org.jboss.logging.Logger;
  14 +
  15 +import br.gov.ans.exceptions.ErrorMessage;
  16 +import br.gov.ans.exceptions.ResourceConflictException;
  17 +
  18 +@Provider
  19 +public class ResourceConflictExceptionHandler implements ExceptionMapper<ResourceConflictException>{
  20 +
  21 + @Inject
  22 + private Logger logger;
  23 +
  24 + @Context
  25 + private HttpHeaders headers;
  26 +
  27 + public Response toResponse(ResourceConflictException ex) {
  28 + logger.error(ex, ex);
  29 +
  30 + return Response.status(Status.CONFLICT)
  31 + .entity(new ErrorMessage(ex.getMessage(),String.valueOf(Status.CONFLICT.getStatusCode())))
  32 + .type(getAcceptType(headers))
  33 + .build();
  34 + }
  35 +}
... ...
src/main/java/br/gov/ans/integracao/sei/client/Assinatura.java
... ... @@ -17,16 +17,32 @@ public class Assinatura implements java.io.Serializable {
17 17  
18 18 private java.lang.String dataHora;
19 19  
  20 + private java.lang.String idUsuario;
  21 +
  22 + private java.lang.String idOrigem;
  23 +
  24 + private java.lang.String idOrgao;
  25 +
  26 + private java.lang.String sigla;
  27 +
20 28 public Assinatura() {
21 29 }
22 30  
23 31 public Assinatura(
24 32 java.lang.String nome,
25 33 java.lang.String cargoFuncao,
26   - java.lang.String dataHora) {
  34 + java.lang.String dataHora,
  35 + java.lang.String idUsuario,
  36 + java.lang.String idOrigem,
  37 + java.lang.String idOrgao,
  38 + java.lang.String sigla) {
27 39 this.nome = nome;
28 40 this.cargoFuncao = cargoFuncao;
29 41 this.dataHora = dataHora;
  42 + this.idUsuario = idUsuario;
  43 + this.idOrigem = idOrigem;
  44 + this.idOrgao = idOrgao;
  45 + this.sigla = sigla;
30 46 }
31 47  
32 48  
... ... @@ -89,6 +105,30 @@ public class Assinatura implements java.io.Serializable {
89 105 this.dataHora = dataHora;
90 106 }
91 107  
  108 + public java.lang.String getIdUsuario() {
  109 + return idUsuario;
  110 + }
  111 + public void setIdUsuario(java.lang.String idUsuario) {
  112 + this.idUsuario = idUsuario;
  113 + }
  114 + public java.lang.String getIdOrigem() {
  115 + return idOrigem;
  116 + }
  117 + public void setIdOrigem(java.lang.String idOrigem) {
  118 + this.idOrigem = idOrigem;
  119 + }
  120 + public java.lang.String getIdOrgao() {
  121 + return idOrgao;
  122 + }
  123 + public void setIdOrgao(java.lang.String idOrgao) {
  124 + this.idOrgao = idOrgao;
  125 + }
  126 + public java.lang.String getSigla() {
  127 + return sigla;
  128 + }
  129 + public void setSigla(java.lang.String sigla) {
  130 + this.sigla = sigla;
  131 + }
92 132 private java.lang.Object __equalsCalc = null;
93 133 public synchronized boolean equals(java.lang.Object obj) {
94 134 if (!(obj instanceof Assinatura)) return false;
... ... @@ -109,7 +149,19 @@ public class Assinatura implements java.io.Serializable {
109 149 this.cargoFuncao.equals(other.getCargoFuncao()))) &&
110 150 ((this.dataHora==null && other.getDataHora()==null) ||
111 151 (this.dataHora!=null &&
112   - this.dataHora.equals(other.getDataHora())));
  152 + this.dataHora.equals(other.getDataHora()))) &&
  153 + ((this.idUsuario==null && other.getIdUsuario()==null) ||
  154 + (this.idUsuario!=null &&
  155 + this.idUsuario.equals(other.getIdUsuario()))) &&
  156 + ((this.idOrigem==null && other.getIdOrigem()==null) ||
  157 + (this.idOrigem!=null &&
  158 + this.idOrigem.equals(other.getIdOrigem()))) &&
  159 + ((this.idOrgao==null && other.getIdOrgao()==null) ||
  160 + (this.idOrgao!=null &&
  161 + this.idOrgao.equals(other.getIdOrgao()))) &&
  162 + ((this.sigla==null && other.getSigla()==null) ||
  163 + (this.sigla!=null &&
  164 + this.sigla.equals(other.getSigla())));
113 165 __equalsCalc = null;
114 166 return _equals;
115 167 }
... ... @@ -130,6 +182,18 @@ public class Assinatura implements java.io.Serializable {
130 182 if (getDataHora() != null) {
131 183 _hashCode += getDataHora().hashCode();
132 184 }
  185 + if (getIdUsuario() != null) {
  186 + _hashCode += getIdUsuario().hashCode();
  187 + }
  188 + if (getIdOrigem() != null) {
  189 + _hashCode += getIdOrigem().hashCode();
  190 + }
  191 + if (getIdOrgao() != null) {
  192 + _hashCode += getIdOrgao().hashCode();
  193 + }
  194 + if (getSigla() != null) {
  195 + _hashCode += getSigla().hashCode();
  196 + }
133 197 __hashCodeCalc = false;
134 198 return _hashCode;
135 199 }
... ... @@ -158,6 +222,30 @@ public class Assinatura implements java.io.Serializable {
158 222 elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
159 223 elemField.setNillable(false);
160 224 typeDesc.addFieldDesc(elemField);
  225 + elemField = new org.apache.axis.description.ElementDesc();
  226 + elemField.setFieldName("idUsuario");
  227 + elemField.setXmlName(new javax.xml.namespace.QName("", "IdUsuario"));
  228 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  229 + elemField.setNillable(false);
  230 + typeDesc.addFieldDesc(elemField);
  231 + elemField = new org.apache.axis.description.ElementDesc();
  232 + elemField.setFieldName("idOrigem");
  233 + elemField.setXmlName(new javax.xml.namespace.QName("", "IdOrigem"));
  234 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  235 + elemField.setNillable(false);
  236 + typeDesc.addFieldDesc(elemField);
  237 + elemField = new org.apache.axis.description.ElementDesc();
  238 + elemField.setFieldName("idOrgao");
  239 + elemField.setXmlName(new javax.xml.namespace.QName("", "IdOrgao"));
  240 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  241 + elemField.setNillable(false);
  242 + typeDesc.addFieldDesc(elemField);
  243 + elemField = new org.apache.axis.description.ElementDesc();
  244 + elemField.setFieldName("sigla");
  245 + elemField.setXmlName(new javax.xml.namespace.QName("", "Sigla"));
  246 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  247 + elemField.setNillable(false);
  248 + typeDesc.addFieldDesc(elemField);
161 249 }
162 250  
163 251 /**
... ...
src/main/java/br/gov/ans/integracao/sei/client/Procedimento.java
... ... @@ -376,13 +376,13 @@ public class Procedimento implements java.io.Serializable {
376 376 elemField.setFieldName("observacao");
377 377 elemField.setXmlName(new javax.xml.namespace.QName("", "Observacao"));
378 378 elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
379   - elemField.setNillable(false);
  379 + elemField.setNillable(true);
380 380 typeDesc.addFieldDesc(elemField);
381 381 elemField = new org.apache.axis.description.ElementDesc();
382 382 elemField.setFieldName("nivelAcesso");
383 383 elemField.setXmlName(new javax.xml.namespace.QName("", "NivelAcesso"));
384 384 elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
385   - elemField.setNillable(false);
  385 + elemField.setNillable(true);
386 386 typeDesc.addFieldDesc(elemField);
387 387 elemField = new org.apache.axis.description.ElementDesc();
388 388 elemField.setFieldName("idHipoteseLegal");
... ...
src/main/java/br/gov/ans/integracao/sei/client/SeiPortTypeProxy.java
... ... @@ -336,25 +336,17 @@ public class SeiPortTypeProxy implements br.gov.ans.integracao.sei.client.SeiPor
336 336 identificacaoServico, idUnidade, idArquivoExtensao);
337 337 }
338 338  
339   - public java.lang.String enviarProcesso(java.lang.String siglaSistema,
340   - java.lang.String identificacaoServico, java.lang.String idUnidade,
341   - java.lang.String protocoloProcedimento,
342   - java.lang.String[] unidadesDestino,
343   - java.lang.String sinManterAbertoUnidade,
344   - java.lang.String sinRemoverAnotacao,
345   - java.lang.String sinEnviarEmailNotificacao,
346   - java.lang.String dataRetornoProgramado,
347   - java.lang.String diasRetornoProgramado,
348   - java.lang.String sinDiasUteisRetornoProgramado,
  339 + public java.lang.String enviarProcesso(java.lang.String siglaSistema, java.lang.String identificacaoServico,
  340 + java.lang.String idUnidade, java.lang.String protocoloProcedimento, java.lang.String[] unidadesDestino,
  341 + java.lang.String sinManterAbertoUnidade, java.lang.String sinRemoverAnotacao,
  342 + java.lang.String sinEnviarEmailNotificacao, java.lang.String dataRetornoProgramado,
  343 + java.lang.String diasRetornoProgramado, java.lang.String sinDiasUteisRetornoProgramado,
349 344 java.lang.String sinReabrir) throws java.rmi.RemoteException {
350 345 if (seiPortType == null)
351 346 _initSeiPortTypeProxy();
352   - return seiPortType.enviarProcesso(siglaSistema, identificacaoServico,
353   - idUnidade, protocoloProcedimento, unidadesDestino,
354   - sinManterAbertoUnidade, sinRemoverAnotacao,
355   - sinEnviarEmailNotificacao, dataRetornoProgramado,
356   - diasRetornoProgramado, sinDiasUteisRetornoProgramado,
357   - sinReabrir);
  347 + return seiPortType.enviarProcesso(siglaSistema, identificacaoServico, idUnidade, protocoloProcedimento,
  348 + unidadesDestino, sinManterAbertoUnidade, sinRemoverAnotacao, sinEnviarEmailNotificacao,
  349 + dataRetornoProgramado, diasRetornoProgramado, sinDiasUteisRetornoProgramado, sinReabrir);
358 350 }
359 351  
360 352 public br.gov.ans.integracao.sei.client.Usuario[] listarUsuarios(
... ...
src/main/java/br/gov/ans/integracao/sei/client/Usuario.java
... ... @@ -89,30 +89,19 @@ public class Usuario implements java.io.Serializable {
89 89 this.nome = nome;
90 90 }
91 91  
92   - private java.lang.Object __equalsCalc = null;
93   - public synchronized boolean equals(java.lang.Object obj) {
94   - if (!(obj instanceof Usuario)) return false;
95   - Usuario other = (Usuario) obj;
96   - if (obj == null) return false;
97   - if (this == obj) return true;
98   - if (__equalsCalc != null) {
99   - return (__equalsCalc == obj);
100   - }
101   - __equalsCalc = obj;
102   - boolean _equals;
103   - _equals = true &&
104   - ((this.idUsuario==null && other.getIdUsuario()==null) ||
105   - (this.idUsuario!=null &&
106   - this.idUsuario.equals(other.getIdUsuario()))) &&
107   - ((this.sigla==null && other.getSigla()==null) ||
108   - (this.sigla!=null &&
109   - this.sigla.equals(other.getSigla()))) &&
110   - ((this.nome==null && other.getNome()==null) ||
111   - (this.nome!=null &&
112   - this.nome.equals(other.getNome())));
113   - __equalsCalc = null;
114   - return _equals;
115   - }
  92 + public synchronized boolean equals(java.lang.Object obj) {
  93 + if (!(obj instanceof Usuario)){
  94 + return false;
  95 + }
  96 +
  97 + Usuario other = (Usuario) obj;
  98 +
  99 + if(this.getSigla().equals(other.getSigla())){
  100 + return true;
  101 + }
  102 +
  103 + return false;
  104 + }
116 105  
117 106 private boolean __hashCodeCalc = false;
118 107 public synchronized int hashCode() {
... ...
src/main/java/br/gov/ans/integracao/sei/dao/DocumentoDAO.java
... ... @@ -3,10 +3,12 @@ package br.gov.ans.integracao.sei.dao;
3 3 import static br.gov.ans.integracao.sei.utils.Util.setPaginacaoQuery;
4 4 import static br.gov.ans.integracao.sei.utils.Util.setQueryParameters;
5 5  
  6 +import java.util.ArrayList;
6 7 import java.util.HashMap;
7 8 import java.util.List;
8 9  
9 10 import javax.persistence.EntityManager;
  11 +import javax.persistence.NoResultException;
10 12 import javax.persistence.PersistenceContext;
11 13 import javax.persistence.PersistenceContextType;
12 14 import javax.persistence.Query;
... ... @@ -14,13 +16,14 @@ import javax.persistence.Query;
14 16 import org.apache.commons.lang3.StringUtils;
15 17  
16 18 import br.gov.ans.integracao.sei.modelo.DocumentoResumido;
  19 +import br.gov.ans.integracao.sei.modelo.ProcessoResumido;
17 20  
18 21 public class DocumentoDAO {
19 22 @PersistenceContext(unitName = "sei_pu", type = PersistenceContextType.EXTENDED)
20 23 private EntityManager em;
21 24  
22 25 @SuppressWarnings("unchecked")
23   - public List<DocumentoResumido> getDocumentos(String interessado, String unidade, Integer pagina, Integer qtdRegistros){
  26 + public List<DocumentoResumido> getDocumentosV1(String interessado, String unidade, Integer pagina, Integer qtdRegistros){
24 27 HashMap<String, Object> parametros = new HashMap<String, Object>();
25 28  
26 29 StringBuilder builder = new StringBuilder("SELECT ");
... ... @@ -43,7 +46,7 @@ public class DocumentoDAO {
43 46  
44 47 builder.append("order by pr.dta_geracao asc");
45 48  
46   - Query query = em.createNativeQuery(builder.toString(), DocumentoResumido.class);
  49 + Query query = em.createNativeQuery(builder.toString(), "DocumentoResumidoMapping");
47 50  
48 51 setQueryParameters(query, parametros);
49 52  
... ... @@ -52,52 +55,153 @@ public class DocumentoDAO {
52 55 return query.getResultList();
53 56 }
54 57  
55   - public Long countDocumentos(String interessado, String unidade){
  58 + public List<DocumentoResumido> getDocumentos(String interessado, String codigoTipo, Integer pagina, Integer qtdRegistros, boolean somenteAssinados, boolean ordemCrescente,
  59 + boolean orderByProcesso){
56 60 HashMap<String, Object> parametros = new HashMap<String, Object>();
  61 +
  62 + StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, ");
  63 + builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, ");
  64 + builder.append("pr.dta_geracao dataGeracao, pr2.protocolo_formatado as processo, u.sigla as unidade, ");
  65 + builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado ");
  66 + builder.append("FROM documento AS d ");
  67 +
57 68  
58   - StringBuilder builder = new StringBuilder("SELECT ");
59   - builder.append("COUNT(*) ");
60   - builder.append("FROM participante p, protocolo pr, documento d, contato c, serie s, unidade u ");
61   - builder.append("WHERE p.id_contato = c.id_contato AND p.id_protocolo = pr.id_protocolo AND p.id_protocolo = d.id_documento ");
62   - builder.append("AND p.id_unidade = u.id_unidade AND d.id_serie = s.id_serie ");
63   -
64   - if(StringUtils.isNotBlank(interessado)){
65   - builder.append("AND c.sigla = :interessado ");
66   - parametros.put("interessado", interessado);
  69 + if(somenteAssinados){
  70 + builder.append("RIGHT JOIN assinatura AS a ON d.id_documento = a.id_documento ");
  71 + }else{
  72 + builder.append("LEFT JOIN assinatura AS a ON d.id_documento = a.id_documento ");
  73 + }
  74 +
  75 + builder.append("JOIN participante p ON p.id_protocolo = d.id_documento ");
  76 + builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento ");
  77 + builder.append("JOIN protocolo AS pr2 ON pr2.id_protocolo = d.id_procedimento ");
  78 + builder.append("JOIN serie AS s ON d.id_serie = s.id_serie ");
  79 + builder.append("JOIN unidade AS u ON u.id_unidade = d.id_unidade_responsavel ");
  80 + builder.append("WHERE p.id_contato in (select c.id_contato from contato c where c.sigla = :interessado) ");
  81 + parametros.put("interessado", interessado);
  82 +
  83 + if(StringUtils.isNotBlank(codigoTipo)){
  84 + builder.append("AND s.id_serie in (:codigoTipo)");
  85 + parametros.put("codigoTipo", codigoTipo);
  86 + }
  87 +
  88 + builder.append("GROUP BY numero ");
  89 +
  90 + if(orderByProcesso){
  91 + builder.append("ORDER BY processo ");
  92 + }else{
  93 + builder.append("ORDER BY pr.dta_geracao ");
  94 + }
  95 +
  96 + if(!ordemCrescente){
  97 + builder.append("DESC");
67 98 }
68 99  
69   - if(StringUtils.isNotBlank(unidade)){
70   - builder.append("AND u.sigla = :unidade ");
71   - parametros.put("unidade", unidade);
  100 + Query query = em.createNativeQuery(builder.toString(), "DocumentoResumidoMapping");
  101 +
  102 + setQueryParameters(query, parametros);
  103 +
  104 + setPaginacaoQuery(query, pagina, qtdRegistros);
  105 +
  106 + List<Object[]> results = query.getResultList();
  107 +
  108 + List<DocumentoResumido> documentos = new ArrayList<DocumentoResumido>();
  109 +
  110 + results.stream().forEach((record) -> {
  111 + DocumentoResumido documento = (DocumentoResumido) record[0];
  112 + documentos.add(documento);
  113 + });
  114 +
  115 + return documentos;
  116 + }
  117 +
  118 + public Long countDocumentos(String interessado, String codigoTipo, boolean somenteAssinados){
  119 + HashMap<String, Object> parametros = new HashMap<String, Object>();
  120 +
  121 + StringBuilder builder = new StringBuilder("SELECT count(*) ");
  122 + builder.append("FROM documento AS d ");
  123 +
  124 +
  125 + if(somenteAssinados){
  126 + builder.append("RIGHT JOIN assinatura AS a ON d.id_documento = a.id_documento ");
  127 + }else{
  128 + builder.append("LEFT JOIN assinatura AS a ON d.id_documento = a.id_documento ");
72 129 }
  130 +
  131 + builder.append("JOIN participante p ON p.id_protocolo = d.id_documento ");
  132 + builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento ");
  133 + builder.append("JOIN protocolo AS pr2 ON pr2.id_protocolo = d.id_procedimento ");
  134 + builder.append("JOIN serie AS s ON d.id_serie = s.id_serie ");
  135 + builder.append("JOIN unidade AS u ON u.id_unidade = d.id_unidade_responsavel ");
  136 + builder.append("WHERE p.id_contato in (select c.id_contato from contato c where c.sigla = :interessado) ");
  137 + parametros.put("interessado", interessado);
  138 +
  139 + if(StringUtils.isNotBlank(codigoTipo)){
  140 + builder.append("AND s.id_serie in (:codigoTipo)");
  141 + parametros.put("codigoTipo", codigoTipo);
  142 + }
  143 +
  144 + builder.append("GROUP BY pr.protocolo_formatado_pesquisa ");
73 145  
74 146 Query query = em.createNativeQuery(builder.toString());
75 147  
76 148 setQueryParameters(query, parametros);
77   -
78   - return Long.valueOf(query.getSingleResult().toString());
  149 +
  150 + try{
  151 + return Long.valueOf(query.getSingleResult().toString());
  152 + }catch(NoResultException ex){
  153 + return 0L;
  154 + }
79 155 }
80 156  
81 157 @SuppressWarnings("unchecked")
82   - public List<DocumentoResumido> getDocumentosProcesso(String processo){
  158 + public List<DocumentoResumido> getDocumentosProcesso(String idProcedimento, String codigoTipo, String origem, boolean somenteAssinados){
83 159 HashMap<String, Object> parametros = new HashMap<String, Object>();
84 160  
85   - StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipo, d.numero numeroInformado, ");
86   - builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, ");
87   - builder.append("pr.dta_geracao dataGeracao, null as processo, null as unidade ");
88   - builder.append("FROM protocolo pr, documento d, serie s ");
89   - builder.append("WHERE d.id_serie = s.id_serie ");
90   - builder.append("AND pr.id_protocolo = d.id_documento ");
91   - builder.append("AND d.id_procedimento = (SELECT id_protocolo FROM protocolo WHERE protocolo_formatado = :processo) ");
92   -
93   - parametros.put("processo", processo);
  161 + StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, ");
  162 + builder.append("CASE pr.sta_protocolo WHEN 'G' THEN 'GERADO' ELSE 'RECEBIDO' END origem, d.id_tipo_conferencia tipoConferencia, ");
  163 + builder.append("pr.dta_geracao dataGeracao, null as processo, null as unidade, ");
  164 + builder.append("CASE WHEN a.id_assinatura is null THEN false ELSE true END assinado ");
  165 + builder.append("FROM documento AS d ");
  166 +
  167 + if(somenteAssinados){
  168 + builder.append("RIGHT JOIN assinatura AS a ON d.id_documento = a.id_documento ");
  169 + }else{
  170 + builder.append("LEFT JOIN assinatura AS a ON d.id_documento = a.id_documento ");
  171 + }
94 172  
95   - builder.append("ORDER BY pr.dta_geracao ASC");
  173 + builder.append("JOIN protocolo AS pr ON pr.id_protocolo = d.id_documento ");
  174 + builder.append("JOIN serie AS s ON d.id_serie = s.id_serie ");
  175 + builder.append("WHERE d.id_procedimento = :idProcedimento ");
96 176  
97   - Query query = em.createNativeQuery(builder.toString(), DocumentoResumido.class);
  177 + parametros.put("idProcedimento", idProcedimento);
  178 +
  179 + if(StringUtils.isNotBlank(codigoTipo)){
  180 + builder.append("AND s.id_serie in (:codigoTipo) ");
  181 + parametros.put("codigoTipo", codigoTipo);
  182 + }
  183 +
  184 + if(StringUtils.isNotBlank(origem)){
  185 + builder.append("AND pr.sta_protocolo = :origem ");
  186 + parametros.put("origem", origem);
  187 + }
  188 +
  189 + builder.append("GROUP BY numero ORDER BY pr.dta_geracao ASC");
  190 +
  191 + Query query = em.createNativeQuery(builder.toString(), "DocumentoResumidoMapping");
98 192  
99 193 setQueryParameters(query, parametros);
100 194  
101   - return query.getResultList();
  195 + List<Object[]> results = query.getResultList();
  196 +
  197 + List<DocumentoResumido> documentos = new ArrayList<DocumentoResumido>();
  198 +
  199 + results.stream().forEach((record) -> {
  200 + DocumentoResumido documento = (DocumentoResumido) record[0];
  201 + documentos.add(documento);
  202 + });
  203 +
  204 + return documentos;
102 205 }
  206 +
103 207 }
... ...
src/main/java/br/gov/ans/integracao/sei/dao/DocumentoSiparDAO.java
... ... @@ -1,33 +0,0 @@
1   -package br.gov.ans.integracao.sei.dao;
2   -
3   -import java.util.HashMap;
4   -import java.util.List;
5   -import java.util.Map;
6   -
7   -import javax.inject.Inject;
8   -
9   -import br.gov.ans.dao.DAO;
10   -import br.gov.ans.integracao.sei.modelo.DocumentoSipar;
11   -
12   -public class DocumentoSiparDAO {
13   -
14   - @SuppressWarnings("cdi-ambiguous-dependency")
15   - @Inject
16   - private DAO<DocumentoSipar> dao;
17   -
18   - public DocumentoSipar getDocumento(String numeroDocumento, String anoDocumento, String digitoDocumento){
19   -
20   - Map<String, Object> params = new HashMap<String, Object>();
21   - params.put("numeroDocumento", numeroDocumento);
22   - params.put("anoDocumento", anoDocumento);
23   - params.put("digitoDocumento", digitoDocumento);
24   -
25   - List<DocumentoSipar> resultado = dao.executeNamedQuery("documentoPorNumeroAnoDigito", params);
26   -
27   - if(resultado.isEmpty()){
28   - return null;
29   - }
30   -
31   - return resultado.get(0);
32   - }
33   -}
src/main/java/br/gov/ans/integracao/sei/dao/ProcessoDAO.java
... ... @@ -3,6 +3,8 @@ package br.gov.ans.integracao.sei.dao;
3 3 import static br.gov.ans.integracao.sei.utils.Util.setPaginacaoQuery;
4 4 import static br.gov.ans.integracao.sei.utils.Util.setQueryParameters;
5 5  
  6 +import java.math.BigInteger;
  7 +import java.util.ArrayList;
6 8 import java.util.HashMap;
7 9 import java.util.List;
8 10  
... ... @@ -21,26 +23,45 @@ public class ProcessoDAO {
21 23 private EntityManager em;
22 24  
23 25 @SuppressWarnings("unchecked")
24   - public List<ProcessoResumido> getProcessos(String interessado, String unidade, Integer pagina, Integer qtdRegistros){
  26 + public List<ProcessoResumido> getProcessos(String interessado, String unidade, String tipoProcesso, Integer pagina, Integer qtdRegistros, boolean crescente){
25 27 HashMap<String, Object> parametros = new HashMap<String, Object>();
  28 +
  29 + StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, pr.protocolo_formatado numeroFormatado, pr.descricao, proc.id_tipo_procedimento tipoCodigo, ");
  30 + builder.append("tp.nome tipoNome, u.sigla as unidade, pr.dta_geracao dataGeracao ");
  31 + builder.append("FROM protocolo pr, tipo_procedimento tp, participante p ");
  32 +
  33 + if(StringUtils.isNotBlank(interessado)){
  34 + builder.append("JOIN contato c ON c.id_contato = p.id_contato ");
  35 + }
26 36  
27   - StringBuilder builder = new StringBuilder("SELECT ");
28   - builder.append("pr.descricao, u.sigla as unidade, pr.protocolo_formatado_pesquisa protocolo, pr.protocolo_formatado, pr.dta_geracao data_geracao ");
29   - builder.append("FROM participante p, protocolo pr, contato c, unidade u ");
30   - builder.append("WHERE " );
31   - builder.append("p.id_contato = c.id_contato AND p.id_protocolo = pr.id_protocolo AND p.id_unidade = u.id_unidade AND pr.sta_protocolo = 'P' ");
  37 + builder.append("JOIN unidade u ON u.id_unidade = p.id_unidade ");
  38 + builder.append("JOIN procedimento proc ON proc.id_procedimento = p.id_protocolo ");
  39 + builder.append("WHERE pr.sta_protocolo = 'P' AND p.id_protocolo = pr.id_protocolo ");
32 40  
33 41 if(StringUtils.isNotBlank(interessado)){
34 42 builder.append("AND c.sigla = :interessado ");
35 43 parametros.put("interessado", interessado);
36 44 }
37 45  
38   - if(StringUtils.isNotBlank(unidade)){
39   - builder.append("AND u.sigla = :unidade ");
  46 + if(StringUtils.isNoneBlank(tipoProcesso)){
  47 + builder.append("AND proc.id_tipo_procedimento = :tipoProcesso ");
  48 + parametros.put("tipoProcesso", tipoProcesso);
  49 + }
  50 +
  51 + builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento ");
  52 +
  53 + if(StringUtils.isNoneBlank(unidade)){
  54 + builder.append("AND p.id_unidade = :unidade ");
40 55 parametros.put("unidade", unidade);
41 56 }
42 57  
43   - builder.append("order by pr.dta_geracao asc");
  58 + builder.append("group by pr.protocolo_formatado_pesquisa ");
  59 +
  60 + if(crescente){
  61 + builder.append("order by pr.dta_geracao asc");
  62 + }else{
  63 + builder.append("order by pr.dta_geracao desc");
  64 + }
44 65  
45 66 Query query = em.createNativeQuery(builder.toString(), "ProcessoResumidoMapping");
46 67  
... ... @@ -48,25 +69,46 @@ public class ProcessoDAO {
48 69  
49 70 setPaginacaoQuery(query, pagina, qtdRegistros);
50 71  
51   - return query.getResultList();
  72 + List<Object[]> results = query.getResultList();
  73 +
  74 + List<ProcessoResumido> processos = new ArrayList<ProcessoResumido>();
  75 +
  76 + results.stream().forEach((record) -> {
  77 + ProcessoResumido processo = (ProcessoResumido) record[0];
  78 + processos.add(processo);
  79 + });
  80 +
  81 + return processos;
52 82 }
53 83  
54   - public Long countProcessos(String interessado, String unidade){
  84 + public Long countProcessos(String interessado, String unidade, String tipoProcesso){
55 85 HashMap<String, Object> parametros = new HashMap<String, Object>();
  86 +
  87 + StringBuilder builder = new StringBuilder("SELECT count(DISTINCT pr.protocolo_formatado_pesquisa) ");
  88 + builder.append("FROM protocolo pr, tipo_procedimento tp, participante p ");
  89 +
  90 + if(StringUtils.isNotBlank(interessado)){
  91 + builder.append("JOIN contato c ON c.id_contato = p.id_contato ");
  92 + }
56 93  
57   - StringBuilder builder = new StringBuilder("SELECT ");
58   - builder.append("COUNT(*) ");
59   - builder.append("FROM participante p, protocolo pr, contato c, unidade u ");
60   - builder.append("WHERE " );
61   - builder.append("p.id_contato = c.id_contato AND p.id_protocolo = pr.id_protocolo AND p.id_unidade = u.id_unidade AND pr.sta_protocolo = 'P' ");
  94 + builder.append("JOIN unidade u ON u.id_unidade = p.id_unidade ");
  95 + builder.append("JOIN procedimento proc ON proc.id_procedimento = p.id_protocolo ");
  96 + builder.append("WHERE pr.sta_protocolo = 'P' AND p.id_protocolo = pr.id_protocolo ");
62 97  
63 98 if(StringUtils.isNotBlank(interessado)){
64 99 builder.append("AND c.sigla = :interessado ");
65 100 parametros.put("interessado", interessado);
66 101 }
67 102  
68   - if(StringUtils.isNotBlank(unidade)){
69   - builder.append("AND u.sigla = :unidade ");
  103 + if(StringUtils.isNoneBlank(tipoProcesso)){
  104 + builder.append("AND proc.id_tipo_procedimento = :tipoProcesso ");
  105 + parametros.put("tipoProcesso", tipoProcesso);
  106 + }
  107 +
  108 + builder.append("AND tp.id_tipo_procedimento = proc.id_tipo_procedimento ");
  109 +
  110 + if(StringUtils.isNoneBlank(unidade)){
  111 + builder.append("AND p.id_unidade = :unidade ");
70 112 parametros.put("unidade", unidade);
71 113 }
72 114  
... ... @@ -76,4 +118,18 @@ public class ProcessoDAO {
76 118  
77 119 return Long.valueOf(query.getSingleResult().toString());
78 120 }
  121 +
  122 +
  123 + public BigInteger getIdProcedimento(String processo){
  124 + HashMap<String, Object> parametros = new HashMap<String, Object>();
  125 + String sql = "SELECT id_protocolo FROM protocolo WHERE protocolo_formatado = :processo";
  126 +
  127 + parametros.put("processo", processo);
  128 +
  129 + Query query = em.createNativeQuery(sql);
  130 +
  131 + setQueryParameters(query, parametros);
  132 +
  133 + return (BigInteger) query.getSingleResult();
  134 + }
79 135 }
... ...
src/main/java/br/gov/ans/integracao/sei/dao/SiparDAO.java 0 → 100644
... ... @@ -0,0 +1,49 @@
  1 +package br.gov.ans.integracao.sei.dao;
  2 +
  3 +import java.util.HashMap;
  4 +import java.util.List;
  5 +import java.util.Map;
  6 +
  7 +import javax.ejb.Stateless;
  8 +import javax.inject.Inject;
  9 +
  10 +import br.gov.ans.dao.DAO;
  11 +import br.gov.ans.integracao.sipar.dao.ControleMigracao;
  12 +import br.gov.ans.integracao.sipar.dao.ControleMigracaoId;
  13 +import br.gov.ans.integracao.sipar.dao.DocumentoSipar;
  14 +
  15 +@Stateless
  16 +public class SiparDAO {
  17 +
  18 + @SuppressWarnings("cdi-ambiguous-dependency")
  19 + @Inject
  20 + private DAO<DocumentoSipar> daoDocumento;
  21 +
  22 + @Inject
  23 + private DAO<ControleMigracao> daoMigracao;
  24 +
  25 + public DocumentoSipar getDocumento(String numeroDocumento, String anoDocumento, String digitoDocumento){
  26 +
  27 + Map<String, Object> params = new HashMap<String, Object>();
  28 + params.put("numeroDocumento", numeroDocumento);
  29 + params.put("anoDocumento", anoDocumento);
  30 + params.put("digitoDocumento", digitoDocumento);
  31 +
  32 + List<DocumentoSipar> resultado = daoDocumento.executeNamedQuery("documentoPorNumeroAnoDigito", params);
  33 +
  34 + if(resultado.isEmpty()){
  35 + return null;
  36 + }
  37 +
  38 + return resultado.get(0);
  39 + }
  40 +
  41 + public ControleMigracao buscaProcessoImportado(ControleMigracaoId id){
  42 + return daoMigracao.findById(id);
  43 + }
  44 +
  45 + public void merge(ControleMigracao controleMigracao){
  46 + daoMigracao.merge(controleMigracao);
  47 + }
  48 +
  49 +}
... ...
src/main/java/br/gov/ans/integracao/sei/modelo/DocumentoResumido.java
... ... @@ -6,42 +6,46 @@ import javax.persistence.Entity;
6 6 import javax.persistence.EntityResult;
7 7 import javax.persistence.FieldResult;
8 8 import javax.persistence.Id;
  9 +import javax.persistence.OneToOne;
9 10 import javax.persistence.SqlResultSetMapping;
10 11 import javax.xml.bind.annotation.XmlRootElement;
11 12  
  13 +import org.codehaus.jackson.map.annotate.JsonSerialize;
  14 +
12 15 @XmlRootElement
13 16 @Entity
14 17 @SqlResultSetMapping(name = "DocumentoResumidoMapping", entities = { @EntityResult(entityClass = DocumentoResumido.class, fields = {
15 18 @FieldResult(name = "numero", column = "numero"),
16   - @FieldResult(name = "tipo", column = "tipo"),
17 19 @FieldResult(name = "numeroInformado", column = "numeroInformado"),
  20 + @FieldResult(name = "unidade", column = "unidade"),
18 21 @FieldResult(name = "origem", column = "origem"),
19   - @FieldResult(name = "dataGeracao", column = "dataGeracao") }) })
  22 + @FieldResult(name = "processo", column = "processo"),
  23 + @FieldResult(name = "tipoConferencia", column = "tipoConferencia"),
  24 + @FieldResult(name = "assinado", column = "assinado"),
  25 + @FieldResult(name = "dataGeracao", column = "dataGeracao"),
  26 + @FieldResult(name = "tipo", column = "tipoCodigo")
  27 + }),
  28 + @EntityResult(
  29 + entityClass = Tipo.class,
  30 + fields = {
  31 + @FieldResult(name = "codigo", column = "tipoCodigo"),
  32 + @FieldResult(name = "nome", column = "tipoNome")})
  33 + })
  34 +@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
20 35 public class DocumentoResumido {
21 36 @Id
22 37 private String numero;
23 38 private String numeroInformado;
24   - private String tipo;
25 39 private String unidade;
26 40 private String origem;
27 41 private Date dataGeracao;
28 42 private String processo;
29   -
30   - public DocumentoResumido(){
31   -
32   - }
33   -
34   - public DocumentoResumido(String numero, String tipo, String numeroInformado, String origem, Date dataGeracao){
35   - this.numero = numero;
36   - this.tipo = tipo;
37   - this.numeroInformado = numeroInformado;
38   - this.origem = origem;
39   - this.dataGeracao = dataGeracao;
40   - }
41   -
42 43  
43   -
44   - @Id
  44 + @OneToOne
  45 + private Tipo tipo;
  46 + private String tipoConferencia;
  47 + private boolean assinado;
  48 +
45 49 public String getNumero() {
46 50 return numero;
47 51 }
... ... @@ -50,11 +54,11 @@ public class DocumentoResumido {
50 54 this.numero = numero;
51 55 }
52 56  
53   - public String getTipo() {
  57 + public Tipo getTipo() {
54 58 return tipo;
55 59 }
56 60  
57   - public void setTipo(String tipo) {
  61 + public void setTipo(Tipo tipo) {
58 62 this.tipo = tipo;
59 63 }
60 64  
... ... @@ -98,4 +102,20 @@ public class DocumentoResumido {
98 102 this.numeroInformado = numeroInformado;
99 103 }
100 104  
  105 + public String getTipoConferencia() {
  106 + return tipoConferencia;
  107 + }
  108 +
  109 + public void setTipoConferencia(String tipoConferencia) {
  110 + this.tipoConferencia = tipoConferencia;
  111 + }
  112 +
  113 + public boolean isAssinado() {
  114 + return assinado;
  115 + }
  116 +
  117 + public void setAssinado(boolean assinado) {
  118 + this.assinado = assinado;
  119 + }
  120 +
101 121 }
... ...
src/main/java/br/gov/ans/integracao/sei/modelo/DocumentoSipar.java
... ... @@ -1,130 +0,0 @@
1   -package br.gov.ans.integracao.sei.modelo;
2   -
3   -import java.util.Date;
4   -
5   -import javax.persistence.Entity;
6   -import javax.persistence.EntityResult;
7   -import javax.persistence.FieldResult;
8   -import javax.persistence.Id;
9   -import javax.persistence.NamedNativeQuery;
10   -import javax.persistence.SqlResultSetMapping;
11   -
12   -@Entity
13   -@SqlResultSetMapping(name="DocumentoSiparMapping", entities={
14   - @EntityResult(entityClass = DocumentoSipar.class,
15   - fields = {
16   - @FieldResult(name = "digito", column = "NU_DIGITO_DOCUMENTO"),
17   - @FieldResult(name = "operadora", column = "CO_OPERADORA"),
18   - @FieldResult(name = "emissao", column = "DT_EMISSAO_DOCUMENTO"),
19   - @FieldResult(name = "registro", column = "DT_REGISTRO"),
20   - @FieldResult(name = "tipo", column = "CO_TIPO_DOCUMENTO"),
21   - @FieldResult(name = "resumo", column = "DS_RESUMO_DOCUMENTO"),
22   - @FieldResult(name = "orgaoPosse", column = "CO_ORGAO_POSSE"),
23   - @FieldResult(name = "orgaoOrigem", column = "CO_ORGAO_ORIGEM"),
24   - @FieldResult(name = "orgaoRegistro", column = "CO_ORGAO_REGISTRO"),
25   - @FieldResult(name = "assunto", column = "CO_ASSUNTO")
26   - })
27   -})
28   -@NamedNativeQuery(name = "documentoPorNumeroAnoDigito", resultSetMapping = "DocumentoSiparMapping",
29   -query = "SELECT TB.NU_DIGITO_DOCUMENTO, TB.CO_OPERADORA, TB.DT_EMISSAO_DOCUMENTO, TB.DT_REGISTRO, TB.CO_TIPO_DOCUMENTO, "
30   - + "TB.DS_RESUMO_DOCUMENTO, TB.CO_ORGAO_POSSE, TB.CO_ORGAO_ORIGEM, TB.CO_ORGAO_REGISTRO, RL.CO_ASSUNTO "
31   - + "FROM DBPSIPAR.TB_DOCUMENTO TB "
32   - + "LEFT JOIN DBPSIPAR.RL_ASSUNTO_DOCUMENTO RL ON RL.CO_DOCUMENTO = TB.CO_SEQ_DOCUMENTO "
33   - + "AND RL.NU_ANO_DOCUMENTO = TB.NU_ANO_DOCUMENTO "
34   - + "WHERE TB.CO_SEQ_DOCUMENTO = :numeroDocumento "
35   - + "AND TB.NU_ANO_DOCUMENTO = :anoDocumento "
36   - + "AND TB.NU_DIGITO_DOCUMENTO = :digitoDocumento")
37   -public class DocumentoSipar {
38   - @Id
39   - private String digito;
40   - private String operadora;
41   - private Date emissao;
42   - private Date registro;
43   - private String tipo;
44   - private String resumo;
45   - private Long orgaoPosse;
46   - private Long orgaoOrigem;
47   - private Long orgaoRegistro;
48   - private Long assunto;
49   -
50   - public String getDigito() {
51   - return digito;
52   - }
53   -
54   - public void setDigito(String digito) {
55   - this.digito = digito;
56   - }
57   -
58   - public Long getAssunto() {
59   - return assunto;
60   - }
61   -
62   - public void setAssunto(Long assunto) {
63   - this.assunto = assunto;
64   - }
65   -
66   - public String getOperadora() {
67   - return operadora;
68   - }
69   -
70   - public void setOperadora(String operadora) {
71   - this.operadora = operadora;
72   - }
73   -
74   - public Date getEmissao() {
75   - return emissao;
76   - }
77   -
78   - public void setEmissao(Date emissao) {
79   - this.emissao = emissao;
80   - }
81   -
82   - public String getTipo() {
83   - return tipo;
84   - }
85   -
86   - public void setTipo(String tipo) {
87   - this.tipo = tipo;
88   - }
89   -
90   - public String getResumo() {
91   - return resumo;
92   - }
93   -
94   - public void setResumo(String resumo) {
95   - this.resumo = resumo;
96   - }
97   -
98   - public Long getOrgaoPosse() {
99   - return orgaoPosse;
100   - }
101   -
102   - public void setOrgaoPosse(Long orgaoPosse) {
103   - this.orgaoPosse = orgaoPosse;
104   - }
105   -
106   - public Long getOrgaoOrigem() {
107   - return orgaoOrigem;
108   - }
109   -
110   - public void setOrgaoOrigem(Long orgaoOrigem) {
111   - this.orgaoOrigem = orgaoOrigem;
112   - }
113   -
114   - public Long getOrgaoRegistro() {
115   - return orgaoRegistro;
116   - }
117   -
118   - public void setOrgaoRegistro(Long orgaoRegistro) {
119   - this.orgaoRegistro = orgaoRegistro;
120   - }
121   -
122   - public Date getRegistro() {
123   - return registro;
124   - }
125   -
126   - public void setRegistro(Date registro) {
127   - this.registro = registro;
128   - }
129   -
130   -}
src/main/java/br/gov/ans/integracao/sei/modelo/ProcessoResumido.java
... ... @@ -6,17 +6,29 @@ import javax.persistence.Entity;
6 6 import javax.persistence.EntityResult;
7 7 import javax.persistence.FieldResult;
8 8 import javax.persistence.Id;
  9 +import javax.persistence.OneToOne;
9 10 import javax.persistence.SqlResultSetMapping;
10 11 import javax.xml.bind.annotation.XmlRootElement;
11 12  
  13 +import org.codehaus.jackson.map.annotate.JsonSerialize;
  14 +
12 15 @XmlRootElement
13 16 @Entity
14 17 @SqlResultSetMapping(name = "ProcessoResumidoMapping", entities = { @EntityResult(entityClass = ProcessoResumido.class, fields = {
15   - @FieldResult(name = "numero", column = "protocolo"),
16   - @FieldResult(name = "numeroFormatado", column = "protocolo_formatado"),
  18 + @FieldResult(name = "numero", column = "numero"),
  19 + @FieldResult(name = "numeroFormatado", column = "numeroFormatado"),
17 20 @FieldResult(name = "descricao", column = "descricao"),
18 21 @FieldResult(name = "unidade", column = "unidade"),
19   - @FieldResult(name = "dataGeracao", column = "data_geracao") }) })
  22 + @FieldResult(name = "dataGeracao", column = "dataGeracao"),
  23 + @FieldResult(name = "tipo", column = "tipoCodigo")
  24 + }),
  25 + @EntityResult(
  26 + entityClass = Tipo.class,
  27 + fields = {
  28 + @FieldResult(name = "codigo", column = "tipoCodigo"),
  29 + @FieldResult(name = "nome", column = "tipoNome")})
  30 + })
  31 +@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
20 32 public class ProcessoResumido {
21 33  
22 34 @Id
... ... @@ -25,6 +37,8 @@ public class ProcessoResumido {
25 37 private String descricao;
26 38 private String unidade;
27 39 private Date dataGeracao;
  40 + @OneToOne
  41 + private Tipo tipo;
28 42  
29 43 public String getNumero() {
30 44 return numero;
... ... @@ -66,4 +80,11 @@ public class ProcessoResumido {
66 80 this.dataGeracao = dataGeracao;
67 81 }
68 82  
  83 + public Tipo getTipo() {
  84 + return tipo;
  85 + }
  86 +
  87 + public void setTipo(Tipo tipo) {
  88 + this.tipo = tipo;
  89 + }
69 90 }
... ...
src/main/java/br/gov/ans/integracao/sei/modelo/ResultadoConsultaDocumento.java
... ... @@ -3,6 +3,7 @@ package br.gov.ans.integracao.sei.modelo;
3 3 import javax.xml.bind.annotation.XmlRootElement;
4 4  
5 5 import br.gov.ans.integracao.sei.client.RetornoConsultaDocumento;
  6 +import br.gov.ans.integracao.sipar.dao.DocumentoSipar;
6 7  
7 8 @XmlRootElement
8 9 public class ResultadoConsultaDocumento {
... ...
src/main/java/br/gov/ans/integracao/sei/modelo/ResultadoConsultaProcesso.java
... ... @@ -3,6 +3,7 @@ package br.gov.ans.integracao.sei.modelo;
3 3 import javax.xml.bind.annotation.XmlRootElement;
4 4  
5 5 import br.gov.ans.integracao.sei.client.RetornoConsultaProcedimento;
  6 +import br.gov.ans.integracao.sipar.dao.DocumentoSipar;
6 7  
7 8 @XmlRootElement
8 9 public class ResultadoConsultaProcesso {
... ...
src/main/java/br/gov/ans/integracao/sei/modelo/Tipo.java 0 → 100644
... ... @@ -0,0 +1,34 @@
  1 +package br.gov.ans.integracao.sei.modelo;
  2 +
  3 +import javax.persistence.Entity;
  4 +import javax.persistence.EntityResult;
  5 +import javax.persistence.FieldResult;
  6 +import javax.persistence.Id;
  7 +import javax.persistence.SqlResultSetMapping;
  8 +import javax.xml.bind.annotation.XmlRootElement;
  9 +
  10 +@Entity
  11 +//@SqlResultSetMapping(name = "TipoMapping", entities = { @EntityResult(entityClass = Tipo.class, fields = {
  12 +// @FieldResult(name = "codigo", column = "tipoCodigo"), @FieldResult(name = "nome", column = "tipoNome") }) })
  13 +@XmlRootElement
  14 +public class Tipo {
  15 + @Id
  16 + private String codigo;
  17 + private String nome;
  18 +
  19 + public String getCodigo() {
  20 + return codigo;
  21 + }
  22 +
  23 + public void setCodigo(String codigo) {
  24 + this.codigo = codigo;
  25 + }
  26 +
  27 + public String getNome() {
  28 + return nome;
  29 + }
  30 +
  31 + public void setNome(String nome) {
  32 + this.nome = nome;
  33 + }
  34 +}
... ...
src/main/java/br/gov/ans/integracao/sei/modelo/TipoDocumento.java 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +package br.gov.ans.integracao.sei.modelo;
  2 +
  3 +import javax.xml.bind.annotation.XmlRootElement;
  4 +
  5 +@XmlRootElement
  6 +public class TipoDocumento {
  7 + private String identificador;
  8 + private String nome;
  9 + private String aplicabilidade;
  10 +
  11 + public TipoDocumento(){}
  12 +
  13 + public TipoDocumento(String identificador, String nome, String aplicabilidade){
  14 + this.identificador = identificador;
  15 + this.nome = nome;
  16 + this.aplicabilidade = aplicabilidade;
  17 + }
  18 +
  19 + public String getIdentificador() {
  20 + return identificador;
  21 + }
  22 + public void setIdentificador(String identificador) {
  23 + this.identificador = identificador;
  24 + }
  25 + public String getNome() {
  26 + return nome;
  27 + }
  28 + public void setNome(String nome) {
  29 + this.nome = nome;
  30 + }
  31 +
  32 + public String getAplicabilidade() {
  33 + return aplicabilidade;
  34 + }
  35 +
  36 + public void setAplicabilidade(String aplicabilidade) {
  37 + this.aplicabilidade = aplicabilidade;
  38 + }
  39 +}
... ...
src/main/java/br/gov/ans/integracao/sei/modelo/UsuarioProjeto.java
... ... @@ -1,112 +0,0 @@
1   -package br.gov.ans.integracao.sei.modelo;
2   -
3   -import javax.persistence.Column;
4   -import javax.persistence.Entity;
5   -import javax.persistence.GeneratedValue;
6   -import javax.persistence.GenerationType;
7   -import javax.persistence.Id;
8   -import javax.persistence.NamedQueries;
9   -import javax.persistence.NamedQuery;
10   -import javax.persistence.SequenceGenerator;
11   -import javax.persistence.Table;
12   -
13   -@Entity
14   -@Table(name = "DIDES.TB_USUARIO_PROJETO")
15   -@SequenceGenerator(name = "sq_usuario_projeto", sequenceName = "DIDES.NOME_DA_SEQUENCE")
16   -@NamedQueries({ @NamedQuery(name = "Usuario.findAllUsuarioServico", query = "SELECT u FROM UsuarioProjeto u "
17   - + "WHERE u.idPessoa is null AND u.senha is not null AND u.usuarioProjeto = 1") })
18   -public class UsuarioProjeto {
19   -
20   - @Id
21   - @GeneratedValue(generator = "sq_usuario_projeto", strategy = GenerationType.SEQUENCE)
22   - @Column(name = "ID_USUARIO")
23   - private Long id;
24   -
25   - @Column(name = "ID_PESSOA_USUARIO")
26   - private Long idPessoa;
27   -
28   - @Column(name = "DE_LOGIN_USUARIO")
29   - private String loginUsuario;
30   -
31   - @Column(name = "DE_SENHA")
32   - private String senha;
33   -
34   - @Column(name = "NM_USUARIO")
35   - private String nomeUsuario;
36   -
37   - @Column(name = "LG_ATIVO")
38   - private Long status;
39   -
40   - @Column(name = "LG_USUARIO_PROJECT")
41   - private Long usuarioProjeto;
42   -
43   - @Column(name = "LG_BLOQUEADO")
44   - private Long usuarioBloqueado;
45   -
46   - @Column(name = "DE_OBSERVACAO_USUARIO")
47   - private String observacao;
48   -
49   - public Long getId() {
50   - return id;
51   - }
52   -
53   - public void setId(Long id) {
54   - this.id = id;
55   - }
56   -
57   - public Long getIdPessoa() {
58   - return idPessoa;
59   - }
60   -
61   - public void setIdPessoa(Long idPessoa) {
62   - this.idPessoa = idPessoa;
63   - }
64   -
65   - public String getLoginUsuario() {
66   - return loginUsuario;
67   - }
68   -
69   - public void setLoginUsuario(String loginUsuario) {
70   - this.loginUsuario = loginUsuario;
71   - }
72   -
73   - public String getNomeUsuario() {
74   - return nomeUsuario;
75   - }
76   -
77   - public void setNomeUsuario(String nomeUsuario) {
78   - this.nomeUsuario = nomeUsuario;
79   - }
80   -
81   - public Long getStatus() {
82   - return status;
83   - }
84   -
85   - public void setStatus(Long status) {
86   - this.status = status;
87   - }
88   -
89   - public Long getUsuarioBloqueado() {
90   - return usuarioBloqueado;
91   - }
92   -
93   - public void setUsuarioBloqueado(Long usuarioBloqueado) {
94   - this.usuarioBloqueado = usuarioBloqueado;
95   - }
96   -
97   - public String getObservacao() {
98   - return observacao;
99   - }
100   -
101   - public void setObservacao(String observacao) {
102   - this.observacao = observacao;
103   - }
104   -
105   - public String getSenha() {
106   - return senha;
107   - }
108   -
109   - public void setSenha(String senha) {
110   - this.senha = senha;
111   - }
112   -}
src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java
... ... @@ -3,7 +3,6 @@ package br.gov.ans.integracao.sei.rest;
3 3 import java.net.URI;
4 4 import java.rmi.RemoteException;
5 5  
6   -import javax.ejb.Stateless;
7 6 import javax.inject.Inject;
8 7 import javax.ws.rs.Consumes;
9 8 import javax.ws.rs.POST;
... ... @@ -27,7 +26,6 @@ import br.gov.ans.integracao.sei.utils.Constantes;
27 26 import br.gov.ans.utils.MessageUtils;
28 27  
29 28 @Path("/")
30   -@Stateless
31 29 public class ArquivoResource {
32 30  
33 31 @Inject
... ... @@ -47,7 +45,9 @@ public class ArquivoResource {
47 45 * @apiName adicionarArquivo
48 46 * @apiGroup Arquivo
49 47 * @apiVersion 2.0.0
50   - *
  48 + *
  49 + * @apiPermission RO_SEI_BROKER
  50 + *
51 51 * @apiDescription O serviço criará um arquivo no repositório de documentos e retornará seu identificador. O envio do arquivo poderá ser particionado com chamadas
52 52 * posteriores ao serviço de Adicionar Conteúdo Arquivo. Após todo o conteúdo ser transferido o arquivo será ativado e poderá ser associado com um documento externo
53 53 * no serviço de inclusão de documento. Serão excluídos em 24 horas os arquivos não completados e não associados a um documento.
... ... @@ -96,8 +96,8 @@ public class ArquivoResource {
96 96 public Response adicionarArquivo(@PathParam("unidade") String unidade, Arquivo arquivo) throws RemoteException, Exception{
97 97 validarTamanhoArquivo(arquivo);
98 98  
99   - String identificador = seiNativeService.adicionarArquivo(Constantes.SEI_BROKER, Operacao.ADICIONAR_ARQUIVO, unidadeResource.consultarCodigo(unidade), arquivo.getNome(), arquivo.getTamanho(),
100   - arquivo.getHash(), arquivo.getConteudo());
  99 + String identificador = seiNativeService.adicionarArquivo(Constantes.SEI_BROKER, Operacao.ADICIONAR_ARQUIVO,
  100 + unidadeResource.consultarCodigo(unidade), arquivo.getNome(), arquivo.getTamanho(), arquivo.getHash(), arquivo.getConteudo());
101 101  
102 102 return Response.created(getResourcePath(identificador)).entity(new ArquivoCriado(identificador)).build();
103 103 }
... ... @@ -107,7 +107,9 @@ public class ArquivoResource {
107 107 * @apiName adicionarConteudoArquivo
108 108 * @apiGroup Arquivo
109 109 * @apiVersion 2.0.0
110   - *
  110 + *
  111 + * @apiPermission RO_SEI_BROKER
  112 + *
111 113 * @apiDescription Adiciona conteúdo a um arquivo criado, o sistema identificará automaticamente quando o conteúdo foi completado validando o tamanho em bytes
112 114 * e o hash do conteúdo. Quando as condições forem satisfeitas o arquivo será ativado e poderá ser utilizado nas chamadas de inclusão de documento.
113 115 *
... ...
src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java
... ... @@ -6,7 +6,6 @@ import static br.gov.ans.integracao.sei.utils.Util.trueOrFalse;
6 6  
7 7 import java.net.URI;
8 8  
9   -import javax.ejb.Stateless;
10 9 import javax.inject.Inject;
11 10 import javax.ws.rs.Consumes;
12 11 import javax.ws.rs.DELETE;
... ... @@ -34,7 +33,6 @@ import br.gov.ans.integracao.sei.utils.Constantes;
34 33 import br.gov.ans.utils.MessageUtils;
35 34  
36 35 @Path("")
37   -@Stateless
38 36 public class BlocoResource {
39 37  
40 38 @Inject
... ... @@ -54,7 +52,9 @@ public class BlocoResource {
54 52 * @apiName consultarBloco
55 53 * @apiGroup Bloco
56 54 * @apiVersion 2.0.0
57   - *
  55 + *
  56 + * @apiPermission RO_SEI_BROKER
  57 + *
58 58 * @apiDescription Recupera as informações do bloco informado.
59 59 *
60 60 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -107,7 +107,9 @@ public class BlocoResource {
107 107 * @apiName disponibilizarBloco
108 108 * @apiGroup Bloco
109 109 * @apiVersion 2.0.0
110   - *
  110 + *
  111 + * @apiPermission RO_SEI_BROKER
  112 + *
111 113 * @apiDescription Disponibiliza um determinado bloco.
112 114 *
113 115 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -144,7 +146,9 @@ public class BlocoResource {
144 146 * @apiName cancelarDisponibilizacaoBloco
145 147 * @apiGroup Bloco
146 148 * @apiVersion 2.0.0
147   - *
  149 + *
  150 + * @apiPermission RO_SEI_BROKER
  151 + *
148 152 * @apiDescription Cancela a disponibilização de blocos.
149 153 *
150 154 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -166,7 +170,8 @@ public class BlocoResource {
166 170 @Path("{unidade}/blocos/disponibilizados/{bloco}")
167 171 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
168 172 public String cancelarDisponibilizacaoBloco(@PathParam("unidade") String unidade, @PathParam("bloco") String bloco) throws Exception{
169   - String resultado = seiNativeService.cancelarDisponibilizacaoBloco(Constantes.SEI_BROKER, Operacao.CANCELAR_DISPONIBILIZACAO_BLOCO, unidadeResource.consultarCodigo(unidade), bloco);
  173 + String resultado = seiNativeService.cancelarDisponibilizacaoBloco(Constantes.SEI_BROKER, Operacao.CANCELAR_DISPONIBILIZACAO_BLOCO,
  174 + unidadeResource.consultarCodigo(unidade), bloco);
170 175  
171 176 return trueOrFalse(resultado) + "";
172 177 }
... ... @@ -177,7 +182,9 @@ public class BlocoResource {
177 182 * @apiName excluirBloco
178 183 * @apiGroup Bloco
179 184 * @apiVersion 2.0.0
180   - *
  185 + *
  186 + * @apiPermission RO_SEI_BROKER
  187 + *
181 188 * @apiDescription Exclui um bloco criado.
182 189 *
183 190 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -209,7 +216,9 @@ public class BlocoResource {
209 216 * @apiName gerarBloco
210 217 * @apiGroup Bloco
211 218 * @apiVersion 2.0.0
212   - *
  219 + *
  220 + * @apiPermission RO_SEI_BROKER
  221 + *
213 222 * @apiDescription Gera um novo bloco.
214 223 *
215 224 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -249,8 +258,8 @@ public class BlocoResource {
249 258 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
250 259 @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
251 260 public Response gerarBloco(@PathParam("unidade") String unidade, NovoBloco bloco) throws Exception{
252   - String retorno = seiNativeService.gerarBloco(Constantes.SEI_BROKER, Operacao.GERAR_BLOCO, unidadeResource.consultarCodigo(unidade), bloco.getTipo().getCodigo(), bloco.getDescricao(), bloco.getUnidades(),
253   - bloco.getDocumentos(), getSOuN(bloco.isDisponibilizar()));
  261 + String retorno = seiNativeService.gerarBloco(Constantes.SEI_BROKER, Operacao.GERAR_BLOCO, unidadeResource.consultarCodigo(unidade), bloco.getTipo().getCodigo(),
  262 + bloco.getDescricao(), unidadeResource.buscarCodigoUnidades(bloco.getUnidades()), bloco.getDocumentos(), getSOuN(bloco.isDisponibilizar()));
254 263  
255 264 return Response.created(getResourcePath(retorno)).entity(retorno).build();
256 265 }
... ... @@ -260,7 +269,9 @@ public class BlocoResource {
260 269 * @apiName incluirDocumentoNoBloco
261 270 * @apiGroup Bloco
262 271 * @apiVersion 2.0.0
263   - *
  272 + *
  273 + * @apiPermission RO_SEI_BROKER
  274 + *
264 275 * @apiDescription Inclui um documento no bloco.
265 276 *
266 277 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -300,7 +311,9 @@ public class BlocoResource {
300 311 * @apiName incluirDocumentoComAnotacaoNoBloco
301 312 * @apiGroup Bloco
302 313 * @apiVersion 2.0.0
303   - *
  314 + *
  315 + * @apiPermission RO_SEI_BROKER
  316 + *
304 317 * @apiDescription Inclui um documento no bloco.
305 318 *
306 319 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -342,7 +355,9 @@ public class BlocoResource {
342 355 * @apiName retirarDocumentoDoBloco
343 356 * @apiGroup Bloco
344 357 * @apiVersion 2.0.0
345   - *
  358 + *
  359 + * @apiPermission RO_SEI_BROKER
  360 + *
346 361 * @apiDescription Remove o documento do bloco.
347 362 *
348 363 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -375,7 +390,9 @@ public class BlocoResource {
375 390 * @apiName incluirProcessoNoBloco
376 391 * @apiGroup Bloco
377 392 * @apiVersion 2.0.0
378   - *
  393 + *
  394 + * @apiPermission RO_SEI_BROKER
  395 + *
379 396 * @apiDescription Inclui um processo no bloco.
380 397 *
381 398 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -418,7 +435,9 @@ public class BlocoResource {
418 435 * @apiName incluirProcessoComAnotacaoNoBloco
419 436 * @apiGroup Bloco
420 437 * @apiVersion 2.0.0
421   - *
  438 + *
  439 + * @apiPermission RO_SEI_BROKER
  440 + *
422 441 * @apiDescription Inclui um processo no bloco, junto com uma anotação.
423 442 *
424 443 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -467,7 +486,9 @@ public class BlocoResource {
467 486 * @apiName retirarProcessoDoBloco
468 487 * @apiGroup Bloco
469 488 * @apiVersion 2.0.0
470   - *
  489 + *
  490 + * @apiPermission RO_SEI_BROKER
  491 + *
471 492 * @apiDescription Este método remove o processo do bloco.
472 493 *
473 494 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ...
src/main/java/br/gov/ans/integracao/sei/rest/CargoResource.java
... ... @@ -29,7 +29,9 @@ public class CargoResource {
29 29 * @apiName listarCargos
30 30 * @apiGroup Cargo
31 31 * @apiVersion 2.0.0
32   - *
  32 + *
  33 + * @apiPermission RO_SEI_BROKER
  34 + *
33 35 * @apiDescription Lista os cargos.
34 36 *
35 37 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ...
src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java
... ... @@ -70,7 +70,9 @@ public class ContatoResource {
70 70 * @apiName listarTipos
71 71 * @apiGroup Contato
72 72 * @apiVersion 2.0.0
73   - *
  73 + *
  74 + * @apiPermission RO_SEI_BROKER
  75 + *
74 76 * @apiDescription Consulta os tipos de contato.
75 77 *
76 78 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -99,7 +101,9 @@ public class ContatoResource {
99 101 * @apiName listarContatos
100 102 * @apiGroup Contato
101 103 * @apiVersion 2.0.0
102   - *
  104 + *
  105 + * @apiPermission RO_SEI_BROKER
  106 + *
103 107 * @apiDescription Consulta os contatos de determinado tipo, o retorno pode ser PessoaFisica ou PessoaJuridica é recomendado utilizar a ans-commons-sei.
104 108 *
105 109 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -200,7 +204,9 @@ public class ContatoResource {
200 204 * @apiName getContato
201 205 * @apiGroup Contato
202 206 * @apiVersion 2.0.0
203   - *
  207 + *
  208 + * @apiPermission RO_SEI_BROKER
  209 + *
204 210 * @apiDescription Consulta contato pela sigla(login)
205 211 *
206 212 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -293,7 +299,9 @@ public class ContatoResource {
293 299 * @apiName criarContato
294 300 * @apiGroup Contato
295 301 * @apiVersion 2.0.0
296   - *
  302 + *
  303 + * @apiPermission RO_SEI_BROKER
  304 + *
297 305 * @apiDescription Incluir contato
298 306 *
299 307 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -388,7 +396,9 @@ public class ContatoResource {
388 396 * @apiName atualizarContato
389 397 * @apiGroup Contato
390 398 * @apiVersion 2.0.0
391   - *
  399 + *
  400 + * @apiPermission RO_SEI_BROKER
  401 + *
392 402 * @apiDescription Atualizar contato
393 403 *
394 404 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ...
src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java
... ... @@ -112,7 +112,9 @@ public class DocumentoResource {
112 112 * @apiName consultarDocumento
113 113 * @apiGroup Documento
114 114 * @apiVersion 2.0.0
115   - *
  115 + *
  116 + * @apiPermission RO_SEI_BROKER
  117 + *
116 118 * @apiDescription Consulta documento cadastrado no SEI.
117 119 *
118 120 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -207,7 +209,9 @@ public class DocumentoResource {
207 209 * @apiName incluirDocumento
208 210 * @apiGroup Documento
209 211 * @apiVersion 2.0.0
210   - *
  212 + *
  213 + * @apiPermission RO_SEI_BROKER
  214 + *
211 215 * @apiDescription Inclui um documento no SEI, podem ser incluídos documentos internos e externos, para documentos externo o tamanho máximo é 20MB.
212 216 *
213 217 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -220,7 +224,7 @@ public class DocumentoResource {
220 224 * @apiParam (Request Body) {String} [protocoloProcedimento] Número do processo onde o documento deve ser inserido, visível para o usuário. Opcional se IdProcedimento informado.
221 225 * @apiParam (Request Body) {String} [idTipoConferencia] Identificador do tipo de conferência associada com o documento externo
222 226 * @apiParam (Request Body) {String{50}} [numero] Número do documento, passar null para documentos gerados com numeração controlada pelo SEI.Para documentos externos informar o número ou nome complementar a ser exibido na árvore de documentos do processo (o SEI não controla numeração de documentos externos).
223   - * @apiParam (Request Body) {String} [data] Data do documento, obrigatório para documentos externos. Passar null para documentos gerados
  227 + * @apiParam (Request Body) {String} [data] Data do documento (dd/MM/yyyy), obrigatório para documentos externos. Passar null para documentos gerados.
224 228 * @apiParam (Request Body) {String} [descricao] Descrição do documento para documentos gerados. Passar null para documentos externos
225 229 * @apiParam (Request Body) {Remetente} [remetente] Obrigatório para documentos externos, passar null para documentos gerados.
226 230 * @apiParam (Request Body) {String} [remetente.nome] Nome do remetente
... ... @@ -234,7 +238,7 @@ public class DocumentoResource {
234 238 * @apiParam (Request Body) {String} [observacao] Texto da observação da unidade, passar null se não existir
235 239 * @apiParam (Request Body) {String{200}} [nomeArquivo] Nome do arquivo, obrigatório para documentos externos. Passar null para documentos gerados.
236 240 * @apiParam (Request Body) {String} conteudo Conteúdo do arquivo codificado em Base64. Para documentos gerados será o conteúdo da seção principal do editor HTML e para documentos externos será o conteúdo do anexo. Para documentos com template cadastrado, enviar Base64 do JSon referente ao conteúdo a ser preenchido no template.
237   - * @apiParam (Request Body) {String = "0 (público)","1 (restrito)", "2 (sigiloso)", "null (herda do processo)"} [nivelAcesso] Nível de acesso do documento
  241 + * @apiParam (Request Body) {String = "0 (público)","1 (restrito)", "2 (sigiloso)", "null (herda do tipo de processo)"} [nivelAcesso] Nível de acesso do documento
238 242 * @apiParam (Request Body) {String} [idHipoteseLegal] Identificador da hipótese legal associada
239 243 * @apiParam (Request Body) {String} [idArquivo] Identificador do arquivo enviado pelo serviço de Incluir Arquivo
240 244 * @apiParam (Request Body) {String = "S (Sim)","N (Não)"} [sinBloqueado] Bloquear o documento, não permite excluí-lo ou alterar seu conteúdo
... ... @@ -325,7 +329,9 @@ public class DocumentoResource {
325 329 * @apiName cancelarDocumento
326 330 * @apiGroup Documento
327 331 * @apiVersion 2.0.0
328   - *
  332 + *
  333 + * @apiPermission RO_SEI_BROKER
  334 + *
329 335 * @apiDescription Cancela um documento.
330 336 *
331 337 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -374,7 +380,9 @@ public class DocumentoResource {
374 380 * @apiName consultarDocumentosIncluidosBroker
375 381 * @apiGroup Documento
376 382 * @apiVersion 2.0.0
377   - *
  383 + *
  384 + * @apiPermission RO_SEI_BROKER
  385 + *
378 386 * @apiDescription Consulta documentos inclusos pelo SEI-Broker.
379 387 *
380 388 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -444,7 +452,9 @@ public class DocumentoResource {
444 452 * @apiName exportarDocumento
445 453 * @apiGroup Documento
446 454 * @apiVersion 2.0.0
447   - *
  455 + *
  456 + * @apiPermission RO_SEI_BROKER
  457 + *
448 458 * @apiDescription Exporta documentos do SEI em PDF.
449 459 *
450 460 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -493,42 +503,58 @@ public class DocumentoResource {
493 503 }
494 504  
495 505 /**
496   - * @api {get} /:interessado/documentos Consultar por interessados
  506 + * @api {get} /interessados/:interessado/documentos Consultar por interessado
497 507 * @apiName consultarDocumentoInteressado
498 508 * @apiGroup Documento
499 509 * @apiVersion 2.0.0
500   - *
  510 + *
  511 + * @apiPermission RO_SEI_BROKER
  512 + *
501 513 * @apiDescription Retorna os documentos de um determinado interessado.
502 514 *
503 515 * @apiParam (Path Parameters) {String} interessado Identificador do interessado
504 516 *
505   - * @apiParam (Query Parameters) {String} [unidade] Unidade da qual deseja filtrar os documentos
  517 + * @apiParam (Query Parameters) {String} [tipo] Tipo/Série do documento
  518 + * @apiParam (Query Parameters) {boolean} [somenteAssinados=false] Exibir somente documentos assinados
  519 + * @apiParam (Query Parameters) {boolean} [orderByProcesso=false] Ordenar pelo número do processo, por padrão o retorno é ordenado pela dataGeracao
  520 + * @apiParam (Query Parameters) {boolean} [crescente=false] Ordenar em ordem crescente
506 521 * @apiParam (Query Parameters) {String} [pagina=1] Número da página
507 522 * @apiParam (Query Parameters) {String} [qtdRegistros=50] Quantidade de registros retornados por página
508 523 *
509 524 * @apiExample Exemplo de requisição:
510   - * curl -i https://<host>/sei-broker/service/363022/documentos
  525 + * curl -i https://<host>/sei-broker/service/interessados/005711/documentos
511 526 *
512   - * @apiSuccess (Sucesso Response Body - 200) {List} documentos Lista com os documentos encontrados
513   - * @apiSuccess (Sucesso Response Body - 200) {DocumentoResumido} documentos.documentoResumido Resumo do documento encontrado no SEI
514   - * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numero Número do documento
515   - * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo Tipo do documento
516   - * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.processo Processo ao qual o documento pertence
517   - * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.unidade Unidade responsável pelo processo
518   - * @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
519   - * @apiSuccess (Sucesso Response Body - 200) {Data} documentos.documentoResumido.dataGeracao Data de geração do documento
  527 + * @apiSuccess (Sucesso Response Body - 200) {List} documentos Lista com os documentos encontrados.
  528 + * @apiSuccess (Sucesso Response Body - 200) {DocumentoResumido} documentos.documentoResumido Resumo do documento encontrado no SEI.
  529 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numero Número do documento.
  530 + * @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.
  531 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.unidade Unidade responsável pelo documento.
  532 + * @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.
  533 + * @apiSuccess (Sucesso Response Body - 200) {Data} documentos.documentoResumido.dataGeracao Data de geração do documento.
  534 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.processo Processo onde o documento está incluído.
  535 + * @apiSuccess (Sucesso Response Body - 200) {Tipo} documentos.documentoResumido.tipo Objeto representando o tipo do documento.
  536 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo.codigo Identificados do tipo do documento, também conhecido como série.
  537 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo.nome Nome do tipo do documento.
  538 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipoConferencia Tipo de conferência do documento.
  539 + * @apiSuccess (Sucesso Response Body - 200) {boolean} documentos.documentoResumido.assinado Boolean indicando se o documento foi assinado.
520 540 *
521 541 * @apiSuccess (Sucesso Response Header - 200) {header} total_registros Quantidade de registros que existem para essa consulta
522 542 *
523 543 * @apiSuccessExample {json} Success-Response:
524 544 * HTTP/1.1 200 OK
525 545 * {
526   - * "dataGeracao": "2015-08-25T00:00:00-03:00",
527   - * "numero": "0057646",
  546 + * "numero": "0670949",
  547 + * "numeroInformado": "594",
  548 + * "unidade": "COSAP",
528 549 * "origem": "RECEBIDO",
529   - * "processo": "33902.554351/2015-16",
530   - * "tipo": "Contrato",
531   - * "unidade": "COAI"
  550 + * "dataGeracao": "2015-08-10T00:00:00-03:00",
  551 + * "processo": "33910.000002/2017-41",
  552 + * "tipo": {
  553 + * "codigo": "629",
  554 + * "nome": "Relatório de Arquivamento-SIF"
  555 + * }
  556 + * "tipoConferencia": "4",
  557 + * "assinado": true
532 558 * }
533 559 *
534 560 * @apiErrorExample {json} Error-Response:
... ... @@ -539,16 +565,18 @@ public class DocumentoResource {
539 565 * }
540 566 */
541 567 @GET
542   - @Path("{interessado}/documentos")
  568 + @Path("interessados/{interessado}/documentos")
543 569 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
544   - public Response consultarDocumentos(@PathParam("interessado") String interessado, @QueryParam("unidade") String unidade, @QueryParam("pagina") String pagina,
545   - @QueryParam("qtdRegistros") String qtdRegistros) throws BusinessException{
  570 + public Response consultarDocumentos(@PathParam("interessado") String interessado, @QueryParam("tipo") String tipo, @QueryParam("pagina") String pagina,
  571 + @QueryParam("qtdRegistros") String qtdRegistros, @QueryParam("somenteAssinados") boolean somenteAssinados, @QueryParam("crescente") boolean ordemCrescente,
  572 + @QueryParam("orderByProcesso") boolean orderByProcesso) throws BusinessException{
546 573  
547   - List<DocumentoResumido> documentos = daoDocumento.getDocumentos(interessado, unidade, pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros));
  574 + List<DocumentoResumido> documentos = daoDocumento.getDocumentos(interessado, tipo, pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros),
  575 + somenteAssinados, ordemCrescente, orderByProcesso);
548 576  
549 577 GenericEntity<List<DocumentoResumido>> entity = new GenericEntity<List<DocumentoResumido>>(documentos){};
550 578  
551   - Long totalRegistros = daoDocumento.countDocumentos(interessado, unidade);
  579 + Long totalRegistros = daoDocumento.countDocumentos(interessado, tipo, somenteAssinados);
552 580  
553 581 return Response.ok().entity(entity)
554 582 .header("total_registros", totalRegistros).build();
... ...
src/main/java/br/gov/ans/integracao/sei/rest/ExtensoesResource.java
1 1 package br.gov.ans.integracao.sei.rest;
2 2  
3   -import javax.ejb.Stateless;
4 3 import javax.inject.Inject;
5 4 import javax.ws.rs.GET;
6 5 import javax.ws.rs.Path;
... ... @@ -15,7 +14,6 @@ import br.gov.ans.integracao.sei.modelo.Operacao;
15 14 import br.gov.ans.integracao.sei.utils.Constantes;
16 15  
17 16 @Path("/")
18   -@Stateless
19 17 public class ExtensoesResource {
20 18  
21 19 @Inject
... ... @@ -29,7 +27,9 @@ public class ExtensoesResource {
29 27 * @apiName listarExtensoesPermitidas
30 28 * @apiGroup Extensao
31 29 * @apiVersion 2.0.0
32   - *
  30 + *
  31 + * @apiPermission RO_SEI_BROKER
  32 + *
33 33 * @apiDescription Este método realiza uma busca pelas extensões de arquivos permitidas.
34 34 *
35 35 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ...
src/main/java/br/gov/ans/integracao/sei/rest/HipoteseLegalResource.java
... ... @@ -30,7 +30,9 @@ public class HipoteseLegalResource {
30 30 * @apiName listarHipoteses
31 31 * @apiGroup Hipotese Legal
32 32 * @apiVersion 2.0.0
33   - *
  33 + *
  34 + * @apiPermission RO_SEI_BROKER
  35 + *
34 36 * @apiDescription Lista as hipóteses legais.
35 37 *
36 38 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ...
src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java
... ... @@ -45,7 +45,9 @@ public class InfraResource {
45 45 * @apiName getPaises
46 46 * @apiGroup Endereco
47 47 * @apiVersion 2.0.0
48   - *
  48 + *
  49 + * @apiPermission RO_SEI_BROKER
  50 + *
49 51 * @apiDescription Consulta países cadastrados.
50 52 *
51 53 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -84,7 +86,9 @@ public class InfraResource {
84 86 * @apiName getEstados
85 87 * @apiGroup Endereco
86 88 * @apiVersion 2.0.0
87   - *
  89 + *
  90 + * @apiPermission RO_SEI_BROKER
  91 + *
88 92 * @apiDescription Consulta estados cadastrados.
89 93 *
90 94 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -133,7 +137,9 @@ public class InfraResource {
133 137 * @apiName getEstado
134 138 * @apiGroup Endereco
135 139 * @apiVersion 2.0.0
136   - *
  140 + *
  141 + * @apiPermission RO_SEI_BROKER
  142 + *
137 143 * @apiDescription Consulta o estado pela sigla.
138 144 *
139 145 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -191,7 +197,9 @@ public class InfraResource {
191 197 * @apiName getCidades
192 198 * @apiGroup Endereco
193 199 * @apiVersion 2.0.0
194   - *
  200 + *
  201 + * @apiPermission RO_SEI_BROKER
  202 + *
195 203 * @apiDescription Consulta as cidades de um determinado estado.
196 204 *
197 205 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -240,7 +248,9 @@ public class InfraResource {
240 248 * @apiName getCidade
241 249 * @apiGroup Endereco
242 250 * @apiVersion 2.0.0
243   - *
  251 + *
  252 + * @apiPermission RO_SEI_BROKER
  253 + *
244 254 * @apiDescription Consulta a cidade pelo código do IBGE.
245 255 *
246 256 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ...
src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java
... ... @@ -5,7 +5,6 @@ import static br.gov.ans.integracao.sei.utils.Util.trueOrFalse;
5 5  
6 6 import java.rmi.RemoteException;
7 7  
8   -import javax.ejb.Stateless;
9 8 import javax.inject.Inject;
10 9 import javax.ws.rs.Consumes;
11 10 import javax.ws.rs.GET;
... ... @@ -27,7 +26,6 @@ import br.gov.ans.integracao.sei.utils.Constantes;
27 26 import br.gov.ans.utils.MessageUtils;
28 27  
29 28 @Path("/")
30   -@Stateless
31 29 public class MarcadorResource {
32 30  
33 31 @Inject
... ... @@ -44,7 +42,9 @@ public class MarcadorResource {
44 42 * @apiName listarMarcadores
45 43 * @apiGroup Marcador
46 44 * @apiVersion 2.0.0
47   - *
  45 + *
  46 + * @apiPermission RO_SEI_BROKER
  47 + *
48 48 * @apiDescription Lista os marcadores de uma unidade.
49 49 *
50 50 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -77,7 +77,9 @@ public class MarcadorResource {
77 77 * @apiName marcarProcesso
78 78 * @apiGroup Marcador
79 79 * @apiVersion 2.0.0
80   - *
  80 + *
  81 + * @apiPermission RO_SEI_BROKER
  82 + *
81 83 * @apiDescription Adiciona um processo ao marcador.
82 84 *
83 85 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ...
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
... ... @@ -7,6 +7,7 @@ import static br.gov.ans.integracao.sei.utils.Util.getSOuN;
7 7 import static br.gov.ans.integracao.sei.utils.Util.parseInt;
8 8 import static br.gov.ans.integracao.sei.utils.Util.trueOrFalse;
9 9  
  10 +import java.math.BigInteger;
10 11 import java.net.URI;
11 12 import java.rmi.RemoteException;
12 13 import java.util.ArrayList;
... ... @@ -14,8 +15,8 @@ import java.util.HashMap;
14 15 import java.util.List;
15 16 import java.util.Set;
16 17  
17   -import javax.ejb.Stateless;
18 18 import javax.inject.Inject;
  19 +import javax.persistence.NoResultException;
19 20 import javax.ws.rs.Consumes;
20 21 import javax.ws.rs.DELETE;
21 22 import javax.ws.rs.GET;
... ... @@ -38,6 +39,7 @@ import org.jboss.logging.Logger;
38 39 import org.jboss.resteasy.annotations.providers.jaxb.Wrapped;
39 40  
40 41 import br.gov.ans.exceptions.BusinessException;
  42 +import br.gov.ans.exceptions.ResourceNotFoundException;
41 43 import br.gov.ans.integracao.sei.client.Andamento;
42 44 import br.gov.ans.integracao.sei.client.AtributoAndamento;
43 45 import br.gov.ans.integracao.sei.client.RetornoConsultaProcedimento;
... ... @@ -45,10 +47,9 @@ import br.gov.ans.integracao.sei.client.RetornoGeracaoProcedimento;
45 47 import br.gov.ans.integracao.sei.client.SeiPortTypeProxy;
46 48 import br.gov.ans.integracao.sei.client.TipoProcedimento;
47 49 import br.gov.ans.integracao.sei.dao.DocumentoDAO;
48   -import br.gov.ans.integracao.sei.dao.DocumentoSiparDAO;
  50 +import br.gov.ans.integracao.sei.dao.SiparDAO;
49 51 import br.gov.ans.integracao.sei.dao.ProcessoDAO;
50 52 import br.gov.ans.integracao.sei.modelo.DocumentoResumido;
51   -import br.gov.ans.integracao.sei.modelo.DocumentoSipar;
52 53 import br.gov.ans.integracao.sei.modelo.EnvioDeProcesso;
53 54 import br.gov.ans.integracao.sei.modelo.Motivo;
54 55 import br.gov.ans.integracao.sei.modelo.NovoAndamento;
... ... @@ -61,15 +62,15 @@ import br.gov.ans.integracao.sei.modelo.ProcessoResumido;
61 62 import br.gov.ans.integracao.sei.modelo.ResultadoConsultaProcesso;
62 63 import br.gov.ans.integracao.sei.modelo.SobrestamentoProcesso;
63 64 import br.gov.ans.integracao.sei.utils.Constantes;
  65 +import br.gov.ans.integracao.sipar.dao.DocumentoSipar;
64 66 import br.gov.ans.utils.MessageUtils;
65 67  
66 68  
67 69 @Path("")
68   -@Stateless
69 70 public class ProcessoResource {
70 71  
71 72 @Inject
72   - private DocumentoSiparDAO documentoSiparDAO;
  73 + private SiparDAO documentoSiparDAO;
73 74  
74 75 @Inject
75 76 private ProcessoDAO processoDAO;
... ... @@ -98,6 +99,8 @@ public class ProcessoResource {
98 99 * @apiGroup Processo
99 100 * @apiVersion 2.0.0
100 101 *
  102 + * @apiPermission RO_SEI_BROKER
  103 + *
101 104 * @apiDescription Este método realiza uma consulta a processos no SEI e no SIPAR.
102 105 *
103 106 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -269,7 +272,9 @@ public class ProcessoResource {
269 272 * @apiName concluirProcesso
270 273 * @apiGroup Processo
271 274 * @apiVersion 2.0.0
272   - *
  275 + *
  276 + * @apiPermission RO_SEI_BROKER
  277 + *
273 278 * @apiDescription Conclui o processo informado.
274 279 *
275 280 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -312,22 +317,24 @@ public class ProcessoResource {
312 317 * @apiName enviarProcesso
313 318 * @apiGroup Processo
314 319 * @apiVersion 2.0.0
  320 + *
  321 + * @apiPermission RO_SEI_BROKER
315 322 *
316 323 * @apiDescription Envia processos a outras unidades.
317 324 *
318   - * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
  325 + * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI. Representa a unidade de localização atual do processo.
319 326 *
320 327 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [reabir=N] Reabrir automaticamente caso esteja concluído na unidade
321 328 * @apiParam (Query Parameters) {String = "S (sim), N (não)"} [auto-formatacao=S] O broker utilizará a mascara padrão para formatar o número do processo
322 329 *
323   - * @apiParam (Request Body) {String} processo Numero do processo a ser enviado
324   - * @apiParam (Request Body) {String[]} unidadesDestino Códigos das unidades para onde o bloco será enviado
325   - * @apiParam (Request Body) {Boolean} manterAbertoOrigem=false Informa se o processo deve continuar aberto na unidade de origem
326   - * @apiParam (Request Body) {Boolean} removerAnotacoes=false Informa se as anotações do processo devem ser removidas
327   - * @apiParam (Request Body) {Boolean} enviarEmailNotificacao=false Informa se deve ser enviado um e-mail de notificação
328   - * @apiParam (Request Body) {Date} dataRetornoProgramado=null Data para retorno programado do processo a unidade (padrão ISO-8601)
329   - * @apiParam (Request Body) {Integer} qtdDiasAteRetorno=null Quantidade de dias até o retorno do processo
330   - * @apiParam (Request Body) {Boolean} somenteDiasUteis=false Informa se só serão contabilizados dias úteis
  330 + * @apiParam (Request Body) {String} processo Numero do processo a ser enviado. Em caso de processo apensado, o processo a ser enviado deve ser o processo PAI. Não é possível tramitar através do processo FILHO.
  331 + * @apiParam (Request Body) {String[]} unidadesDestino Lista com os identificadores das unidades de destino do processo, código ou nome da unidade.
  332 + * @apiParam (Request Body) {Boolean} manterAbertoOrigem=false Informa se o processo deve continuar aberto na unidade de origem .
  333 + * @apiParam (Request Body) {Boolean} removerAnotacoes=false Informa se as anotações do processo devem ser removidas.
  334 + * @apiParam (Request Body) {Boolean} enviarEmailNotificacao=false Informa se deve ser enviado um e-mail de notificação.
  335 + * @apiParam (Request Body) {Date} dataRetornoProgramado=null Data para retorno programado do processo a unidade (padrão ISO-8601).
  336 + * @apiParam (Request Body) {Integer} qtdDiasAteRetorno=null Quantidade de dias até o retorno do processo.
  337 + * @apiParam (Request Body) {Boolean} somenteDiasUteis=false Informa se só serão contabilizados dias úteis.
331 338 *
332 339 * @apiExample Exemplo de requisição:
333 340 * endpoint: [POST] https://<host>/sei-broker/service/COSAP/processos/enviados
... ... @@ -366,8 +373,9 @@ public class ProcessoResource {
366 373 }
367 374  
368 375 String resultado = seiNativeService.enviarProcesso(Constantes.SEI_BROKER, Operacao.ENVIAR_PROCESSO, unidadeResource.consultarCodigo(unidade), processo,
369   - dadosEnvio.getUnidadesDestino(), getSOuN(dadosEnvio.getManterAbertoOrigem()), getSOuN(dadosEnvio.getRemoverAnotacoes()), getSOuN(dadosEnvio.getEnviarEmailNotificacao()),
370   - formatarData(dadosEnvio.getDataRetornoProgramado()), (dadosEnvio.getQtdDiasAteRetorno() != null ? dadosEnvio.getQtdDiasAteRetorno().toString() : null), getSOuN(dadosEnvio.getSomenteDiasUteis()),
  376 + unidadeResource.buscarCodigoUnidades(dadosEnvio.getUnidadesDestino()), getSOuN(dadosEnvio.getManterAbertoOrigem()), getSOuN(dadosEnvio.getRemoverAnotacoes()),
  377 + getSOuN(dadosEnvio.getEnviarEmailNotificacao()), formatarData(dadosEnvio.getDataRetornoProgramado()),
  378 + (dadosEnvio.getQtdDiasAteRetorno() != null ? dadosEnvio.getQtdDiasAteRetorno().toString() : null), getSOuN(dadosEnvio.getSomenteDiasUteis()),
371 379 getSOuN(reabrir));
372 380  
373 381 return trueOrFalse(resultado) + "";
... ... @@ -379,7 +387,9 @@ public class ProcessoResource {
379 387 * @apiName reabrirProcesso
380 388 * @apiGroup Processo
381 389 * @apiVersion 2.0.0
382   - *
  390 + *
  391 + * @apiPermission RO_SEI_BROKER
  392 + *
383 393 * @apiDescription Reabre um processo.
384 394 *
385 395 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -417,7 +427,9 @@ public class ProcessoResource {
417 427 * @apiName listarTiposProcesso
418 428 * @apiGroup Processo
419 429 * @apiVersion 2.0.0
420   - *
  430 + *
  431 + * @apiPermission RO_SEI_BROKER
  432 + *
421 433 * @apiDescription Consulta os tipos de processo.
422 434 *
423 435 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ... @@ -448,7 +460,9 @@ public class ProcessoResource {
448 460 * @apiName abrirProcesso
449 461 * @apiGroup Processo
450 462 * @apiVersion 2.0.0
451   - *
  463 + *
  464 + * @apiPermission RO_SEI_BROKER
  465 + *
452 466 * @apiDescription Abre um processo.
453 467 *
454 468 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -548,21 +562,24 @@ public class ProcessoResource {
548 562 }
549 563  
550 564 /**
551   - * @api {get} /:interessado/processos Consultar por interessados
552   - * @apiName consultarProcessosInteressado
  565 + * @api {get} /processos Listar processos
  566 + * @apiName consultarProcessos
553 567 * @apiGroup Processo
554 568 * @apiVersion 2.0.0
555   - *
556   - * @apiDescription Retorna os processos de um determinado interessado.
557 569 *
558   - * @apiParam (Path Parameters) {String} interessado Identificador do interessado
  570 + * @apiPermission RO_SEI_BROKER
  571 + *
  572 + * @apiDescription Lista os processos conforme os filtros informados.
559 573 *
  574 + * @apiParam (Query Parameters) {Boolean} [crescente=false] Ordenar em ordem crescente, processos mais antigos primeiro
  575 + * @apiParam (Query Parameters) {String} [interessado] Identificador do interessado
560 576 * @apiParam (Query Parameters) {String} [unidade] Unidade da qual deseja filtrar os processos
561 577 * @apiParam (Query Parameters) {String} [pagina=1] Número da página
562 578 * @apiParam (Query Parameters) {String} [qtdRegistros=50] Quantidade de registros retornados por página
  579 + * @apiParam (Query Parameters) {String} [tipo] Identificador do tipo de processo que deseja filtrar
563 580 *
564 581 * @apiExample Exemplo de requisição:
565   - * curl -i https://<host>/sei-broker/service/414247/processos
  582 + * curl -i https://<host>/sei-broker/service/processos
566 583 *
567 584 * @apiSuccess (Sucesso Response Body - 200) {List} processos Lista com os processos encontrados
568 585 * @apiSuccess (Sucesso Response Body - 200) {ProcessoResumido} processos.processoResumido Resumo do processo encontrado no SEI
... ... @@ -571,9 +588,26 @@ public class ProcessoResource {
571 588 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.descricao Descrição do processo
572 589 * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.unidade Unidade responsável pelo processo
573 590 * @apiSuccess (Sucesso Response Body - 200) {Data} processos.processoResumido.dataGeracao Data de geração do processo
  591 + * @apiSuccess (Sucesso Response Body - 200) {Tipo} processos.processoResumido.tipo Objeto com os dados do tipo de processo
  592 + * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.tipo.codigo Código do tipo
  593 + * @apiSuccess (Sucesso Response Body - 200) {String} processos.processoResumido.tipo.nome Nome do tipo
574 594 *
575 595 * @apiSuccess (Sucesso Response Header - 200) {header} total_registros quantidade de registros que existem para essa consulta.
576 596 *
  597 + * @apiSuccessExample {json} Success-Response:
  598 + * HTTP/1.1 200 OK
  599 + * {
  600 + * "numero": "33910007118201710",
  601 + * "numeroFormatado": "33910.007118/2017-10",
  602 + * "descricao": "D:2237021 - SUL AMÉRICA SEGURO SAÚDE S/A",
  603 + * "unidade": "NÚCLEO-RJ",
  604 + * "dataGeracao": "2017-10-09T03:00:00.000+0000",
  605 + * "tipo": {
  606 + * "codigo": "100000882",
  607 + * "nome": "Fiscalização: Sancionador"
  608 + * }
  609 + * }
  610 + *
577 611 * @apiErrorExample {json} Error-Response:
578 612 * HTTP/1.1 500 Internal Server Error
579 613 * {
... ... @@ -582,17 +616,22 @@ public class ProcessoResource {
582 616 * }
583 617 */
584 618 @GET
585   - @Path("/{interessado}/processos")
  619 + @Path("/processos")
586 620 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
587 621 @Wrapped(element = "processos")
588   - public Response consultarProcessos(@PathParam("interessado") String interessado, @QueryParam("unidade") String unidade, @QueryParam("pagina") String pagina,
589   - @QueryParam("qtdRegistros") String qtdRegistros) throws BusinessException{
  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 Exception{
  624 +
  625 + if(StringUtils.isNotBlank(unidade)){
  626 + unidade = unidadeResource.consultarCodigo(unidade);
  627 + }
590 628  
591   - List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros));
  629 + List<ProcessoResumido> processos = processoDAO.getProcessos(interessado, unidade, tipoProcesso,
  630 + pagina == null? null:parseInt(pagina), qtdRegistros == null? null : parseInt(qtdRegistros), crescente);
592 631  
593 632 GenericEntity<List<ProcessoResumido>> entity = new GenericEntity<List<ProcessoResumido>>(processos){};
594 633  
595   - Long totalRegistros = processoDAO.countProcessos(interessado, unidade);
  634 + Long totalRegistros = processoDAO.countProcessos(interessado, unidade, tipoProcesso);
596 635  
597 636 return Response.ok().entity(entity)
598 637 .header("total_registros", totalRegistros).build();
... ... @@ -603,7 +642,9 @@ public class ProcessoResource {
603 642 * @apiName listarAndamentos
604 643 * @apiGroup Processo
605 644 * @apiVersion 2.0.0
606   - *
  645 + *
  646 + * @apiPermission RO_SEI_BROKER
  647 + *
607 648 * @apiDescription Lista as andamentos do processo.
608 649 *
609 650 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -661,7 +702,9 @@ public class ProcessoResource {
661 702 * @apiName lancarAndamento
662 703 * @apiGroup Processo
663 704 * @apiVersion 2.0.0
664   - *
  705 + *
  706 + * @apiPermission RO_SEI_BROKER
  707 + *
665 708 * @apiDescription Lança um andamento ao processo.
666 709 *
667 710 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -722,7 +765,9 @@ public class ProcessoResource {
722 765 * @apiName anexarProcesso
723 766 * @apiGroup Processo
724 767 * @apiVersion 2.0.0
725   - *
  768 + *
  769 + * @apiPermission RO_SEI_BROKER
  770 + *
726 771 * @apiDescription Anexar um processo.
727 772 *
728 773 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -772,7 +817,9 @@ public class ProcessoResource {
772 817 * @apiName desanexarProcesso
773 818 * @apiGroup Processo
774 819 * @apiVersion 2.0.0
775   - *
  820 + *
  821 + * @apiPermission RO_SEI_BROKER
  822 + *
776 823 * @apiDescription Remove um processo anexado.
777 824 *
778 825 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -819,7 +866,9 @@ public class ProcessoResource {
819 866 * @apiName bloquearProcesso
820 867 * @apiGroup Processo
821 868 * @apiVersion 2.0.0
822   - *
  869 + *
  870 + * @apiPermission RO_SEI_BROKER
  871 + *
823 872 * @apiDescription Bloquear um processo.
824 873 *
825 874 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -869,7 +918,9 @@ public class ProcessoResource {
869 918 * @apiName desbloquearProcesso
870 919 * @apiGroup Processo
871 920 * @apiVersion 2.0.0
872   - *
  921 + *
  922 + * @apiPermission RO_SEI_BROKER
  923 + *
873 924 * @apiDescription Desbloquear um processo.
874 925 *
875 926 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -907,7 +958,9 @@ public class ProcessoResource {
907 958 * @apiName relacionarProcesso
908 959 * @apiGroup Processo
909 960 * @apiVersion 2.0.0
910   - *
  961 + *
  962 + * @apiPermission RO_SEI_BROKER
  963 + *
911 964 * @apiDescription Relacionar processos.
912 965 *
913 966 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -957,7 +1010,9 @@ public class ProcessoResource {
957 1010 * @apiName desrelacionarProcesso
958 1011 * @apiGroup Processo
959 1012 * @apiVersion 2.0.0
960   - *
  1013 + *
  1014 + * @apiPermission RO_SEI_BROKER
  1015 + *
961 1016 * @apiDescription Desrelacionar processos.
962 1017 *
963 1018 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -998,7 +1053,9 @@ public class ProcessoResource {
998 1053 * @apiName sobrestarProcesso
999 1054 * @apiGroup Processo
1000 1055 * @apiVersion 2.0.0
1001   - *
  1056 + *
  1057 + * @apiPermission RO_SEI_BROKER
  1058 + *
1002 1059 * @apiDescription Sobrestar processo.
1003 1060 *
1004 1061 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -1051,7 +1108,9 @@ public class ProcessoResource {
1051 1108 * @apiName removerSobrestamentoProcesso
1052 1109 * @apiGroup Processo
1053 1110 * @apiVersion 2.0.0
1054   - *
  1111 + *
  1112 + * @apiPermission RO_SEI_BROKER
  1113 + *
1055 1114 * @apiDescription Remover sobrestamento de processo.
1056 1115 *
1057 1116 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -1086,34 +1145,49 @@ public class ProcessoResource {
1086 1145 }
1087 1146  
1088 1147 /**
1089   - * @api {get} /:unidade/processos/:processo/documentos Listar documentos
  1148 + * @api {get} /processos/:processo/documentos Listar documentos
1090 1149 * @apiName listarDocumentosPorProcesso
1091 1150 * @apiGroup Processo
1092 1151 * @apiVersion 2.0.0
1093   - *
  1152 + *
  1153 + * @apiPermission RO_SEI_BROKER
  1154 + *
1094 1155 * @apiDescription Retorna os documentos de um determinado processo.
1095 1156 *
1096   - * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
1097 1157 * @apiParam (Path Parameters) {String} processo Número do processo.
1098 1158 *
  1159 + * @apiParam (Query Parameters) {String} [tipo=null] Identificador do tipo do documento, caso seja necessário filtrar pelo tipo
  1160 + * @apiParam (Query Parameters) {String = "G (gerado/interno), R (recebido/externo)"} [origem=null] Filtra os documentos por gerados ou recebidos
  1161 + * @apiParam (Query Parameters) {boolean} [somenteAssinados=false] Exibir somente documentos assinados
1099 1162 *
1100 1163 * @apiExample Exemplo de requisição:
1101   - * curl -i https://<host>/sei-broker/service/cosap/processos/33910003149201793/documentos
  1164 + * curl -i https://<host>/sei-broker/service/processos/33910003149201793/documentos
1102 1165 *
1103 1166 * @apiSuccess (Sucesso Response Body - 200) {List} documentos Lista com os documentos encontrados.
1104 1167 * @apiSuccess (Sucesso Response Body - 200) {DocumentoResumido} documentos.documentoResumido Resumo do documento encontrado no SEI.
1105 1168 * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.numero Número do documento.
1106   - * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo Tipo do documento.
  1169 + * @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.
1107 1170 * @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.
1108 1171 * @apiSuccess (Sucesso Response Body - 200) {Data} documentos.documentoResumido.dataGeracao Data de geração do documento.
  1172 + * @apiSuccess (Sucesso Response Body - 200) {Tipo} documentos.documentoResumido.tipo Objeto representando o tipo do documento.
  1173 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo.codigo Identificados do tipo do documento, também conhecido como série.
  1174 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipo.nome Nome do tipo do documento.
  1175 + * @apiSuccess (Sucesso Response Body - 200) {String} documentos.documentoResumido.tipoConferencia Tipo de conferência do documento.
  1176 + * @apiSuccess (Sucesso Response Body - 200) {boolean} documentos.documentoResumido.assinado Boolean indicando se o documento foi assinado.
1109 1177 *
1110 1178 * @apiSuccessExample {json} Success-Response:
1111 1179 * HTTP/1.1 200 OK
1112 1180 * {
1113   - * "dataGeracao": "2015-08-10T00:00:00-03:00",
1114 1181 * "numero": "0670949",
  1182 + * "numeroInformado": "594",
1115 1183 * "origem": "RECEBIDO",
1116   - * "tipo": "Despacho"
  1184 + * "dataGeracao": "2015-08-10T00:00:00-03:00",
  1185 + * "tipo": {
  1186 + * "codigo": "629",
  1187 + * "nome": "Relatório de Arquivamento-SIF"
  1188 + * }
  1189 + * "tipoConferencia": "4",
  1190 + * "assinado": true
1117 1191 * }
1118 1192 *
1119 1193 * @apiErrorExample {json} Error-Response:
... ... @@ -1124,10 +1198,23 @@ public class ProcessoResource {
1124 1198 * }
1125 1199 */
1126 1200 @GET
1127   - @Path("/{unidade}/processos/{processo:\d+}/documentos")
  1201 + @Path("/processos/{processo:\d+}/documentos")
1128 1202 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
1129   - public List<DocumentoResumido> listarDocumentosPorProcesso(@PathParam("unidade") String unidade, @PathParam("processo") String processo) throws RemoteException, Exception{
1130   - return documentoDAO.getDocumentosProcesso(formatarNumeroProcesso(processo));
  1203 + public List<DocumentoResumido> listarDocumentosPorProcesso(@PathParam("processo") String processo, @QueryParam("tipo")String tipo,
  1204 + @QueryParam("origem") String origem, @QueryParam("somenteAssinados") boolean somenteAssinados) throws RemoteException, Exception{
  1205 + try{
  1206 + BigInteger idProcedimento = processoDAO.getIdProcedimento(formatarNumeroProcesso(processo));
  1207 +
  1208 + List<DocumentoResumido> documentosProcesso = documentoDAO.getDocumentosProcesso(idProcedimento.toString(), tipo, origem, somenteAssinados);
  1209 +
  1210 + if(documentosProcesso.isEmpty()){
  1211 + throw new ResourceNotFoundException(messages.getMessage("erro.processo.sem.documentos",formatarNumeroProcesso(processo)));
  1212 + }
  1213 +
  1214 + return documentosProcesso;
  1215 + }catch(NoResultException ex){
  1216 + throw new BusinessException(messages.getMessage("erro.processo.nao.pertence.sei", formatarNumeroProcesso(processo)));
  1217 + }
1131 1218 }
1132 1219  
1133 1220 public URI getResourcePath(String resourceId){
... ...
src/main/java/br/gov/ans/integracao/sei/rest/SeriesResource.java
... ... @@ -6,24 +6,27 @@ import java.util.ArrayList;
6 6 import java.util.Arrays;
7 7 import java.util.List;
8 8  
9   -import javax.ejb.Stateless;
10 9 import javax.inject.Inject;
11 10 import javax.ws.rs.GET;
  11 +import javax.ws.rs.NotFoundException;
12 12 import javax.ws.rs.Path;
13 13 import javax.ws.rs.PathParam;
14 14 import javax.ws.rs.Produces;
15 15 import javax.ws.rs.QueryParam;
  16 +import javax.ws.rs.core.GenericEntity;
16 17 import javax.ws.rs.core.MediaType;
  18 +import javax.ws.rs.core.Response;
17 19  
18 20 import org.apache.commons.lang3.StringUtils;
19 21  
20 22 import br.gov.ans.integracao.sei.client.SeiPortTypeProxy;
21 23 import br.gov.ans.integracao.sei.client.Serie;
22 24 import br.gov.ans.integracao.sei.modelo.Operacao;
  25 +import br.gov.ans.integracao.sei.modelo.TipoDocumento;
23 26 import br.gov.ans.integracao.sei.utils.Constantes;
  27 +import br.gov.ans.utils.MessageUtils;
24 28  
25 29 @Path("/")
26   -@Stateless
27 30 public class SeriesResource {
28 31  
29 32 @Inject
... ... @@ -31,13 +34,18 @@ public class SeriesResource {
31 34  
32 35 @Inject
33 36 private UnidadeResource unidadeResource;
  37 +
  38 + @Inject
  39 + private MessageUtils messages;
34 40  
35 41 /**
36 42 * @api {get} /:unidade/series Listar séries
37 43 * @apiName listarSeries
38 44 * @apiGroup Serie
39 45 * @apiVersion 2.0.0
40   - *
  46 + *
  47 + * @apiPermission RO_SEI_BROKER
  48 + *
41 49 * @apiDescription Este método realiza uma consulta às séries.
42 50 *
43 51 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
... ... @@ -71,9 +79,66 @@ public class SeriesResource {
71 79  
72 80 list.removeIf(serie -> !serie.getNome().toLowerCase().contains(filtro.toLowerCase()));
73 81  
  82 + if(list.isEmpty()){
  83 + throw new NotFoundException(messages.getMessage("erro.series.nao.encontradas"));
  84 + }
  85 +
74 86 return list.toArray(new Serie[list.size()]);
75 87 }
76 88  
77 89 return series;
78 90 }
  91 +
  92 + /**
  93 + * @api {get} /:unidade/tipos-documentos Listar tipos documentos
  94 + * @apiName listarTiposDocumentos
  95 + * @apiGroup Documento
  96 + * @apiVersion 2.0.0
  97 + *
  98 + * @apiPermission RO_SEI_BROKER
  99 + *
  100 + * @apiDescription Lista os tipos de documentos do SEI.
  101 + *
  102 + * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
  103 + *
  104 + * @apiParam (Query Parameters) {String} [filtro] Para filtrar por documentos que contenham o trecho no nome.
  105 + *
  106 + * @apiExample {curl} Exemplo de requisição:
  107 + * curl -i https://<host>/sei-broker/service/COSAP/tipos-documentos
  108 + *
  109 + * @apiSuccess (Sucesso - 200) {List} tipos Lista com os tipos de documentos
  110 + * @apiSuccess (Sucesso - 200) {String} tipos.identificador Identificador do tipo de documento
  111 + * @apiSuccess (Sucesso - 200) {String} tipos.nome Nome do tipo de documento
  112 + * @apiSuccess (Sucesso - 200) {String} series.aplicabilidade T = Documentos internos e externos, I = documentos internos, E = documentos externos e F = formulários
  113 + *
  114 + * @apiErrorExample {json} Error-Response:
  115 + * HTTP/1.1 500 Internal Server Error
  116 + * {
  117 + * "error":"Mensagem de erro."
  118 + * "code":"código do erro"
  119 + * }
  120 + */
  121 + @GET
  122 + @Path("{unidade}/tipos-documentos")
  123 + @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  124 + public Response listarTiposDocumentos(@PathParam("unidade") String unidade, @QueryParam("filtro") String filtro) throws Exception{
  125 + Serie[] series = listarSeries(unidade, null, filtro);
  126 +
  127 + if(series == null || series.length < 1){
  128 + throw new NotFoundException(messages.getMessage("erro.tipo.documento.nao.encontrado"));
  129 + }
  130 +
  131 + return Response.ok(new GenericEntity<List<TipoDocumento>>(getTiposDocumentos(series)){}).build();
  132 + }
  133 +
  134 + public List<TipoDocumento> getTiposDocumentos(Serie[] series){
  135 + List<TipoDocumento> tipos = new ArrayList<TipoDocumento>();
  136 +
  137 + for(Serie s : series){
  138 + tipos.add(new TipoDocumento(s.getIdSerie(), s.getNome(), s.getAplicabilidade()));
  139 + }
  140 +
  141 + return tipos;
  142 + }
  143 +
79 144 }
... ...
src/main/java/br/gov/ans/integracao/sei/rest/SiparResource.java 0 → 100644
... ... @@ -0,0 +1,237 @@
  1 +package br.gov.ans.integracao.sei.rest;
  2 +
  3 +import java.net.URI;
  4 +import java.util.Date;
  5 +
  6 +import javax.inject.Inject;
  7 +import javax.ws.rs.Consumes;
  8 +import javax.ws.rs.DELETE;
  9 +import javax.ws.rs.POST;
  10 +import javax.ws.rs.Path;
  11 +import javax.ws.rs.PathParam;
  12 +import javax.ws.rs.core.Context;
  13 +import javax.ws.rs.core.MediaType;
  14 +import javax.ws.rs.core.Response;
  15 +import javax.ws.rs.core.Response.Status;
  16 +import javax.ws.rs.core.UriBuilder;
  17 +import javax.ws.rs.core.UriInfo;
  18 +
  19 +import org.jboss.logging.Logger;
  20 +
  21 +import br.gov.ans.exceptions.BusinessException;
  22 +import br.gov.ans.exceptions.ResourceConflictException;
  23 +import br.gov.ans.exceptions.ResourceNotFoundException;
  24 +import br.gov.ans.integracao.sei.dao.SiparDAO;
  25 +import br.gov.ans.integracao.sipar.dao.ControleMigracao;
  26 +import br.gov.ans.integracao.sipar.dao.ControleMigracaoId;
  27 +import br.gov.ans.utils.MessageUtils;
  28 +
  29 +@Path("/sipar")
  30 +public class SiparResource {
  31 +
  32 + @Inject
  33 + private SiparDAO dao;
  34 +
  35 + @Inject
  36 + private MessageUtils messages;
  37 +
  38 + @Inject
  39 + private Logger logger;
  40 +
  41 + @Context
  42 + private UriInfo uriInfo;
  43 +
  44 + private static int TRUE = 1;
  45 + private static int FALSE = 0;
  46 +
  47 + /**
  48 + * @api {post} /sipar/importados Importar Processo
  49 + * @apiName importarProcesso
  50 + * @apiGroup SIPAR
  51 + * @apiVersion 2.0.0
  52 + *
  53 + * @apiDescription Marca um processo físico (SIPAR) como importado para um processo eletrônico (SEI).
  54 + *
  55 + * @apiParam (Header Parameters) {String} content-type Informar text/plain
  56 + * @apiParam (Request Body) {String} processo Número do processo a ser importado
  57 + *
  58 + * @apiExample Exemplo de requisição:
  59 + * endpoint: [POST] http://<host>/sei-broker/service/sipar/importados
  60 + *
  61 + * body:
  62 + * 33902112492200241
  63 + *
  64 + * @apiSuccessExample {json} Success-Response:
  65 + * HTTP/1.1 201 Created
  66 + *
  67 + * @apiErrorExample {json} Error-Response:
  68 + * HTTP/1.1 500 Internal Server Error
  69 + * {
  70 + * "error":"Mensagem de erro."
  71 + * "code":"código do erro"
  72 + * }
  73 + *
  74 + *
  75 + * @apiErrorExample {json} Error-Response:
  76 + * HTTP/1.1 400 Bad Request
  77 + * {
  78 + * "error":"Mensagem de erro."
  79 + * "code":"código do erro"
  80 + * }
  81 + *
  82 + *
  83 + * @apiErrorExample {json} Error-Response:
  84 + * HTTP/1.1 409 Conflict
  85 + * {
  86 + * "error":"Mensagem de erro."
  87 + * "code":"código do erro"
  88 + * }
  89 + */
  90 + @POST
  91 + @Path("/importados")
  92 + @Consumes({MediaType.TEXT_PLAIN})
  93 + public Response importarProcesso(String processo) throws Exception{
  94 + String numero, ano, digito;
  95 +
  96 + try{
  97 + numero = extraiNumero(processo);
  98 + ano = extraiAno(processo);
  99 + digito = extraiDigitoVerificador(processo);
  100 + }catch(Exception ex){
  101 + logger.error(messages.getMessage("erro.numero.sipar"), ex);
  102 + throw new BusinessException(messages.getMessage("erro.numero.sipar",processo));
  103 + }
  104 +
  105 + isProcessoSipar(numero, ano, digito);
  106 +
  107 + if(isProcessoImportado(numero, ano)){
  108 + throw new ResourceConflictException(messages.getMessage("erro.processo.sipar.importado",processo));
  109 + }
  110 +
  111 + importarProcesso(numero, ano);
  112 +
  113 + return Response.created(getResourcePath(processo)).build();
  114 +
  115 + }
  116 +
  117 + /**
  118 + * @api {delete} /sipar/importados/:processo Cancelar Importação Processo
  119 + * @apiName cancelarImportacaoProcesso
  120 + * @apiGroup SIPAR
  121 + * @apiVersion 2.0.0
  122 + *
  123 + * @apiDescription Desmarca um processo físico (SIPAR) como importado para um processo eletrônico (SEI).
  124 + *
  125 + * @apiParam (Path Parameter) {String} processo Número do processo físico existente no SIPAR contendo 17 dígitos e iniciado com 33902. Ex. 33902111111111111
  126 + *
  127 + * @apiExample {curl} Exemplo de requisição:
  128 + * curl -X DELETE http://<host>/sei-broker/service/sipar/importados/33902112492200241
  129 + *
  130 + * @apiSuccessExample {json} Success-Response:
  131 + * HTTP/1.1 204 No Content
  132 + *
  133 + * @apiErrorExample {json} Error-Response:
  134 + * HTTP/1.1 500 Internal Server Error
  135 + * {
  136 + * "error":"Mensagem de erro."
  137 + * "code":"código do erro"
  138 + * }
  139 + *
  140 + *
  141 + * @apiErrorExample {json} Error-Response:
  142 + * HTTP/1.1 400 Bad Request
  143 + * {
  144 + * "error":"Mensagem de erro."
  145 + * "code":"código do erro"
  146 + * }
  147 + *
  148 + *
  149 + * @apiErrorExample {json} Error-Response:
  150 + * HTTP/1.1 404 Not Found
  151 + * {
  152 + * "error":"Mensagem de erro."
  153 + * "code":"código do erro"
  154 + * }
  155 + */
  156 + @DELETE
  157 + @Path("/importados/{processo:\\d+}")
  158 + public Response cancelarImportacaoProcesso(@PathParam("processo") String processo) throws Exception{
  159 + String numero, ano, digito;
  160 +
  161 + try{
  162 + numero = extraiNumero(processo);
  163 + ano = extraiAno(processo);
  164 + digito = extraiDigitoVerificador(processo);
  165 + }catch(Exception ex){
  166 + logger.error(messages.getMessage("erro.numero.sipar"), ex);
  167 + throw new BusinessException(messages.getMessage("erro.numero.sipar",processo));
  168 + }
  169 +
  170 + if(!isProcessoImportado(numero, ano)){
  171 + throw new ResourceNotFoundException(messages.getMessage("erro.processo.nao.importado",processo));
  172 + }
  173 +
  174 + cancelarImportacaoProcesso(numero, ano);
  175 +
  176 + return Response.noContent().build();
  177 +
  178 + }
  179 +
  180 + private void importarProcesso(String numeroDocumento, String anoDocumento){
  181 + ControleMigracao controle = new ControleMigracao();
  182 + controle.setId(getControleMigracaoID(numeroDocumento, anoDocumento));
  183 + controle.setMigrado(TRUE);
  184 + controle.setDataUltimaAlteracao(new Date());
  185 +
  186 + dao.merge(controle);
  187 + }
  188 +
  189 + private void cancelarImportacaoProcesso(String numeroDocumento, String anoDocumento){
  190 + ControleMigracao controle = new ControleMigracao();
  191 + controle.setId(getControleMigracaoID(numeroDocumento, anoDocumento));
  192 + controle.setMigrado(FALSE);
  193 + controle.setDataUltimaAlteracao(new Date());
  194 +
  195 + dao.merge(controle);
  196 + }
  197 +
  198 + private ControleMigracaoId getControleMigracaoID(String numeroDocumento, String anoDocumento){
  199 + return new ControleMigracaoId(numeroDocumento, anoDocumento);
  200 + }
  201 +
  202 + private String extraiNumero(String processo) {
  203 + return processo.substring(0,(processo.length() - 6));
  204 + }
  205 +
  206 + private String extraiAno(String processo) {
  207 + return processo.substring((processo.length() - 6), (processo.length() - 2));
  208 + }
  209 +
  210 + private String extraiDigitoVerificador(String processo) {
  211 + return processo.substring((processo.length() - 2), processo.length());
  212 + }
  213 +
  214 + public boolean isProcessoImportado(String numeroDocumento, String anoDocumento){
  215 + ControleMigracao processoMigrado = dao.buscaProcessoImportado(getControleMigracaoID(numeroDocumento, anoDocumento));
  216 +
  217 + if(processoMigrado != null && processoMigrado.isProcessoMigrado()){
  218 + return true;
  219 + }
  220 +
  221 + return false;
  222 + }
  223 +
  224 + public void isProcessoSipar(String numeroDocumento, String anoDocumento, String digitoDocumento) throws ResourceNotFoundException{
  225 + if(dao.getDocumento(numeroDocumento, anoDocumento, digitoDocumento) == null){
  226 + throw new ResourceNotFoundException(messages.getMessage("erro.processo.nao.pertence.sipar",(numeroDocumento+anoDocumento+digitoDocumento)));
  227 + }
  228 + }
  229 +
  230 + public URI getResourcePath(String resourceId){
  231 + UriBuilder builder = uriInfo.getAbsolutePathBuilder();
  232 +
  233 + builder.path(resourceId);
  234 +
  235 + return builder.build();
  236 + }
  237 +}
... ...
src/main/java/br/gov/ans/integracao/sei/rest/TarefaResource.java
... ... @@ -29,7 +29,9 @@ public class TarefaResource {
29 29 * @apiName listarTarefas
30 30 * @apiGroup Tarefa
31 31 * @apiVersion 2.0.0
32   - *
  32 + *
  33 + * @apiPermission RO_SEI_BROKER
  34 + *
33 35 * @apiDescription Lista os tipos de tarefas existentes no SEI.
34 36 *
35 37 * @apiParam (Query Parameters) {String} [nome] Filtro para o nome da tarefa.
... ...
src/main/java/br/gov/ans/integracao/sei/rest/TipoConferenciaResource.java
... ... @@ -14,6 +14,7 @@ import br.gov.ans.integracao.sei.client.TipoConferencia;
14 14 import br.gov.ans.integracao.sei.modelo.Operacao;
15 15 import br.gov.ans.integracao.sei.utils.Constantes;
16 16  
  17 +@Path("/")
17 18 public class TipoConferenciaResource {
18 19  
19 20 @Inject
... ... @@ -27,7 +28,9 @@ public class TipoConferenciaResource {
27 28 * @apiName listarTiposConferencia
28 29 * @apiGroup Tipos Conferência
29 30 * @apiVersion 2.0.0
30   - *
  31 + *
  32 + * @apiPermission RO_SEI_BROKER
  33 + *
31 34 * @apiDescription Lista os tipos de conferência.
32 35 *
33 36 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
... ...
src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java
... ... @@ -4,7 +4,6 @@ import java.rmi.RemoteException;
4 4 import java.util.ArrayList;
5 5 import java.util.HashMap;
6 6  
7   -import javax.ejb.Stateless;
8 7 import javax.inject.Inject;
9 8 import javax.ws.rs.GET;
10 9 import javax.ws.rs.Path;
... ... @@ -22,7 +21,6 @@ import br.gov.ans.integracao.sei.utils.Constantes;
22 21 import br.gov.ans.utils.MessageUtils;
23 22  
24 23 @Path("/unidades")
25   -@Stateless
26 24 public class UnidadeResource {
27 25  
28 26 @Inject
... ... @@ -41,7 +39,9 @@ public class UnidadeResource {
41 39 * @apiName listarUnidades
42 40 * @apiGroup Unidade
43 41 * @apiVersion 2.0.0
44   - *
  42 + *
  43 + * @apiPermission RO_SEI_BROKER
  44 + *
45 45 * @apiDescription Retorna as Unidades cadastradas no SEI.
46 46 *
47 47 * @apiExample {curl} Exemplo de requisição:
... ... @@ -61,11 +61,11 @@ public class UnidadeResource {
61 61 */
62 62 @GET
63 63 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
64   - public br.gov.ans.integracao.sei.client.Unidade[] listarUnidades() throws RemoteException{
  64 + public br.gov.ans.integracao.sei.client.Unidade[] listarUnidades() throws Exception{
65 65 return seiNativeService.listarUnidades(Constantes.SEI_BROKER, Operacao.LISTAR_UNIDADES, null, null);
66 66 }
67 67  
68   - public HashMap<String,String> getUnidades() throws RemoteException {
  68 + public HashMap<String,String> getUnidades() throws Exception {
69 69 if(unidades == null){
70 70 logger.info(messages.getMessage("carregando.unidades"));
71 71  
... ... @@ -86,7 +86,9 @@ public class UnidadeResource {
86 86 * @apiName consultarCodigo
87 87 * @apiGroup Unidade
88 88 * @apiVersion 2.0.0
89   - *
  89 + *
  90 + * @apiPermission RO_SEI_BROKER
  91 + *
90 92 * @apiDescription Retorna o código da Unidade pesquisada.
91 93 *
92 94 * @apiParam (Path Parameters) {String} unidade Sigla da Unidade que deseja consultar o código
... ... @@ -109,6 +111,10 @@ public class UnidadeResource {
109 111 public String consultarCodigo(@PathParam("chave") String chave) throws Exception{
110 112 logger.debug(messages.getMessage("consultando.unidade",chave));
111 113  
  114 + if(isInteger(chave)){
  115 + return chave;
  116 + }
  117 +
112 118 if(!getUnidades().containsKey(chave.toUpperCase())){
113 119 throw new BusinessException(messages.getMessage("erro.unidade.nao.encontrada", chave));
114 120 }
... ...
src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java
... ... @@ -4,15 +4,16 @@ import static br.gov.ans.integracao.sei.utils.Util.formatarNumeroProcesso;
4 4 import static br.gov.ans.integracao.sei.utils.Util.getSOuN;
5 5 import static br.gov.ans.integracao.sei.utils.Util.trueOrFalse;
6 6  
  7 +import java.rmi.RemoteException;
7 8 import java.util.Arrays;
8 9 import java.util.List;
9 10  
10   -import javax.ejb.Stateless;
11 11 import javax.inject.Inject;
12 12 import javax.ws.rs.Consumes;
  13 +import javax.ws.rs.DELETE;
13 14 import javax.ws.rs.GET;
  15 +import javax.ws.rs.NotFoundException;
14 16 import javax.ws.rs.POST;
15   -import javax.ws.rs.PUT;
16 17 import javax.ws.rs.Path;
17 18 import javax.ws.rs.PathParam;
18 19 import javax.ws.rs.Produces;
... ... @@ -29,7 +30,6 @@ import br.gov.ans.integracao.sip.client.SIPSoapClient;
29 30 import br.gov.ans.utils.MessageUtils;
30 31  
31 32 @Path("/")
32   -@Stateless
33 33 public class UsuarioResource {
34 34  
35 35 @Inject
... ... @@ -49,11 +49,14 @@ public class UsuarioResource {
49 49 * @apiName listarUsuarios
50 50 * @apiGroup Usuario
51 51 * @apiVersion 2.0.0
52   - *
  52 + *
  53 + * @apiPermission RO_SEI_BROKER
  54 + *
53 55 * @apiDescription Este método realiza uma consulta aos usuários cadastrados que possuem o perfil "Básico".
54 56 *
55   - * @apiParam {String} unidade Sigla da Unidade cadastrada no SEI
56   - * @apiParam {String} [usuario=null] Id do usuário que deseja recuperar as informações
  57 + * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
  58 + *
  59 + * @apiParam (Query Parameters) {String} [usuario=null] Id do usuário que deseja recuperar as informações
57 60 *
58 61 * @apiExample {curl} Exemplo de requisição:
59 62 * curl -i http://<host>/sei-broker/service/usuarios/COSAP
... ... @@ -70,23 +73,26 @@ public class UsuarioResource {
70 73 @GET
71 74 @Path("/{unidade}/usuarios")
72 75 @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
73   - public br.gov.ans.integracao.sei.client.Usuario[] listarUsuarios(@PathParam("unidade") String unidade, @QueryParam("usuario") String usuario) throws Exception{
  76 + public br.gov.ans.integracao.sei.client.Usuario[] listarUsuarios(@PathParam("unidade") String unidade, @QueryParam("usuario") String usuario) throws RemoteException, Exception{
74 77 return seiNativeService.listarUsuarios(Constantes.SEI_BROKER, Operacao.LISTAR_USUARIOS, unidadeResource.consultarCodigo(unidade), usuario);
75 78 }
76 79  
77 80  
78 81 /**
79   - * @api {get} /usuarios/:usuario Buscar usuário
  82 + * @api {get} :unidade/usuarios/:usuario Buscar usuário
80 83 * @apiName buscarUsuario
81 84 * @apiGroup Usuario
82 85 * @apiVersion 2.0.0
83   - *
  86 + *
  87 + * @apiPermission RO_SEI_BROKER
  88 + *
84 89 * @apiDescription Este método realiza a uma busca pelo login do usuário.
85 90 *
86   - * @apiParam {String} usuario Login do usuário
  91 + * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI.
  92 + * @apiParam (Path Parameters) {String} usuario Login do usuário
87 93 *
88 94 * @apiExample Exemplo de requisição:
89   - * curl -i http://<host>/sei-broker/service/usuarios/andre.guimaraes
  95 + * curl -i http://<host>/sei-broker/service/cosap/usuarios/andre.guimaraes
90 96 *
91 97 * @apiSuccess {Usuario} usuario Informações do usuário encontrado.
92 98 *
... ... @@ -109,13 +115,16 @@ public class UsuarioResource {
109 115 * @apiName atribuirProcesso
110 116 * @apiGroup Usuario
111 117 * @apiVersion 2.0.0
112   - *
  118 + *
  119 + * @apiPermission RO_SEI_BROKER
  120 + *
113 121 * @apiDescription Este método atribui o processo a um usuário.
114 122 *
115   - * @apiParam {String} unidade Sigla da Unidade cadastrada no SEI
116   - * @apiParam {String} processo Numero do processo a ser atribuído
117   - * @apiParam {String} usuario Login do usuário a quem deseja atribuir o processo
118   - * @apiParam {String} [reabrir-processo=N] S ou N para reabrir o processo
  123 + * @apiParam (Path Parameters) {String} unidade Sigla da Unidade cadastrada no SEI
  124 + * @apiParam (Path Parameters) {String} usuario Login do usuário a quem deseja atribuir o processo
  125 + *
  126 + * @apiParam (Request Body) {String} processo Numero do processo a ser atribuído
  127 + * @apiParam (Request Body) {String} [reabrir-processo=N] S ou N para reabrir o processo
119 128 *
120 129 * @apiExample Exemplo de requisição:
121 130 * endpoint: [POST] http://<host>/sei-broker/service/COSAP/usuarios/andre.guimaraes/processos
... ... @@ -148,19 +157,21 @@ public class UsuarioResource {
148 157 }
149 158  
150 159 /**
151   - * @api {post} /usuarios/incluir-alterar Incluir ou alterar usuário
  160 + * @api {post} /usuarios Incluir usuário
152 161 * @apiName incluirUsuario
153 162 * @apiGroup Usuario
154 163 * @apiVersion 2.0.0
155   - *
  164 + *
  165 + * @apiPermission RO_SEI_BROKER_ADM
  166 + *
156 167 * @apiDescription Este método realiza a inclusão de novos usuários ou alterarações nos usuários existentes.
157 168 *
158   - * @apiParam {String} codigo Código que deseja atribuir ao usuário
159   - * @apiParam {String} nome Nome do usuário
160   - * @apiParam {String} login Login que será atribuído ao usuário
  169 + * @apiParam (Request Body) {String} codigo Código que deseja atribuir ao usuário
  170 + * @apiParam (Request Body) {String} nome Nome do usuário
  171 + * @apiParam (Request Body) {String} login Login que será atribuído ao usuário
161 172 *
162 173 * @apiExample Exemplo de requisição:
163   - * endpoint: http://<host>/sei-broker/service/usuarios/incluir-alterar
  174 + * endpoint: http://<host>/sei-broker/service/usuarios
164 175 *
165 176 * body:
166 177 * {
... ... @@ -179,7 +190,7 @@ public class UsuarioResource {
179 190 * }
180 191 */
181 192 @POST
182   - @Path("/usuarios/incluir-alterar")
  193 + @Path("/usuarios")
183 194 @Consumes({MediaType.APPLICATION_JSON})
184 195 @Produces(MediaType.APPLICATION_JSON)
185 196 public Boolean incluirUsuario(Usuario usuario) throws Exception{
... ... @@ -188,11 +199,13 @@ public class UsuarioResource {
188 199  
189 200  
190 201 /**
191   - * @api {post} /usuarios/excluir Excluir usuário
  202 + * @api {delete} /usuarios/:login Excluir usuário
192 203 * @apiName excluirUsuario
193 204 * @apiGroup Usuario
194 205 * @apiVersion 2.0.0
195   - *
  206 + *
  207 + * @apiPermission RO_SEI_BROKER_ADM
  208 + *
196 209 * @apiDescription Este método realiza a exclusão de usuários.
197 210 *
198 211 * @apiParam {String} codigo Código que deseja atribuir ao usuário
... ... @@ -200,7 +213,7 @@ public class UsuarioResource {
200 213 * @apiParam {String} login Login que será atribuído ao usuário
201 214 *
202 215 * @apiExample Exemplo de requisição:
203   - * endpoint: http://<host>/sei-broker/service/usuarios/excluir
  216 + * endpoint: [DELETE] http://<host>/sei-broker/service/usuarios/andre.guimaraes
204 217 *
205 218 * body:
206 219 * {
... ... @@ -218,21 +231,23 @@ public class UsuarioResource {
218 231 * "code":"código do erro"
219 232 * }
220 233 */
221   - @POST
222   - @Path("/usuarios/excluir")
  234 + @DELETE
  235 + @Path("/usuarios/{login}")
223 236 @Consumes({MediaType.APPLICATION_JSON})
224 237 @Produces(MediaType.APPLICATION_JSON)
225   - public Boolean excluirUsuario(Usuario usuario) throws Exception{
  238 + public Boolean excluirUsuario(@PathParam("login") String login,Usuario usuario) throws Exception{
226 239 return manterUsuario(Acao.EXCLUIR, usuario);
227 240 }
228 241  
229 242  
230 243 /**
231   - * @api {put} /usuarios/desativar Desativar usuário
  244 + * @api {delete} /usuarios/ativos Desativar usuário
232 245 * @apiName desativarUsuario
233 246 * @apiGroup Usuario
234 247 * @apiVersion 2.0.0
235   - *
  248 + *
  249 + * @apiPermission RO_SEI_BROKER_ADM
  250 + *
236 251 * @apiDescription Este método desativa usuários.
237 252 *
238 253 * @apiParam {String} codigo Código que deseja atribuir ao usuário
... ... @@ -240,7 +255,7 @@ public class UsuarioResource {
240 255 * @apiParam {String} login Login que será atribuído ao usuário
241 256 *
242 257 * @apiExample Exemplo de requisição:
243   - * endpoint: http://<host>/sei-broker/service/usuarios/desativar
  258 + * endpoint: [DELETE] http://<host>/sei-broker/service/usuarios/ativos/andre.guimaraes
244 259 *
245 260 * body:
246 261 * {
... ... @@ -258,21 +273,23 @@ public class UsuarioResource {
258 273 * "code":"código do erro"
259 274 * }
260 275 */
261   - @PUT
262   - @Path("/usuarios/desativar")
  276 + @DELETE
  277 + @Path("/usuarios/ativos/{login}")
263 278 @Consumes({MediaType.APPLICATION_JSON})
264 279 @Produces(MediaType.APPLICATION_JSON)
265   - public Boolean desativarUsuario(Usuario usuario) throws Exception{
  280 + public Boolean desativarUsuario(@PathParam("login") String login,Usuario usuario) throws Exception{
266 281 return manterUsuario(Acao.DESATIVAR, usuario);
267 282 }
268 283  
269 284  
270 285 /**
271   - * @api {put} /usuarios/ativar Ativar usuário
  286 + * @api {post} /usuarios/ativos Ativar usuário
272 287 * @apiName ativarUsuario
273 288 * @apiGroup Usuario
274 289 * @apiVersion 2.0.0
275   - *
  290 + *
  291 + * @apiPermission RO_SEI_BROKER_ADM
  292 + *
276 293 * @apiDescription Este método reativa usuários.
277 294 *
278 295 * @apiParam {String} codigo Código que deseja atribuir ao usuário
... ... @@ -280,7 +297,7 @@ public class UsuarioResource {
280 297 * @apiParam {String} login Login que será atribuído ao usuário
281 298 *
282 299 * @apiExample Exemplo de requisição:
283   - * endpoint: http://<host>/sei-broker/service/usuarios/ativar
  300 + * endpoint: http://<host>/sei-broker/service/usuarios/ativos
284 301 *
285 302 * body:
286 303 * {
... ... @@ -298,8 +315,8 @@ public class UsuarioResource {
298 315 * "code":"código do erro"
299 316 * }
300 317 */
301   - @PUT
302   - @Path("/usuarios/ativar")
  318 + @POST
  319 + @Path("/usuarios/ativos")
303 320 @Consumes({MediaType.APPLICATION_JSON})
304 321 @Produces(MediaType.APPLICATION_JSON)
305 322 public Boolean ativarUsuario(Usuario usuario) throws Exception{
... ... @@ -311,7 +328,7 @@ public class UsuarioResource {
311 328 return sipClient.replicarUsuario(acao.getCodigoAcao(), usuario.getCodigo(), Constantes.CODIGO_ORGAO_ANS, usuario.getLogin(), usuario.getNome());
312 329 }
313 330  
314   - public br.gov.ans.integracao.sei.client.Usuario getUsuario(String loginUsuario, String unidade) throws Exception{
  331 + public br.gov.ans.integracao.sei.client.Usuario getUsuario(String loginUsuario, String unidade) throws NotFoundException,Exception{
315 332 br.gov.ans.integracao.sei.client.Usuario usuario = new br.gov.ans.integracao.sei.client.Usuario();
316 333 usuario.setSigla(loginUsuario);
317 334  
... ... @@ -320,7 +337,7 @@ public class UsuarioResource {
320 337 int index = usuarios.indexOf(usuario);
321 338  
322 339 if(index < 0){
323   - throw new Exception(messages.getMessage("erro.usuario.nao.encontrado", loginUsuario));
  340 + throw new NotFoundException(messages.getMessage("erro.usuario.nao.encontrado", loginUsuario));
324 341 }
325 342  
326 343 return usuarios.get(index);
... ...
src/main/java/br/gov/ans/integracao/sipar/dao/ControleMigracao.java 0 → 100644
... ... @@ -0,0 +1,56 @@
  1 +package br.gov.ans.integracao.sipar.dao;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.Date;
  5 +
  6 +import javax.persistence.Column;
  7 +import javax.persistence.EmbeddedId;
  8 +import javax.persistence.Entity;
  9 +import javax.persistence.Table;
  10 +import javax.persistence.Temporal;
  11 +import javax.persistence.TemporalType;
  12 +
  13 +@Entity
  14 +@Table(schema="DBPSIPAR", name="TB_CONTROLE_MIGRACAO_SIPAR_SEI")
  15 +public class ControleMigracao implements Serializable {
  16 +
  17 + private static final long serialVersionUID = 1L;
  18 +
  19 + @EmbeddedId
  20 + private ControleMigracaoId id;
  21 +
  22 + @Temporal(TemporalType.TIMESTAMP)
  23 + @Column(name = "DT_ULTIMA_ALTERACAO_CONTROLE")
  24 + private Date dataUltimaAlteracao;
  25 +
  26 + @Column(name="LG_DOCUMENTO_MIGRACAO_SEI")
  27 + private Integer migrado;
  28 +
  29 + public ControleMigracaoId getId() {
  30 + return id;
  31 + }
  32 +
  33 + public void setId(ControleMigracaoId id) {
  34 + this.id = id;
  35 + }
  36 +
  37 + public Date getDataUltimaAlteracao() {
  38 + return dataUltimaAlteracao;
  39 + }
  40 +
  41 + public void setDataUltimaAlteracao(Date dataUltimaAlteracao) {
  42 + this.dataUltimaAlteracao = dataUltimaAlteracao;
  43 + }
  44 +
  45 + public Integer getMigrado() {
  46 + return migrado;
  47 + }
  48 +
  49 + public void setMigrado(Integer migrado) {
  50 + this.migrado = migrado;
  51 + }
  52 +
  53 + public boolean isProcessoMigrado() {
  54 + return this.migrado == 1 ? true : false;
  55 + }
  56 +}
... ...
src/main/java/br/gov/ans/integracao/sipar/dao/ControleMigracaoId.java 0 → 100644
... ... @@ -0,0 +1,61 @@
  1 +package br.gov.ans.integracao.sipar.dao;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +import javax.persistence.Column;
  6 +import javax.persistence.Embeddable;
  7 +
  8 +@Embeddable
  9 +public class ControleMigracaoId implements Serializable {
  10 +
  11 + private static final long serialVersionUID = 1L;
  12 +
  13 + @Column(name = "CD_SEQ_DOCUMENTO")
  14 + private String numero;
  15 +
  16 + @Column(name = "NR_ANO_DOCUMENTO")
  17 + private String ano;
  18 +
  19 + public ControleMigracaoId() {
  20 + }
  21 +
  22 + public ControleMigracaoId(String numero, String ano) {
  23 + this.numero = numero;
  24 + this.ano = ano;
  25 + }
  26 +
  27 + public String getNumero() {
  28 + return numero;
  29 + }
  30 +
  31 + public void setNumero(String numero) {
  32 + this.numero = numero;
  33 + }
  34 +
  35 + public String getAno() {
  36 + return ano;
  37 + }
  38 +
  39 + public void setAno(String ano) {
  40 + this.ano = ano;
  41 + }
  42 +
  43 + @Override
  44 + public boolean equals(Object obj) {
  45 + if (obj instanceof ControleMigracao) {
  46 + ControleMigracao controleMigracao = (ControleMigracao) obj;
  47 + return (this.numero != null && this.numero.equals(controleMigracao.getId().getNumero()) &&
  48 + this.ano != null && this.ano.equals(controleMigracao.getId().getAno()));
  49 + }
  50 + return false;
  51 + }
  52 +
  53 + @Override
  54 + public int hashCode() {
  55 + final int numeroPrimo = 31;
  56 + int resultado = 1;
  57 + resultado = (numeroPrimo * resultado) + ((this.numero == null) ? 0 : this.numero.hashCode());
  58 + resultado = (numeroPrimo * resultado) + ((this.ano == null) ? 0 : this.ano.hashCode());
  59 + return resultado;
  60 + }
  61 +}
... ...
src/main/java/br/gov/ans/integracao/sipar/dao/DocumentoSipar.java 0 → 100644
... ... @@ -0,0 +1,130 @@
  1 +package br.gov.ans.integracao.sipar.dao;
  2 +
  3 +import java.util.Date;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.EntityResult;
  7 +import javax.persistence.FieldResult;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.NamedNativeQuery;
  10 +import javax.persistence.SqlResultSetMapping;
  11 +
  12 +@Entity
  13 +@SqlResultSetMapping(name="DocumentoSiparMapping", entities={
  14 + @EntityResult(entityClass = DocumentoSipar.class,
  15 + fields = {
  16 + @FieldResult(name = "digito", column = "NU_DIGITO_DOCUMENTO"),
  17 + @FieldResult(name = "operadora", column = "CO_OPERADORA"),
  18 + @FieldResult(name = "emissao", column = "DT_EMISSAO_DOCUMENTO"),
  19 + @FieldResult(name = "registro", column = "DT_REGISTRO"),
  20 + @FieldResult(name = "tipo", column = "CO_TIPO_DOCUMENTO"),
  21 + @FieldResult(name = "resumo", column = "DS_RESUMO_DOCUMENTO"),
  22 + @FieldResult(name = "orgaoPosse", column = "CO_ORGAO_POSSE"),
  23 + @FieldResult(name = "orgaoOrigem", column = "CO_ORGAO_ORIGEM"),
  24 + @FieldResult(name = "orgaoRegistro", column = "CO_ORGAO_REGISTRO"),
  25 + @FieldResult(name = "assunto", column = "CO_ASSUNTO")
  26 + })
  27 +})
  28 +@NamedNativeQuery(name = "documentoPorNumeroAnoDigito", resultSetMapping = "DocumentoSiparMapping",
  29 +query = "SELECT TB.NU_DIGITO_DOCUMENTO, TB.CO_OPERADORA, TB.DT_EMISSAO_DOCUMENTO, TB.DT_REGISTRO, TB.CO_TIPO_DOCUMENTO, "
  30 + + "TB.DS_RESUMO_DOCUMENTO, TB.CO_ORGAO_POSSE, TB.CO_ORGAO_ORIGEM, TB.CO_ORGAO_REGISTRO, RL.CO_ASSUNTO "
  31 + + "FROM DBPSIPAR.TB_DOCUMENTO TB "
  32 + + "LEFT JOIN DBPSIPAR.RL_ASSUNTO_DOCUMENTO RL ON RL.CO_DOCUMENTO = TB.CO_SEQ_DOCUMENTO "
  33 + + "AND RL.NU_ANO_DOCUMENTO = TB.NU_ANO_DOCUMENTO "
  34 + + "WHERE TB.CO_SEQ_DOCUMENTO = :numeroDocumento "
  35 + + "AND TB.NU_ANO_DOCUMENTO = :anoDocumento "
  36 + + "AND TB.NU_DIGITO_DOCUMENTO = :digitoDocumento")
  37 +public class DocumentoSipar {
  38 + @Id
  39 + private String digito;
  40 + private String operadora;
  41 + private Date emissao;
  42 + private Date registro;
  43 + private String tipo;
  44 + private String resumo;
  45 + private Long orgaoPosse;
  46 + private Long orgaoOrigem;
  47 + private Long orgaoRegistro;
  48 + private Long assunto;
  49 +
  50 + public String getDigito() {
  51 + return digito;
  52 + }
  53 +
  54 + public void setDigito(String digito) {
  55 + this.digito = digito;
  56 + }
  57 +
  58 + public Long getAssunto() {
  59 + return assunto;
  60 + }
  61 +
  62 + public void setAssunto(Long assunto) {
  63 + this.assunto = assunto;
  64 + }
  65 +
  66 + public String getOperadora() {
  67 + return operadora;
  68 + }
  69 +
  70 + public void setOperadora(String operadora) {
  71 + this.operadora = operadora;
  72 + }
  73 +
  74 + public Date getEmissao() {
  75 + return emissao;
  76 + }
  77 +
  78 + public void setEmissao(Date emissao) {
  79 + this.emissao = emissao;
  80 + }
  81 +
  82 + public String getTipo() {
  83 + return tipo;
  84 + }
  85 +
  86 + public void setTipo(String tipo) {
  87 + this.tipo = tipo;
  88 + }
  89 +
  90 + public String getResumo() {
  91 + return resumo;
  92 + }
  93 +
  94 + public void setResumo(String resumo) {
  95 + this.resumo = resumo;
  96 + }
  97 +
  98 + public Long getOrgaoPosse() {
  99 + return orgaoPosse;
  100 + }
  101 +
  102 + public void setOrgaoPosse(Long orgaoPosse) {
  103 + this.orgaoPosse = orgaoPosse;
  104 + }
  105 +
  106 + public Long getOrgaoOrigem() {
  107 + return orgaoOrigem;
  108 + }
  109 +
  110 + public void setOrgaoOrigem(Long orgaoOrigem) {
  111 + this.orgaoOrigem = orgaoOrigem;
  112 + }
  113 +
  114 + public Long getOrgaoRegistro() {
  115 + return orgaoRegistro;
  116 + }
  117 +
  118 + public void setOrgaoRegistro(Long orgaoRegistro) {
  119 + this.orgaoRegistro = orgaoRegistro;
  120 + }
  121 +
  122 + public Date getRegistro() {
  123 + return registro;
  124 + }
  125 +
  126 + public void setRegistro(Date registro) {
  127 + this.registro = registro;
  128 + }
  129 +
  130 +}
... ...
src/main/resources/META-INF/persistence.xml
... ... @@ -7,7 +7,7 @@
7 7  
8 8 <jta-data-source>jdbc/sei-broker</jta-data-source>
9 9  
10   - <class>br.gov.ans.integracao.sei.modelo.DocumentoSipar</class>
  10 + <class>br.gov.ans.integracao.sipar.dao.DocumentoSipar</class>
11 11 <class>br.gov.ans.integracao.sei.modelo.InclusaoDocumento</class>
12 12 <class>br.gov.ans.modelo.LogIntegracaoSistemica</class>
13 13  
... ... @@ -21,10 +21,11 @@
21 21 <persistence-unit name="sei_pu" transaction-type="JTA">
22 22 <jta-data-source>jdbc/sei-mysql</jta-data-source>
23 23  
24   -
25   - <class>br.gov.ans.integracao.sei.modelo.ProcessoResumido</class>
26 24 <class>br.gov.ans.integracao.sei.modelo.Contato</class>
  25 + <class>br.gov.ans.integracao.sei.modelo.DocumentoResumido</class>
  26 + <class>br.gov.ans.integracao.sei.modelo.ProcessoResumido</class>
27 27 <class>br.gov.ans.integracao.sei.modelo.Tarefa</class>
  28 + <class>br.gov.ans.integracao.sei.modelo.Tipo</class>
28 29  
29 30 <properties>
30 31 <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
... ...
src/main/resources/messages.properties
... ... @@ -32,12 +32,18 @@ erro.persistir.confirmacao.inclusao.documento = Ocorreu um erro ao persistir a c
32 32 erro.processar.conteudo.json = Erro ao processar o conteudo JSON, verifique a formação do JSON e se o envio foi realizado em Base64.
33 33 erro.processo.anexado.nao.infomado = Número do processo a anexar não informado.
34 34 erro.processo.incluir.bloco = Não foi possivel incluir o processo no bloco.
  35 +erro.processo.nao.importado = O processo {0} não foi encontrado nos registros de importação.
  36 +erro.processo.nao.pertence.sei = O processo {0} não pertence ao SEI.
  37 +erro.processo.nao.pertence.sipar = O processo {0} não pertence ao SIPAR.
35 38 erro.processo.relacionado.nao.infomado = É necessário informar o número do processo relacionado.
  39 +erro.processo.sem.documentos = Nenhum documento anexado ao processo {0}.
  40 +erro.processo.sipar.importado = O processo {0} já foi importado para o SEI.
36 41 erro.registrar.exclusao.documento = Erro ao registrar a exclusão do documento {0}.
37 42 erro.registro.inclusao = Ocorreu um erro ao persistir o registro de inclusão.
38 43 erro.relacionar.processo = Ocorreu um erro ao relacionar os processos.
39 44 erro.remover.sobrestamento.processo = Ocorreu um erro ao remover o sobrestamento do processo.
40 45 erro.sei = Ocorreu um erro no SEI.
  46 +erro.series.nao.encontradas = Nenhuma série foi encontrada para o filtro informado.
41 47 erro.sobrestar.processo = Ocorreu um erro ao sobrestar o processo.
42 48 erro.tamanho.arquivo = Tamanho do arquivo maior que o permitido para integração.
43 49 erro.tamanho.documento = Tamanho do documento maior que o permitido para integração, utilize o envio particionado.
... ... @@ -50,6 +56,7 @@ erro.template.documento.recebido = O uso de templates é vedado a documentos gera
50 56 erro.template.nao.encontrado = Template {0} não encontrado.
51 57 erro.testar.mysql = Erro ao testar conexao MySQL.
52 58 erro.testar.oracle = Erro ao testar conexao Oracle.
  59 +erro.tipo.documento.nao.encontrado = Nenhum tipo de documento foi encontrado.
53 60 erro.tipo.pessoa.invalido = Tipo de pessoa inválido.
54 61 erro.unidade.nao.encontrada = Unidade {0} não encontrada.
55 62 erro.usuario.nao.encontrado = Usuário {0} não encontrado.
... ...
src/main/webapp/WEB-INF/web.xml
... ... @@ -69,6 +69,21 @@
69 69 </security-constraint>
70 70  
71 71 <security-constraint>
  72 + <display-name>Serviço Rest de Integração ao SEI</display-name>
  73 + <web-resource-collection>
  74 + <web-resource-name>Todos os serviços</web-resource-name>
  75 + <url-pattern>/service/usuarios/*</url-pattern>
  76 + <http-method>DELETE</http-method>
  77 + <http-method>POST</http-method>
  78 + <http-method>PUT</http-method>
  79 + <http-method>GET</http-method>
  80 + </web-resource-collection>
  81 + <auth-constraint>
  82 + <role-name>RO_SEI_BROKER_ADM</role-name>
  83 + </auth-constraint>
  84 + </security-constraint>
  85 +
  86 + <security-constraint>
72 87 <display-name>Serviço Rest de Apoio</display-name>
73 88 <web-resource-collection>
74 89 <web-resource-name>Serviço de verificação da versão</web-resource-name>
... ... @@ -81,6 +96,10 @@
81 96 <security-role>
82 97 <role-name>RO_SEI_BROKER</role-name>
83 98 </security-role>
  99 +
  100 + <security-role>
  101 + <role-name>RO_SEI_BROKER_ADM</role-name>
  102 + </security-role>
84 103  
85 104 <!-- Declaração dos ExceptionHandlers -->
86 105 <context-param>
... ... @@ -142,5 +161,9 @@
142 161 <context-param>
143 162 <param-name>resteasy.sAXExceptionHandler</param-name>
144 163 <param-value>br.gov.ans.exceptions.handlers.SAXExceptionHandler</param-value>
  164 + </context-param>
  165 + <context-param>
  166 + <param-name>resteasy.persistenceExceptionHandler</param-name>
  167 + <param-value>br.gov.ans.exceptions.handlers.PersistenceExceptionHandler</param-value>
145 168 </context-param>
146 169 </web-app>
147 170 \ No newline at end of file
... ...
src/main/webapp/api-docs/api_data.js
... ... @@ -6,6 +6,11 @@ define({ &quot;api&quot;: [
6 6 "name": "adicionarArquivo",
7 7 "group": "Arquivo",
8 8 "version": "2.0.0",
  9 + "permission": [
  10 + {
  11 + "name": "RO_SEI_BROKER"
  12 + }
  13 + ],
9 14 "description": "<p>O serviço criará um arquivo no repositório de documentos e retornará seu identificador. O envio do arquivo poderá ser particionado com chamadas posteriores ao serviço de Adicionar Conteúdo Arquivo. Após todo o conteúdo ser transferido o arquivo será ativado e poderá ser associado com um documento externo no serviço de inclusão de documento. Serão excluídos em 24 horas os arquivos não completados e não associados a um documento.</p>",
10 15 "parameter": {
11 16 "fields": {
... ... @@ -109,7 +114,7 @@ define({ &quot;api&quot;: [
109 114 }
110 115 ]
111 116 },
112   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
  117 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
113 118 "groupTitle": "Arquivo"
114 119 },
115 120 {
... ... @@ -119,6 +124,11 @@ define({ &quot;api&quot;: [
119 124 "name": "adicionarConteudoArquivo",
120 125 "group": "Arquivo",
121 126 "version": "2.0.0",
  127 + "permission": [
  128 + {
  129 + "name": "RO_SEI_BROKER"
  130 + }
  131 + ],
122 132 "description": "<p>Adiciona conteúdo a um arquivo criado, o sistema identificará automaticamente quando o conteúdo foi completado validando o tamanho em bytes e o hash do conteúdo. Quando as condições forem satisfeitas o arquivo será ativado e poderá ser utilizado nas chamadas de inclusão de documento.</p>",
123 133 "parameter": {
124 134 "fields": {
... ... @@ -215,7 +225,7 @@ define({ &quot;api&quot;: [
215 225 }
216 226 ]
217 227 },
218   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
  228 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
219 229 "groupTitle": "Arquivo"
220 230 },
221 231 {
... ... @@ -225,6 +235,11 @@ define({ &quot;api&quot;: [
225 235 "name": "cancelarDisponibilizacaoBloco",
226 236 "group": "Bloco",
227 237 "version": "2.0.0",
  238 + "permission": [
  239 + {
  240 + "name": "RO_SEI_BROKER"
  241 + }
  242 + ],
228 243 "description": "<p>Cancela a disponibilização de blocos.</p>",
229 244 "parameter": {
230 245 "fields": {
... ... @@ -275,7 +290,7 @@ define({ &quot;api&quot;: [
275 290 }
276 291 ]
277 292 },
278   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  293 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
279 294 "groupTitle": "Bloco"
280 295 },
281 296 {
... ... @@ -285,6 +300,11 @@ define({ &quot;api&quot;: [
285 300 "name": "consultarBloco",
286 301 "group": "Bloco",
287 302 "version": "2.0.0",
  303 + "permission": [
  304 + {
  305 + "name": "RO_SEI_BROKER"
  306 + }
  307 + ],
288 308 "description": "<p>Recupera as informações do bloco informado.</p>",
289 309 "parameter": {
290 310 "fields": {
... ... @@ -478,7 +498,7 @@ define({ &quot;api&quot;: [
478 498 }
479 499 ]
480 500 },
481   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  501 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
482 502 "groupTitle": "Bloco"
483 503 },
484 504 {
... ... @@ -488,6 +508,11 @@ define({ &quot;api&quot;: [
488 508 "name": "disponibilizarBloco",
489 509 "group": "Bloco",
490 510 "version": "2.0.0",
  511 + "permission": [
  512 + {
  513 + "name": "RO_SEI_BROKER"
  514 + }
  515 + ],
491 516 "description": "<p>Disponibiliza um determinado bloco.</p>",
492 517 "parameter": {
493 518 "fields": {
... ... @@ -540,7 +565,7 @@ define({ &quot;api&quot;: [
540 565 }
541 566 ]
542 567 },
543   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  568 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
544 569 "groupTitle": "Bloco"
545 570 },
546 571 {
... ... @@ -550,6 +575,11 @@ define({ &quot;api&quot;: [
550 575 "name": "excluirBloco",
551 576 "group": "Bloco",
552 577 "version": "2.0.0",
  578 + "permission": [
  579 + {
  580 + "name": "RO_SEI_BROKER"
  581 + }
  582 + ],
553 583 "description": "<p>Exclui um bloco criado.</p>",
554 584 "parameter": {
555 585 "fields": {
... ... @@ -600,7 +630,7 @@ define({ &quot;api&quot;: [
600 630 }
601 631 ]
602 632 },
603   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  633 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
604 634 "groupTitle": "Bloco"
605 635 },
606 636 {
... ... @@ -610,6 +640,11 @@ define({ &quot;api&quot;: [
610 640 "name": "gerarBloco",
611 641 "group": "Bloco",
612 642 "version": "2.0.0",
  643 + "permission": [
  644 + {
  645 + "name": "RO_SEI_BROKER"
  646 + }
  647 + ],
613 648 "description": "<p>Gera um novo bloco.</p>",
614 649 "parameter": {
615 650 "fields": {
... ... @@ -712,7 +747,7 @@ define({ &quot;api&quot;: [
712 747 }
713 748 ]
714 749 },
715   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  750 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
716 751 "groupTitle": "Bloco"
717 752 },
718 753 {
... ... @@ -722,6 +757,11 @@ define({ &quot;api&quot;: [
722 757 "name": "incluirDocumentoComAnotacaoNoBloco",
723 758 "group": "Bloco",
724 759 "version": "2.0.0",
  760 + "permission": [
  761 + {
  762 + "name": "RO_SEI_BROKER"
  763 + }
  764 + ],
725 765 "description": "<p>Inclui um documento no bloco.</p>",
726 766 "parameter": {
727 767 "fields": {
... ... @@ -789,7 +829,7 @@ define({ &quot;api&quot;: [
789 829 }
790 830 ]
791 831 },
792   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  832 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
793 833 "groupTitle": "Bloco"
794 834 },
795 835 {
... ... @@ -799,6 +839,11 @@ define({ &quot;api&quot;: [
799 839 "name": "incluirDocumentoNoBloco",
800 840 "group": "Bloco",
801 841 "version": "2.0.0",
  842 + "permission": [
  843 + {
  844 + "name": "RO_SEI_BROKER"
  845 + }
  846 + ],
802 847 "description": "<p>Inclui um documento no bloco.</p>",
803 848 "parameter": {
804 849 "fields": {
... ... @@ -858,7 +903,7 @@ define({ &quot;api&quot;: [
858 903 }
859 904 ]
860 905 },
861   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  906 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
862 907 "groupTitle": "Bloco"
863 908 },
864 909 {
... ... @@ -868,6 +913,11 @@ define({ &quot;api&quot;: [
868 913 "name": "incluirProcessoComAnotacaoNoBloco",
869 914 "group": "Bloco",
870 915 "version": "2.0.0",
  916 + "permission": [
  917 + {
  918 + "name": "RO_SEI_BROKER"
  919 + }
  920 + ],
871 921 "description": "<p>Inclui um processo no bloco, junto com uma anotação.</p>",
872 922 "parameter": {
873 923 "fields": {
... ... @@ -948,7 +998,7 @@ define({ &quot;api&quot;: [
948 998 }
949 999 ]
950 1000 },
951   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1001 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
952 1002 "groupTitle": "Bloco"
953 1003 },
954 1004 {
... ... @@ -958,6 +1008,11 @@ define({ &quot;api&quot;: [
958 1008 "name": "incluirProcessoNoBloco",
959 1009 "group": "Bloco",
960 1010 "version": "2.0.0",
  1011 + "permission": [
  1012 + {
  1013 + "name": "RO_SEI_BROKER"
  1014 + }
  1015 + ],
961 1016 "description": "<p>Inclui um processo no bloco.</p>",
962 1017 "parameter": {
963 1018 "fields": {
... ... @@ -1030,7 +1085,7 @@ define({ &quot;api&quot;: [
1030 1085 }
1031 1086 ]
1032 1087 },
1033   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1088 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
1034 1089 "groupTitle": "Bloco"
1035 1090 },
1036 1091 {
... ... @@ -1040,6 +1095,11 @@ define({ &quot;api&quot;: [
1040 1095 "name": "retirarDocumentoDoBloco",
1041 1096 "group": "Bloco",
1042 1097 "version": "2.0.0",
  1098 + "permission": [
  1099 + {
  1100 + "name": "RO_SEI_BROKER"
  1101 + }
  1102 + ],
1043 1103 "description": "<p>Remove o documento do bloco.</p>",
1044 1104 "parameter": {
1045 1105 "fields": {
... ... @@ -1097,7 +1157,7 @@ define({ &quot;api&quot;: [
1097 1157 }
1098 1158 ]
1099 1159 },
1100   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1160 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
1101 1161 "groupTitle": "Bloco"
1102 1162 },
1103 1163 {
... ... @@ -1107,6 +1167,11 @@ define({ &quot;api&quot;: [
1107 1167 "name": "retirarProcessoDoBloco",
1108 1168 "group": "Bloco",
1109 1169 "version": "2.0.0",
  1170 + "permission": [
  1171 + {
  1172 + "name": "RO_SEI_BROKER"
  1173 + }
  1174 + ],
1110 1175 "description": "<p>Este método remove o processo do bloco.</p>",
1111 1176 "parameter": {
1112 1177 "fields": {
... ... @@ -1177,7 +1242,7 @@ define({ &quot;api&quot;: [
1177 1242 }
1178 1243 ]
1179 1244 },
1180   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1245 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
1181 1246 "groupTitle": "Bloco"
1182 1247 },
1183 1248 {
... ... @@ -1203,37 +1268,9 @@ define({ &quot;api&quot;: [
1203 1268 "type": "",
1204 1269 "url": "",
1205 1270 "version": "0.0.0",
1206   - "filename": "sei-broker/src/main/webapp/api-docs/main.js",
1207   - "group": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_src_main_webapp_api_docs_main_js",
1208   - "groupTitle": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_src_main_webapp_api_docs_main_js",
1209   - "name": ""
1210   - },
1211   - {
1212   - "success": {
1213   - "fields": {
1214   - "Success 200": [
1215   - {
1216   - "group": "Success 200",
1217   - "optional": false,
1218   - "field": "varname1",
1219   - "description": "<p>No type.</p>"
1220   - },
1221   - {
1222   - "group": "Success 200",
1223   - "type": "String",
1224   - "optional": false,
1225   - "field": "varname2",
1226   - "description": "<p>With type.</p>"
1227   - }
1228   - ]
1229   - }
1230   - },
1231   - "type": "",
1232   - "url": "",
1233   - "version": "0.0.0",
1234   - "filename": "sei-broker/target/sei-broker-2.1/api-docs/main.js",
1235   - "group": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_target_sei_broker_2_1_api_docs_main_js",
1236   - "groupTitle": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_target_sei_broker_2_1_api_docs_main_js",
  1271 + "filename": "branch_homologacao/src/main/webapp/api-docs/main.js",
  1272 + "group": "C__ANS_sei_broker_Fontes_branches_branch_homologacao_src_main_webapp_api_docs_main_js",
  1273 + "groupTitle": "C__ANS_sei_broker_Fontes_branches_branch_homologacao_src_main_webapp_api_docs_main_js",
1237 1274 "name": ""
1238 1275 },
1239 1276 {
... ... @@ -1243,6 +1280,11 @@ define({ &quot;api&quot;: [
1243 1280 "name": "listarCargos",
1244 1281 "group": "Cargo",
1245 1282 "version": "2.0.0",
  1283 + "permission": [
  1284 + {
  1285 + "name": "RO_SEI_BROKER"
  1286 + }
  1287 + ],
1246 1288 "description": "<p>Lista os cargos.</p>",
1247 1289 "parameter": {
1248 1290 "fields": {
... ... @@ -1323,7 +1365,7 @@ define({ &quot;api&quot;: [
1323 1365 }
1324 1366 ]
1325 1367 },
1326   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/CargoResource.java",
  1368 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/CargoResource.java",
1327 1369 "groupTitle": "Cargo"
1328 1370 },
1329 1371 {
... ... @@ -1333,6 +1375,11 @@ define({ &quot;api&quot;: [
1333 1375 "name": "atualizarContato",
1334 1376 "group": "Contato",
1335 1377 "version": "2.0.0",
  1378 + "permission": [
  1379 + {
  1380 + "name": "RO_SEI_BROKER"
  1381 + }
  1382 + ],
1336 1383 "description": "<p>Atualizar contato</p>",
1337 1384 "parameter": {
1338 1385 "fields": {
... ... @@ -1610,7 +1657,7 @@ define({ &quot;api&quot;: [
1610 1657 }
1611 1658 ]
1612 1659 },
1613   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  1660 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
1614 1661 "groupTitle": "Contato"
1615 1662 },
1616 1663 {
... ... @@ -1620,6 +1667,11 @@ define({ &quot;api&quot;: [
1620 1667 "name": "criarContato",
1621 1668 "group": "Contato",
1622 1669 "version": "2.0.0",
  1670 + "permission": [
  1671 + {
  1672 + "name": "RO_SEI_BROKER"
  1673 + }
  1674 + ],
1623 1675 "description": "<p>Incluir contato</p>",
1624 1676 "parameter": {
1625 1677 "fields": {
... ... @@ -1894,7 +1946,7 @@ define({ &quot;api&quot;: [
1894 1946 }
1895 1947 ]
1896 1948 },
1897   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  1949 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
1898 1950 "groupTitle": "Contato"
1899 1951 },
1900 1952 {
... ... @@ -1904,6 +1956,11 @@ define({ &quot;api&quot;: [
1904 1956 "name": "getContato",
1905 1957 "group": "Contato",
1906 1958 "version": "2.0.0",
  1959 + "permission": [
  1960 + {
  1961 + "name": "RO_SEI_BROKER"
  1962 + }
  1963 + ],
1907 1964 "description": "<p>Consulta contato pela sigla(login)</p>",
1908 1965 "parameter": {
1909 1966 "fields": {
... ... @@ -2183,7 +2240,7 @@ define({ &quot;api&quot;: [
2183 2240 }
2184 2241 ]
2185 2242 },
2186   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  2243 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
2187 2244 "groupTitle": "Contato"
2188 2245 },
2189 2246 {
... ... @@ -2193,6 +2250,11 @@ define({ &quot;api&quot;: [
2193 2250 "name": "listarContatos",
2194 2251 "group": "Contato",
2195 2252 "version": "2.0.0",
  2253 + "permission": [
  2254 + {
  2255 + "name": "RO_SEI_BROKER"
  2256 + }
  2257 + ],
2196 2258 "description": "<p>Consulta os contatos de determinado tipo, o retorno pode ser PessoaFisica ou PessoaJuridica é recomendado utilizar a ans-commons-sei.</p>",
2197 2259 "parameter": {
2198 2260 "fields": {
... ... @@ -2525,7 +2587,7 @@ define({ &quot;api&quot;: [
2525 2587 }
2526 2588 ]
2527 2589 },
2528   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  2590 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
2529 2591 "groupTitle": "Contato"
2530 2592 },
2531 2593 {
... ... @@ -2535,6 +2597,11 @@ define({ &quot;api&quot;: [
2535 2597 "name": "listarTipos",
2536 2598 "group": "Contato",
2537 2599 "version": "2.0.0",
  2600 + "permission": [
  2601 + {
  2602 + "name": "RO_SEI_BROKER"
  2603 + }
  2604 + ],
2538 2605 "description": "<p>Consulta os tipos de contato.</p>",
2539 2606 "parameter": {
2540 2607 "fields": {
... ... @@ -2578,7 +2645,7 @@ define({ &quot;api&quot;: [
2578 2645 }
2579 2646 ]
2580 2647 },
2581   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  2648 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
2582 2649 "groupTitle": "Contato"
2583 2650 },
2584 2651 {
... ... @@ -2588,6 +2655,11 @@ define({ &quot;api&quot;: [
2588 2655 "name": "cancelarDocumento",
2589 2656 "group": "Documento",
2590 2657 "version": "2.0.0",
  2658 + "permission": [
  2659 + {
  2660 + "name": "RO_SEI_BROKER"
  2661 + }
  2662 + ],
2591 2663 "description": "<p>Cancela um documento.</p>",
2592 2664 "parameter": {
2593 2665 "fields": {
... ... @@ -2647,7 +2719,7 @@ define({ &quot;api&quot;: [
2647 2719 }
2648 2720 ]
2649 2721 },
2650   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  2722 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
2651 2723 "groupTitle": "Documento"
2652 2724 },
2653 2725 {
... ... @@ -2657,6 +2729,11 @@ define({ &quot;api&quot;: [
2657 2729 "name": "consultarDocumento",
2658 2730 "group": "Documento",
2659 2731 "version": "2.0.0",
  2732 + "permission": [
  2733 + {
  2734 + "name": "RO_SEI_BROKER"
  2735 + }
  2736 + ],
2660 2737 "description": "<p>Consulta documento cadastrado no SEI.</p>",
2661 2738 "parameter": {
2662 2739 "fields": {
... ... @@ -2984,16 +3061,21 @@ define({ &quot;api&quot;: [
2984 3061 }
2985 3062 ]
2986 3063 },
2987   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3064 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
2988 3065 "groupTitle": "Documento"
2989 3066 },
2990 3067 {
2991 3068 "type": "get",
2992   - "url": "/:interessado/documentos",
2993   - "title": "Consultar por interessados",
  3069 + "url": "/interessados/:interessado/documentos",
  3070 + "title": "Consultar por interessado",
2994 3071 "name": "consultarDocumentoInteressado",
2995 3072 "group": "Documento",
2996 3073 "version": "2.0.0",
  3074 + "permission": [
  3075 + {
  3076 + "name": "RO_SEI_BROKER"
  3077 + }
  3078 + ],
2997 3079 "description": "<p>Retorna os documentos de um determinado interessado.</p>",
2998 3080 "parameter": {
2999 3081 "fields": {
... ... @@ -3011,8 +3093,32 @@ define({ &quot;api&quot;: [
3011 3093 "group": "Query Parameters",
3012 3094 "type": "String",
3013 3095 "optional": true,
3014   - "field": "unidade",
3015   - "description": "<p>Unidade da qual deseja filtrar os documentos</p>"
  3096 + "field": "tipo",
  3097 + "description": "<p>Tipo/Série do documento</p>"
  3098 + },
  3099 + {
  3100 + "group": "Query Parameters",
  3101 + "type": "boolean",
  3102 + "optional": true,
  3103 + "field": "somenteAssinados",
  3104 + "defaultValue": "false",
  3105 + "description": "<p>Exibir somente documentos assinados</p>"
  3106 + },
  3107 + {
  3108 + "group": "Query Parameters",
  3109 + "type": "boolean",
  3110 + "optional": true,
  3111 + "field": "orderByProcesso",
  3112 + "defaultValue": "false",
  3113 + "description": "<p>Ordenar pelo número do processo, por padrão o retorno é ordenado pela dataGeracao</p>"
  3114 + },
  3115 + {
  3116 + "group": "Query Parameters",
  3117 + "type": "boolean",
  3118 + "optional": true,
  3119 + "field": "crescente",
  3120 + "defaultValue": "false",
  3121 + "description": "<p>Ordenar em ordem crescente</p>"
3016 3122 },
3017 3123 {
3018 3124 "group": "Query Parameters",
... ... @@ -3036,7 +3142,7 @@ define({ &quot;api&quot;: [
3036 3142 "examples": [
3037 3143 {
3038 3144 "title": "Exemplo de requisição:\t",
3039   - "content": "curl -i https://<host>/sei-broker/service/363022/documentos",
  3145 + "content": "curl -i https://<host>/sei-broker/service/interessados/005711/documentos",
3040 3146 "type": "json"
3041 3147 }
3042 3148 ],
... ... @@ -3048,42 +3154,35 @@ define({ &quot;api&quot;: [
3048 3154 "type": "List",
3049 3155 "optional": false,
3050 3156 "field": "documentos",
3051   - "description": "<p>Lista com os documentos encontrados</p>"
  3157 + "description": "<p>Lista com os documentos encontrados.</p>"
3052 3158 },
3053 3159 {
3054 3160 "group": "Sucesso Response Body - 200",
3055 3161 "type": "DocumentoResumido",
3056 3162 "optional": false,
3057 3163 "field": "documentos.documentoResumido",
3058   - "description": "<p>Resumo do documento encontrado no SEI</p>"
  3164 + "description": "<p>Resumo do documento encontrado no SEI.</p>"
3059 3165 },
3060 3166 {
3061 3167 "group": "Sucesso Response Body - 200",
3062 3168 "type": "String",
3063 3169 "optional": false,
3064 3170 "field": "documentos.documentoResumido.numero",
3065   - "description": "<p>Número do documento</p>"
3066   - },
3067   - {
3068   - "group": "Sucesso Response Body - 200",
3069   - "type": "String",
3070   - "optional": false,
3071   - "field": "documentos.documentoResumido.tipo",
3072   - "description": "<p>Tipo do documento</p>"
  3171 + "description": "<p>Número do documento.</p>"
3073 3172 },
3074 3173 {
3075 3174 "group": "Sucesso Response Body - 200",
3076 3175 "type": "String",
3077 3176 "optional": false,
3078   - "field": "documentos.documentoResumido.processo",
3079   - "description": "<p>Processo ao qual o documento pertence</p>"
  3177 + "field": "documentos.documentoResumido.numeroInformado",
  3178 + "description": "<p>Número informado na inclusão do documento, também conhecido como número de árvore.</p>"
3080 3179 },
3081 3180 {
3082 3181 "group": "Sucesso Response Body - 200",
3083 3182 "type": "String",
3084 3183 "optional": false,
3085 3184 "field": "documentos.documentoResumido.unidade",
3086   - "description": "<p>Unidade responsável pelo processo</p>"
  3185 + "description": "<p>Unidade responsável pelo documento.</p>"
3087 3186 },
3088 3187 {
3089 3188 "group": "Sucesso Response Body - 200",
... ... @@ -3094,14 +3193,56 @@ define({ &quot;api&quot;: [
3094 3193 ],
3095 3194 "optional": false,
3096 3195 "field": "documentos.documentoResumido.origem",
3097   - "description": "<p>Origem do documento, se o mesmo é um documento &quot;GERADO&quot; internamente ou &quot;RECEBIDO&quot; de uma fonte externa</p>"
  3196 + "description": "<p>Origem do documento, se o mesmo é um documento &quot;GERADO&quot; internamente ou &quot;RECEBIDO&quot; de uma fonte externa.</p>"
3098 3197 },
3099 3198 {
3100 3199 "group": "Sucesso Response Body - 200",
3101 3200 "type": "Data",
3102 3201 "optional": false,
3103 3202 "field": "documentos.documentoResumido.dataGeracao",
3104   - "description": "<p>Data de geração do documento</p>"
  3203 + "description": "<p>Data de geração do documento.</p>"
  3204 + },
  3205 + {
  3206 + "group": "Sucesso Response Body - 200",
  3207 + "type": "String",
  3208 + "optional": false,
  3209 + "field": "documentos.documentoResumido.processo",
  3210 + "description": "<p>Processo onde o documento está incluído.</p>"
  3211 + },
  3212 + {
  3213 + "group": "Sucesso Response Body - 200",
  3214 + "type": "Tipo",
  3215 + "optional": false,
  3216 + "field": "documentos.documentoResumido.tipo",
  3217 + "description": "<p>Objeto representando o tipo do documento.</p>"
  3218 + },
  3219 + {
  3220 + "group": "Sucesso Response Body - 200",
  3221 + "type": "String",
  3222 + "optional": false,
  3223 + "field": "documentos.documentoResumido.tipo.codigo",
  3224 + "description": "<p>Identificados do tipo do documento, também conhecido como série.</p>"
  3225 + },
  3226 + {
  3227 + "group": "Sucesso Response Body - 200",
  3228 + "type": "String",
  3229 + "optional": false,
  3230 + "field": "documentos.documentoResumido.tipo.nome",
  3231 + "description": "<p>Nome do tipo do documento.</p>"
  3232 + },
  3233 + {
  3234 + "group": "Sucesso Response Body - 200",
  3235 + "type": "String",
  3236 + "optional": false,
  3237 + "field": "documentos.documentoResumido.tipoConferencia",
  3238 + "description": "<p>Tipo de conferência do documento.</p>"
  3239 + },
  3240 + {
  3241 + "group": "Sucesso Response Body - 200",
  3242 + "type": "boolean",
  3243 + "optional": false,
  3244 + "field": "documentos.documentoResumido.assinado",
  3245 + "description": "<p>Boolean indicando se o documento foi assinado.</p>"
3105 3246 }
3106 3247 ],
3107 3248 "Sucesso Response Header - 200": [
... ... @@ -3117,7 +3258,7 @@ define({ &quot;api&quot;: [
3117 3258 "examples": [
3118 3259 {
3119 3260 "title": "Success-Response:",
3120   - "content": "HTTP/1.1 200 OK\n{\n \"dataGeracao\": \"2015-08-25T00:00:00-03:00\",\n \"numero\": \"0057646\",\n \"origem\": \"RECEBIDO\",\n \"processo\": \"33902.554351/2015-16\",\n \"tipo\": \"Contrato\",\n \"unidade\": \"COAI\"\n}",
  3261 + "content": "HTTP/1.1 200 OK\n{\n \"numero\": \"0670949\",\n \"numeroInformado\": \"594\",\n \"unidade\": \"COSAP\",\n \"origem\": \"RECEBIDO\",\n \"dataGeracao\": \"2015-08-10T00:00:00-03:00\",\n \"processo\": \"33910.000002/2017-41\",\n \"tipo\": {\n \t\"codigo\": \"629\",\n \t\"nome\": \"Relatório de Arquivamento-SIF\"\n }\n \"tipoConferencia\": \"4\",\n \"assinado\": true\n}",
3121 3262 "type": "json"
3122 3263 }
3123 3264 ]
... ... @@ -3131,7 +3272,7 @@ define({ &quot;api&quot;: [
3131 3272 }
3132 3273 ]
3133 3274 },
3134   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3275 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
3135 3276 "groupTitle": "Documento"
3136 3277 },
3137 3278 {
... ... @@ -3141,6 +3282,11 @@ define({ &quot;api&quot;: [
3141 3282 "name": "consultarDocumentosIncluidosBroker",
3142 3283 "group": "Documento",
3143 3284 "version": "2.0.0",
  3285 + "permission": [
  3286 + {
  3287 + "name": "RO_SEI_BROKER"
  3288 + }
  3289 + ],
3144 3290 "description": "<p>Consulta documentos inclusos pelo SEI-Broker.</p>",
3145 3291 "parameter": {
3146 3292 "fields": {
... ... @@ -3302,7 +3448,7 @@ define({ &quot;api&quot;: [
3302 3448 }
3303 3449 ]
3304 3450 },
3305   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3451 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
3306 3452 "groupTitle": "Documento"
3307 3453 },
3308 3454 {
... ... @@ -3312,6 +3458,11 @@ define({ &quot;api&quot;: [
3312 3458 "name": "exportarDocumento",
3313 3459 "group": "Documento",
3314 3460 "version": "2.0.0",
  3461 + "permission": [
  3462 + {
  3463 + "name": "RO_SEI_BROKER"
  3464 + }
  3465 + ],
3315 3466 "description": "<p>Exporta documentos do SEI em PDF.</p>",
3316 3467 "parameter": {
3317 3468 "fields": {
... ... @@ -3362,7 +3513,7 @@ define({ &quot;api&quot;: [
3362 3513 }
3363 3514 ]
3364 3515 },
3365   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3516 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
3366 3517 "groupTitle": "Documento"
3367 3518 },
3368 3519 {
... ... @@ -3372,6 +3523,11 @@ define({ &quot;api&quot;: [
3372 3523 "name": "incluirDocumento",
3373 3524 "group": "Documento",
3374 3525 "version": "2.0.0",
  3526 + "permission": [
  3527 + {
  3528 + "name": "RO_SEI_BROKER"
  3529 + }
  3530 + ],
3375 3531 "description": "<p>Inclui um documento no SEI, podem ser incluídos documentos internos e externos, para documentos externo o tamanho máximo é 20MB.</p>",
3376 3532 "parameter": {
3377 3533 "fields": {
... ... @@ -3446,7 +3602,7 @@ define({ &quot;api&quot;: [
3446 3602 "type": "String",
3447 3603 "optional": true,
3448 3604 "field": "data",
3449   - "description": "<p>Data do documento, obrigatório para documentos externos. Passar null para documentos gerados</p>"
  3605 + "description": "<p>Data do documento (dd/MM/yyyy), obrigatório para documentos externos. Passar null para documentos gerados.</p>"
3450 3606 },
3451 3607 {
3452 3608 "group": "Request Body",
... ... @@ -3547,7 +3703,7 @@ define({ &quot;api&quot;: [
3547 3703 "\"0 (público)\"",
3548 3704 "\"1 (restrito)\"",
3549 3705 "\"2 (sigiloso)\"",
3550   - "\"null (herda do processo)\""
  3706 + "\"null (herda do tipo de processo)\""
3551 3707 ],
3552 3708 "optional": true,
3553 3709 "field": "nivelAcesso",
... ... @@ -3661,7 +3817,95 @@ define({ &quot;api&quot;: [
3661 3817 }
3662 3818 ]
3663 3819 },
3664   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3820 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3821 + "groupTitle": "Documento"
  3822 + },
  3823 + {
  3824 + "type": "get",
  3825 + "url": "/:unidade/tipos-documentos",
  3826 + "title": "Listar tipos documentos",
  3827 + "name": "listarTiposDocumentos",
  3828 + "group": "Documento",
  3829 + "version": "2.0.0",
  3830 + "permission": [
  3831 + {
  3832 + "name": "RO_SEI_BROKER"
  3833 + }
  3834 + ],
  3835 + "description": "<p>Lista os tipos de documentos do SEI.</p>",
  3836 + "parameter": {
  3837 + "fields": {
  3838 + "Path Parameters": [
  3839 + {
  3840 + "group": "Path Parameters",
  3841 + "type": "String",
  3842 + "optional": false,
  3843 + "field": "unidade",
  3844 + "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  3845 + }
  3846 + ],
  3847 + "Query Parameters": [
  3848 + {
  3849 + "group": "Query Parameters",
  3850 + "type": "String",
  3851 + "optional": true,
  3852 + "field": "filtro",
  3853 + "description": "<p>Para filtrar por documentos que contenham o trecho no nome.</p>"
  3854 + }
  3855 + ]
  3856 + }
  3857 + },
  3858 + "examples": [
  3859 + {
  3860 + "title": "Exemplo de requisição:",
  3861 + "content": "curl -i https://<host>/sei-broker/service/COSAP/tipos-documentos",
  3862 + "type": "curl"
  3863 + }
  3864 + ],
  3865 + "success": {
  3866 + "fields": {
  3867 + "Sucesso - 200": [
  3868 + {
  3869 + "group": "Sucesso - 200",
  3870 + "type": "List",
  3871 + "optional": false,
  3872 + "field": "tipos",
  3873 + "description": "<p>Lista com os tipos de documentos</p>"
  3874 + },
  3875 + {
  3876 + "group": "Sucesso - 200",
  3877 + "type": "String",
  3878 + "optional": false,
  3879 + "field": "tipos.identificador",
  3880 + "description": "<p>Identificador do tipo de documento</p>"
  3881 + },
  3882 + {
  3883 + "group": "Sucesso - 200",
  3884 + "type": "String",
  3885 + "optional": false,
  3886 + "field": "tipos.nome",
  3887 + "description": "<p>Nome do tipo de documento</p>"
  3888 + },
  3889 + {
  3890 + "group": "Sucesso - 200",
  3891 + "type": "String",
  3892 + "optional": false,
  3893 + "field": "series.aplicabilidade",
  3894 + "description": "<p>T = Documentos internos e externos, I = documentos internos, E = documentos externos e F = formulários</p>"
  3895 + }
  3896 + ]
  3897 + }
  3898 + },
  3899 + "error": {
  3900 + "examples": [
  3901 + {
  3902 + "title": "Error-Response:",
  3903 + "content": "HTTP/1.1 500 Internal Server Error\n{\n\t\"error\":\"Mensagem de erro.\"\n\t\"code\":\"código do erro\"\n}",
  3904 + "type": "json"
  3905 + }
  3906 + ]
  3907 + },
  3908 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SeriesResource.java",
3665 3909 "groupTitle": "Documento"
3666 3910 },
3667 3911 {
... ... @@ -3671,6 +3915,11 @@ define({ &quot;api&quot;: [
3671 3915 "name": "getCidade",
3672 3916 "group": "Endereco",
3673 3917 "version": "2.0.0",
  3918 + "permission": [
  3919 + {
  3920 + "name": "RO_SEI_BROKER"
  3921 + }
  3922 + ],
3674 3923 "description": "<p>Consulta a cidade pelo código do IBGE.</p>",
3675 3924 "parameter": {
3676 3925 "fields": {
... ... @@ -3770,7 +4019,7 @@ define({ &quot;api&quot;: [
3770 4019 }
3771 4020 ]
3772 4021 },
3773   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4022 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
3774 4023 "groupTitle": "Endereco"
3775 4024 },
3776 4025 {
... ... @@ -3780,6 +4029,11 @@ define({ &quot;api&quot;: [
3780 4029 "name": "getCidades",
3781 4030 "group": "Endereco",
3782 4031 "version": "2.0.0",
  4032 + "permission": [
  4033 + {
  4034 + "name": "RO_SEI_BROKER"
  4035 + }
  4036 + ],
3783 4037 "description": "<p>Consulta as cidades de um determinado estado.</p>",
3784 4038 "parameter": {
3785 4039 "fields": {
... ... @@ -3888,7 +4142,7 @@ define({ &quot;api&quot;: [
3888 4142 }
3889 4143 ]
3890 4144 },
3891   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4145 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
3892 4146 "groupTitle": "Endereco"
3893 4147 },
3894 4148 {
... ... @@ -3898,6 +4152,11 @@ define({ &quot;api&quot;: [
3898 4152 "name": "getEstado",
3899 4153 "group": "Endereco",
3900 4154 "version": "2.0.0",
  4155 + "permission": [
  4156 + {
  4157 + "name": "RO_SEI_BROKER"
  4158 + }
  4159 + ],
3901 4160 "description": "<p>Consulta o estado pela sigla.</p>",
3902 4161 "parameter": {
3903 4162 "fields": {
... ... @@ -4000,7 +4259,7 @@ define({ &quot;api&quot;: [
4000 4259 }
4001 4260 ]
4002 4261 },
4003   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4262 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
4004 4263 "groupTitle": "Endereco"
4005 4264 },
4006 4265 {
... ... @@ -4010,6 +4269,11 @@ define({ &quot;api&quot;: [
4010 4269 "name": "getEstados",
4011 4270 "group": "Endereco",
4012 4271 "version": "2.0.0",
  4272 + "permission": [
  4273 + {
  4274 + "name": "RO_SEI_BROKER"
  4275 + }
  4276 + ],
4013 4277 "description": "<p>Consulta estados cadastrados.</p>",
4014 4278 "parameter": {
4015 4279 "fields": {
... ... @@ -4102,7 +4366,7 @@ define({ &quot;api&quot;: [
4102 4366 }
4103 4367 ]
4104 4368 },
4105   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4369 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
4106 4370 "groupTitle": "Endereco"
4107 4371 },
4108 4372 {
... ... @@ -4112,6 +4376,11 @@ define({ &quot;api&quot;: [
4112 4376 "name": "getPaises",
4113 4377 "group": "Endereco",
4114 4378 "version": "2.0.0",
  4379 + "permission": [
  4380 + {
  4381 + "name": "RO_SEI_BROKER"
  4382 + }
  4383 + ],
4115 4384 "description": "<p>Consulta países cadastrados.</p>",
4116 4385 "parameter": {
4117 4386 "fields": {
... ... @@ -4183,7 +4452,7 @@ define({ &quot;api&quot;: [
4183 4452 }
4184 4453 ]
4185 4454 },
4186   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4455 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
4187 4456 "groupTitle": "Endereco"
4188 4457 },
4189 4458 {
... ... @@ -4193,6 +4462,11 @@ define({ &quot;api&quot;: [
4193 4462 "name": "listarExtensoesPermitidas",
4194 4463 "group": "Extensao",
4195 4464 "version": "2.0.0",
  4465 + "permission": [
  4466 + {
  4467 + "name": "RO_SEI_BROKER"
  4468 + }
  4469 + ],
4196 4470 "description": "<p>Este método realiza uma busca pelas extensões de arquivos permitidas.</p>",
4197 4471 "parameter": {
4198 4472 "fields": {
... ... @@ -4267,7 +4541,7 @@ define({ &quot;api&quot;: [
4267 4541 }
4268 4542 ]
4269 4543 },
4270   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ExtensoesResource.java",
  4544 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ExtensoesResource.java",
4271 4545 "groupTitle": "Extensao"
4272 4546 },
4273 4547 {
... ... @@ -4277,7 +4551,12 @@ define({ &quot;api&quot;: [
4277 4551 "name": "listarHipoteses",
4278 4552 "group": "Hipotese_Legal",
4279 4553 "version": "2.0.0",
4280   - "description": "<p>Lista as hipóteses legais.</p>",
  4554 + "permission": [
  4555 + {
  4556 + "name": "RO_SEI_BROKER"
  4557 + }
  4558 + ],
  4559 + "description": "<p>Lista as hipóteses legais.</p>",
4281 4560 "parameter": {
4282 4561 "fields": {
4283 4562 "Path Parameters": [
... ... @@ -4357,7 +4636,7 @@ define({ &quot;api&quot;: [
4357 4636 }
4358 4637 ]
4359 4638 },
4360   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/HipoteseLegalResource.java",
  4639 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/HipoteseLegalResource.java",
4361 4640 "groupTitle": "Hipotese_Legal"
4362 4641 },
4363 4642 {
... ... @@ -4432,7 +4711,7 @@ define({ &quot;api&quot;: [
4432 4711 }
4433 4712 ]
4434 4713 },
4435   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4714 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4436 4715 "groupTitle": "Info"
4437 4716 },
4438 4717 {
... ... @@ -4472,7 +4751,7 @@ define({ &quot;api&quot;: [
4472 4751 }
4473 4752 ]
4474 4753 },
4475   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4754 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4476 4755 "groupTitle": "Info"
4477 4756 },
4478 4757 {
... ... @@ -4512,7 +4791,7 @@ define({ &quot;api&quot;: [
4512 4791 }
4513 4792 ]
4514 4793 },
4515   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4794 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4516 4795 "groupTitle": "Info"
4517 4796 },
4518 4797 {
... ... @@ -4552,7 +4831,7 @@ define({ &quot;api&quot;: [
4552 4831 }
4553 4832 ]
4554 4833 },
4555   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4834 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4556 4835 "groupTitle": "Info"
4557 4836 },
4558 4837 {
... ... @@ -4562,6 +4841,11 @@ define({ &quot;api&quot;: [
4562 4841 "name": "listarMarcadores",
4563 4842 "group": "Marcador",
4564 4843 "version": "2.0.0",
  4844 + "permission": [
  4845 + {
  4846 + "name": "RO_SEI_BROKER"
  4847 + }
  4848 + ],
4565 4849 "description": "<p>Lista os marcadores de uma unidade.</p>",
4566 4850 "parameter": {
4567 4851 "fields": {
... ... @@ -4633,7 +4917,7 @@ define({ &quot;api&quot;: [
4633 4917 }
4634 4918 ]
4635 4919 },
4636   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
  4920 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
4637 4921 "groupTitle": "Marcador"
4638 4922 },
4639 4923 {
... ... @@ -4643,6 +4927,11 @@ define({ &quot;api&quot;: [
4643 4927 "name": "marcarProcesso",
4644 4928 "group": "Marcador",
4645 4929 "version": "2.0.0",
  4930 + "permission": [
  4931 + {
  4932 + "name": "RO_SEI_BROKER"
  4933 + }
  4934 + ],
4646 4935 "description": "<p>Adiciona um processo ao marcador.</p>",
4647 4936 "parameter": {
4648 4937 "fields": {
... ... @@ -4712,7 +5001,7 @@ define({ &quot;api&quot;: [
4712 5001 }
4713 5002 ]
4714 5003 },
4715   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
  5004 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
4716 5005 "groupTitle": "Marcador"
4717 5006 },
4718 5007 {
... ... @@ -4722,6 +5011,11 @@ define({ &quot;api&quot;: [
4722 5011 "name": "abrirProcesso",
4723 5012 "group": "Processo",
4724 5013 "version": "2.0.0",
  5014 + "permission": [
  5015 + {
  5016 + "name": "RO_SEI_BROKER"
  5017 + }
  5018 + ],
4725 5019 "description": "<p>Abre um processo.</p>",
4726 5020 "parameter": {
4727 5021 "fields": {
... ... @@ -5022,7 +5316,7 @@ define({ &quot;api&quot;: [
5022 5316 }
5023 5317 ]
5024 5318 },
5025   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5319 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5026 5320 "groupTitle": "Processo"
5027 5321 },
5028 5322 {
... ... @@ -5032,6 +5326,11 @@ define({ &quot;api&quot;: [
5032 5326 "name": "anexarProcesso",
5033 5327 "group": "Processo",
5034 5328 "version": "2.0.0",
  5329 + "permission": [
  5330 + {
  5331 + "name": "RO_SEI_BROKER"
  5332 + }
  5333 + ],
5035 5334 "description": "<p>Anexar um processo.</p>",
5036 5335 "parameter": {
5037 5336 "fields": {
... ... @@ -5094,7 +5393,7 @@ define({ &quot;api&quot;: [
5094 5393 }
5095 5394 ]
5096 5395 },
5097   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5396 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5098 5397 "groupTitle": "Processo"
5099 5398 },
5100 5399 {
... ... @@ -5104,6 +5403,11 @@ define({ &quot;api&quot;: [
5104 5403 "name": "bloquearProcesso",
5105 5404 "group": "Processo",
5106 5405 "version": "2.0.0",
  5406 + "permission": [
  5407 + {
  5408 + "name": "RO_SEI_BROKER"
  5409 + }
  5410 + ],
5107 5411 "description": "<p>Bloquear um processo.</p>",
5108 5412 "parameter": {
5109 5413 "fields": {
... ... @@ -5159,7 +5463,7 @@ define({ &quot;api&quot;: [
5159 5463 }
5160 5464 ]
5161 5465 },
5162   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5466 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5163 5467 "groupTitle": "Processo"
5164 5468 },
5165 5469 {
... ... @@ -5169,6 +5473,11 @@ define({ &quot;api&quot;: [
5169 5473 "name": "concluirProcesso",
5170 5474 "group": "Processo",
5171 5475 "version": "2.0.0",
  5476 + "permission": [
  5477 + {
  5478 + "name": "RO_SEI_BROKER"
  5479 + }
  5480 + ],
5172 5481 "description": "<p>Conclui o processo informado.</p>",
5173 5482 "parameter": {
5174 5483 "fields": {
... ... @@ -5234,7 +5543,7 @@ define({ &quot;api&quot;: [
5234 5543 }
5235 5544 ]
5236 5545 },
5237   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5546 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5238 5547 "groupTitle": "Processo"
5239 5548 },
5240 5549 {
... ... @@ -5244,6 +5553,11 @@ define({ &quot;api&quot;: [
5244 5553 "name": "consultarProcesso",
5245 5554 "group": "Processo",
5246 5555 "version": "2.0.0",
  5556 + "permission": [
  5557 + {
  5558 + "name": "RO_SEI_BROKER"
  5559 + }
  5560 + ],
5247 5561 "description": "<p>Este método realiza uma consulta a processos no SEI e no SIPAR.</p>",
5248 5562 "parameter": {
5249 5563 "fields": {
... ... @@ -5952,29 +6266,40 @@ define({ &quot;api&quot;: [
5952 6266 }
5953 6267 ]
5954 6268 },
5955   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6269 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5956 6270 "groupTitle": "Processo"
5957 6271 },
5958 6272 {
5959 6273 "type": "get",
5960   - "url": "/:interessado/processos",
5961   - "title": "Consultar por interessados",
5962   - "name": "consultarProcessosInteressado",
  6274 + "url": "/processos",
  6275 + "title": "Listar processos",
  6276 + "name": "consultarProcessos",
5963 6277 "group": "Processo",
5964 6278 "version": "2.0.0",
5965   - "description": "<p>Retorna os processos de um determinado interessado.</p>",
  6279 + "permission": [
  6280 + {
  6281 + "name": "RO_SEI_BROKER"
  6282 + }
  6283 + ],
  6284 + "description": "<p>Lista os processos conforme os filtros informados.</p>",
5966 6285 "parameter": {
5967 6286 "fields": {
5968   - "Path Parameters": [
  6287 + "Query Parameters": [
5969 6288 {
5970   - "group": "Path Parameters",
  6289 + "group": "Query Parameters",
  6290 + "type": "Boolean",
  6291 + "optional": true,
  6292 + "field": "crescente",
  6293 + "defaultValue": "false",
  6294 + "description": "<p>Ordenar em ordem crescente, processos mais antigos primeiro</p>"
  6295 + },
  6296 + {
  6297 + "group": "Query Parameters",
5971 6298 "type": "String",
5972   - "optional": false,
  6299 + "optional": true,
5973 6300 "field": "interessado",
5974 6301 "description": "<p>Identificador do interessado</p>"
5975   - }
5976   - ],
5977   - "Query Parameters": [
  6302 + },
5978 6303 {
5979 6304 "group": "Query Parameters",
5980 6305 "type": "String",
... ... @@ -5997,6 +6322,13 @@ define({ &quot;api&quot;: [
5997 6322 "field": "qtdRegistros",
5998 6323 "defaultValue": "50",
5999 6324 "description": "<p>Quantidade de registros retornados por página</p>"
  6325 + },
  6326 + {
  6327 + "group": "Query Parameters",
  6328 + "type": "String",
  6329 + "optional": true,
  6330 + "field": "tipo",
  6331 + "description": "<p>Identificador do tipo de processo que deseja filtrar</p>"
6000 6332 }
6001 6333 ]
6002 6334 }
... ... @@ -6004,7 +6336,7 @@ define({ &quot;api&quot;: [
6004 6336 "examples": [
6005 6337 {
6006 6338 "title": "Exemplo de requisição:\t",
6007   - "content": "curl -i https://<host>/sei-broker/service/414247/processos",
  6339 + "content": "curl -i https://<host>/sei-broker/service/processos",
6008 6340 "type": "json"
6009 6341 }
6010 6342 ],
... ... @@ -6059,6 +6391,27 @@ define({ &quot;api&quot;: [
6059 6391 "optional": false,
6060 6392 "field": "processos.processoResumido.dataGeracao",
6061 6393 "description": "<p>Data de geração do processo</p>"
  6394 + },
  6395 + {
  6396 + "group": "Sucesso Response Body - 200",
  6397 + "type": "Tipo",
  6398 + "optional": false,
  6399 + "field": "processos.processoResumido.tipo",
  6400 + "description": "<p>Objeto com os dados do tipo de processo</p>"
  6401 + },
  6402 + {
  6403 + "group": "Sucesso Response Body - 200",
  6404 + "type": "String",
  6405 + "optional": false,
  6406 + "field": "processos.processoResumido.tipo.codigo",
  6407 + "description": "<p>Código do tipo</p>"
  6408 + },
  6409 + {
  6410 + "group": "Sucesso Response Body - 200",
  6411 + "type": "String",
  6412 + "optional": false,
  6413 + "field": "processos.processoResumido.tipo.nome",
  6414 + "description": "<p>Nome do tipo</p>"
6062 6415 }
6063 6416 ],
6064 6417 "Sucesso Response Header - 200": [
... ... @@ -6070,7 +6423,14 @@ define({ &quot;api&quot;: [
6070 6423 "description": "<p>quantidade de registros que existem para essa consulta.</p>"
6071 6424 }
6072 6425 ]
6073   - }
  6426 + },
  6427 + "examples": [
  6428 + {
  6429 + "title": "Success-Response:",
  6430 + "content": "HTTP/1.1 200 OK\n{\n \"numero\": \"33910007118201710\",\n \"numeroFormatado\": \"33910.007118/2017-10\",\n \"descricao\": \"D:2237021 - SUL AMÉRICA SEGURO SAÚDE S/A\",\n \"unidade\": \"NÚCLEO-RJ\",\n \"dataGeracao\": \"2017-10-09T03:00:00.000+0000\",\n \"tipo\": {\n \t\"codigo\": \"100000882\",\n \t\"nome\": \"Fiscalização: Sancionador\"\n }\n}",
  6431 + "type": "json"
  6432 + }
  6433 + ]
6074 6434 },
6075 6435 "error": {
6076 6436 "examples": [
... ... @@ -6081,7 +6441,7 @@ define({ &quot;api&quot;: [
6081 6441 }
6082 6442 ]
6083 6443 },
6084   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6444 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6085 6445 "groupTitle": "Processo"
6086 6446 },
6087 6447 {
... ... @@ -6091,6 +6451,11 @@ define({ &quot;api&quot;: [
6091 6451 "name": "desanexarProcesso",
6092 6452 "group": "Processo",
6093 6453 "version": "2.0.0",
  6454 + "permission": [
  6455 + {
  6456 + "name": "RO_SEI_BROKER"
  6457 + }
  6458 + ],
6094 6459 "description": "<p>Remove um processo anexado.</p>",
6095 6460 "parameter": {
6096 6461 "fields": {
... ... @@ -6153,7 +6518,7 @@ define({ &quot;api&quot;: [
6153 6518 }
6154 6519 ]
6155 6520 },
6156   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6521 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6157 6522 "groupTitle": "Processo"
6158 6523 },
6159 6524 {
... ... @@ -6163,6 +6528,11 @@ define({ &quot;api&quot;: [
6163 6528 "name": "desbloquearProcesso",
6164 6529 "group": "Processo",
6165 6530 "version": "2.0.0",
  6531 + "permission": [
  6532 + {
  6533 + "name": "RO_SEI_BROKER"
  6534 + }
  6535 + ],
6166 6536 "description": "<p>Desbloquear um processo.</p>",
6167 6537 "parameter": {
6168 6538 "fields": {
... ... @@ -6209,7 +6579,7 @@ define({ &quot;api&quot;: [
6209 6579 }
6210 6580 ]
6211 6581 },
6212   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6582 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6213 6583 "groupTitle": "Processo"
6214 6584 },
6215 6585 {
... ... @@ -6219,6 +6589,11 @@ define({ &quot;api&quot;: [
6219 6589 "name": "desrelacionarProcesso",
6220 6590 "group": "Processo",
6221 6591 "version": "2.0.0",
  6592 + "permission": [
  6593 + {
  6594 + "name": "RO_SEI_BROKER"
  6595 + }
  6596 + ],
6222 6597 "description": "<p>Desrelacionar processos.</p>",
6223 6598 "parameter": {
6224 6599 "fields": {
... ... @@ -6272,7 +6647,7 @@ define({ &quot;api&quot;: [
6272 6647 }
6273 6648 ]
6274 6649 },
6275   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6650 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6276 6651 "groupTitle": "Processo"
6277 6652 },
6278 6653 {
... ... @@ -6282,6 +6657,11 @@ define({ &quot;api&quot;: [
6282 6657 "name": "enviarProcesso",
6283 6658 "group": "Processo",
6284 6659 "version": "2.0.0",
  6660 + "permission": [
  6661 + {
  6662 + "name": "RO_SEI_BROKER"
  6663 + }
  6664 + ],
6285 6665 "description": "<p>Envia processos a outras unidades.</p>",
6286 6666 "parameter": {
6287 6667 "fields": {
... ... @@ -6291,7 +6671,7 @@ define({ &quot;api&quot;: [
6291 6671 "type": "String",
6292 6672 "optional": false,
6293 6673 "field": "unidade",
6294   - "description": "<p>Sigla da Unidade cadastrada no SEI</p>"
  6674 + "description": "<p>Sigla da Unidade cadastrada no SEI. Representa a unidade de localização atual do processo.</p>"
6295 6675 }
6296 6676 ],
6297 6677 "Query Parameters": [
... ... @@ -6324,14 +6704,14 @@ define({ &quot;api&quot;: [
6324 6704 "type": "String",
6325 6705 "optional": false,
6326 6706 "field": "processo",
6327   - "description": "<p>Numero do processo a ser enviado</p>"
  6707 + "description": "<p>Numero do processo a ser enviado. Em caso de processo apensado, o processo a ser enviado deve ser o processo PAI. Não é possível tramitar através do processo FILHO.</p>"
6328 6708 },
6329 6709 {
6330 6710 "group": "Request Body",
6331 6711 "type": "String[]",
6332 6712 "optional": false,
6333 6713 "field": "unidadesDestino",
6334   - "description": "<p>Códigos das unidades para onde o bloco será enviado</p>"
  6714 + "description": "<p>Lista com os identificadores das unidades de destino do processo, código ou nome da unidade.</p>"
6335 6715 },
6336 6716 {
6337 6717 "group": "Request Body",
... ... @@ -6339,7 +6719,7 @@ define({ &quot;api&quot;: [
6339 6719 "optional": false,
6340 6720 "field": "manterAbertoOrigem",
6341 6721 "defaultValue": "false",
6342   - "description": "<p>Informa se o processo deve continuar aberto na unidade de origem</p>"
  6722 + "description": "<p>Informa se o processo deve continuar aberto na unidade de origem .</p>"
6343 6723 },
6344 6724 {
6345 6725 "group": "Request Body",
... ... @@ -6347,7 +6727,7 @@ define({ &quot;api&quot;: [
6347 6727 "optional": false,
6348 6728 "field": "removerAnotacoes",
6349 6729 "defaultValue": "false",
6350   - "description": "<p>Informa se as anotações do processo devem ser removidas</p>"
  6730 + "description": "<p>Informa se as anotações do processo devem ser removidas.</p>"
6351 6731 },
6352 6732 {
6353 6733 "group": "Request Body",
... ... @@ -6355,7 +6735,7 @@ define({ &quot;api&quot;: [
6355 6735 "optional": false,
6356 6736 "field": "enviarEmailNotificacao",
6357 6737 "defaultValue": "false",
6358   - "description": "<p>Informa se deve ser enviado um e-mail de notificação</p>"
  6738 + "description": "<p>Informa se deve ser enviado um e-mail de notificação.</p>"
6359 6739 },
6360 6740 {
6361 6741 "group": "Request Body",
... ... @@ -6363,7 +6743,7 @@ define({ &quot;api&quot;: [
6363 6743 "optional": false,
6364 6744 "field": "dataRetornoProgramado",
6365 6745 "defaultValue": "null",
6366   - "description": "<p>Data para retorno programado do processo a unidade (padrão ISO-8601)</p>"
  6746 + "description": "<p>Data para retorno programado do processo a unidade (padrão ISO-8601).</p>"
6367 6747 },
6368 6748 {
6369 6749 "group": "Request Body",
... ... @@ -6371,7 +6751,7 @@ define({ &quot;api&quot;: [
6371 6751 "optional": false,
6372 6752 "field": "qtdDiasAteRetorno",
6373 6753 "defaultValue": "null",
6374   - "description": "<p>Quantidade de dias até o retorno do processo</p>"
  6754 + "description": "<p>Quantidade de dias até o retorno do processo.</p>"
6375 6755 },
6376 6756 {
6377 6757 "group": "Request Body",
... ... @@ -6379,7 +6759,7 @@ define({ &quot;api&quot;: [
6379 6759 "optional": false,
6380 6760 "field": "somenteDiasUteis",
6381 6761 "defaultValue": "false",
6382   - "description": "<p>Informa se só serão contabilizados dias úteis</p>"
  6762 + "description": "<p>Informa se só serão contabilizados dias úteis.</p>"
6383 6763 }
6384 6764 ]
6385 6765 }
... ... @@ -6413,7 +6793,7 @@ define({ &quot;api&quot;: [
6413 6793 }
6414 6794 ]
6415 6795 },
6416   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6796 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6417 6797 "groupTitle": "Processo"
6418 6798 },
6419 6799 {
... ... @@ -6423,6 +6803,11 @@ define({ &quot;api&quot;: [
6423 6803 "name": "lancarAndamento",
6424 6804 "group": "Processo",
6425 6805 "version": "2.0.0",
  6806 + "permission": [
  6807 + {
  6808 + "name": "RO_SEI_BROKER"
  6809 + }
  6810 + ],
6426 6811 "description": "<p>Lança um andamento ao processo.</p>",
6427 6812 "parameter": {
6428 6813 "fields": {
... ... @@ -6615,7 +7000,7 @@ define({ &quot;api&quot;: [
6615 7000 }
6616 7001 ]
6617 7002 },
6618   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7003 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6619 7004 "groupTitle": "Processo"
6620 7005 },
6621 7006 {
... ... @@ -6625,6 +7010,11 @@ define({ &quot;api&quot;: [
6625 7010 "name": "listarAndamentos",
6626 7011 "group": "Processo",
6627 7012 "version": "2.0.0",
  7013 + "permission": [
  7014 + {
  7015 + "name": "RO_SEI_BROKER"
  7016 + }
  7017 + ],
6628 7018 "description": "<p>Lista as andamentos do processo.</p>",
6629 7019 "parameter": {
6630 7020 "fields": {
... ... @@ -6822,16 +7212,21 @@ define({ &quot;api&quot;: [
6822 7212 }
6823 7213 ]
6824 7214 },
6825   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7215 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6826 7216 "groupTitle": "Processo"
6827 7217 },
6828 7218 {
6829 7219 "type": "get",
6830   - "url": "/:unidade/processos/:processo/documentos",
  7220 + "url": "/processos/:processo/documentos",
6831 7221 "title": "Listar documentos",
6832 7222 "name": "listarDocumentosPorProcesso",
6833 7223 "group": "Processo",
6834 7224 "version": "2.0.0",
  7225 + "permission": [
  7226 + {
  7227 + "name": "RO_SEI_BROKER"
  7228 + }
  7229 + ],
6835 7230 "description": "<p>Retorna os documentos de um determinado processo.</p>",
6836 7231 "parameter": {
6837 7232 "fields": {
... ... @@ -6840,15 +7235,37 @@ define({ &quot;api&quot;: [
6840 7235 "group": "Path Parameters",
6841 7236 "type": "String",
6842 7237 "optional": false,
6843   - "field": "unidade",
6844   - "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  7238 + "field": "processo",
  7239 + "description": "<p>Número do processo.</p>"
  7240 + }
  7241 + ],
  7242 + "Query Parameters": [
  7243 + {
  7244 + "group": "Query Parameters",
  7245 + "type": "String",
  7246 + "optional": true,
  7247 + "field": "tipo",
  7248 + "defaultValue": "null",
  7249 + "description": "<p>Identificador do tipo do documento, caso seja necessário filtrar pelo tipo</p>"
6845 7250 },
6846 7251 {
6847   - "group": "Path Parameters",
  7252 + "group": "Query Parameters",
6848 7253 "type": "String",
6849   - "optional": false,
6850   - "field": "processo",
6851   - "description": "<p>Número do processo.</p>"
  7254 + "allowedValues": [
  7255 + "\"G (gerado/interno), R (recebido/externo)\""
  7256 + ],
  7257 + "optional": true,
  7258 + "field": "origem",
  7259 + "defaultValue": "null",
  7260 + "description": "<p>Filtra os documentos por gerados ou recebidos</p>"
  7261 + },
  7262 + {
  7263 + "group": "Query Parameters",
  7264 + "type": "boolean",
  7265 + "optional": true,
  7266 + "field": "somenteAssinados",
  7267 + "defaultValue": "false",
  7268 + "description": "<p>Exibir somente documentos assinados</p>"
6852 7269 }
6853 7270 ]
6854 7271 }
... ... @@ -6856,7 +7273,7 @@ define({ &quot;api&quot;: [
6856 7273 "examples": [
6857 7274 {
6858 7275 "title": "Exemplo de requisição:\t",
6859   - "content": "curl -i https://<host>/sei-broker/service/cosap/processos/33910003149201793/documentos",
  7276 + "content": "curl -i https://<host>/sei-broker/service/processos/33910003149201793/documentos",
6860 7277 "type": "json"
6861 7278 }
6862 7279 ],
... ... @@ -6888,8 +7305,8 @@ define({ &quot;api&quot;: [
6888 7305 "group": "Sucesso Response Body - 200",
6889 7306 "type": "String",
6890 7307 "optional": false,
6891   - "field": "documentos.documentoResumido.tipo",
6892   - "description": "<p>Tipo do documento.</p>"
  7308 + "field": "documentos.documentoResumido.numeroInformado",
  7309 + "description": "<p>Número informado na inclusão do documento, também conhecido como número de árvore.</p>"
6893 7310 },
6894 7311 {
6895 7312 "group": "Sucesso Response Body - 200",
... ... @@ -6908,13 +7325,48 @@ define({ &quot;api&quot;: [
6908 7325 "optional": false,
6909 7326 "field": "documentos.documentoResumido.dataGeracao",
6910 7327 "description": "<p>Data de geração do documento.</p>"
  7328 + },
  7329 + {
  7330 + "group": "Sucesso Response Body - 200",
  7331 + "type": "Tipo",
  7332 + "optional": false,
  7333 + "field": "documentos.documentoResumido.tipo",
  7334 + "description": "<p>Objeto representando o tipo do documento.</p>"
  7335 + },
  7336 + {
  7337 + "group": "Sucesso Response Body - 200",
  7338 + "type": "String",
  7339 + "optional": false,
  7340 + "field": "documentos.documentoResumido.tipo.codigo",
  7341 + "description": "<p>Identificados do tipo do documento, também conhecido como série.</p>"
  7342 + },
  7343 + {
  7344 + "group": "Sucesso Response Body - 200",
  7345 + "type": "String",
  7346 + "optional": false,
  7347 + "field": "documentos.documentoResumido.tipo.nome",
  7348 + "description": "<p>Nome do tipo do documento.</p>"
  7349 + },
  7350 + {
  7351 + "group": "Sucesso Response Body - 200",
  7352 + "type": "String",
  7353 + "optional": false,
  7354 + "field": "documentos.documentoResumido.tipoConferencia",
  7355 + "description": "<p>Tipo de conferência do documento.</p>"
  7356 + },
  7357 + {
  7358 + "group": "Sucesso Response Body - 200",
  7359 + "type": "boolean",
  7360 + "optional": false,
  7361 + "field": "documentos.documentoResumido.assinado",
  7362 + "description": "<p>Boolean indicando se o documento foi assinado.</p>"
6911 7363 }
6912 7364 ]
6913 7365 },
6914 7366 "examples": [
6915 7367 {
6916 7368 "title": "Success-Response:",
6917   - "content": "HTTP/1.1 200 OK\n{\n \"dataGeracao\": \"2015-08-10T00:00:00-03:00\",\n \"numero\": \"0670949\",\n \"origem\": \"RECEBIDO\",\n \"tipo\": \"Despacho\"\n}",
  7369 + "content": "HTTP/1.1 200 OK\n{\n \"numero\": \"0670949\",\n \"numeroInformado\": \"594\",\n \"origem\": \"RECEBIDO\",\n \"dataGeracao\": \"2015-08-10T00:00:00-03:00\",\n \"tipo\": {\n \t\"codigo\": \"629\",\n \t\"nome\": \"Relatório de Arquivamento-SIF\"\n }\n \"tipoConferencia\": \"4\",\n \"assinado\": true\n}",
6918 7370 "type": "json"
6919 7371 }
6920 7372 ]
... ... @@ -6928,7 +7380,7 @@ define({ &quot;api&quot;: [
6928 7380 }
6929 7381 ]
6930 7382 },
6931   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7383 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6932 7384 "groupTitle": "Processo"
6933 7385 },
6934 7386 {
... ... @@ -6938,6 +7390,11 @@ define({ &quot;api&quot;: [
6938 7390 "name": "listarTiposProcesso",
6939 7391 "group": "Processo",
6940 7392 "version": "2.0.0",
  7393 + "permission": [
  7394 + {
  7395 + "name": "RO_SEI_BROKER"
  7396 + }
  7397 + ],
6941 7398 "description": "<p>Consulta os tipos de processo.</p>",
6942 7399 "parameter": {
6943 7400 "fields": {
... ... @@ -6990,7 +7447,7 @@ define({ &quot;api&quot;: [
6990 7447 }
6991 7448 ]
6992 7449 },
6993   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7450 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6994 7451 "groupTitle": "Processo"
6995 7452 },
6996 7453 {
... ... @@ -7000,6 +7457,11 @@ define({ &quot;api&quot;: [
7000 7457 "name": "reabrirProcesso",
7001 7458 "group": "Processo",
7002 7459 "version": "2.0.0",
  7460 + "permission": [
  7461 + {
  7462 + "name": "RO_SEI_BROKER"
  7463 + }
  7464 + ],
7003 7465 "description": "<p>Reabre um processo.</p>",
7004 7466 "parameter": {
7005 7467 "fields": {
... ... @@ -7063,7 +7525,7 @@ define({ &quot;api&quot;: [
7063 7525 }
7064 7526 ]
7065 7527 },
7066   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7528 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7067 7529 "groupTitle": "Processo"
7068 7530 },
7069 7531 {
... ... @@ -7073,6 +7535,11 @@ define({ &quot;api&quot;: [
7073 7535 "name": "relacionarProcesso",
7074 7536 "group": "Processo",
7075 7537 "version": "2.0.0",
  7538 + "permission": [
  7539 + {
  7540 + "name": "RO_SEI_BROKER"
  7541 + }
  7542 + ],
7076 7543 "description": "<p>Relacionar processos.</p>",
7077 7544 "parameter": {
7078 7545 "fields": {
... ... @@ -7135,7 +7602,7 @@ define({ &quot;api&quot;: [
7135 7602 }
7136 7603 ]
7137 7604 },
7138   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7605 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7139 7606 "groupTitle": "Processo"
7140 7607 },
7141 7608 {
... ... @@ -7145,6 +7612,11 @@ define({ &quot;api&quot;: [
7145 7612 "name": "removerSobrestamentoProcesso",
7146 7613 "group": "Processo",
7147 7614 "version": "2.0.0",
  7615 + "permission": [
  7616 + {
  7617 + "name": "RO_SEI_BROKER"
  7618 + }
  7619 + ],
7148 7620 "description": "<p>Remover sobrestamento de processo.</p>",
7149 7621 "parameter": {
7150 7622 "fields": {
... ... @@ -7191,7 +7663,7 @@ define({ &quot;api&quot;: [
7191 7663 }
7192 7664 ]
7193 7665 },
7194   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7666 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7195 7667 "groupTitle": "Processo"
7196 7668 },
7197 7669 {
... ... @@ -7201,6 +7673,11 @@ define({ &quot;api&quot;: [
7201 7673 "name": "sobrestarProcesso",
7202 7674 "group": "Processo",
7203 7675 "version": "2.0.0",
  7676 + "permission": [
  7677 + {
  7678 + "name": "RO_SEI_BROKER"
  7679 + }
  7680 + ],
7204 7681 "description": "<p>Sobrestar processo.</p>",
7205 7682 "parameter": {
7206 7683 "fields": {
... ... @@ -7270,16 +7747,148 @@ define({ &quot;api&quot;: [
7270 7747 }
7271 7748 ]
7272 7749 },
7273   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7750 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7274 7751 "groupTitle": "Processo"
7275 7752 },
7276 7753 {
  7754 + "type": "delete",
  7755 + "url": "/sipar/importados/:processo",
  7756 + "title": "Cancelar Importação Processo",
  7757 + "name": "cancelarImportacaoProcesso",
  7758 + "group": "SIPAR",
  7759 + "version": "2.0.0",
  7760 + "description": "<p>Desmarca um processo físico (SIPAR) como importado para um processo eletrônico (SEI).</p>",
  7761 + "parameter": {
  7762 + "fields": {
  7763 + "Path Parameter": [
  7764 + {
  7765 + "group": "Path Parameter",
  7766 + "type": "String",
  7767 + "optional": false,
  7768 + "field": "processo",
  7769 + "description": "<p>Número do processo físico existente no SIPAR contendo 17 dígitos e iniciado com 33902. Ex. 33902111111111111</p>"
  7770 + }
  7771 + ]
  7772 + }
  7773 + },
  7774 + "examples": [
  7775 + {
  7776 + "title": "Exemplo de requisição:",
  7777 + "content": "curl -X DELETE http://<host>/sei-broker/service/sipar/importados/33902112492200241",
  7778 + "type": "curl"
  7779 + }
  7780 + ],
  7781 + "success": {
  7782 + "examples": [
  7783 + {
  7784 + "title": "Success-Response:",
  7785 + "content": "HTTP/1.1 204 No Content",
  7786 + "type": "json"
  7787 + }
  7788 + ]
  7789 + },
  7790 + "error": {
  7791 + "examples": [
  7792 + {
  7793 + "title": "Error-Response:",
  7794 + "content": "HTTP/1.1 500 Internal Server Error\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7795 + "type": "json"
  7796 + },
  7797 + {
  7798 + "title": "Error-Response:",
  7799 + "content": "HTTP/1.1 400 Bad Request\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7800 + "type": "json"
  7801 + },
  7802 + {
  7803 + "title": "Error-Response:",
  7804 + "content": "HTTP/1.1 404 Not Found\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7805 + "type": "json"
  7806 + }
  7807 + ]
  7808 + },
  7809 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SiparResource.java",
  7810 + "groupTitle": "SIPAR"
  7811 + },
  7812 + {
  7813 + "type": "post",
  7814 + "url": "/sipar/importados",
  7815 + "title": "Importar Processo",
  7816 + "name": "importarProcesso",
  7817 + "group": "SIPAR",
  7818 + "version": "2.0.0",
  7819 + "description": "<p>Marca um processo físico (SIPAR) como importado para um processo eletrônico (SEI).</p>",
  7820 + "parameter": {
  7821 + "fields": {
  7822 + "Header Parameters": [
  7823 + {
  7824 + "group": "Header Parameters",
  7825 + "type": "String",
  7826 + "optional": false,
  7827 + "field": "content-type",
  7828 + "description": "<p>Informar text/plain</p>"
  7829 + }
  7830 + ],
  7831 + "Request Body": [
  7832 + {
  7833 + "group": "Request Body",
  7834 + "type": "String",
  7835 + "optional": false,
  7836 + "field": "processo",
  7837 + "description": "<p>Número do processo a ser importado</p>"
  7838 + }
  7839 + ]
  7840 + }
  7841 + },
  7842 + "examples": [
  7843 + {
  7844 + "title": "Exemplo de requisição:\t",
  7845 + "content": "endpoint: [POST] http://<host>/sei-broker/service/sipar/importados\n\nbody:\n33902112492200241",
  7846 + "type": "json"
  7847 + }
  7848 + ],
  7849 + "success": {
  7850 + "examples": [
  7851 + {
  7852 + "title": "Success-Response:",
  7853 + "content": "HTTP/1.1 201 Created",
  7854 + "type": "json"
  7855 + }
  7856 + ]
  7857 + },
  7858 + "error": {
  7859 + "examples": [
  7860 + {
  7861 + "title": "Error-Response:",
  7862 + "content": "HTTP/1.1 500 Internal Server Error\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7863 + "type": "json"
  7864 + },
  7865 + {
  7866 + "title": "Error-Response:",
  7867 + "content": "HTTP/1.1 400 Bad Request\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7868 + "type": "json"
  7869 + },
  7870 + {
  7871 + "title": "Error-Response:",
  7872 + "content": "HTTP/1.1 409 Conflict\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7873 + "type": "json"
  7874 + }
  7875 + ]
  7876 + },
  7877 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SiparResource.java",
  7878 + "groupTitle": "SIPAR"
  7879 + },
  7880 + {
7277 7881 "type": "get",
7278 7882 "url": "/:unidade/series",
7279 7883 "title": "Listar séries",
7280 7884 "name": "listarSeries",
7281 7885 "group": "Serie",
7282 7886 "version": "2.0.0",
  7887 + "permission": [
  7888 + {
  7889 + "name": "RO_SEI_BROKER"
  7890 + }
  7891 + ],
7283 7892 "description": "<p>Este método realiza uma consulta às séries.</p>",
7284 7893 "parameter": {
7285 7894 "fields": {
... ... @@ -7361,7 +7970,7 @@ define({ &quot;api&quot;: [
7361 7970 }
7362 7971 ]
7363 7972 },
7364   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/SeriesResource.java",
  7973 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SeriesResource.java",
7365 7974 "groupTitle": "Serie"
7366 7975 },
7367 7976 {
... ... @@ -7371,6 +7980,11 @@ define({ &quot;api&quot;: [
7371 7980 "name": "listarTarefas",
7372 7981 "group": "Tarefa",
7373 7982 "version": "2.0.0",
  7983 + "permission": [
  7984 + {
  7985 + "name": "RO_SEI_BROKER"
  7986 + }
  7987 + ],
7374 7988 "description": "<p>Lista os tipos de tarefas existentes no SEI.</p>",
7375 7989 "parameter": {
7376 7990 "fields": {
... ... @@ -7470,7 +8084,7 @@ define({ &quot;api&quot;: [
7470 8084 }
7471 8085 ]
7472 8086 },
7473   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/TarefaResource.java",
  8087 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/TarefaResource.java",
7474 8088 "groupTitle": "Tarefa"
7475 8089 },
7476 8090 {
... ... @@ -7480,6 +8094,11 @@ define({ &quot;api&quot;: [
7480 8094 "name": "listarTiposConferencia",
7481 8095 "group": "Tipos_Confer_ncia",
7482 8096 "version": "2.0.0",
  8097 + "permission": [
  8098 + {
  8099 + "name": "RO_SEI_BROKER"
  8100 + }
  8101 + ],
7483 8102 "description": "<p>Lista os tipos de conferência.</p>",
7484 8103 "parameter": {
7485 8104 "fields": {
... ... @@ -7537,7 +8156,7 @@ define({ &quot;api&quot;: [
7537 8156 }
7538 8157 ]
7539 8158 },
7540   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/TipoConferenciaResource.java",
  8159 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/TipoConferenciaResource.java",
7541 8160 "groupTitle": "Tipos_Confer_ncia"
7542 8161 },
7543 8162 {
... ... @@ -7547,6 +8166,11 @@ define({ &quot;api&quot;: [
7547 8166 "name": "consultarCodigo",
7548 8167 "group": "Unidade",
7549 8168 "version": "2.0.0",
  8169 + "permission": [
  8170 + {
  8171 + "name": "RO_SEI_BROKER"
  8172 + }
  8173 + ],
7550 8174 "description": "<p>Retorna o código da Unidade pesquisada.</p>",
7551 8175 "parameter": {
7552 8176 "fields": {
... ... @@ -7590,7 +8214,7 @@ define({ &quot;api&quot;: [
7590 8214 }
7591 8215 ]
7592 8216 },
7593   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
  8217 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
7594 8218 "groupTitle": "Unidade"
7595 8219 },
7596 8220 {
... ... @@ -7600,6 +8224,11 @@ define({ &quot;api&quot;: [
7600 8224 "name": "listarUnidades",
7601 8225 "group": "Unidade",
7602 8226 "version": "2.0.0",
  8227 + "permission": [
  8228 + {
  8229 + "name": "RO_SEI_BROKER"
  8230 + }
  8231 + ],
7603 8232 "description": "<p>Retorna as Unidades cadastradas no SEI.</p>",
7604 8233 "examples": [
7605 8234 {
... ... @@ -7651,16 +8280,21 @@ define({ &quot;api&quot;: [
7651 8280 }
7652 8281 ]
7653 8282 },
7654   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
  8283 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
7655 8284 "groupTitle": "Unidade"
7656 8285 },
7657 8286 {
7658   - "type": "put",
7659   - "url": "/usuarios/ativar",
  8287 + "type": "post",
  8288 + "url": "/usuarios/ativos",
7660 8289 "title": "Ativar usuário",
7661 8290 "name": "ativarUsuario",
7662 8291 "group": "Usuario",
7663 8292 "version": "2.0.0",
  8293 + "permission": [
  8294 + {
  8295 + "name": "RO_SEI_BROKER_ADM"
  8296 + }
  8297 + ],
7664 8298 "description": "<p>Este método reativa usuários.</p>",
7665 8299 "parameter": {
7666 8300 "fields": {
... ... @@ -7692,7 +8326,7 @@ define({ &quot;api&quot;: [
7692 8326 "examples": [
7693 8327 {
7694 8328 "title": "Exemplo de requisição:\t",
7695   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/ativar\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8329 + "content": "endpoint: http://<host>/sei-broker/service/usuarios/ativos\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
7696 8330 "type": "json"
7697 8331 }
7698 8332 ],
... ... @@ -7718,7 +8352,7 @@ define({ &quot;api&quot;: [
7718 8352 }
7719 8353 ]
7720 8354 },
7721   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8355 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7722 8356 "groupTitle": "Usuario"
7723 8357 },
7724 8358 {
... ... @@ -7728,33 +8362,40 @@ define({ &quot;api&quot;: [
7728 8362 "name": "atribuirProcesso",
7729 8363 "group": "Usuario",
7730 8364 "version": "2.0.0",
  8365 + "permission": [
  8366 + {
  8367 + "name": "RO_SEI_BROKER"
  8368 + }
  8369 + ],
7731 8370 "description": "<p>Este método atribui o processo a um usuário.</p>",
7732 8371 "parameter": {
7733 8372 "fields": {
7734   - "Parameter": [
  8373 + "Path Parameters": [
7735 8374 {
7736   - "group": "Parameter",
  8375 + "group": "Path Parameters",
7737 8376 "type": "String",
7738 8377 "optional": false,
7739 8378 "field": "unidade",
7740 8379 "description": "<p>Sigla da Unidade cadastrada no SEI</p>"
7741 8380 },
7742 8381 {
7743   - "group": "Parameter",
  8382 + "group": "Path Parameters",
7744 8383 "type": "String",
7745 8384 "optional": false,
7746   - "field": "processo",
7747   - "description": "<p>Numero do processo a ser atribuído</p>"
7748   - },
  8385 + "field": "usuario",
  8386 + "description": "<p>Login do usuário a quem deseja atribuir o processo</p>"
  8387 + }
  8388 + ],
  8389 + "Request Body": [
7749 8390 {
7750   - "group": "Parameter",
  8391 + "group": "Request Body",
7751 8392 "type": "String",
7752 8393 "optional": false,
7753   - "field": "usuario",
7754   - "description": "<p>Login do usuário a quem deseja atribuir o processo</p>"
  8394 + "field": "processo",
  8395 + "description": "<p>Numero do processo a ser atribuído</p>"
7755 8396 },
7756 8397 {
7757   - "group": "Parameter",
  8398 + "group": "Request Body",
7758 8399 "type": "String",
7759 8400 "optional": true,
7760 8401 "field": "reabrir-processo",
... ... @@ -7793,22 +8434,34 @@ define({ &quot;api&quot;: [
7793 8434 }
7794 8435 ]
7795 8436 },
7796   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8437 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7797 8438 "groupTitle": "Usuario"
7798 8439 },
7799 8440 {
7800 8441 "type": "get",
7801   - "url": "/usuarios/:usuario",
  8442 + "url": ":unidade/usuarios/:usuario",
7802 8443 "title": "Buscar usuário",
7803 8444 "name": "buscarUsuario",
7804 8445 "group": "Usuario",
7805 8446 "version": "2.0.0",
  8447 + "permission": [
  8448 + {
  8449 + "name": "RO_SEI_BROKER"
  8450 + }
  8451 + ],
7806 8452 "description": "<p>Este método realiza a uma busca pelo login do usuário.</p>",
7807 8453 "parameter": {
7808 8454 "fields": {
7809   - "Parameter": [
  8455 + "Path Parameters": [
7810 8456 {
7811   - "group": "Parameter",
  8457 + "group": "Path Parameters",
  8458 + "type": "String",
  8459 + "optional": false,
  8460 + "field": "unidade",
  8461 + "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  8462 + },
  8463 + {
  8464 + "group": "Path Parameters",
7812 8465 "type": "String",
7813 8466 "optional": false,
7814 8467 "field": "usuario",
... ... @@ -7820,7 +8473,7 @@ define({ &quot;api&quot;: [
7820 8473 "examples": [
7821 8474 {
7822 8475 "title": "Exemplo de requisição:\t",
7823   - "content": "curl -i http://<host>/sei-broker/service/usuarios/andre.guimaraes",
  8476 + "content": "curl -i http://<host>/sei-broker/service/cosap/usuarios/andre.guimaraes",
7824 8477 "type": "json"
7825 8478 }
7826 8479 ],
... ... @@ -7846,16 +8499,21 @@ define({ &quot;api&quot;: [
7846 8499 }
7847 8500 ]
7848 8501 },
7849   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8502 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7850 8503 "groupTitle": "Usuario"
7851 8504 },
7852 8505 {
7853   - "type": "put",
7854   - "url": "/usuarios/desativar",
  8506 + "type": "delete",
  8507 + "url": "/usuarios/ativos",
7855 8508 "title": "Desativar usuário",
7856 8509 "name": "desativarUsuario",
7857 8510 "group": "Usuario",
7858 8511 "version": "2.0.0",
  8512 + "permission": [
  8513 + {
  8514 + "name": "RO_SEI_BROKER_ADM"
  8515 + }
  8516 + ],
7859 8517 "description": "<p>Este método desativa usuários.</p>",
7860 8518 "parameter": {
7861 8519 "fields": {
... ... @@ -7887,7 +8545,7 @@ define({ &quot;api&quot;: [
7887 8545 "examples": [
7888 8546 {
7889 8547 "title": "Exemplo de requisição:\t",
7890   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/desativar\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8548 + "content": "endpoint: [DELETE] http://<host>/sei-broker/service/usuarios/ativos/andre.guimaraes\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
7891 8549 "type": "json"
7892 8550 }
7893 8551 ],
... ... @@ -7913,16 +8571,21 @@ define({ &quot;api&quot;: [
7913 8571 }
7914 8572 ]
7915 8573 },
7916   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8574 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7917 8575 "groupTitle": "Usuario"
7918 8576 },
7919 8577 {
7920   - "type": "post",
7921   - "url": "/usuarios/excluir",
  8578 + "type": "delete",
  8579 + "url": "/usuarios/:login",
7922 8580 "title": "Excluir usuário",
7923 8581 "name": "excluirUsuario",
7924 8582 "group": "Usuario",
7925 8583 "version": "2.0.0",
  8584 + "permission": [
  8585 + {
  8586 + "name": "RO_SEI_BROKER_ADM"
  8587 + }
  8588 + ],
7926 8589 "description": "<p>Este método realiza a exclusão de usuários.</p>",
7927 8590 "parameter": {
7928 8591 "fields": {
... ... @@ -7954,7 +8617,7 @@ define({ &quot;api&quot;: [
7954 8617 "examples": [
7955 8618 {
7956 8619 "title": "Exemplo de requisição:\t",
7957   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/excluir\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8620 + "content": "endpoint: [DELETE] http://<host>/sei-broker/service/usuarios/andre.guimaraes\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
7958 8621 "type": "json"
7959 8622 }
7960 8623 ],
... ... @@ -7980,36 +8643,41 @@ define({ &quot;api&quot;: [
7980 8643 }
7981 8644 ]
7982 8645 },
7983   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8646 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7984 8647 "groupTitle": "Usuario"
7985 8648 },
7986 8649 {
7987 8650 "type": "post",
7988   - "url": "/usuarios/incluir-alterar",
7989   - "title": "Incluir ou alterar usuário",
  8651 + "url": "/usuarios",
  8652 + "title": "Incluir usuário",
7990 8653 "name": "incluirUsuario",
7991 8654 "group": "Usuario",
7992 8655 "version": "2.0.0",
  8656 + "permission": [
  8657 + {
  8658 + "name": "RO_SEI_BROKER_ADM"
  8659 + }
  8660 + ],
7993 8661 "description": "<p>Este método realiza a inclusão de novos usuários ou alterarações nos usuários existentes.</p>",
7994 8662 "parameter": {
7995 8663 "fields": {
7996   - "Parameter": [
  8664 + "Request Body": [
7997 8665 {
7998   - "group": "Parameter",
  8666 + "group": "Request Body",
7999 8667 "type": "String",
8000 8668 "optional": false,
8001 8669 "field": "codigo",
8002 8670 "description": "<p>Código que deseja atribuir ao usuário</p>"
8003 8671 },
8004 8672 {
8005   - "group": "Parameter",
  8673 + "group": "Request Body",
8006 8674 "type": "String",
8007 8675 "optional": false,
8008 8676 "field": "nome",
8009 8677 "description": "<p>Nome do usuário</p>"
8010 8678 },
8011 8679 {
8012   - "group": "Parameter",
  8680 + "group": "Request Body",
8013 8681 "type": "String",
8014 8682 "optional": false,
8015 8683 "field": "login",
... ... @@ -8021,7 +8689,7 @@ define({ &quot;api&quot;: [
8021 8689 "examples": [
8022 8690 {
8023 8691 "title": "Exemplo de requisição:\t",
8024   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/incluir-alterar\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8692 + "content": "endpoint: http://<host>/sei-broker/service/usuarios\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
8025 8693 "type": "json"
8026 8694 }
8027 8695 ],
... ... @@ -8047,7 +8715,7 @@ define({ &quot;api&quot;: [
8047 8715 }
8048 8716 ]
8049 8717 },
8050   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8718 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
8051 8719 "groupTitle": "Usuario"
8052 8720 },
8053 8721 {
... ... @@ -8057,19 +8725,26 @@ define({ &quot;api&quot;: [
8057 8725 "name": "listarUsuarios",
8058 8726 "group": "Usuario",
8059 8727 "version": "2.0.0",
  8728 + "permission": [
  8729 + {
  8730 + "name": "RO_SEI_BROKER"
  8731 + }
  8732 + ],
8060 8733 "description": "<p>Este método realiza uma consulta aos usuários cadastrados que possuem o perfil &quot;Básico&quot;.</p>",
8061 8734 "parameter": {
8062 8735 "fields": {
8063   - "Parameter": [
  8736 + "Path Parameters": [
8064 8737 {
8065   - "group": "Parameter",
  8738 + "group": "Path Parameters",
8066 8739 "type": "String",
8067 8740 "optional": false,
8068 8741 "field": "unidade",
8069   - "description": "<p>Sigla da Unidade cadastrada no SEI</p>"
8070   - },
  8742 + "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  8743 + }
  8744 + ],
  8745 + "Query Parameters": [
8071 8746 {
8072   - "group": "Parameter",
  8747 + "group": "Query Parameters",
8073 8748 "type": "String",
8074 8749 "optional": true,
8075 8750 "field": "usuario",
... ... @@ -8108,7 +8783,7 @@ define({ &quot;api&quot;: [
8108 8783 }
8109 8784 ]
8110 8785 },
8111   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8786 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
8112 8787 "groupTitle": "Usuario"
8113 8788 }
8114 8789 ] });
... ...
src/main/webapp/api-docs/api_data.json
... ... @@ -6,6 +6,11 @@
6 6 "name": "adicionarArquivo",
7 7 "group": "Arquivo",
8 8 "version": "2.0.0",
  9 + "permission": [
  10 + {
  11 + "name": "RO_SEI_BROKER"
  12 + }
  13 + ],
9 14 "description": "<p>O serviço criará um arquivo no repositório de documentos e retornará seu identificador. O envio do arquivo poderá ser particionado com chamadas posteriores ao serviço de Adicionar Conteúdo Arquivo. Após todo o conteúdo ser transferido o arquivo será ativado e poderá ser associado com um documento externo no serviço de inclusão de documento. Serão excluídos em 24 horas os arquivos não completados e não associados a um documento.</p>",
10 15 "parameter": {
11 16 "fields": {
... ... @@ -109,7 +114,7 @@
109 114 }
110 115 ]
111 116 },
112   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
  117 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
113 118 "groupTitle": "Arquivo"
114 119 },
115 120 {
... ... @@ -119,6 +124,11 @@
119 124 "name": "adicionarConteudoArquivo",
120 125 "group": "Arquivo",
121 126 "version": "2.0.0",
  127 + "permission": [
  128 + {
  129 + "name": "RO_SEI_BROKER"
  130 + }
  131 + ],
122 132 "description": "<p>Adiciona conteúdo a um arquivo criado, o sistema identificará automaticamente quando o conteúdo foi completado validando o tamanho em bytes e o hash do conteúdo. Quando as condições forem satisfeitas o arquivo será ativado e poderá ser utilizado nas chamadas de inclusão de documento.</p>",
123 133 "parameter": {
124 134 "fields": {
... ... @@ -215,7 +225,7 @@
215 225 }
216 226 ]
217 227 },
218   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
  228 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ArquivoResource.java",
219 229 "groupTitle": "Arquivo"
220 230 },
221 231 {
... ... @@ -225,6 +235,11 @@
225 235 "name": "cancelarDisponibilizacaoBloco",
226 236 "group": "Bloco",
227 237 "version": "2.0.0",
  238 + "permission": [
  239 + {
  240 + "name": "RO_SEI_BROKER"
  241 + }
  242 + ],
228 243 "description": "<p>Cancela a disponibilização de blocos.</p>",
229 244 "parameter": {
230 245 "fields": {
... ... @@ -275,7 +290,7 @@
275 290 }
276 291 ]
277 292 },
278   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  293 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
279 294 "groupTitle": "Bloco"
280 295 },
281 296 {
... ... @@ -285,6 +300,11 @@
285 300 "name": "consultarBloco",
286 301 "group": "Bloco",
287 302 "version": "2.0.0",
  303 + "permission": [
  304 + {
  305 + "name": "RO_SEI_BROKER"
  306 + }
  307 + ],
288 308 "description": "<p>Recupera as informações do bloco informado.</p>",
289 309 "parameter": {
290 310 "fields": {
... ... @@ -478,7 +498,7 @@
478 498 }
479 499 ]
480 500 },
481   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  501 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
482 502 "groupTitle": "Bloco"
483 503 },
484 504 {
... ... @@ -488,6 +508,11 @@
488 508 "name": "disponibilizarBloco",
489 509 "group": "Bloco",
490 510 "version": "2.0.0",
  511 + "permission": [
  512 + {
  513 + "name": "RO_SEI_BROKER"
  514 + }
  515 + ],
491 516 "description": "<p>Disponibiliza um determinado bloco.</p>",
492 517 "parameter": {
493 518 "fields": {
... ... @@ -540,7 +565,7 @@
540 565 }
541 566 ]
542 567 },
543   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  568 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
544 569 "groupTitle": "Bloco"
545 570 },
546 571 {
... ... @@ -550,6 +575,11 @@
550 575 "name": "excluirBloco",
551 576 "group": "Bloco",
552 577 "version": "2.0.0",
  578 + "permission": [
  579 + {
  580 + "name": "RO_SEI_BROKER"
  581 + }
  582 + ],
553 583 "description": "<p>Exclui um bloco criado.</p>",
554 584 "parameter": {
555 585 "fields": {
... ... @@ -600,7 +630,7 @@
600 630 }
601 631 ]
602 632 },
603   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  633 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
604 634 "groupTitle": "Bloco"
605 635 },
606 636 {
... ... @@ -610,6 +640,11 @@
610 640 "name": "gerarBloco",
611 641 "group": "Bloco",
612 642 "version": "2.0.0",
  643 + "permission": [
  644 + {
  645 + "name": "RO_SEI_BROKER"
  646 + }
  647 + ],
613 648 "description": "<p>Gera um novo bloco.</p>",
614 649 "parameter": {
615 650 "fields": {
... ... @@ -712,7 +747,7 @@
712 747 }
713 748 ]
714 749 },
715   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  750 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
716 751 "groupTitle": "Bloco"
717 752 },
718 753 {
... ... @@ -722,6 +757,11 @@
722 757 "name": "incluirDocumentoComAnotacaoNoBloco",
723 758 "group": "Bloco",
724 759 "version": "2.0.0",
  760 + "permission": [
  761 + {
  762 + "name": "RO_SEI_BROKER"
  763 + }
  764 + ],
725 765 "description": "<p>Inclui um documento no bloco.</p>",
726 766 "parameter": {
727 767 "fields": {
... ... @@ -789,7 +829,7 @@
789 829 }
790 830 ]
791 831 },
792   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  832 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
793 833 "groupTitle": "Bloco"
794 834 },
795 835 {
... ... @@ -799,6 +839,11 @@
799 839 "name": "incluirDocumentoNoBloco",
800 840 "group": "Bloco",
801 841 "version": "2.0.0",
  842 + "permission": [
  843 + {
  844 + "name": "RO_SEI_BROKER"
  845 + }
  846 + ],
802 847 "description": "<p>Inclui um documento no bloco.</p>",
803 848 "parameter": {
804 849 "fields": {
... ... @@ -858,7 +903,7 @@
858 903 }
859 904 ]
860 905 },
861   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  906 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
862 907 "groupTitle": "Bloco"
863 908 },
864 909 {
... ... @@ -868,6 +913,11 @@
868 913 "name": "incluirProcessoComAnotacaoNoBloco",
869 914 "group": "Bloco",
870 915 "version": "2.0.0",
  916 + "permission": [
  917 + {
  918 + "name": "RO_SEI_BROKER"
  919 + }
  920 + ],
871 921 "description": "<p>Inclui um processo no bloco, junto com uma anotação.</p>",
872 922 "parameter": {
873 923 "fields": {
... ... @@ -948,7 +998,7 @@
948 998 }
949 999 ]
950 1000 },
951   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1001 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
952 1002 "groupTitle": "Bloco"
953 1003 },
954 1004 {
... ... @@ -958,6 +1008,11 @@
958 1008 "name": "incluirProcessoNoBloco",
959 1009 "group": "Bloco",
960 1010 "version": "2.0.0",
  1011 + "permission": [
  1012 + {
  1013 + "name": "RO_SEI_BROKER"
  1014 + }
  1015 + ],
961 1016 "description": "<p>Inclui um processo no bloco.</p>",
962 1017 "parameter": {
963 1018 "fields": {
... ... @@ -1030,7 +1085,7 @@
1030 1085 }
1031 1086 ]
1032 1087 },
1033   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1088 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
1034 1089 "groupTitle": "Bloco"
1035 1090 },
1036 1091 {
... ... @@ -1040,6 +1095,11 @@
1040 1095 "name": "retirarDocumentoDoBloco",
1041 1096 "group": "Bloco",
1042 1097 "version": "2.0.0",
  1098 + "permission": [
  1099 + {
  1100 + "name": "RO_SEI_BROKER"
  1101 + }
  1102 + ],
1043 1103 "description": "<p>Remove o documento do bloco.</p>",
1044 1104 "parameter": {
1045 1105 "fields": {
... ... @@ -1097,7 +1157,7 @@
1097 1157 }
1098 1158 ]
1099 1159 },
1100   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1160 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
1101 1161 "groupTitle": "Bloco"
1102 1162 },
1103 1163 {
... ... @@ -1107,6 +1167,11 @@
1107 1167 "name": "retirarProcessoDoBloco",
1108 1168 "group": "Bloco",
1109 1169 "version": "2.0.0",
  1170 + "permission": [
  1171 + {
  1172 + "name": "RO_SEI_BROKER"
  1173 + }
  1174 + ],
1110 1175 "description": "<p>Este método remove o processo do bloco.</p>",
1111 1176 "parameter": {
1112 1177 "fields": {
... ... @@ -1177,7 +1242,7 @@
1177 1242 }
1178 1243 ]
1179 1244 },
1180   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
  1245 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/BlocoResource.java",
1181 1246 "groupTitle": "Bloco"
1182 1247 },
1183 1248 {
... ... @@ -1203,37 +1268,9 @@
1203 1268 "type": "",
1204 1269 "url": "",
1205 1270 "version": "0.0.0",
1206   - "filename": "sei-broker/src/main/webapp/api-docs/main.js",
1207   - "group": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_src_main_webapp_api_docs_main_js",
1208   - "groupTitle": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_src_main_webapp_api_docs_main_js",
1209   - "name": ""
1210   - },
1211   - {
1212   - "success": {
1213   - "fields": {
1214   - "Success 200": [
1215   - {
1216   - "group": "Success 200",
1217   - "optional": false,
1218   - "field": "varname1",
1219   - "description": "<p>No type.</p>"
1220   - },
1221   - {
1222   - "group": "Success 200",
1223   - "type": "String",
1224   - "optional": false,
1225   - "field": "varname2",
1226   - "description": "<p>With type.</p>"
1227   - }
1228   - ]
1229   - }
1230   - },
1231   - "type": "",
1232   - "url": "",
1233   - "version": "0.0.0",
1234   - "filename": "sei-broker/target/sei-broker-2.1/api-docs/main.js",
1235   - "group": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_target_sei_broker_2_1_api_docs_main_js",
1236   - "groupTitle": "C__ANS_sei_broker_branches_desenvolvimento_versao_3_sei_broker_target_sei_broker_2_1_api_docs_main_js",
  1271 + "filename": "branch_homologacao/src/main/webapp/api-docs/main.js",
  1272 + "group": "C__ANS_sei_broker_Fontes_branches_branch_homologacao_src_main_webapp_api_docs_main_js",
  1273 + "groupTitle": "C__ANS_sei_broker_Fontes_branches_branch_homologacao_src_main_webapp_api_docs_main_js",
1237 1274 "name": ""
1238 1275 },
1239 1276 {
... ... @@ -1243,6 +1280,11 @@
1243 1280 "name": "listarCargos",
1244 1281 "group": "Cargo",
1245 1282 "version": "2.0.0",
  1283 + "permission": [
  1284 + {
  1285 + "name": "RO_SEI_BROKER"
  1286 + }
  1287 + ],
1246 1288 "description": "<p>Lista os cargos.</p>",
1247 1289 "parameter": {
1248 1290 "fields": {
... ... @@ -1323,7 +1365,7 @@
1323 1365 }
1324 1366 ]
1325 1367 },
1326   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/CargoResource.java",
  1368 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/CargoResource.java",
1327 1369 "groupTitle": "Cargo"
1328 1370 },
1329 1371 {
... ... @@ -1333,6 +1375,11 @@
1333 1375 "name": "atualizarContato",
1334 1376 "group": "Contato",
1335 1377 "version": "2.0.0",
  1378 + "permission": [
  1379 + {
  1380 + "name": "RO_SEI_BROKER"
  1381 + }
  1382 + ],
1336 1383 "description": "<p>Atualizar contato</p>",
1337 1384 "parameter": {
1338 1385 "fields": {
... ... @@ -1610,7 +1657,7 @@
1610 1657 }
1611 1658 ]
1612 1659 },
1613   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  1660 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
1614 1661 "groupTitle": "Contato"
1615 1662 },
1616 1663 {
... ... @@ -1620,6 +1667,11 @@
1620 1667 "name": "criarContato",
1621 1668 "group": "Contato",
1622 1669 "version": "2.0.0",
  1670 + "permission": [
  1671 + {
  1672 + "name": "RO_SEI_BROKER"
  1673 + }
  1674 + ],
1623 1675 "description": "<p>Incluir contato</p>",
1624 1676 "parameter": {
1625 1677 "fields": {
... ... @@ -1894,7 +1946,7 @@
1894 1946 }
1895 1947 ]
1896 1948 },
1897   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  1949 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
1898 1950 "groupTitle": "Contato"
1899 1951 },
1900 1952 {
... ... @@ -1904,6 +1956,11 @@
1904 1956 "name": "getContato",
1905 1957 "group": "Contato",
1906 1958 "version": "2.0.0",
  1959 + "permission": [
  1960 + {
  1961 + "name": "RO_SEI_BROKER"
  1962 + }
  1963 + ],
1907 1964 "description": "<p>Consulta contato pela sigla(login)</p>",
1908 1965 "parameter": {
1909 1966 "fields": {
... ... @@ -2183,7 +2240,7 @@
2183 2240 }
2184 2241 ]
2185 2242 },
2186   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  2243 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
2187 2244 "groupTitle": "Contato"
2188 2245 },
2189 2246 {
... ... @@ -2193,6 +2250,11 @@
2193 2250 "name": "listarContatos",
2194 2251 "group": "Contato",
2195 2252 "version": "2.0.0",
  2253 + "permission": [
  2254 + {
  2255 + "name": "RO_SEI_BROKER"
  2256 + }
  2257 + ],
2196 2258 "description": "<p>Consulta os contatos de determinado tipo, o retorno pode ser PessoaFisica ou PessoaJuridica é recomendado utilizar a ans-commons-sei.</p>",
2197 2259 "parameter": {
2198 2260 "fields": {
... ... @@ -2525,7 +2587,7 @@
2525 2587 }
2526 2588 ]
2527 2589 },
2528   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  2590 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
2529 2591 "groupTitle": "Contato"
2530 2592 },
2531 2593 {
... ... @@ -2535,6 +2597,11 @@
2535 2597 "name": "listarTipos",
2536 2598 "group": "Contato",
2537 2599 "version": "2.0.0",
  2600 + "permission": [
  2601 + {
  2602 + "name": "RO_SEI_BROKER"
  2603 + }
  2604 + ],
2538 2605 "description": "<p>Consulta os tipos de contato.</p>",
2539 2606 "parameter": {
2540 2607 "fields": {
... ... @@ -2578,7 +2645,7 @@
2578 2645 }
2579 2646 ]
2580 2647 },
2581   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
  2648 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ContatoResource.java",
2582 2649 "groupTitle": "Contato"
2583 2650 },
2584 2651 {
... ... @@ -2588,6 +2655,11 @@
2588 2655 "name": "cancelarDocumento",
2589 2656 "group": "Documento",
2590 2657 "version": "2.0.0",
  2658 + "permission": [
  2659 + {
  2660 + "name": "RO_SEI_BROKER"
  2661 + }
  2662 + ],
2591 2663 "description": "<p>Cancela um documento.</p>",
2592 2664 "parameter": {
2593 2665 "fields": {
... ... @@ -2647,7 +2719,7 @@
2647 2719 }
2648 2720 ]
2649 2721 },
2650   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  2722 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
2651 2723 "groupTitle": "Documento"
2652 2724 },
2653 2725 {
... ... @@ -2657,6 +2729,11 @@
2657 2729 "name": "consultarDocumento",
2658 2730 "group": "Documento",
2659 2731 "version": "2.0.0",
  2732 + "permission": [
  2733 + {
  2734 + "name": "RO_SEI_BROKER"
  2735 + }
  2736 + ],
2660 2737 "description": "<p>Consulta documento cadastrado no SEI.</p>",
2661 2738 "parameter": {
2662 2739 "fields": {
... ... @@ -2984,16 +3061,21 @@
2984 3061 }
2985 3062 ]
2986 3063 },
2987   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3064 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
2988 3065 "groupTitle": "Documento"
2989 3066 },
2990 3067 {
2991 3068 "type": "get",
2992   - "url": "/:interessado/documentos",
2993   - "title": "Consultar por interessados",
  3069 + "url": "/interessados/:interessado/documentos",
  3070 + "title": "Consultar por interessado",
2994 3071 "name": "consultarDocumentoInteressado",
2995 3072 "group": "Documento",
2996 3073 "version": "2.0.0",
  3074 + "permission": [
  3075 + {
  3076 + "name": "RO_SEI_BROKER"
  3077 + }
  3078 + ],
2997 3079 "description": "<p>Retorna os documentos de um determinado interessado.</p>",
2998 3080 "parameter": {
2999 3081 "fields": {
... ... @@ -3011,8 +3093,32 @@
3011 3093 "group": "Query Parameters",
3012 3094 "type": "String",
3013 3095 "optional": true,
3014   - "field": "unidade",
3015   - "description": "<p>Unidade da qual deseja filtrar os documentos</p>"
  3096 + "field": "tipo",
  3097 + "description": "<p>Tipo/Série do documento</p>"
  3098 + },
  3099 + {
  3100 + "group": "Query Parameters",
  3101 + "type": "boolean",
  3102 + "optional": true,
  3103 + "field": "somenteAssinados",
  3104 + "defaultValue": "false",
  3105 + "description": "<p>Exibir somente documentos assinados</p>"
  3106 + },
  3107 + {
  3108 + "group": "Query Parameters",
  3109 + "type": "boolean",
  3110 + "optional": true,
  3111 + "field": "orderByProcesso",
  3112 + "defaultValue": "false",
  3113 + "description": "<p>Ordenar pelo número do processo, por padrão o retorno é ordenado pela dataGeracao</p>"
  3114 + },
  3115 + {
  3116 + "group": "Query Parameters",
  3117 + "type": "boolean",
  3118 + "optional": true,
  3119 + "field": "crescente",
  3120 + "defaultValue": "false",
  3121 + "description": "<p>Ordenar em ordem crescente</p>"
3016 3122 },
3017 3123 {
3018 3124 "group": "Query Parameters",
... ... @@ -3036,7 +3142,7 @@
3036 3142 "examples": [
3037 3143 {
3038 3144 "title": "Exemplo de requisição:\t",
3039   - "content": "curl -i https://<host>/sei-broker/service/363022/documentos",
  3145 + "content": "curl -i https://<host>/sei-broker/service/interessados/005711/documentos",
3040 3146 "type": "json"
3041 3147 }
3042 3148 ],
... ... @@ -3048,42 +3154,35 @@
3048 3154 "type": "List",
3049 3155 "optional": false,
3050 3156 "field": "documentos",
3051   - "description": "<p>Lista com os documentos encontrados</p>"
  3157 + "description": "<p>Lista com os documentos encontrados.</p>"
3052 3158 },
3053 3159 {
3054 3160 "group": "Sucesso Response Body - 200",
3055 3161 "type": "DocumentoResumido",
3056 3162 "optional": false,
3057 3163 "field": "documentos.documentoResumido",
3058   - "description": "<p>Resumo do documento encontrado no SEI</p>"
  3164 + "description": "<p>Resumo do documento encontrado no SEI.</p>"
3059 3165 },
3060 3166 {
3061 3167 "group": "Sucesso Response Body - 200",
3062 3168 "type": "String",
3063 3169 "optional": false,
3064 3170 "field": "documentos.documentoResumido.numero",
3065   - "description": "<p>Número do documento</p>"
3066   - },
3067   - {
3068   - "group": "Sucesso Response Body - 200",
3069   - "type": "String",
3070   - "optional": false,
3071   - "field": "documentos.documentoResumido.tipo",
3072   - "description": "<p>Tipo do documento</p>"
  3171 + "description": "<p>Número do documento.</p>"
3073 3172 },
3074 3173 {
3075 3174 "group": "Sucesso Response Body - 200",
3076 3175 "type": "String",
3077 3176 "optional": false,
3078   - "field": "documentos.documentoResumido.processo",
3079   - "description": "<p>Processo ao qual o documento pertence</p>"
  3177 + "field": "documentos.documentoResumido.numeroInformado",
  3178 + "description": "<p>Número informado na inclusão do documento, também conhecido como número de árvore.</p>"
3080 3179 },
3081 3180 {
3082 3181 "group": "Sucesso Response Body - 200",
3083 3182 "type": "String",
3084 3183 "optional": false,
3085 3184 "field": "documentos.documentoResumido.unidade",
3086   - "description": "<p>Unidade responsável pelo processo</p>"
  3185 + "description": "<p>Unidade responsável pelo documento.</p>"
3087 3186 },
3088 3187 {
3089 3188 "group": "Sucesso Response Body - 200",
... ... @@ -3094,14 +3193,56 @@
3094 3193 ],
3095 3194 "optional": false,
3096 3195 "field": "documentos.documentoResumido.origem",
3097   - "description": "<p>Origem do documento, se o mesmo é um documento &quot;GERADO&quot; internamente ou &quot;RECEBIDO&quot; de uma fonte externa</p>"
  3196 + "description": "<p>Origem do documento, se o mesmo é um documento &quot;GERADO&quot; internamente ou &quot;RECEBIDO&quot; de uma fonte externa.</p>"
3098 3197 },
3099 3198 {
3100 3199 "group": "Sucesso Response Body - 200",
3101 3200 "type": "Data",
3102 3201 "optional": false,
3103 3202 "field": "documentos.documentoResumido.dataGeracao",
3104   - "description": "<p>Data de geração do documento</p>"
  3203 + "description": "<p>Data de geração do documento.</p>"
  3204 + },
  3205 + {
  3206 + "group": "Sucesso Response Body - 200",
  3207 + "type": "String",
  3208 + "optional": false,
  3209 + "field": "documentos.documentoResumido.processo",
  3210 + "description": "<p>Processo onde o documento está incluído.</p>"
  3211 + },
  3212 + {
  3213 + "group": "Sucesso Response Body - 200",
  3214 + "type": "Tipo",
  3215 + "optional": false,
  3216 + "field": "documentos.documentoResumido.tipo",
  3217 + "description": "<p>Objeto representando o tipo do documento.</p>"
  3218 + },
  3219 + {
  3220 + "group": "Sucesso Response Body - 200",
  3221 + "type": "String",
  3222 + "optional": false,
  3223 + "field": "documentos.documentoResumido.tipo.codigo",
  3224 + "description": "<p>Identificados do tipo do documento, também conhecido como série.</p>"
  3225 + },
  3226 + {
  3227 + "group": "Sucesso Response Body - 200",
  3228 + "type": "String",
  3229 + "optional": false,
  3230 + "field": "documentos.documentoResumido.tipo.nome",
  3231 + "description": "<p>Nome do tipo do documento.</p>"
  3232 + },
  3233 + {
  3234 + "group": "Sucesso Response Body - 200",
  3235 + "type": "String",
  3236 + "optional": false,
  3237 + "field": "documentos.documentoResumido.tipoConferencia",
  3238 + "description": "<p>Tipo de conferência do documento.</p>"
  3239 + },
  3240 + {
  3241 + "group": "Sucesso Response Body - 200",
  3242 + "type": "boolean",
  3243 + "optional": false,
  3244 + "field": "documentos.documentoResumido.assinado",
  3245 + "description": "<p>Boolean indicando se o documento foi assinado.</p>"
3105 3246 }
3106 3247 ],
3107 3248 "Sucesso Response Header - 200": [
... ... @@ -3117,7 +3258,7 @@
3117 3258 "examples": [
3118 3259 {
3119 3260 "title": "Success-Response:",
3120   - "content": "HTTP/1.1 200 OK\n{\n \"dataGeracao\": \"2015-08-25T00:00:00-03:00\",\n \"numero\": \"0057646\",\n \"origem\": \"RECEBIDO\",\n \"processo\": \"33902.554351/2015-16\",\n \"tipo\": \"Contrato\",\n \"unidade\": \"COAI\"\n}",
  3261 + "content": "HTTP/1.1 200 OK\n{\n \"numero\": \"0670949\",\n \"numeroInformado\": \"594\",\n \"unidade\": \"COSAP\",\n \"origem\": \"RECEBIDO\",\n \"dataGeracao\": \"2015-08-10T00:00:00-03:00\",\n \"processo\": \"33910.000002/2017-41\",\n \"tipo\": {\n \t\"codigo\": \"629\",\n \t\"nome\": \"Relatório de Arquivamento-SIF\"\n }\n \"tipoConferencia\": \"4\",\n \"assinado\": true\n}",
3121 3262 "type": "json"
3122 3263 }
3123 3264 ]
... ... @@ -3131,7 +3272,7 @@
3131 3272 }
3132 3273 ]
3133 3274 },
3134   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3275 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
3135 3276 "groupTitle": "Documento"
3136 3277 },
3137 3278 {
... ... @@ -3141,6 +3282,11 @@
3141 3282 "name": "consultarDocumentosIncluidosBroker",
3142 3283 "group": "Documento",
3143 3284 "version": "2.0.0",
  3285 + "permission": [
  3286 + {
  3287 + "name": "RO_SEI_BROKER"
  3288 + }
  3289 + ],
3144 3290 "description": "<p>Consulta documentos inclusos pelo SEI-Broker.</p>",
3145 3291 "parameter": {
3146 3292 "fields": {
... ... @@ -3302,7 +3448,7 @@
3302 3448 }
3303 3449 ]
3304 3450 },
3305   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3451 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
3306 3452 "groupTitle": "Documento"
3307 3453 },
3308 3454 {
... ... @@ -3312,6 +3458,11 @@
3312 3458 "name": "exportarDocumento",
3313 3459 "group": "Documento",
3314 3460 "version": "2.0.0",
  3461 + "permission": [
  3462 + {
  3463 + "name": "RO_SEI_BROKER"
  3464 + }
  3465 + ],
3315 3466 "description": "<p>Exporta documentos do SEI em PDF.</p>",
3316 3467 "parameter": {
3317 3468 "fields": {
... ... @@ -3362,7 +3513,7 @@
3362 3513 }
3363 3514 ]
3364 3515 },
3365   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3516 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
3366 3517 "groupTitle": "Documento"
3367 3518 },
3368 3519 {
... ... @@ -3372,6 +3523,11 @@
3372 3523 "name": "incluirDocumento",
3373 3524 "group": "Documento",
3374 3525 "version": "2.0.0",
  3526 + "permission": [
  3527 + {
  3528 + "name": "RO_SEI_BROKER"
  3529 + }
  3530 + ],
3375 3531 "description": "<p>Inclui um documento no SEI, podem ser incluídos documentos internos e externos, para documentos externo o tamanho máximo é 20MB.</p>",
3376 3532 "parameter": {
3377 3533 "fields": {
... ... @@ -3446,7 +3602,7 @@
3446 3602 "type": "String",
3447 3603 "optional": true,
3448 3604 "field": "data",
3449   - "description": "<p>Data do documento, obrigatório para documentos externos. Passar null para documentos gerados</p>"
  3605 + "description": "<p>Data do documento (dd/MM/yyyy), obrigatório para documentos externos. Passar null para documentos gerados.</p>"
3450 3606 },
3451 3607 {
3452 3608 "group": "Request Body",
... ... @@ -3547,7 +3703,7 @@
3547 3703 "\"0 (público)\"",
3548 3704 "\"1 (restrito)\"",
3549 3705 "\"2 (sigiloso)\"",
3550   - "\"null (herda do processo)\""
  3706 + "\"null (herda do tipo de processo)\""
3551 3707 ],
3552 3708 "optional": true,
3553 3709 "field": "nivelAcesso",
... ... @@ -3661,7 +3817,95 @@
3661 3817 }
3662 3818 ]
3663 3819 },
3664   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3820 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/DocumentoResource.java",
  3821 + "groupTitle": "Documento"
  3822 + },
  3823 + {
  3824 + "type": "get",
  3825 + "url": "/:unidade/tipos-documentos",
  3826 + "title": "Listar tipos documentos",
  3827 + "name": "listarTiposDocumentos",
  3828 + "group": "Documento",
  3829 + "version": "2.0.0",
  3830 + "permission": [
  3831 + {
  3832 + "name": "RO_SEI_BROKER"
  3833 + }
  3834 + ],
  3835 + "description": "<p>Lista os tipos de documentos do SEI.</p>",
  3836 + "parameter": {
  3837 + "fields": {
  3838 + "Path Parameters": [
  3839 + {
  3840 + "group": "Path Parameters",
  3841 + "type": "String",
  3842 + "optional": false,
  3843 + "field": "unidade",
  3844 + "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  3845 + }
  3846 + ],
  3847 + "Query Parameters": [
  3848 + {
  3849 + "group": "Query Parameters",
  3850 + "type": "String",
  3851 + "optional": true,
  3852 + "field": "filtro",
  3853 + "description": "<p>Para filtrar por documentos que contenham o trecho no nome.</p>"
  3854 + }
  3855 + ]
  3856 + }
  3857 + },
  3858 + "examples": [
  3859 + {
  3860 + "title": "Exemplo de requisição:",
  3861 + "content": "curl -i https://<host>/sei-broker/service/COSAP/tipos-documentos",
  3862 + "type": "curl"
  3863 + }
  3864 + ],
  3865 + "success": {
  3866 + "fields": {
  3867 + "Sucesso - 200": [
  3868 + {
  3869 + "group": "Sucesso - 200",
  3870 + "type": "List",
  3871 + "optional": false,
  3872 + "field": "tipos",
  3873 + "description": "<p>Lista com os tipos de documentos</p>"
  3874 + },
  3875 + {
  3876 + "group": "Sucesso - 200",
  3877 + "type": "String",
  3878 + "optional": false,
  3879 + "field": "tipos.identificador",
  3880 + "description": "<p>Identificador do tipo de documento</p>"
  3881 + },
  3882 + {
  3883 + "group": "Sucesso - 200",
  3884 + "type": "String",
  3885 + "optional": false,
  3886 + "field": "tipos.nome",
  3887 + "description": "<p>Nome do tipo de documento</p>"
  3888 + },
  3889 + {
  3890 + "group": "Sucesso - 200",
  3891 + "type": "String",
  3892 + "optional": false,
  3893 + "field": "series.aplicabilidade",
  3894 + "description": "<p>T = Documentos internos e externos, I = documentos internos, E = documentos externos e F = formulários</p>"
  3895 + }
  3896 + ]
  3897 + }
  3898 + },
  3899 + "error": {
  3900 + "examples": [
  3901 + {
  3902 + "title": "Error-Response:",
  3903 + "content": "HTTP/1.1 500 Internal Server Error\n{\n\t\"error\":\"Mensagem de erro.\"\n\t\"code\":\"código do erro\"\n}",
  3904 + "type": "json"
  3905 + }
  3906 + ]
  3907 + },
  3908 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SeriesResource.java",
3665 3909 "groupTitle": "Documento"
3666 3910 },
3667 3911 {
... ... @@ -3671,6 +3915,11 @@
3671 3915 "name": "getCidade",
3672 3916 "group": "Endereco",
3673 3917 "version": "2.0.0",
  3918 + "permission": [
  3919 + {
  3920 + "name": "RO_SEI_BROKER"
  3921 + }
  3922 + ],
3674 3923 "description": "<p>Consulta a cidade pelo código do IBGE.</p>",
3675 3924 "parameter": {
3676 3925 "fields": {
... ... @@ -3770,7 +4019,7 @@
3770 4019 }
3771 4020 ]
3772 4021 },
3773   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4022 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
3774 4023 "groupTitle": "Endereco"
3775 4024 },
3776 4025 {
... ... @@ -3780,6 +4029,11 @@
3780 4029 "name": "getCidades",
3781 4030 "group": "Endereco",
3782 4031 "version": "2.0.0",
  4032 + "permission": [
  4033 + {
  4034 + "name": "RO_SEI_BROKER"
  4035 + }
  4036 + ],
3783 4037 "description": "<p>Consulta as cidades de um determinado estado.</p>",
3784 4038 "parameter": {
3785 4039 "fields": {
... ... @@ -3888,7 +4142,7 @@
3888 4142 }
3889 4143 ]
3890 4144 },
3891   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4145 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
3892 4146 "groupTitle": "Endereco"
3893 4147 },
3894 4148 {
... ... @@ -3898,6 +4152,11 @@
3898 4152 "name": "getEstado",
3899 4153 "group": "Endereco",
3900 4154 "version": "2.0.0",
  4155 + "permission": [
  4156 + {
  4157 + "name": "RO_SEI_BROKER"
  4158 + }
  4159 + ],
3901 4160 "description": "<p>Consulta o estado pela sigla.</p>",
3902 4161 "parameter": {
3903 4162 "fields": {
... ... @@ -4000,7 +4259,7 @@
4000 4259 }
4001 4260 ]
4002 4261 },
4003   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4262 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
4004 4263 "groupTitle": "Endereco"
4005 4264 },
4006 4265 {
... ... @@ -4010,6 +4269,11 @@
4010 4269 "name": "getEstados",
4011 4270 "group": "Endereco",
4012 4271 "version": "2.0.0",
  4272 + "permission": [
  4273 + {
  4274 + "name": "RO_SEI_BROKER"
  4275 + }
  4276 + ],
4013 4277 "description": "<p>Consulta estados cadastrados.</p>",
4014 4278 "parameter": {
4015 4279 "fields": {
... ... @@ -4102,7 +4366,7 @@
4102 4366 }
4103 4367 ]
4104 4368 },
4105   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4369 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
4106 4370 "groupTitle": "Endereco"
4107 4371 },
4108 4372 {
... ... @@ -4112,6 +4376,11 @@
4112 4376 "name": "getPaises",
4113 4377 "group": "Endereco",
4114 4378 "version": "2.0.0",
  4379 + "permission": [
  4380 + {
  4381 + "name": "RO_SEI_BROKER"
  4382 + }
  4383 + ],
4115 4384 "description": "<p>Consulta países cadastrados.</p>",
4116 4385 "parameter": {
4117 4386 "fields": {
... ... @@ -4183,7 +4452,7 @@
4183 4452 }
4184 4453 ]
4185 4454 },
4186   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
  4455 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfraResource.java",
4187 4456 "groupTitle": "Endereco"
4188 4457 },
4189 4458 {
... ... @@ -4193,6 +4462,11 @@
4193 4462 "name": "listarExtensoesPermitidas",
4194 4463 "group": "Extensao",
4195 4464 "version": "2.0.0",
  4465 + "permission": [
  4466 + {
  4467 + "name": "RO_SEI_BROKER"
  4468 + }
  4469 + ],
4196 4470 "description": "<p>Este método realiza uma busca pelas extensões de arquivos permitidas.</p>",
4197 4471 "parameter": {
4198 4472 "fields": {
... ... @@ -4267,7 +4541,7 @@
4267 4541 }
4268 4542 ]
4269 4543 },
4270   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ExtensoesResource.java",
  4544 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ExtensoesResource.java",
4271 4545 "groupTitle": "Extensao"
4272 4546 },
4273 4547 {
... ... @@ -4277,7 +4551,12 @@
4277 4551 "name": "listarHipoteses",
4278 4552 "group": "Hipotese_Legal",
4279 4553 "version": "2.0.0",
4280   - "description": "<p>Lista as hipóteses legais.</p>",
  4554 + "permission": [
  4555 + {
  4556 + "name": "RO_SEI_BROKER"
  4557 + }
  4558 + ],
  4559 + "description": "<p>Lista as hipóteses legais.</p>",
4281 4560 "parameter": {
4282 4561 "fields": {
4283 4562 "Path Parameters": [
... ... @@ -4357,7 +4636,7 @@
4357 4636 }
4358 4637 ]
4359 4638 },
4360   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/HipoteseLegalResource.java",
  4639 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/HipoteseLegalResource.java",
4361 4640 "groupTitle": "Hipotese_Legal"
4362 4641 },
4363 4642 {
... ... @@ -4432,7 +4711,7 @@
4432 4711 }
4433 4712 ]
4434 4713 },
4435   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4714 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4436 4715 "groupTitle": "Info"
4437 4716 },
4438 4717 {
... ... @@ -4472,7 +4751,7 @@
4472 4751 }
4473 4752 ]
4474 4753 },
4475   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4754 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4476 4755 "groupTitle": "Info"
4477 4756 },
4478 4757 {
... ... @@ -4512,7 +4791,7 @@
4512 4791 }
4513 4792 ]
4514 4793 },
4515   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4794 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4516 4795 "groupTitle": "Info"
4517 4796 },
4518 4797 {
... ... @@ -4552,7 +4831,7 @@
4552 4831 }
4553 4832 ]
4554 4833 },
4555   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
  4834 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/InfoResource.java",
4556 4835 "groupTitle": "Info"
4557 4836 },
4558 4837 {
... ... @@ -4562,6 +4841,11 @@
4562 4841 "name": "listarMarcadores",
4563 4842 "group": "Marcador",
4564 4843 "version": "2.0.0",
  4844 + "permission": [
  4845 + {
  4846 + "name": "RO_SEI_BROKER"
  4847 + }
  4848 + ],
4565 4849 "description": "<p>Lista os marcadores de uma unidade.</p>",
4566 4850 "parameter": {
4567 4851 "fields": {
... ... @@ -4633,7 +4917,7 @@
4633 4917 }
4634 4918 ]
4635 4919 },
4636   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
  4920 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
4637 4921 "groupTitle": "Marcador"
4638 4922 },
4639 4923 {
... ... @@ -4643,6 +4927,11 @@
4643 4927 "name": "marcarProcesso",
4644 4928 "group": "Marcador",
4645 4929 "version": "2.0.0",
  4930 + "permission": [
  4931 + {
  4932 + "name": "RO_SEI_BROKER"
  4933 + }
  4934 + ],
4646 4935 "description": "<p>Adiciona um processo ao marcador.</p>",
4647 4936 "parameter": {
4648 4937 "fields": {
... ... @@ -4712,7 +5001,7 @@
4712 5001 }
4713 5002 ]
4714 5003 },
4715   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
  5004 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/MarcadorResource.java",
4716 5005 "groupTitle": "Marcador"
4717 5006 },
4718 5007 {
... ... @@ -4722,6 +5011,11 @@
4722 5011 "name": "abrirProcesso",
4723 5012 "group": "Processo",
4724 5013 "version": "2.0.0",
  5014 + "permission": [
  5015 + {
  5016 + "name": "RO_SEI_BROKER"
  5017 + }
  5018 + ],
4725 5019 "description": "<p>Abre um processo.</p>",
4726 5020 "parameter": {
4727 5021 "fields": {
... ... @@ -5022,7 +5316,7 @@
5022 5316 }
5023 5317 ]
5024 5318 },
5025   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5319 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5026 5320 "groupTitle": "Processo"
5027 5321 },
5028 5322 {
... ... @@ -5032,6 +5326,11 @@
5032 5326 "name": "anexarProcesso",
5033 5327 "group": "Processo",
5034 5328 "version": "2.0.0",
  5329 + "permission": [
  5330 + {
  5331 + "name": "RO_SEI_BROKER"
  5332 + }
  5333 + ],
5035 5334 "description": "<p>Anexar um processo.</p>",
5036 5335 "parameter": {
5037 5336 "fields": {
... ... @@ -5094,7 +5393,7 @@
5094 5393 }
5095 5394 ]
5096 5395 },
5097   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5396 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5098 5397 "groupTitle": "Processo"
5099 5398 },
5100 5399 {
... ... @@ -5104,6 +5403,11 @@
5104 5403 "name": "bloquearProcesso",
5105 5404 "group": "Processo",
5106 5405 "version": "2.0.0",
  5406 + "permission": [
  5407 + {
  5408 + "name": "RO_SEI_BROKER"
  5409 + }
  5410 + ],
5107 5411 "description": "<p>Bloquear um processo.</p>",
5108 5412 "parameter": {
5109 5413 "fields": {
... ... @@ -5159,7 +5463,7 @@
5159 5463 }
5160 5464 ]
5161 5465 },
5162   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5466 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5163 5467 "groupTitle": "Processo"
5164 5468 },
5165 5469 {
... ... @@ -5169,6 +5473,11 @@
5169 5473 "name": "concluirProcesso",
5170 5474 "group": "Processo",
5171 5475 "version": "2.0.0",
  5476 + "permission": [
  5477 + {
  5478 + "name": "RO_SEI_BROKER"
  5479 + }
  5480 + ],
5172 5481 "description": "<p>Conclui o processo informado.</p>",
5173 5482 "parameter": {
5174 5483 "fields": {
... ... @@ -5234,7 +5543,7 @@
5234 5543 }
5235 5544 ]
5236 5545 },
5237   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  5546 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5238 5547 "groupTitle": "Processo"
5239 5548 },
5240 5549 {
... ... @@ -5244,6 +5553,11 @@
5244 5553 "name": "consultarProcesso",
5245 5554 "group": "Processo",
5246 5555 "version": "2.0.0",
  5556 + "permission": [
  5557 + {
  5558 + "name": "RO_SEI_BROKER"
  5559 + }
  5560 + ],
5247 5561 "description": "<p>Este método realiza uma consulta a processos no SEI e no SIPAR.</p>",
5248 5562 "parameter": {
5249 5563 "fields": {
... ... @@ -5952,29 +6266,40 @@
5952 6266 }
5953 6267 ]
5954 6268 },
5955   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6269 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
5956 6270 "groupTitle": "Processo"
5957 6271 },
5958 6272 {
5959 6273 "type": "get",
5960   - "url": "/:interessado/processos",
5961   - "title": "Consultar por interessados",
5962   - "name": "consultarProcessosInteressado",
  6274 + "url": "/processos",
  6275 + "title": "Listar processos",
  6276 + "name": "consultarProcessos",
5963 6277 "group": "Processo",
5964 6278 "version": "2.0.0",
5965   - "description": "<p>Retorna os processos de um determinado interessado.</p>",
  6279 + "permission": [
  6280 + {
  6281 + "name": "RO_SEI_BROKER"
  6282 + }
  6283 + ],
  6284 + "description": "<p>Lista os processos conforme os filtros informados.</p>",
5966 6285 "parameter": {
5967 6286 "fields": {
5968   - "Path Parameters": [
  6287 + "Query Parameters": [
5969 6288 {
5970   - "group": "Path Parameters",
  6289 + "group": "Query Parameters",
  6290 + "type": "Boolean",
  6291 + "optional": true,
  6292 + "field": "crescente",
  6293 + "defaultValue": "false",
  6294 + "description": "<p>Ordenar em ordem crescente, processos mais antigos primeiro</p>"
  6295 + },
  6296 + {
  6297 + "group": "Query Parameters",
5971 6298 "type": "String",
5972   - "optional": false,
  6299 + "optional": true,
5973 6300 "field": "interessado",
5974 6301 "description": "<p>Identificador do interessado</p>"
5975   - }
5976   - ],
5977   - "Query Parameters": [
  6302 + },
5978 6303 {
5979 6304 "group": "Query Parameters",
5980 6305 "type": "String",
... ... @@ -5997,6 +6322,13 @@
5997 6322 "field": "qtdRegistros",
5998 6323 "defaultValue": "50",
5999 6324 "description": "<p>Quantidade de registros retornados por página</p>"
  6325 + },
  6326 + {
  6327 + "group": "Query Parameters",
  6328 + "type": "String",
  6329 + "optional": true,
  6330 + "field": "tipo",
  6331 + "description": "<p>Identificador do tipo de processo que deseja filtrar</p>"
6000 6332 }
6001 6333 ]
6002 6334 }
... ... @@ -6004,7 +6336,7 @@
6004 6336 "examples": [
6005 6337 {
6006 6338 "title": "Exemplo de requisição:\t",
6007   - "content": "curl -i https://<host>/sei-broker/service/414247/processos",
  6339 + "content": "curl -i https://<host>/sei-broker/service/processos",
6008 6340 "type": "json"
6009 6341 }
6010 6342 ],
... ... @@ -6059,6 +6391,27 @@
6059 6391 "optional": false,
6060 6392 "field": "processos.processoResumido.dataGeracao",
6061 6393 "description": "<p>Data de geração do processo</p>"
  6394 + },
  6395 + {
  6396 + "group": "Sucesso Response Body - 200",
  6397 + "type": "Tipo",
  6398 + "optional": false,
  6399 + "field": "processos.processoResumido.tipo",
  6400 + "description": "<p>Objeto com os dados do tipo de processo</p>"
  6401 + },
  6402 + {
  6403 + "group": "Sucesso Response Body - 200",
  6404 + "type": "String",
  6405 + "optional": false,
  6406 + "field": "processos.processoResumido.tipo.codigo",
  6407 + "description": "<p>Código do tipo</p>"
  6408 + },
  6409 + {
  6410 + "group": "Sucesso Response Body - 200",
  6411 + "type": "String",
  6412 + "optional": false,
  6413 + "field": "processos.processoResumido.tipo.nome",
  6414 + "description": "<p>Nome do tipo</p>"
6062 6415 }
6063 6416 ],
6064 6417 "Sucesso Response Header - 200": [
... ... @@ -6070,7 +6423,14 @@
6070 6423 "description": "<p>quantidade de registros que existem para essa consulta.</p>"
6071 6424 }
6072 6425 ]
6073   - }
  6426 + },
  6427 + "examples": [
  6428 + {
  6429 + "title": "Success-Response:",
  6430 + "content": "HTTP/1.1 200 OK\n{\n \"numero\": \"33910007118201710\",\n \"numeroFormatado\": \"33910.007118/2017-10\",\n \"descricao\": \"D:2237021 - SUL AMÉRICA SEGURO SAÚDE S/A\",\n \"unidade\": \"NÚCLEO-RJ\",\n \"dataGeracao\": \"2017-10-09T03:00:00.000+0000\",\n \"tipo\": {\n \t\"codigo\": \"100000882\",\n \t\"nome\": \"Fiscalização: Sancionador\"\n }\n}",
  6431 + "type": "json"
  6432 + }
  6433 + ]
6074 6434 },
6075 6435 "error": {
6076 6436 "examples": [
... ... @@ -6081,7 +6441,7 @@
6081 6441 }
6082 6442 ]
6083 6443 },
6084   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6444 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6085 6445 "groupTitle": "Processo"
6086 6446 },
6087 6447 {
... ... @@ -6091,6 +6451,11 @@
6091 6451 "name": "desanexarProcesso",
6092 6452 "group": "Processo",
6093 6453 "version": "2.0.0",
  6454 + "permission": [
  6455 + {
  6456 + "name": "RO_SEI_BROKER"
  6457 + }
  6458 + ],
6094 6459 "description": "<p>Remove um processo anexado.</p>",
6095 6460 "parameter": {
6096 6461 "fields": {
... ... @@ -6153,7 +6518,7 @@
6153 6518 }
6154 6519 ]
6155 6520 },
6156   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6521 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6157 6522 "groupTitle": "Processo"
6158 6523 },
6159 6524 {
... ... @@ -6163,6 +6528,11 @@
6163 6528 "name": "desbloquearProcesso",
6164 6529 "group": "Processo",
6165 6530 "version": "2.0.0",
  6531 + "permission": [
  6532 + {
  6533 + "name": "RO_SEI_BROKER"
  6534 + }
  6535 + ],
6166 6536 "description": "<p>Desbloquear um processo.</p>",
6167 6537 "parameter": {
6168 6538 "fields": {
... ... @@ -6209,7 +6579,7 @@
6209 6579 }
6210 6580 ]
6211 6581 },
6212   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6582 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6213 6583 "groupTitle": "Processo"
6214 6584 },
6215 6585 {
... ... @@ -6219,6 +6589,11 @@
6219 6589 "name": "desrelacionarProcesso",
6220 6590 "group": "Processo",
6221 6591 "version": "2.0.0",
  6592 + "permission": [
  6593 + {
  6594 + "name": "RO_SEI_BROKER"
  6595 + }
  6596 + ],
6222 6597 "description": "<p>Desrelacionar processos.</p>",
6223 6598 "parameter": {
6224 6599 "fields": {
... ... @@ -6272,7 +6647,7 @@
6272 6647 }
6273 6648 ]
6274 6649 },
6275   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6650 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6276 6651 "groupTitle": "Processo"
6277 6652 },
6278 6653 {
... ... @@ -6282,6 +6657,11 @@
6282 6657 "name": "enviarProcesso",
6283 6658 "group": "Processo",
6284 6659 "version": "2.0.0",
  6660 + "permission": [
  6661 + {
  6662 + "name": "RO_SEI_BROKER"
  6663 + }
  6664 + ],
6285 6665 "description": "<p>Envia processos a outras unidades.</p>",
6286 6666 "parameter": {
6287 6667 "fields": {
... ... @@ -6291,7 +6671,7 @@
6291 6671 "type": "String",
6292 6672 "optional": false,
6293 6673 "field": "unidade",
6294   - "description": "<p>Sigla da Unidade cadastrada no SEI</p>"
  6674 + "description": "<p>Sigla da Unidade cadastrada no SEI. Representa a unidade de localização atual do processo.</p>"
6295 6675 }
6296 6676 ],
6297 6677 "Query Parameters": [
... ... @@ -6324,14 +6704,14 @@
6324 6704 "type": "String",
6325 6705 "optional": false,
6326 6706 "field": "processo",
6327   - "description": "<p>Numero do processo a ser enviado</p>"
  6707 + "description": "<p>Numero do processo a ser enviado. Em caso de processo apensado, o processo a ser enviado deve ser o processo PAI. Não é possível tramitar através do processo FILHO.</p>"
6328 6708 },
6329 6709 {
6330 6710 "group": "Request Body",
6331 6711 "type": "String[]",
6332 6712 "optional": false,
6333 6713 "field": "unidadesDestino",
6334   - "description": "<p>Códigos das unidades para onde o bloco será enviado</p>"
  6714 + "description": "<p>Lista com os identificadores das unidades de destino do processo, código ou nome da unidade.</p>"
6335 6715 },
6336 6716 {
6337 6717 "group": "Request Body",
... ... @@ -6339,7 +6719,7 @@
6339 6719 "optional": false,
6340 6720 "field": "manterAbertoOrigem",
6341 6721 "defaultValue": "false",
6342   - "description": "<p>Informa se o processo deve continuar aberto na unidade de origem</p>"
  6722 + "description": "<p>Informa se o processo deve continuar aberto na unidade de origem .</p>"
6343 6723 },
6344 6724 {
6345 6725 "group": "Request Body",
... ... @@ -6347,7 +6727,7 @@
6347 6727 "optional": false,
6348 6728 "field": "removerAnotacoes",
6349 6729 "defaultValue": "false",
6350   - "description": "<p>Informa se as anotações do processo devem ser removidas</p>"
  6730 + "description": "<p>Informa se as anotações do processo devem ser removidas.</p>"
6351 6731 },
6352 6732 {
6353 6733 "group": "Request Body",
... ... @@ -6355,7 +6735,7 @@
6355 6735 "optional": false,
6356 6736 "field": "enviarEmailNotificacao",
6357 6737 "defaultValue": "false",
6358   - "description": "<p>Informa se deve ser enviado um e-mail de notificação</p>"
  6738 + "description": "<p>Informa se deve ser enviado um e-mail de notificação.</p>"
6359 6739 },
6360 6740 {
6361 6741 "group": "Request Body",
... ... @@ -6363,7 +6743,7 @@
6363 6743 "optional": false,
6364 6744 "field": "dataRetornoProgramado",
6365 6745 "defaultValue": "null",
6366   - "description": "<p>Data para retorno programado do processo a unidade (padrão ISO-8601)</p>"
  6746 + "description": "<p>Data para retorno programado do processo a unidade (padrão ISO-8601).</p>"
6367 6747 },
6368 6748 {
6369 6749 "group": "Request Body",
... ... @@ -6371,7 +6751,7 @@
6371 6751 "optional": false,
6372 6752 "field": "qtdDiasAteRetorno",
6373 6753 "defaultValue": "null",
6374   - "description": "<p>Quantidade de dias até o retorno do processo</p>"
  6754 + "description": "<p>Quantidade de dias até o retorno do processo.</p>"
6375 6755 },
6376 6756 {
6377 6757 "group": "Request Body",
... ... @@ -6379,7 +6759,7 @@
6379 6759 "optional": false,
6380 6760 "field": "somenteDiasUteis",
6381 6761 "defaultValue": "false",
6382   - "description": "<p>Informa se só serão contabilizados dias úteis</p>"
  6762 + "description": "<p>Informa se só serão contabilizados dias úteis.</p>"
6383 6763 }
6384 6764 ]
6385 6765 }
... ... @@ -6413,7 +6793,7 @@
6413 6793 }
6414 6794 ]
6415 6795 },
6416   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  6796 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6417 6797 "groupTitle": "Processo"
6418 6798 },
6419 6799 {
... ... @@ -6423,6 +6803,11 @@
6423 6803 "name": "lancarAndamento",
6424 6804 "group": "Processo",
6425 6805 "version": "2.0.0",
  6806 + "permission": [
  6807 + {
  6808 + "name": "RO_SEI_BROKER"
  6809 + }
  6810 + ],
6426 6811 "description": "<p>Lança um andamento ao processo.</p>",
6427 6812 "parameter": {
6428 6813 "fields": {
... ... @@ -6615,7 +7000,7 @@
6615 7000 }
6616 7001 ]
6617 7002 },
6618   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7003 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6619 7004 "groupTitle": "Processo"
6620 7005 },
6621 7006 {
... ... @@ -6625,6 +7010,11 @@
6625 7010 "name": "listarAndamentos",
6626 7011 "group": "Processo",
6627 7012 "version": "2.0.0",
  7013 + "permission": [
  7014 + {
  7015 + "name": "RO_SEI_BROKER"
  7016 + }
  7017 + ],
6628 7018 "description": "<p>Lista as andamentos do processo.</p>",
6629 7019 "parameter": {
6630 7020 "fields": {
... ... @@ -6822,16 +7212,21 @@
6822 7212 }
6823 7213 ]
6824 7214 },
6825   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7215 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6826 7216 "groupTitle": "Processo"
6827 7217 },
6828 7218 {
6829 7219 "type": "get",
6830   - "url": "/:unidade/processos/:processo/documentos",
  7220 + "url": "/processos/:processo/documentos",
6831 7221 "title": "Listar documentos",
6832 7222 "name": "listarDocumentosPorProcesso",
6833 7223 "group": "Processo",
6834 7224 "version": "2.0.0",
  7225 + "permission": [
  7226 + {
  7227 + "name": "RO_SEI_BROKER"
  7228 + }
  7229 + ],
6835 7230 "description": "<p>Retorna os documentos de um determinado processo.</p>",
6836 7231 "parameter": {
6837 7232 "fields": {
... ... @@ -6840,15 +7235,37 @@
6840 7235 "group": "Path Parameters",
6841 7236 "type": "String",
6842 7237 "optional": false,
6843   - "field": "unidade",
6844   - "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  7238 + "field": "processo",
  7239 + "description": "<p>Número do processo.</p>"
  7240 + }
  7241 + ],
  7242 + "Query Parameters": [
  7243 + {
  7244 + "group": "Query Parameters",
  7245 + "type": "String",
  7246 + "optional": true,
  7247 + "field": "tipo",
  7248 + "defaultValue": "null",
  7249 + "description": "<p>Identificador do tipo do documento, caso seja necessário filtrar pelo tipo</p>"
6845 7250 },
6846 7251 {
6847   - "group": "Path Parameters",
  7252 + "group": "Query Parameters",
6848 7253 "type": "String",
6849   - "optional": false,
6850   - "field": "processo",
6851   - "description": "<p>Número do processo.</p>"
  7254 + "allowedValues": [
  7255 + "\"G (gerado/interno), R (recebido/externo)\""
  7256 + ],
  7257 + "optional": true,
  7258 + "field": "origem",
  7259 + "defaultValue": "null",
  7260 + "description": "<p>Filtra os documentos por gerados ou recebidos</p>"
  7261 + },
  7262 + {
  7263 + "group": "Query Parameters",
  7264 + "type": "boolean",
  7265 + "optional": true,
  7266 + "field": "somenteAssinados",
  7267 + "defaultValue": "false",
  7268 + "description": "<p>Exibir somente documentos assinados</p>"
6852 7269 }
6853 7270 ]
6854 7271 }
... ... @@ -6856,7 +7273,7 @@
6856 7273 "examples": [
6857 7274 {
6858 7275 "title": "Exemplo de requisição:\t",
6859   - "content": "curl -i https://<host>/sei-broker/service/cosap/processos/33910003149201793/documentos",
  7276 + "content": "curl -i https://<host>/sei-broker/service/processos/33910003149201793/documentos",
6860 7277 "type": "json"
6861 7278 }
6862 7279 ],
... ... @@ -6888,8 +7305,8 @@
6888 7305 "group": "Sucesso Response Body - 200",
6889 7306 "type": "String",
6890 7307 "optional": false,
6891   - "field": "documentos.documentoResumido.tipo",
6892   - "description": "<p>Tipo do documento.</p>"
  7308 + "field": "documentos.documentoResumido.numeroInformado",
  7309 + "description": "<p>Número informado na inclusão do documento, também conhecido como número de árvore.</p>"
6893 7310 },
6894 7311 {
6895 7312 "group": "Sucesso Response Body - 200",
... ... @@ -6908,13 +7325,48 @@
6908 7325 "optional": false,
6909 7326 "field": "documentos.documentoResumido.dataGeracao",
6910 7327 "description": "<p>Data de geração do documento.</p>"
  7328 + },
  7329 + {
  7330 + "group": "Sucesso Response Body - 200",
  7331 + "type": "Tipo",
  7332 + "optional": false,
  7333 + "field": "documentos.documentoResumido.tipo",
  7334 + "description": "<p>Objeto representando o tipo do documento.</p>"
  7335 + },
  7336 + {
  7337 + "group": "Sucesso Response Body - 200",
  7338 + "type": "String",
  7339 + "optional": false,
  7340 + "field": "documentos.documentoResumido.tipo.codigo",
  7341 + "description": "<p>Identificados do tipo do documento, também conhecido como série.</p>"
  7342 + },
  7343 + {
  7344 + "group": "Sucesso Response Body - 200",
  7345 + "type": "String",
  7346 + "optional": false,
  7347 + "field": "documentos.documentoResumido.tipo.nome",
  7348 + "description": "<p>Nome do tipo do documento.</p>"
  7349 + },
  7350 + {
  7351 + "group": "Sucesso Response Body - 200",
  7352 + "type": "String",
  7353 + "optional": false,
  7354 + "field": "documentos.documentoResumido.tipoConferencia",
  7355 + "description": "<p>Tipo de conferência do documento.</p>"
  7356 + },
  7357 + {
  7358 + "group": "Sucesso Response Body - 200",
  7359 + "type": "boolean",
  7360 + "optional": false,
  7361 + "field": "documentos.documentoResumido.assinado",
  7362 + "description": "<p>Boolean indicando se o documento foi assinado.</p>"
6911 7363 }
6912 7364 ]
6913 7365 },
6914 7366 "examples": [
6915 7367 {
6916 7368 "title": "Success-Response:",
6917   - "content": "HTTP/1.1 200 OK\n{\n \"dataGeracao\": \"2015-08-10T00:00:00-03:00\",\n \"numero\": \"0670949\",\n \"origem\": \"RECEBIDO\",\n \"tipo\": \"Despacho\"\n}",
  7369 + "content": "HTTP/1.1 200 OK\n{\n \"numero\": \"0670949\",\n \"numeroInformado\": \"594\",\n \"origem\": \"RECEBIDO\",\n \"dataGeracao\": \"2015-08-10T00:00:00-03:00\",\n \"tipo\": {\n \t\"codigo\": \"629\",\n \t\"nome\": \"Relatório de Arquivamento-SIF\"\n }\n \"tipoConferencia\": \"4\",\n \"assinado\": true\n}",
6918 7370 "type": "json"
6919 7371 }
6920 7372 ]
... ... @@ -6928,7 +7380,7 @@
6928 7380 }
6929 7381 ]
6930 7382 },
6931   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7383 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6932 7384 "groupTitle": "Processo"
6933 7385 },
6934 7386 {
... ... @@ -6938,6 +7390,11 @@
6938 7390 "name": "listarTiposProcesso",
6939 7391 "group": "Processo",
6940 7392 "version": "2.0.0",
  7393 + "permission": [
  7394 + {
  7395 + "name": "RO_SEI_BROKER"
  7396 + }
  7397 + ],
6941 7398 "description": "<p>Consulta os tipos de processo.</p>",
6942 7399 "parameter": {
6943 7400 "fields": {
... ... @@ -6990,7 +7447,7 @@
6990 7447 }
6991 7448 ]
6992 7449 },
6993   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7450 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
6994 7451 "groupTitle": "Processo"
6995 7452 },
6996 7453 {
... ... @@ -7000,6 +7457,11 @@
7000 7457 "name": "reabrirProcesso",
7001 7458 "group": "Processo",
7002 7459 "version": "2.0.0",
  7460 + "permission": [
  7461 + {
  7462 + "name": "RO_SEI_BROKER"
  7463 + }
  7464 + ],
7003 7465 "description": "<p>Reabre um processo.</p>",
7004 7466 "parameter": {
7005 7467 "fields": {
... ... @@ -7063,7 +7525,7 @@
7063 7525 }
7064 7526 ]
7065 7527 },
7066   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7528 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7067 7529 "groupTitle": "Processo"
7068 7530 },
7069 7531 {
... ... @@ -7073,6 +7535,11 @@
7073 7535 "name": "relacionarProcesso",
7074 7536 "group": "Processo",
7075 7537 "version": "2.0.0",
  7538 + "permission": [
  7539 + {
  7540 + "name": "RO_SEI_BROKER"
  7541 + }
  7542 + ],
7076 7543 "description": "<p>Relacionar processos.</p>",
7077 7544 "parameter": {
7078 7545 "fields": {
... ... @@ -7135,7 +7602,7 @@
7135 7602 }
7136 7603 ]
7137 7604 },
7138   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7605 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7139 7606 "groupTitle": "Processo"
7140 7607 },
7141 7608 {
... ... @@ -7145,6 +7612,11 @@
7145 7612 "name": "removerSobrestamentoProcesso",
7146 7613 "group": "Processo",
7147 7614 "version": "2.0.0",
  7615 + "permission": [
  7616 + {
  7617 + "name": "RO_SEI_BROKER"
  7618 + }
  7619 + ],
7148 7620 "description": "<p>Remover sobrestamento de processo.</p>",
7149 7621 "parameter": {
7150 7622 "fields": {
... ... @@ -7191,7 +7663,7 @@
7191 7663 }
7192 7664 ]
7193 7665 },
7194   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7666 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7195 7667 "groupTitle": "Processo"
7196 7668 },
7197 7669 {
... ... @@ -7201,6 +7673,11 @@
7201 7673 "name": "sobrestarProcesso",
7202 7674 "group": "Processo",
7203 7675 "version": "2.0.0",
  7676 + "permission": [
  7677 + {
  7678 + "name": "RO_SEI_BROKER"
  7679 + }
  7680 + ],
7204 7681 "description": "<p>Sobrestar processo.</p>",
7205 7682 "parameter": {
7206 7683 "fields": {
... ... @@ -7270,16 +7747,148 @@
7270 7747 }
7271 7748 ]
7272 7749 },
7273   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
  7750 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java",
7274 7751 "groupTitle": "Processo"
7275 7752 },
7276 7753 {
  7754 + "type": "delete",
  7755 + "url": "/sipar/importados/:processo",
  7756 + "title": "Cancelar Importação Processo",
  7757 + "name": "cancelarImportacaoProcesso",
  7758 + "group": "SIPAR",
  7759 + "version": "2.0.0",
  7760 + "description": "<p>Desmarca um processo físico (SIPAR) como importado para um processo eletrônico (SEI).</p>",
  7761 + "parameter": {
  7762 + "fields": {
  7763 + "Path Parameter": [
  7764 + {
  7765 + "group": "Path Parameter",
  7766 + "type": "String",
  7767 + "optional": false,
  7768 + "field": "processo",
  7769 + "description": "<p>Número do processo físico existente no SIPAR contendo 17 dígitos e iniciado com 33902. Ex. 33902111111111111</p>"
  7770 + }
  7771 + ]
  7772 + }
  7773 + },
  7774 + "examples": [
  7775 + {
  7776 + "title": "Exemplo de requisição:",
  7777 + "content": "curl -X DELETE http://<host>/sei-broker/service/sipar/importados/33902112492200241",
  7778 + "type": "curl"
  7779 + }
  7780 + ],
  7781 + "success": {
  7782 + "examples": [
  7783 + {
  7784 + "title": "Success-Response:",
  7785 + "content": "HTTP/1.1 204 No Content",
  7786 + "type": "json"
  7787 + }
  7788 + ]
  7789 + },
  7790 + "error": {
  7791 + "examples": [
  7792 + {
  7793 + "title": "Error-Response:",
  7794 + "content": "HTTP/1.1 500 Internal Server Error\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7795 + "type": "json"
  7796 + },
  7797 + {
  7798 + "title": "Error-Response:",
  7799 + "content": "HTTP/1.1 400 Bad Request\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7800 + "type": "json"
  7801 + },
  7802 + {
  7803 + "title": "Error-Response:",
  7804 + "content": "HTTP/1.1 404 Not Found\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7805 + "type": "json"
  7806 + }
  7807 + ]
  7808 + },
  7809 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SiparResource.java",
  7810 + "groupTitle": "SIPAR"
  7811 + },
  7812 + {
  7813 + "type": "post",
  7814 + "url": "/sipar/importados",
  7815 + "title": "Importar Processo",
  7816 + "name": "importarProcesso",
  7817 + "group": "SIPAR",
  7818 + "version": "2.0.0",
  7819 + "description": "<p>Marca um processo físico (SIPAR) como importado para um processo eletrônico (SEI).</p>",
  7820 + "parameter": {
  7821 + "fields": {
  7822 + "Header Parameters": [
  7823 + {
  7824 + "group": "Header Parameters",
  7825 + "type": "String",
  7826 + "optional": false,
  7827 + "field": "content-type",
  7828 + "description": "<p>Informar text/plain</p>"
  7829 + }
  7830 + ],
  7831 + "Request Body": [
  7832 + {
  7833 + "group": "Request Body",
  7834 + "type": "String",
  7835 + "optional": false,
  7836 + "field": "processo",
  7837 + "description": "<p>Número do processo a ser importado</p>"
  7838 + }
  7839 + ]
  7840 + }
  7841 + },
  7842 + "examples": [
  7843 + {
  7844 + "title": "Exemplo de requisição:\t",
  7845 + "content": "endpoint: [POST] http://<host>/sei-broker/service/sipar/importados\n\nbody:\n33902112492200241",
  7846 + "type": "json"
  7847 + }
  7848 + ],
  7849 + "success": {
  7850 + "examples": [
  7851 + {
  7852 + "title": "Success-Response:",
  7853 + "content": "HTTP/1.1 201 Created",
  7854 + "type": "json"
  7855 + }
  7856 + ]
  7857 + },
  7858 + "error": {
  7859 + "examples": [
  7860 + {
  7861 + "title": "Error-Response:",
  7862 + "content": "HTTP/1.1 500 Internal Server Error\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7863 + "type": "json"
  7864 + },
  7865 + {
  7866 + "title": "Error-Response:",
  7867 + "content": "HTTP/1.1 400 Bad Request\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7868 + "type": "json"
  7869 + },
  7870 + {
  7871 + "title": "Error-Response:",
  7872 + "content": "HTTP/1.1 409 Conflict\n{\n\t\t\"error\":\"Mensagem de erro.\"\n\t\t\"code\":\"código do erro\"\n}",
  7873 + "type": "json"
  7874 + }
  7875 + ]
  7876 + },
  7877 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SiparResource.java",
  7878 + "groupTitle": "SIPAR"
  7879 + },
  7880 + {
7277 7881 "type": "get",
7278 7882 "url": "/:unidade/series",
7279 7883 "title": "Listar séries",
7280 7884 "name": "listarSeries",
7281 7885 "group": "Serie",
7282 7886 "version": "2.0.0",
  7887 + "permission": [
  7888 + {
  7889 + "name": "RO_SEI_BROKER"
  7890 + }
  7891 + ],
7283 7892 "description": "<p>Este método realiza uma consulta às séries.</p>",
7284 7893 "parameter": {
7285 7894 "fields": {
... ... @@ -7361,7 +7970,7 @@
7361 7970 }
7362 7971 ]
7363 7972 },
7364   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/SeriesResource.java",
  7973 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/SeriesResource.java",
7365 7974 "groupTitle": "Serie"
7366 7975 },
7367 7976 {
... ... @@ -7371,6 +7980,11 @@
7371 7980 "name": "listarTarefas",
7372 7981 "group": "Tarefa",
7373 7982 "version": "2.0.0",
  7983 + "permission": [
  7984 + {
  7985 + "name": "RO_SEI_BROKER"
  7986 + }
  7987 + ],
7374 7988 "description": "<p>Lista os tipos de tarefas existentes no SEI.</p>",
7375 7989 "parameter": {
7376 7990 "fields": {
... ... @@ -7470,7 +8084,7 @@
7470 8084 }
7471 8085 ]
7472 8086 },
7473   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/TarefaResource.java",
  8087 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/TarefaResource.java",
7474 8088 "groupTitle": "Tarefa"
7475 8089 },
7476 8090 {
... ... @@ -7480,6 +8094,11 @@
7480 8094 "name": "listarTiposConferencia",
7481 8095 "group": "Tipos_Confer_ncia",
7482 8096 "version": "2.0.0",
  8097 + "permission": [
  8098 + {
  8099 + "name": "RO_SEI_BROKER"
  8100 + }
  8101 + ],
7483 8102 "description": "<p>Lista os tipos de conferência.</p>",
7484 8103 "parameter": {
7485 8104 "fields": {
... ... @@ -7537,7 +8156,7 @@
7537 8156 }
7538 8157 ]
7539 8158 },
7540   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/TipoConferenciaResource.java",
  8159 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/TipoConferenciaResource.java",
7541 8160 "groupTitle": "Tipos_Confer_ncia"
7542 8161 },
7543 8162 {
... ... @@ -7547,6 +8166,11 @@
7547 8166 "name": "consultarCodigo",
7548 8167 "group": "Unidade",
7549 8168 "version": "2.0.0",
  8169 + "permission": [
  8170 + {
  8171 + "name": "RO_SEI_BROKER"
  8172 + }
  8173 + ],
7550 8174 "description": "<p>Retorna o código da Unidade pesquisada.</p>",
7551 8175 "parameter": {
7552 8176 "fields": {
... ... @@ -7590,7 +8214,7 @@
7590 8214 }
7591 8215 ]
7592 8216 },
7593   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
  8217 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
7594 8218 "groupTitle": "Unidade"
7595 8219 },
7596 8220 {
... ... @@ -7600,6 +8224,11 @@
7600 8224 "name": "listarUnidades",
7601 8225 "group": "Unidade",
7602 8226 "version": "2.0.0",
  8227 + "permission": [
  8228 + {
  8229 + "name": "RO_SEI_BROKER"
  8230 + }
  8231 + ],
7603 8232 "description": "<p>Retorna as Unidades cadastradas no SEI.</p>",
7604 8233 "examples": [
7605 8234 {
... ... @@ -7651,16 +8280,21 @@
7651 8280 }
7652 8281 ]
7653 8282 },
7654   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
  8283 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UnidadeResource.java",
7655 8284 "groupTitle": "Unidade"
7656 8285 },
7657 8286 {
7658   - "type": "put",
7659   - "url": "/usuarios/ativar",
  8287 + "type": "post",
  8288 + "url": "/usuarios/ativos",
7660 8289 "title": "Ativar usuário",
7661 8290 "name": "ativarUsuario",
7662 8291 "group": "Usuario",
7663 8292 "version": "2.0.0",
  8293 + "permission": [
  8294 + {
  8295 + "name": "RO_SEI_BROKER_ADM"
  8296 + }
  8297 + ],
7664 8298 "description": "<p>Este método reativa usuários.</p>",
7665 8299 "parameter": {
7666 8300 "fields": {
... ... @@ -7692,7 +8326,7 @@
7692 8326 "examples": [
7693 8327 {
7694 8328 "title": "Exemplo de requisição:\t",
7695   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/ativar\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8329 + "content": "endpoint: http://<host>/sei-broker/service/usuarios/ativos\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
7696 8330 "type": "json"
7697 8331 }
7698 8332 ],
... ... @@ -7718,7 +8352,7 @@
7718 8352 }
7719 8353 ]
7720 8354 },
7721   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8355 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7722 8356 "groupTitle": "Usuario"
7723 8357 },
7724 8358 {
... ... @@ -7728,33 +8362,40 @@
7728 8362 "name": "atribuirProcesso",
7729 8363 "group": "Usuario",
7730 8364 "version": "2.0.0",
  8365 + "permission": [
  8366 + {
  8367 + "name": "RO_SEI_BROKER"
  8368 + }
  8369 + ],
7731 8370 "description": "<p>Este método atribui o processo a um usuário.</p>",
7732 8371 "parameter": {
7733 8372 "fields": {
7734   - "Parameter": [
  8373 + "Path Parameters": [
7735 8374 {
7736   - "group": "Parameter",
  8375 + "group": "Path Parameters",
7737 8376 "type": "String",
7738 8377 "optional": false,
7739 8378 "field": "unidade",
7740 8379 "description": "<p>Sigla da Unidade cadastrada no SEI</p>"
7741 8380 },
7742 8381 {
7743   - "group": "Parameter",
  8382 + "group": "Path Parameters",
7744 8383 "type": "String",
7745 8384 "optional": false,
7746   - "field": "processo",
7747   - "description": "<p>Numero do processo a ser atribuído</p>"
7748   - },
  8385 + "field": "usuario",
  8386 + "description": "<p>Login do usuário a quem deseja atribuir o processo</p>"
  8387 + }
  8388 + ],
  8389 + "Request Body": [
7749 8390 {
7750   - "group": "Parameter",
  8391 + "group": "Request Body",
7751 8392 "type": "String",
7752 8393 "optional": false,
7753   - "field": "usuario",
7754   - "description": "<p>Login do usuário a quem deseja atribuir o processo</p>"
  8394 + "field": "processo",
  8395 + "description": "<p>Numero do processo a ser atribuído</p>"
7755 8396 },
7756 8397 {
7757   - "group": "Parameter",
  8398 + "group": "Request Body",
7758 8399 "type": "String",
7759 8400 "optional": true,
7760 8401 "field": "reabrir-processo",
... ... @@ -7793,22 +8434,34 @@
7793 8434 }
7794 8435 ]
7795 8436 },
7796   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8437 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7797 8438 "groupTitle": "Usuario"
7798 8439 },
7799 8440 {
7800 8441 "type": "get",
7801   - "url": "/usuarios/:usuario",
  8442 + "url": ":unidade/usuarios/:usuario",
7802 8443 "title": "Buscar usuário",
7803 8444 "name": "buscarUsuario",
7804 8445 "group": "Usuario",
7805 8446 "version": "2.0.0",
  8447 + "permission": [
  8448 + {
  8449 + "name": "RO_SEI_BROKER"
  8450 + }
  8451 + ],
7806 8452 "description": "<p>Este método realiza a uma busca pelo login do usuário.</p>",
7807 8453 "parameter": {
7808 8454 "fields": {
7809   - "Parameter": [
  8455 + "Path Parameters": [
7810 8456 {
7811   - "group": "Parameter",
  8457 + "group": "Path Parameters",
  8458 + "type": "String",
  8459 + "optional": false,
  8460 + "field": "unidade",
  8461 + "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  8462 + },
  8463 + {
  8464 + "group": "Path Parameters",
7812 8465 "type": "String",
7813 8466 "optional": false,
7814 8467 "field": "usuario",
... ... @@ -7820,7 +8473,7 @@
7820 8473 "examples": [
7821 8474 {
7822 8475 "title": "Exemplo de requisição:\t",
7823   - "content": "curl -i http://<host>/sei-broker/service/usuarios/andre.guimaraes",
  8476 + "content": "curl -i http://<host>/sei-broker/service/cosap/usuarios/andre.guimaraes",
7824 8477 "type": "json"
7825 8478 }
7826 8479 ],
... ... @@ -7846,16 +8499,21 @@
7846 8499 }
7847 8500 ]
7848 8501 },
7849   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8502 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7850 8503 "groupTitle": "Usuario"
7851 8504 },
7852 8505 {
7853   - "type": "put",
7854   - "url": "/usuarios/desativar",
  8506 + "type": "delete",
  8507 + "url": "/usuarios/ativos",
7855 8508 "title": "Desativar usuário",
7856 8509 "name": "desativarUsuario",
7857 8510 "group": "Usuario",
7858 8511 "version": "2.0.0",
  8512 + "permission": [
  8513 + {
  8514 + "name": "RO_SEI_BROKER_ADM"
  8515 + }
  8516 + ],
7859 8517 "description": "<p>Este método desativa usuários.</p>",
7860 8518 "parameter": {
7861 8519 "fields": {
... ... @@ -7887,7 +8545,7 @@
7887 8545 "examples": [
7888 8546 {
7889 8547 "title": "Exemplo de requisição:\t",
7890   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/desativar\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8548 + "content": "endpoint: [DELETE] http://<host>/sei-broker/service/usuarios/ativos/andre.guimaraes\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
7891 8549 "type": "json"
7892 8550 }
7893 8551 ],
... ... @@ -7913,16 +8571,21 @@
7913 8571 }
7914 8572 ]
7915 8573 },
7916   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8574 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7917 8575 "groupTitle": "Usuario"
7918 8576 },
7919 8577 {
7920   - "type": "post",
7921   - "url": "/usuarios/excluir",
  8578 + "type": "delete",
  8579 + "url": "/usuarios/:login",
7922 8580 "title": "Excluir usuário",
7923 8581 "name": "excluirUsuario",
7924 8582 "group": "Usuario",
7925 8583 "version": "2.0.0",
  8584 + "permission": [
  8585 + {
  8586 + "name": "RO_SEI_BROKER_ADM"
  8587 + }
  8588 + ],
7926 8589 "description": "<p>Este método realiza a exclusão de usuários.</p>",
7927 8590 "parameter": {
7928 8591 "fields": {
... ... @@ -7954,7 +8617,7 @@
7954 8617 "examples": [
7955 8618 {
7956 8619 "title": "Exemplo de requisição:\t",
7957   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/excluir\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8620 + "content": "endpoint: [DELETE] http://<host>/sei-broker/service/usuarios/andre.guimaraes\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
7958 8621 "type": "json"
7959 8622 }
7960 8623 ],
... ... @@ -7980,36 +8643,41 @@
7980 8643 }
7981 8644 ]
7982 8645 },
7983   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8646 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
7984 8647 "groupTitle": "Usuario"
7985 8648 },
7986 8649 {
7987 8650 "type": "post",
7988   - "url": "/usuarios/incluir-alterar",
7989   - "title": "Incluir ou alterar usuário",
  8651 + "url": "/usuarios",
  8652 + "title": "Incluir usuário",
7990 8653 "name": "incluirUsuario",
7991 8654 "group": "Usuario",
7992 8655 "version": "2.0.0",
  8656 + "permission": [
  8657 + {
  8658 + "name": "RO_SEI_BROKER_ADM"
  8659 + }
  8660 + ],
7993 8661 "description": "<p>Este método realiza a inclusão de novos usuários ou alterarações nos usuários existentes.</p>",
7994 8662 "parameter": {
7995 8663 "fields": {
7996   - "Parameter": [
  8664 + "Request Body": [
7997 8665 {
7998   - "group": "Parameter",
  8666 + "group": "Request Body",
7999 8667 "type": "String",
8000 8668 "optional": false,
8001 8669 "field": "codigo",
8002 8670 "description": "<p>Código que deseja atribuir ao usuário</p>"
8003 8671 },
8004 8672 {
8005   - "group": "Parameter",
  8673 + "group": "Request Body",
8006 8674 "type": "String",
8007 8675 "optional": false,
8008 8676 "field": "nome",
8009 8677 "description": "<p>Nome do usuário</p>"
8010 8678 },
8011 8679 {
8012   - "group": "Parameter",
  8680 + "group": "Request Body",
8013 8681 "type": "String",
8014 8682 "optional": false,
8015 8683 "field": "login",
... ... @@ -8021,7 +8689,7 @@
8021 8689 "examples": [
8022 8690 {
8023 8691 "title": "Exemplo de requisição:\t",
8024   - "content": "endpoint: http://<host>/sei-broker/service/usuarios/incluir-alterar\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
  8692 + "content": "endpoint: http://<host>/sei-broker/service/usuarios\n\nbody:\n{\n\t\"codigo\":\"1234\",\n\t\"nome\":\"André Luís Fernandes Guimarães\",\n\t\"login\":\"andre.guimaraes\"\n}",
8025 8693 "type": "json"
8026 8694 }
8027 8695 ],
... ... @@ -8047,7 +8715,7 @@
8047 8715 }
8048 8716 ]
8049 8717 },
8050   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8718 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
8051 8719 "groupTitle": "Usuario"
8052 8720 },
8053 8721 {
... ... @@ -8057,19 +8725,26 @@
8057 8725 "name": "listarUsuarios",
8058 8726 "group": "Usuario",
8059 8727 "version": "2.0.0",
  8728 + "permission": [
  8729 + {
  8730 + "name": "RO_SEI_BROKER"
  8731 + }
  8732 + ],
8060 8733 "description": "<p>Este método realiza uma consulta aos usuários cadastrados que possuem o perfil &quot;Básico&quot;.</p>",
8061 8734 "parameter": {
8062 8735 "fields": {
8063   - "Parameter": [
  8736 + "Path Parameters": [
8064 8737 {
8065   - "group": "Parameter",
  8738 + "group": "Path Parameters",
8066 8739 "type": "String",
8067 8740 "optional": false,
8068 8741 "field": "unidade",
8069   - "description": "<p>Sigla da Unidade cadastrada no SEI</p>"
8070   - },
  8742 + "description": "<p>Sigla da Unidade cadastrada no SEI.</p>"
  8743 + }
  8744 + ],
  8745 + "Query Parameters": [
8071 8746 {
8072   - "group": "Parameter",
  8747 + "group": "Query Parameters",
8073 8748 "type": "String",
8074 8749 "optional": true,
8075 8750 "field": "usuario",
... ... @@ -8108,7 +8783,7 @@
8108 8783 }
8109 8784 ]
8110 8785 },
8111   - "filename": "sei-broker/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
  8786 + "filename": "branch_homologacao/src/main/java/br/gov/ans/integracao/sei/rest/UsuarioResource.java",
8112 8787 "groupTitle": "Usuario"
8113 8788 }
8114 8789 ]
... ...
src/main/webapp/api-docs/api_project.js
1 1 define({
2 2 "name": "sei-broker",
3 3 "version": "2.0.0",
4   - "description": "Documentação da camada de integração ANS X SEI. Essa documentação serve para apoiar aos consumidores da camada de integração, pode ser necessário consultar a <a href=\"https://softwarepublico.gov.br/social/sei/manuais\">documentação oficial do SEI</a> para melhor entendimento do negócio e seus objetos.",
  4 + "description": "Documentação da camada de integração ANS X SEI. Essa documentação serve para apoiar aos consumidores da camada de integração, pode ser necessário consultar a <a href=\"https://softwarepublico.gov.br/social/sei/manuais\">documentação oficial do SEI</a> para melhor entendimento do negócio e seus objetos. Mais informações do SEI-Broker veja o <a href=\"http://wiki.ans.gov.br/index.php/Sei-broker\">artigo wiki</a>.",
5 5 "title": "Documentação - sei-broker",
6 6 "url": "https://<host>/sei-broker/service",
7 7 "sampleUrl": false,
8 8 "apidoc": "0.2.0",
9 9 "generator": {
10 10 "name": "apidoc",
11   - "time": "2017-05-30T13:44:55.325Z",
  11 + "time": "2017-10-30T13:05:05.280Z",
12 12 "url": "http://apidocjs.com",
13 13 "version": "0.15.1"
14 14 }
... ...
src/main/webapp/api-docs/api_project.json
1 1 {
2 2 "name": "sei-broker",
3 3 "version": "2.0.0",
4   - "description": "Documentação da camada de integração ANS X SEI. Essa documentação serve para apoiar aos consumidores da camada de integração, pode ser necessário consultar a <a href=\"https://softwarepublico.gov.br/social/sei/manuais\">documentação oficial do SEI</a> para melhor entendimento do negócio e seus objetos.",
  4 + "description": "Documentação da camada de integração ANS X SEI. Essa documentação serve para apoiar aos consumidores da camada de integração, pode ser necessário consultar a <a href=\"https://softwarepublico.gov.br/social/sei/manuais\">documentação oficial do SEI</a> para melhor entendimento do negócio e seus objetos. Mais informações do SEI-Broker veja o <a href=\"http://wiki.ans.gov.br/index.php/Sei-broker\">artigo wiki</a>.",
5 5 "title": "Documentação - sei-broker",
6 6 "url": "https://<host>/sei-broker/service",
7 7 "sampleUrl": false,
8 8 "apidoc": "0.2.0",
9 9 "generator": {
10 10 "name": "apidoc",
11   - "time": "2017-05-30T13:44:55.325Z",
  11 + "time": "2017-10-30T13:05:05.280Z",
12 12 "url": "http://apidocjs.com",
13 13 "version": "0.15.1"
14 14 }
... ...
src/test/java/br/gov/ans/integracao/sei/testes/Base64Decoder.java
... ... @@ -5,7 +5,7 @@ import org.apache.commons.codec.binary.Base64;
5 5  
6 6 public class Base64Decoder {
7 7 public static void main(String[] args) {
8   - String base64 = "eyJudW1lcm9Qcm9jZXNzbyI6IjMzOTEwMDAwMTIzMjAxNzkzIiwKInJhemFvU29jaWFsIjoiQU1JTCBBU1NJU1TKTkNJQSBNyURJQ0EgSU5URVJOQUNJT05BTCBTLkEuIiwKImNucGpPcGVyYWRvcmEiOiIyOTMwOTEyNzAwMDE3OSIsCiJudW1lcm9SZWdpc3Ryb0FucyI6IjMyNjMwNSIsCiJkYXRhUHJvdG9jb2xvIjoiMDEvMDIvMjAxNyIsCiJtZXNJbmljaW9BcGxpY2FjYW8iOiIwNS8yMDE3IiwKImFub0luaWNpb0FwbGljYWNhbyI6IjA0LzIwMTgifQo=";
  8 + String base64 = "PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PlRFU1RFVEVTVEU8L2JvZHk+PC9odG1sPg==";
9 9  
10 10 System.out.println(new String(Base64.decodeBase64(base64)));
11 11 }
... ...
src/test/java/br/gov/ans/integracao/sei/testes/Base64Encoder.java
1 1 package br.gov.ans.integracao.sei.testes;
2 2  
  3 +import java.io.File;
  4 +import java.io.FileInputStream;
  5 +import java.io.IOException;
  6 +
3 7 import org.apache.commons.codec.binary.Base64;
4 8  
5 9 public class Base64Encoder {
6 10  
7   - public static void main(String[] args) {
8   - String string = "{\"conteudo\":\"tentativa 1 &#x000D; tentativa 2 &#13; tentativa 3 \\r tentativa 4 \\n fim! \"}";
9   - System.out.println(string);
10   - System.out.println(Base64.encodeBase64String(string.getBytes()));
  11 + public static void main(String[] args) throws IOException {
  12 + String string = "{\"content\":\"tentativa 1 &#x000D; tentativa 2 &#13; tentativa 3 \\r tentativa 4 \\n fim! <br> teste da tag \"}";
  13 +
  14 +// System.out.println(string);
  15 +
  16 +// System.out.println(Base64.encodeBase64String(string.getBytes()));
  17 + Base64Encoder encoder = new Base64Encoder();
  18 +
  19 + System.out.println(encoder.getBase64("0693609.pdf"));
  20 + System.out.println(encoder.getMD5("0693609.pdf"));
  21 + System.out.println(Base64.encodeBase64String("{\"regAns\":\"363022\",\"razaoSocial\":\"BRADESCO SAUDE E ASSISTENCIA S.A\",\"emailCadop\":\"teste@teste.com\",\"nuCnpj\":\"0000000000\",\"noCargoRepr\":\"Diretor\",\"noRepresentante\":\"André Guimarães\",\"anoInicio\":\"2016\",\"anoFinal\":\"2017\",\"numeroDocumento\":\"00000000\"}".getBytes()));
  22 + }
  23 +
  24 + public String getBase64(String arquivo){
  25 + ClassLoader classLoader = getClass().getClassLoader();
  26 +
  27 + File file = new File(classLoader.getResource(arquivo).getFile());
  28 +
  29 + byte[] bytes = new byte[(int) file.length()];
  30 +
  31 + try {
  32 + FileInputStream fileInputStream = new FileInputStream(file);
  33 + fileInputStream.read(bytes);
  34 + } catch (Exception e) {
  35 + e.printStackTrace();
  36 + }
  37 +
  38 + return Base64.encodeBase64String(bytes);
11 39 }
12 40  
  41 + public String getMD5(String arquivo) throws IOException{
  42 + ClassLoader classLoader = getClass().getClassLoader();
  43 + FileInputStream fis = new FileInputStream(new File(classLoader.getResource(arquivo).getFile()));
  44 + String md5 = org.apache.commons.codec.digest.DigestUtils.md5Hex(fis);
  45 + fis.close();
  46 +
  47 + return md5;
  48 + }
13 49 }
  50 +
... ...
src/test/java/br/gov/ans/integracao/sei/testes/FunctionalTest.java
... ... @@ -6,8 +6,8 @@ import com.jayway.restassured.RestAssured;
6 6  
7 7 public class FunctionalTest {
8 8  
9   - protected final String USUARIO = "desenv_integracao_sei";
10   - protected final String SENHA = "integra_sei_2016";
  9 + protected final String USUARIO = "andre.guimaraes";
  10 + protected final String SENHA = "Merda de senha!";
11 11 protected static final Boolean DESENVOLVIMENTO = false;
12 12  
13 13 @BeforeClass
... ...
src/test/java/br/gov/ans/integracao/sei/testes/SeiBrokerTest.java
... ... @@ -105,12 +105,12 @@ public class SeiBrokerTest extends FunctionalTest{
105 105  
106 106 @Test
107 107 public void AG_consultarDocumentosPorInteressadosTest(){
108   - given().auth().basic(USUARIO, SENHA).accept("application/json").when().get("/363022/documentos").then().statusCode(200);
  108 + given().auth().basic(USUARIO, SENHA).accept("application/json").when().get("/interessados/363022/documentos").then().statusCode(200);
109 109 }
110 110  
111 111 @Test
112   - public void AH_consultarProcessosPorInteressadosTest(){
113   - given().auth().basic(USUARIO, SENHA).accept("application/json").when().get("/363022/processos").then().statusCode(200);
  112 + public void AH_consultarProcessos(){
  113 + given().auth().basic(USUARIO, SENHA).accept("application/json").when().get("/processos").then().statusCode(200);
114 114 }
115 115  
116 116 @Test
... ... @@ -561,8 +561,10 @@ public class SeiBrokerTest extends FunctionalTest{
561 561 i.setNome("BRADESCO SAUDE E ASSISTENCIA S.A");
562 562 i.setSigla("363022");
563 563 documento.setInteressados(new Interessado[]{i});
564   -
565   - documento.setConteudo(Base64.encodeBase64String("<BR><BR>Tendo em vista que o processo foi criado indevidamente pelo sistema de integração do ressarcimento ao SUS, considera-se encerrado o processo eletrônico, sendo vedada qualquer juntada de novos documentos eletrônicos por meio do SEI.<BR>".getBytes()));
  564 +
  565 + documento.setConteudo("PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PlRFU1RFVEVTVEU8L2JvZHk+PC9odG1sPg==");
  566 +
  567 +// documento.setConteudo(Base64.encodeBase64String("<BR><BR>Tendo em vista que o processo foi criado indevidamente pelo sistema de integração do ressarcimento ao SUS, considera-se encerrado o processo eletrônico, sendo vedada qualquer juntada de novos documentos eletrônicos por meio do SEI.<BR>".getBytes()));
566 568  
567 569 return documento;
568 570 }
... ...