Commit 2cf0a8d0a6dff958b0532a8530403ce9fccc37e5

Authored by gabriel.damasceno
2 parents 2fcc54bd 59c398de
Exists in master

Merge branch 'tarefa-4583' into ecm-release-0001-sprint3

Showing 41 changed files with 402 additions and 142 deletions   Show diff stats
cit-tabelas-corp-api/pom.xml
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 <parent> 23 <parent>
24 <groupId>br.com.centralit</groupId> 24 <groupId>br.com.centralit</groupId>
25 <artifactId>cit-tabelas-corp</artifactId> 25 <artifactId>cit-tabelas-corp</artifactId>
26 - <version>2.0.0</version> 26 + <version>${cit-tabelas-corp.version}</version>
27 </parent> 27 </parent>
28 28
29 <artifactId>cit-tabelas-corp-api</artifactId> 29 <artifactId>cit-tabelas-corp-api</artifactId>
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 <dependency> 39 <dependency>
40 <groupId>br.com.centralit</groupId> 40 <groupId>br.com.centralit</groupId>
41 <artifactId>cit-portal-api</artifactId> 41 <artifactId>cit-portal-api</artifactId>
42 - <version>${cit-portal.version}</version> 42 + <version>${cit-core.version}</version>
43 </dependency> 43 </dependency>
44 <dependency> 44 <dependency>
45 <groupId>br.com.centralit</groupId> 45 <groupId>br.com.centralit</groupId>
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java
@@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO { @@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO {
141 */ 141 */
142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); 142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome);
143 143
  144 + /**
  145 + * Método responsável por obter permissão para assinatura de documento
  146 + * @author rogerio.cassimiro
  147 + * @param idUsuario
  148 + * @return {@link Boolean}
  149 + */
  150 + boolean getPermissaoAssinaturaDocumento(Long idUsuario);
144 } 151 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java
@@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{ @@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{
39 List<Pessoa> findByUsuario(Pessoa pessoa); 39 List<Pessoa> findByUsuario(Pessoa pessoa);
40 40
41 Pessoa buscaPessoaPorUsuarioId(Long idUsuario); 41 Pessoa buscaPessoaPorUsuarioId(Long idUsuario);
42 - 42 +
43 } 43 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java
@@ -25,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; @@ -25,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
25 */ 25 */
26 public interface TerceirizadoDao extends CitGenericDAO { 26 public interface TerceirizadoDao extends CitGenericDAO {
27 27
  28 + /**
  29 + * Método responsável por obter permissão para assinatura de documento
  30 + * @author rogerio.cassimiro
  31 + * @param idUsuario
  32 + * @return {@link Boolean}
  33 + */
  34 + boolean getPermissaoAssinaturaDocumento(Long idUsuario);
28 } 35 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java
@@ -10,7 +10,9 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; @@ -10,7 +10,9 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
10 import br.com.centralit.framework.dao.arquitetura.SearchSeven; 10 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
11 import br.com.centralit.framework.model.Dominio; 11 import br.com.centralit.framework.model.Dominio;
12 import br.com.centralit.framework.model.Usuario; 12 import br.com.centralit.framework.model.Usuario;
  13 +import br.com.centralit.framework.util.UtilObjeto;
13 14
  15 +import com.googlecode.genericdao.search.Filter;
14 import com.googlecode.genericdao.search.Sort; 16 import com.googlecode.genericdao.search.Sort;
15 17
16 /** 18 /**
@@ -98,7 +100,7 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo @@ -98,7 +100,7 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo
98 100
99 SearchSeven search = new SearchSeven(); 101 SearchSeven search = new SearchSeven();
100 102
101 - search.addFilterILike("pessoa.nome", "%" + nome + "%"); 103 + search.addFilterOr(Filter.ilike("pessoa.nome", "%" + nome + "%"), Filter.ilike("matricula", "%"+nome+"%"));
102 104
103 search.addFilterEqual("pessoa.organizacao.id", idOrganizacao); 105 search.addFilterEqual("pessoa.organizacao.id", idOrganizacao);
104 106
@@ -183,4 +185,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo @@ -183,4 +185,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo
183 185
184 return this.search(search, Colaborador.class); 186 return this.search(search, Colaborador.class);
185 } 187 }
  188 +
  189 + /**
  190 + * Método responsável por obter permissão para assinatura de documento
  191 + * @author rogerio.cassimiro
  192 + * @param idUsuario
  193 + * @return {@link Boolean}
  194 + */
  195 + @Override
  196 + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) {
  197 + SearchSeven searchSeven = new SearchSeven();
  198 + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario);
  199 + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR);
  200 + searchSeven.addFilterNotEmpty("funcao.id");
  201 + return UtilObjeto.isReferencia(this.searchUnique(searchSeven));
  202 + }
186 } 203 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/EstruturaOrganizacionalDaoHibernate.java
@@ -799,5 +799,5 @@ public class EstruturaOrganizacionalDaoHibernate extends CitGenericDAOImpl imple @@ -799,5 +799,5 @@ public class EstruturaOrganizacionalDaoHibernate extends CitGenericDAOImpl imple
799 799
800 return this.search(search); 800 return this.search(search);
801 } 801 }
802 - 802 +
803 } 803 }
804 \ No newline at end of file 804 \ No newline at end of file
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java
@@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository; @@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository;
9 import br.com.centralit.api.dao.PessoaDao; 9 import br.com.centralit.api.dao.PessoaDao;
10 import br.com.centralit.api.model.Pessoa; 10 import br.com.centralit.api.model.Pessoa;
11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 11 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  12 +import br.com.centralit.framework.dao.arquitetura.SearchSeven;
  13 +import br.com.centralit.framework.util.UtilObjeto;
12 14
13 /** 15 /**
14 * <p> 16 * <p>
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java
@@ -5,6 +5,9 @@ import org.springframework.stereotype.Repository; @@ -5,6 +5,9 @@ import org.springframework.stereotype.Repository;
5 import br.com.centralit.api.dao.TerceirizadoDao; 5 import br.com.centralit.api.dao.TerceirizadoDao;
6 import br.com.centralit.api.model.Terceirizado; 6 import br.com.centralit.api.model.Terceirizado;
7 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; 7 import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  8 +import br.com.centralit.framework.dao.arquitetura.SearchSeven;
  9 +import br.com.centralit.framework.model.Dominio;
  10 +import br.com.centralit.framework.util.UtilObjeto;
8 11
9 12
10 /** 13 /**
@@ -40,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce @@ -40,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce
40 super(Terceirizado.class); 43 super(Terceirizado.class);
41 } 44 }
42 45
  46 + /**
  47 + * Método responsável por obter permissão para assinatura de documento
  48 + * @author rogerio.cassimiro
  49 + * @param idUsuario
  50 + * @return {@link Boolean}
  51 + */
  52 + @Override
  53 + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) {
  54 + SearchSeven searchSeven = new SearchSeven();
  55 + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario);
  56 + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_TERCEIRIZADO);
  57 + searchSeven.addFilterNotEmpty("funcao.id");
  58 + return UtilObjeto.isReferencia(this.searchUnique(searchSeven));
  59 + }
43 } 60 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/model/Documento.java
@@ -104,9 +104,13 @@ public class Documento extends PersistentObjectAuditOrganizacao { @@ -104,9 +104,13 @@ public class Documento extends PersistentObjectAuditOrganizacao {
104 104
105 /** Atributo anexos. */ 105 /** Atributo anexos. */
106 @NotAudited 106 @NotAudited
107 - @OneToMany(fetch = FetchType.LAZY, mappedBy = "documento", cascade = CascadeType.ALL) 107 + @OneToMany(fetch = FetchType.LAZY, mappedBy = "documento", cascade = CascadeType.ALL, orphanRemoval = true)
108 @JsonView({ Views.GenericView.class }) 108 @JsonView({ Views.GenericView.class })
109 private Collection<Anexo> anexos; 109 private Collection<Anexo> anexos;
  110 +
  111 + @NotAudited
  112 + @JsonView({ Views.GenericView.class })
  113 + private String uuid;
110 114
111 /** 115 /**
112 * Retorna o valor do atributo <code>id</code> 116 * Retorna o valor do atributo <code>id</code>
@@ -248,4 +252,12 @@ public class Documento extends PersistentObjectAuditOrganizacao { @@ -248,4 +252,12 @@ public class Documento extends PersistentObjectAuditOrganizacao {
248 this.emitenteEstrutura = emitenteEstrutura; 252 this.emitenteEstrutura = emitenteEstrutura;
249 } 253 }
250 254
  255 + public String getUuid() {
  256 + return uuid;
  257 + }
  258 +
  259 + public void setUuid(String uuid) {
  260 + this.uuid = uuid;
  261 + }
  262 +
251 } 263 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/model/EstruturaOrganizacional.java
@@ -97,7 +97,7 @@ public class EstruturaOrganizacional extends PersistentObjectAuditOrganizacao im @@ -97,7 +97,7 @@ public class EstruturaOrganizacional extends PersistentObjectAuditOrganizacao im
97 97
98 /** Atributo classificacao. */ 98 /** Atributo classificacao. */
99 @Column(length = 100) 99 @Column(length = 100)
100 - @JsonView({ Views.EstruturaOrganizacionalEditView.class, Views.EstruturaOrganizacionalAutoCompleteSimplesView.class, Views.EstruturaOrganizacionalAutoCompleteView.class, Views.PessoaEditView.class, Views.RequisicaoConsumo.class }) 100 + @JsonView({ Views.EstruturaOrganizacionalEditView.class, Views.EstruturaOrganizacionalAutoCompleteSimplesView.class, Views.EstruturaOrganizacionalAutoCompleteView.class, Views.PessoaEditView.class, Views.RequisicaoConsumo.class, Views.EntradaEditView.class })
101 private String classificacao; 101 private String classificacao;
102 102
103 /** Atributo codigo. */ 103 /** Atributo codigo. */
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/model/Pessoa.java
@@ -14,6 +14,7 @@ import javax.persistence.ManyToOne; @@ -14,6 +14,7 @@ import javax.persistence.ManyToOne;
14 import javax.persistence.OneToMany; 14 import javax.persistence.OneToMany;
15 import javax.persistence.OneToOne; 15 import javax.persistence.OneToOne;
16 import javax.persistence.PrimaryKeyJoinColumn; 16 import javax.persistence.PrimaryKeyJoinColumn;
  17 +import javax.persistence.Transient;
17 18
18 import org.hibernate.envers.Audited; 19 import org.hibernate.envers.Audited;
19 import org.hibernate.envers.NotAudited; 20 import org.hibernate.envers.NotAudited;
@@ -31,37 +32,37 @@ import com.fasterxml.jackson.annotation.JsonView; @@ -31,37 +32,37 @@ import com.fasterxml.jackson.annotation.JsonView;
31 * <p> 32 * <p>
32 * <img src="http://centralit.com.br/images/logo_central.png"> 33 * <img src="http://centralit.com.br/images/logo_central.png">
33 * </p> 34 * </p>
34 - * 35 + *
35 * <p> 36 * <p>
36 * <b>Company: </b> Central IT - Governança Corporativa - 37 * <b>Company: </b> Central IT - Governança Corporativa -
37 * </p> 38 * </p>
38 - * 39 + *
39 * <p> 40 * <p>
40 * <b>Title: </b>Pessoa 41 * <b>Title: </b>Pessoa
41 * </p> 42 * </p>
42 - * 43 + *
43 * <p> 44 * <p>
44 * <b>Description: </b>Entidade <code>Pessoa</code> 45 * <b>Description: </b>Entidade <code>Pessoa</code>
45 * </p> 46 * </p>
46 - * 47 + *
47 * <p> 48 * <p>
48 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 49 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
49 * </p> 50 * </p>
50 - * 51 + *
51 * <p> 52 * <p>
52 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 53 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
53 * </p> 54 * </p>
54 - * 55 + *
55 * @since 27/11/2014 - 10:32:19 56 * @since 27/11/2014 - 10:32:19
56 - * 57 + *
57 * @version 1.0.0 58 * @version 1.0.0
58 - * 59 + *
59 * @author rogerio.costa 60 * @author rogerio.costa
60 - * 61 + *
61 */ 62 */
62 @Audited 63 @Audited
63 @Entity 64 @Entity
64 -@JsonIgnoreProperties({ "$checked"}) 65 +@JsonIgnoreProperties({ "$checked" })
65 public class Pessoa extends PersistentObjectAuditOrganizacao { 66 public class Pessoa extends PersistentObjectAuditOrganizacao {
66 67
67 /** Atributo serialVersionUID. */ 68 /** Atributo serialVersionUID. */
@@ -69,46 +70,14 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -69,46 +70,14 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
69 70
70 @Id 71 @Id
71 @GeneratedValue(strategy = GenerationType.AUTO) 72 @GeneratedValue(strategy = GenerationType.AUTO)
72 - @JsonView({ Views.GenericView.class, Views.FornecedorFindView.class, Views.SeguradoraAutoCompleteView.class, Views.InventarioMobileCompleto.class, Views.InventarioMobileSimples.class }) 73 + @JsonView({ Views.GenericView.class, Views.FornecedorFindView.class, Views.SeguradoraAutoCompleteView.class, Views.InventarioMobileCompleto.class, Views.InventarioMobileSimples.class })
73 protected Long id; 74 protected Long id;
74 75
75 /** Atributo nome. */ 76 /** Atributo nome. */
76 // TODO acrescentar view do estrutura organizacional, substituir Views.LookupView.class pelo do estrutura organizacional 77 // TODO acrescentar view do estrutura organizacional, substituir Views.LookupView.class pelo do estrutura organizacional
77 - @JsonView({ Views.FornecedorFindView.class,  
78 - Views.LookupView.class,  
79 - Views.PessoaListViewListView.class,  
80 - Views.ColaboradorAutoCompleteView.class,  
81 - Views.ComissaoListView.class,  
82 - Views.BemPatrimonialAutoCompleteView.class,  
83 - Views.EntradaListView.class,  
84 - Views.EstruturaOrganizacionalEditView.class,  
85 - Views.TransferenciaListView.class,  
86 - Views.SaidaTemporariaListView.class,  
87 - Views.AdicaoBemPatrimonialView.class,  
88 - Views.ParceiroAutoCompleteView.class,  
89 - Views.BaixaEditView.class,  
90 - Views.SaidaTemporariaItemListView.class,  
91 - Views.ColaboradorContratoAutoCompleteView.class,  
92 - Views.SeguradoraAutoCompleteView.class,  
93 - Views.ComissaoIntegranteEditView.class,  
94 - Views.InventarioBemPatrimonialInconsistenciaView.class,  
95 - Views.DadosBemPatrimonialEditView.class,  
96 - Views.BemPatrimonialInventarioAutoCompleteView.class,  
97 - Views.BaixaAlmoxarifadoView.class,  
98 - Views.GenericView.class,  
99 - Views.InventarioMobileCompleto.class,  
100 - Views.InventarioMobileSimples.class,  
101 - Views.InventarioMobileJEDI.class,  
102 - Views.DefinicaoDetentorListView.class,  
103 - ViewsTabelasCorp.CentroResultadoResponsavelTodosResponsaveis.class,  
104 - ViewsTabelasCorp.CentroResultadoDelegacaoTodasDelegacoes.class,  
105 - ViewsTabelasCorp.CentroResultadoSubstituicao.class,  
106 - Views.BemPatrimonialEditView.class,  
107 - Views.DocumentoGedEdit.class,  
108 - Views.ProcessoEdit.class,  
109 - Views.DocumentoGedEdit.class,  
110 - Views.ContratoView.class,  
111 - Views.PessoaAutoCompeteView.class}) 78 + @JsonView({ Views.FornecedorFindView.class, Views.LookupView.class, Views.PessoaListViewListView.class, Views.ColaboradorAutoCompleteView.class, Views.ComissaoListView.class, Views.BemPatrimonialAutoCompleteView.class, Views.EntradaListView.class, Views.EstruturaOrganizacionalEditView.class, Views.TransferenciaListView.class, Views.SaidaTemporariaListView.class, Views.AdicaoBemPatrimonialView.class, Views.ParceiroAutoCompleteView.class, Views.BaixaEditView.class,
  79 + Views.SaidaTemporariaItemListView.class, Views.ColaboradorContratoAutoCompleteView.class, Views.SeguradoraAutoCompleteView.class, Views.ComissaoIntegranteEditView.class, Views.InventarioBemPatrimonialInconsistenciaView.class, Views.DadosBemPatrimonialEditView.class, Views.BemPatrimonialInventarioAutoCompleteView.class, Views.BaixaAlmoxarifadoView.class, Views.GenericView.class, Views.InventarioMobileCompleto.class, Views.InventarioMobileSimples.class,
  80 + Views.InventarioMobileJEDI.class, Views.DefinicaoDetentorListView.class, ViewsTabelasCorp.CentroResultadoResponsavelTodosResponsaveis.class, ViewsTabelasCorp.CentroResultadoDelegacaoTodasDelegacoes.class, ViewsTabelasCorp.CentroResultadoSubstituicao.class, Views.BemPatrimonialEditView.class, Views.DocumentoGedEdit.class, Views.ProcessoEdit.class, Views.DocumentoGedEdit.class, Views.ContratoView.class, Views.PessoaAutoCompeteView.class })
112 private String nome; 81 private String nome;
113 82
114 /** Atributo email. */ 83 /** Atributo email. */
@@ -123,7 +92,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -123,7 +92,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
123 92
124 /** Atributo pessoaFisica. */ 93 /** Atributo pessoaFisica. */
125 @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) 94 @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
126 - @JsonView({ Views.PessoaEditView.class}) 95 + @JsonView({ Views.PessoaEditView.class })
127 @PrimaryKeyJoinColumn 96 @PrimaryKeyJoinColumn
128 private PessoaFisica pessoaFisica; 97 private PessoaFisica pessoaFisica;
129 98
@@ -157,8 +126,8 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -157,8 +126,8 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
157 126
158 /** Atributo usuario. */ 127 /** Atributo usuario. */
159 @NotAudited 128 @NotAudited
160 - @ManyToOne(fetch=FetchType.LAZY, optional=true)  
161 - @JsonView({ Views.PessoaEditView.class}) 129 + @ManyToOne(fetch = FetchType.LAZY, optional = true)
  130 + @JsonView({ Views.PessoaEditView.class })
162 private Usuario usuario; 131 private Usuario usuario;
163 132
164 /** Atributo codigo. */ 133 /** Atributo codigo. */
@@ -166,10 +135,13 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -166,10 +135,13 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
166 @JsonView({ Views.GenericView.class }) 135 @JsonView({ Views.GenericView.class })
167 private String codigo; 136 private String codigo;
168 137
  138 + @JsonView({ Views.PessoaEditView.class })
  139 + @Transient
  140 + private boolean exibirAssinarDocAnexo;
169 141
170 /** 142 /**
171 * Retorna o valor do atributo <code>id</code> 143 * Retorna o valor do atributo <code>id</code>
172 - * 144 + *
173 * @return <code>Long</code> 145 * @return <code>Long</code>
174 */ 146 */
175 public Long getId() { 147 public Long getId() {
@@ -179,7 +151,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -179,7 +151,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
179 151
180 /** 152 /**
181 * Define o valor do atributo <code>id</code>. 153 * Define o valor do atributo <code>id</code>.
182 - * 154 + *
183 * @param nome 155 * @param nome
184 */ 156 */
185 public void setId(Long id) { 157 public void setId(Long id) {
@@ -189,7 +161,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -189,7 +161,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
189 161
190 /** 162 /**
191 * Retorna o valor do atributo <code>email</code> 163 * Retorna o valor do atributo <code>email</code>
192 - * 164 + *
193 * @return <code>String</code> 165 * @return <code>String</code>
194 */ 166 */
195 public String getEmail() { 167 public String getEmail() {
@@ -199,7 +171,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -199,7 +171,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
199 171
200 /** 172 /**
201 * Define o valor do atributo <code>email</code>. 173 * Define o valor do atributo <code>email</code>.
202 - * 174 + *
203 * @param email 175 * @param email
204 */ 176 */
205 public void setEmail(String email) { 177 public void setEmail(String email) {
@@ -209,7 +181,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -209,7 +181,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
209 181
210 /** 182 /**
211 * Define o valor do atributo <code>tipoPessoa</code>. 183 * Define o valor do atributo <code>tipoPessoa</code>.
212 - * 184 + *
213 * @param tipoPessoa 185 * @param tipoPessoa
214 */ 186 */
215 public void setTipoPessoa(Dominio tipoPessoa) { 187 public void setTipoPessoa(Dominio tipoPessoa) {
@@ -218,7 +190,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -218,7 +190,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
218 190
219 /** 191 /**
220 * Retorna o valor do atributo <code>pessoaFisica</code> 192 * Retorna o valor do atributo <code>pessoaFisica</code>
221 - * 193 + *
222 * @return <code>PessoaFisica</code> 194 * @return <code>PessoaFisica</code>
223 */ 195 */
224 public PessoaFisica getPessoaFisica() { 196 public PessoaFisica getPessoaFisica() {
@@ -228,7 +200,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -228,7 +200,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
228 200
229 /** 201 /**
230 * Define o valor do atributo <code>pessoaFisica</code>. 202 * Define o valor do atributo <code>pessoaFisica</code>.
231 - * 203 + *
232 * @param pessoaFisica 204 * @param pessoaFisica
233 */ 205 */
234 public void setPessoaFisica(PessoaFisica pessoaFisica) { 206 public void setPessoaFisica(PessoaFisica pessoaFisica) {
@@ -238,7 +210,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -238,7 +210,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
238 210
239 /** 211 /**
240 * Retorna o valor do atributo <code>pessoaJuridica</code> 212 * Retorna o valor do atributo <code>pessoaJuridica</code>
241 - * 213 + *
242 * @return <code>PessoaJuridica</code> 214 * @return <code>PessoaJuridica</code>
243 */ 215 */
244 public PessoaJuridica getPessoaJuridica() { 216 public PessoaJuridica getPessoaJuridica() {
@@ -248,7 +220,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -248,7 +220,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
248 220
249 /** 221 /**
250 * Define o valor do atributo <code>pessoaJuridica</code>. 222 * Define o valor do atributo <code>pessoaJuridica</code>.
251 - * 223 + *
252 * @param pessoaJuridica 224 * @param pessoaJuridica
253 */ 225 */
254 public void setPessoaJuridica(PessoaJuridica pessoaJuridica) { 226 public void setPessoaJuridica(PessoaJuridica pessoaJuridica) {
@@ -258,7 +230,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -258,7 +230,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
258 230
259 /** 231 /**
260 * Retorna o valor do atributo <code>listaParceiro</code> 232 * Retorna o valor do atributo <code>listaParceiro</code>
261 - * 233 + *
262 * @return <code>Collection<Parceiro></code> 234 * @return <code>Collection<Parceiro></code>
263 */ 235 */
264 public Collection<Parceiro> getParceiros() { 236 public Collection<Parceiro> getParceiros() {
@@ -268,7 +240,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -268,7 +240,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
268 240
269 /** 241 /**
270 * Define o valor do atributo <code>listaParceiro</code>. 242 * Define o valor do atributo <code>listaParceiro</code>.
271 - * 243 + *
272 * @param listaParceiro 244 * @param listaParceiro
273 */ 245 */
274 public void setParceiros(final Collection<Parceiro> listaParceiro) { 246 public void setParceiros(final Collection<Parceiro> listaParceiro) {
@@ -278,7 +250,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -278,7 +250,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
278 250
279 /** 251 /**
280 * Retorna o valor do atributo <code>nome</code> 252 * Retorna o valor do atributo <code>nome</code>
281 - * 253 + *
282 * @return <code>String</code> 254 * @return <code>String</code>
283 */ 255 */
284 public String getNome() { 256 public String getNome() {
@@ -288,7 +260,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -288,7 +260,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
288 260
289 /** 261 /**
290 * Define o valor do atributo <code>nome</code>. 262 * Define o valor do atributo <code>nome</code>.
291 - * 263 + *
292 * @param nome 264 * @param nome
293 */ 265 */
294 public void setNome(String nome) { 266 public void setNome(String nome) {
@@ -298,7 +270,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -298,7 +270,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
298 270
299 /** 271 /**
300 * Retorna o valor do atributo <code>listaTelefone</code> 272 * Retorna o valor do atributo <code>listaTelefone</code>
301 - * 273 + *
302 * @return <code>Collection<Telefone></code> 274 * @return <code>Collection<Telefone></code>
303 */ 275 */
304 public Collection<Telefone> getTelefones() { 276 public Collection<Telefone> getTelefones() {
@@ -308,7 +280,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -308,7 +280,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
308 280
309 /** 281 /**
310 * Define o valor do atributo <code>listaTelefone</code>. 282 * Define o valor do atributo <code>listaTelefone</code>.
311 - * 283 + *
312 * @param listaTelefone 284 * @param listaTelefone
313 */ 285 */
314 public void setTelefones(Collection<Telefone> listaTelefone) { 286 public void setTelefones(Collection<Telefone> listaTelefone) {
@@ -318,7 +290,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -318,7 +290,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
318 290
319 /** 291 /**
320 * Retorna o valor do atributo <code>contatos</code> 292 * Retorna o valor do atributo <code>contatos</code>
321 - * 293 + *
322 * @return <code>Collection<Contato></code> 294 * @return <code>Collection<Contato></code>
323 */ 295 */
324 public Collection<Contato> getContatos() { 296 public Collection<Contato> getContatos() {
@@ -328,7 +300,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -328,7 +300,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
328 300
329 /** 301 /**
330 * Define o valor do atributo <code>contatos</code>. 302 * Define o valor do atributo <code>contatos</code>.
331 - * 303 + *
332 * @param contatos 304 * @param contatos
333 */ 305 */
334 public void setContatos(Collection<Contato> contatos) { 306 public void setContatos(Collection<Contato> contatos) {
@@ -338,7 +310,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -338,7 +310,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
338 310
339 /** 311 /**
340 * Retorna o valor do atributo <code>dominioPessoa</code> 312 * Retorna o valor do atributo <code>dominioPessoa</code>
341 - * 313 + *
342 * @return <code>Dominio</code> 314 * @return <code>Dominio</code>
343 */ 315 */
344 public Dominio getDominioPessoa() { 316 public Dominio getDominioPessoa() {
@@ -348,7 +320,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -348,7 +320,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
348 320
349 /** 321 /**
350 * Define o valor do atributo <code>dominioPessoa</code>. 322 * Define o valor do atributo <code>dominioPessoa</code>.
351 - * 323 + *
352 * @param dominioPessoa 324 * @param dominioPessoa
353 */ 325 */
354 public void setDominioPessoa(Dominio dominioPessoa) { 326 public void setDominioPessoa(Dominio dominioPessoa) {
@@ -358,7 +330,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -358,7 +330,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
358 330
359 /** 331 /**
360 * Retorna o valor do atributo <code>enderecos</code> 332 * Retorna o valor do atributo <code>enderecos</code>
361 - * 333 + *
362 * @return <code>Collection<Endereco></code> 334 * @return <code>Collection<Endereco></code>
363 */ 335 */
364 public Collection<Endereco> getEnderecos() { 336 public Collection<Endereco> getEnderecos() {
@@ -368,7 +340,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -368,7 +340,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
368 340
369 /** 341 /**
370 * Define o valor do atributo <code>enderecos</code>. 342 * Define o valor do atributo <code>enderecos</code>.
371 - * 343 + *
372 * @param enderecos 344 * @param enderecos
373 */ 345 */
374 public void setEnderecos(Collection<Endereco> enderecos) { 346 public void setEnderecos(Collection<Endereco> enderecos) {
@@ -376,10 +348,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -376,10 +348,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
376 this.enderecos = enderecos; 348 this.enderecos = enderecos;
377 } 349 }
378 350
379 -  
380 /** 351 /**
381 * Retorna o valor do atributo <code>codigo</code> 352 * Retorna o valor do atributo <code>codigo</code>
382 - * 353 + *
383 * @return <code>String</code> 354 * @return <code>String</code>
384 */ 355 */
385 public String getCodigo() { 356 public String getCodigo() {
@@ -387,10 +358,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -387,10 +358,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
387 return codigo; 358 return codigo;
388 } 359 }
389 360
390 -  
391 /** 361 /**
392 * Define o valor do atributo <code>codigo</code>. 362 * Define o valor do atributo <code>codigo</code>.
393 - * 363 + *
394 * @param codigo 364 * @param codigo
395 */ 365 */
396 public void setCodigo(String codigo) { 366 public void setCodigo(String codigo) {
@@ -398,10 +368,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -398,10 +368,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
398 this.codigo = codigo; 368 this.codigo = codigo;
399 } 369 }
400 370
401 -  
402 /** 371 /**
403 * Retorna o valor do atributo <code>usuario</code> 372 * Retorna o valor do atributo <code>usuario</code>
404 - * 373 + *
405 * @return <code>Usuario</code> 374 * @return <code>Usuario</code>
406 */ 375 */
407 public Usuario getUsuario() { 376 public Usuario getUsuario() {
@@ -409,10 +378,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -409,10 +378,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
409 return usuario; 378 return usuario;
410 } 379 }
411 380
412 -  
413 /** 381 /**
414 * Define o valor do atributo <code>usuario</code>. 382 * Define o valor do atributo <code>usuario</code>.
415 - * 383 + *
416 * @param usuario 384 * @param usuario
417 */ 385 */
418 public void setUsuario(Usuario usuario) { 386 public void setUsuario(Usuario usuario) {
@@ -420,6 +388,24 @@ public class Pessoa extends PersistentObjectAuditOrganizacao { @@ -420,6 +388,24 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
420 this.usuario = usuario; 388 this.usuario = usuario;
421 } 389 }
422 390
  391 + /**
  392 + * Retorna o valor do atributo <code>exibirAssinarDocAnexo</code>
  393 + *
  394 + * @return <code>boolean</code>
  395 + */
  396 + public boolean isExibirAssinarDocAnexo() {
  397 +
  398 + return exibirAssinarDocAnexo;
  399 + }
423 400
  401 + /**
  402 + * Define o valor do atributo <code>exibirAssinarDocAnexo</code>.
  403 + *
  404 + * @param exibirAssinarDocAnexo
  405 + */
  406 + public void setExibirAssinarDocAnexo(boolean exibirAssinarDocAnexo) {
  407 +
  408 + this.exibirAssinarDocAnexo = exibirAssinarDocAnexo;
  409 + }
424 410
425 } 411 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java
@@ -141,5 +141,11 @@ public interface ColaboradorService extends GenericService&lt;Colaborador, Long&gt; { @@ -141,5 +141,11 @@ public interface ColaboradorService extends GenericService&lt;Colaborador, Long&gt; {
141 */ 141 */
142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); 142 Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome);
143 143
  144 + /**
  145 + * Método responsável por obter permissão para assinatura de documento
  146 + * @author rogerio.cassimiro
  147 + * @return {@link Boolean}
  148 + */
  149 + boolean getPermissaoAssinaturaDocumento();
144 150
145 } 151 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/EnderecoService.java
@@ -96,5 +96,7 @@ public interface EnderecoService extends GenericService&lt;Endereco, Long&gt; { @@ -96,5 +96,7 @@ public interface EnderecoService extends GenericService&lt;Endereco, Long&gt; {
96 * @return 96 * @return
97 */ 97 */
98 Endereco buscarEnderecoWSCorreio(String cep); 98 Endereco buscarEnderecoWSCorreio(String cep);
  99 +
  100 + String buscaUltimoCodigoEndereco();
99 101
100 } 102 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/EstruturaOrganizacionalService.java
@@ -472,4 +472,11 @@ public interface EstruturaOrganizacionalService extends GenericService&lt;Estrutura @@ -472,4 +472,11 @@ public interface EstruturaOrganizacionalService extends GenericService&lt;Estrutura
472 */ 472 */
473 EstruturaOrganizacional obterUGPorIdEstrutura(Long idEstrutura); 473 EstruturaOrganizacional obterUGPorIdEstrutura(Long idEstrutura);
474 474
  475 + /**
  476 + * Método responsável por buscar a UA por UL
  477 + * @author rogerio.cassimiro
  478 + * @param idUL
  479 + * @return
  480 + */
  481 + EstruturaOrganizacional listarEstruturaOrganizacionalAdministrativaPorUL(Long idUL);
475 } 482 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java
@@ -2,9 +2,6 @@ package br.com.centralit.api.service; @@ -2,9 +2,6 @@ package br.com.centralit.api.service;
2 2
3 import java.util.Collection; 3 import java.util.Collection;
4 4
5 -import org.springframework.security.access.annotation.Secured;  
6 -import org.springframework.security.access.prepost.PreAuthorize;  
7 -  
8 import br.com.centralit.api.model.Colaborador; 5 import br.com.centralit.api.model.Colaborador;
9 import br.com.centralit.api.model.Pessoa; 6 import br.com.centralit.api.model.Pessoa;
10 import br.com.centralit.api.viewHelper.PessoaVH; 7 import br.com.centralit.api.viewHelper.PessoaVH;
@@ -302,4 +299,11 @@ public interface PessoaService extends GenericService&lt;Pessoa, Long&gt; { @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService&lt;Pessoa, Long&gt; {
302 boolean removeTerceirizado(Long id); 299 boolean removeTerceirizado(Long id);
303 300
304 Pessoa buscaPessoaPorUsuarioId(Long idUsuario); 301 Pessoa buscaPessoaPorUsuarioId(Long idUsuario);
  302 +
  303 + /**
  304 + * Método responsável por obter permissão para assinatura de documento
  305 + * @author rogerio.cassimiro
  306 + * @return {@link Pessoa}
  307 + */
  308 + Pessoa getPermissaoAssinaturaDocumento();
305 } 309 }
306 \ No newline at end of file 310 \ No newline at end of file
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java
@@ -26,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService; @@ -26,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService;
26 */ 26 */
27 public interface TerceirizadoService extends GenericService<Terceirizado, Long> { 27 public interface TerceirizadoService extends GenericService<Terceirizado, Long> {
28 28
  29 + /**
  30 + * Método responsável por obter permissão para assinatura de documento
  31 + * @author rogerio.cassimiro
  32 + * @return {@link Boolean}
  33 + */
  34 + boolean getPermissaoAssinaturaDocumento();
  35 +
29 } 36 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/BairroServiceImpl.java
@@ -161,7 +161,7 @@ public class BairroServiceImpl extends GenericServiceImpl&lt;Bairro, Long&gt; implemen @@ -161,7 +161,7 @@ public class BairroServiceImpl extends GenericServiceImpl&lt;Bairro, Long&gt; implemen
161 161
162 if(this.enderecoService.existeBairroVinculadoAEndereco(bairroId)){ 162 if(this.enderecoService.existeBairroVinculadoAEndereco(bairroId)){
163 163
164 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 164 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
165 165
166 } 166 }
167 167
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/CidadeServiceImpl.java
@@ -157,7 +157,7 @@ public class CidadeServiceImpl extends GenericServiceImpl&lt;Cidade, Long&gt; implemen @@ -157,7 +157,7 @@ public class CidadeServiceImpl extends GenericServiceImpl&lt;Cidade, Long&gt; implemen
157 public boolean removeById(Long idCidade) { 157 public boolean removeById(Long idCidade) {
158 158
159 if(this.bairroService.existeBairroVinculadoACidade(idCidade)){ 159 if(this.bairroService.existeBairroVinculadoACidade(idCidade)){
160 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 160 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
161 } 161 }
162 162
163 return this.dao.removeById(idCidade); 163 return this.dao.removeById(idCidade);
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java
@@ -4,6 +4,7 @@ import java.util.Collection; @@ -4,6 +4,7 @@ import java.util.Collection;
4 4
5 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.beans.factory.annotation.Qualifier; 6 import org.springframework.beans.factory.annotation.Qualifier;
  7 +import org.springframework.security.core.context.SecurityContextHolder;
7 import org.springframework.stereotype.Service; 8 import org.springframework.stereotype.Service;
8 import org.springframework.validation.Validator; 9 import org.springframework.validation.Validator;
9 10
@@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl&lt;Colaborador, Long @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl&lt;Colaborador, Long
195 196
196 return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome); 197 return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome);
197 } 198 }
  199 +
  200 + /**
  201 + * Método responsável por obter permissão para assinatura de documento
  202 + * @author rogerio.cassimiro
  203 + * @return {@link Boolean}
  204 + */
  205 + @Override
  206 + public boolean getPermissaoAssinaturaDocumento() {
  207 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  208 + return this.colaboradorDao.getPermissaoAssinaturaDocumento(usuario.getId());
  209 + }
198 210
199 } 211 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ComissaoServiceImpl.java
@@ -218,7 +218,7 @@ public class ComissaoServiceImpl extends GenericServiceImpl&lt;Comissao, Long&gt; impl @@ -218,7 +218,7 @@ public class ComissaoServiceImpl extends GenericServiceImpl&lt;Comissao, Long&gt; impl
218 clientRestAlmoxarifadoBaixa.addParametro("id", idComissao.toString()); 218 clientRestAlmoxarifadoBaixa.addParametro("id", idComissao.toString());
219 219
220 if(clientRestAlmoxarifadoBaixa.validarRegra("baixa/existeVinculo")) { 220 if(clientRestAlmoxarifadoBaixa.validarRegra("baixa/existeVinculo")) {
221 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue(), " Baixa de bens"); 221 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue(), " Baixa de bens");
222 } 222 }
223 } 223 }
224 224
@@ -241,7 +241,7 @@ public class ComissaoServiceImpl extends GenericServiceImpl&lt;Comissao, Long&gt; impl @@ -241,7 +241,7 @@ public class ComissaoServiceImpl extends GenericServiceImpl&lt;Comissao, Long&gt; impl
241 clientRestAlmoxarifadoInventario.addParametro("id", idComissao.toString()); 241 clientRestAlmoxarifadoInventario.addParametro("id", idComissao.toString());
242 242
243 if (clientRestAlmoxarifadoInventario.validarRegra("inventario/existeVinculo")) { 243 if (clientRestAlmoxarifadoInventario.validarRegra("inventario/existeVinculo")) {
244 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue(), " Inventário"); 244 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue(), " Inventário");
245 } 245 }
246 } 246 }
247 247
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/EnderecoServiceImpl.java
@@ -219,7 +219,7 @@ public class EnderecoServiceImpl extends GenericServiceImpl&lt;Endereco, Long&gt; impl @@ -219,7 +219,7 @@ public class EnderecoServiceImpl extends GenericServiceImpl&lt;Endereco, Long&gt; impl
219 219
220 if(this.enderecoDao.existeEnderecoVinculadoALocalizacao(enderecoId)){ 220 if(this.enderecoDao.existeEnderecoVinculadoALocalizacao(enderecoId)){
221 221
222 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 222 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
223 223
224 } 224 }
225 225
@@ -284,6 +284,18 @@ public class EnderecoServiceImpl extends GenericServiceImpl&lt;Endereco, Long&gt; impl @@ -284,6 +284,18 @@ public class EnderecoServiceImpl extends GenericServiceImpl&lt;Endereco, Long&gt; impl
284 284
285 entity.setCodigo(codigo); 285 entity.setCodigo(codigo);
286 } 286 }
  287 +
  288 + @Override
  289 + public String buscaUltimoCodigoEndereco(){
  290 + Endereco ultimoRegistro = (Endereco) this.enderecoDao.buscarUltimoRegistroComOrdenadoParametrizada("codigo");
  291 +
  292 + Long sequencial = null;
  293 + if (UtilObjeto.isReferencia(ultimoRegistro)) {
  294 + sequencial = ultimoRegistro.getCodigo() == null ? null : Long.parseLong(ultimoRegistro.getCodigo());
  295 + }
  296 +
  297 + return sequencial.toString();
  298 + }
287 299
288 /** 300 /**
289 * <p> 301 * <p>
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/EstadoServiceImpl.java
@@ -142,7 +142,7 @@ public class EstadoServiceImpl extends GenericServiceImpl&lt;Estado, Long&gt; implemen @@ -142,7 +142,7 @@ public class EstadoServiceImpl extends GenericServiceImpl&lt;Estado, Long&gt; implemen
142 public boolean removeById(Long idEstado) { 142 public boolean removeById(Long idEstado) {
143 143
144 if(this.cidadeService.existeCidadeVinculadoAoEstado(idEstado)){ 144 if(this.cidadeService.existeCidadeVinculadoAoEstado(idEstado)){
145 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 145 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
146 } 146 }
147 147
148 return this.dao.removeById(idEstado); 148 return this.dao.removeById(idEstado);
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/EstruturaOrganizacionalServiceImpl.java
@@ -195,7 +195,7 @@ public class EstruturaOrganizacionalServiceImpl extends GenericServiceImpl&lt;Estru @@ -195,7 +195,7 @@ public class EstruturaOrganizacionalServiceImpl extends GenericServiceImpl&lt;Estru
195 195
196 if (UtilDate.isPrimeiraDataMenorSegundaData(dataInicio, mapaOrganizacionalAtivo.getDataInicio())) { 196 if (UtilDate.isPrimeiraDataMenorSegundaData(dataInicio, mapaOrganizacionalAtivo.getDataInicio())) {
197 197
198 - throw new BusinessException("VALIDACAO.DATA_INICIO_MAPA_VIGENTE", CodigoErro.REGRA_NEGOCIO.getValue(), " " + UtilDate.getDataSemHorasString(mapaOrganizacionalAtivo.getDataInicio().getTime())); 198 + throw new BusinessException("CORPORATIVO.VALIDACAO.DATA_INICIO_MAPA_VIGENTE", CodigoErro.REGRA_NEGOCIO.getValue(), " " + UtilDate.getDataSemHorasString(mapaOrganizacionalAtivo.getDataInicio().getTime()));
199 } 199 }
200 200
201 } 201 }
@@ -1546,4 +1546,16 @@ public class EstruturaOrganizacionalServiceImpl extends GenericServiceImpl&lt;Estru @@ -1546,4 +1546,16 @@ public class EstruturaOrganizacionalServiceImpl extends GenericServiceImpl&lt;Estru
1546 1546
1547 entity.setCodigo(codigo); 1547 entity.setCodigo(codigo);
1548 } 1548 }
  1549 +
  1550 + /**
  1551 + * Método responsável por buscar a UA por UL
  1552 + * @author rogerio.cassimiro
  1553 + * @param idUL
  1554 + * @return {@link EstruturaOrganizacional}
  1555 + */
  1556 + @Override
  1557 + public EstruturaOrganizacional listarEstruturaOrganizacionalAdministrativaPorUL(Long idUL) {
  1558 + EstruturaOrganizacional estruturaOrganizacional = (EstruturaOrganizacional) this.estruturaOrganizacionalDao.find(idUL);
  1559 + return UtilObjeto.isReferencia(estruturaOrganizacional) && UtilObjeto.isReferencia(estruturaOrganizacional.getEstruturaOrganizacionalParent()) ? estruturaOrganizacional.getEstruturaOrganizacionalParent() : null;
  1560 + }
1549 } 1561 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/LocalizacaoServiceImpl.java
@@ -242,7 +242,7 @@ public class LocalizacaoServiceImpl extends GenericServiceImpl&lt;Localizacao, Long @@ -242,7 +242,7 @@ public class LocalizacaoServiceImpl extends GenericServiceImpl&lt;Localizacao, Long
242 242
243 if (clientRest.validarRegra("estruturaOrganizacional/existeVinculo")) { 243 if (clientRest.validarRegra("estruturaOrganizacional/existeVinculo")) {
244 244
245 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 245 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
246 246
247 } 247 }
248 248
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/NivelAutoridadeServiceImpl.java
@@ -185,7 +185,7 @@ public class NivelAutoridadeServiceImpl extends GenericServiceImpl&lt;NivelAutorida @@ -185,7 +185,7 @@ public class NivelAutoridadeServiceImpl extends GenericServiceImpl&lt;NivelAutorida
185 185
186 // TODO Auto-generated method stub 186 // TODO Auto-generated method stub
187 if (this.alcadaService.existeAlcadaVinculadaAoNivelAutoridade(idNivelAutoridade)) { 187 if (this.alcadaService.existeAlcadaVinculadaAoNivelAutoridade(idNivelAutoridade)) {
188 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 188 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
189 } 189 }
190 190
191 return this.nivelAutoridadeDao.removeById(idNivelAutoridade); 191 return this.nivelAutoridadeDao.removeById(idNivelAutoridade);
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/PaisServiceImpl.java
@@ -141,7 +141,7 @@ public class PaisServiceImpl extends GenericServiceImpl&lt;Pais, Long&gt; implements P @@ -141,7 +141,7 @@ public class PaisServiceImpl extends GenericServiceImpl&lt;Pais, Long&gt; implements P
141 public boolean removeById(Long idPais) { 141 public boolean removeById(Long idPais) {
142 142
143 if(this.regiaoService.existeRegiaoVinculadoAoPais(idPais)){ 143 if(this.regiaoService.existeRegiaoVinculadoAoPais(idPais)){
144 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 144 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
145 } 145 }
146 146
147 return this.dao.removeById(idPais); 147 return this.dao.removeById(idPais);
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/PessoaServiceImpl.java
@@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest; @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest;
7 7
8 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.beans.factory.annotation.Qualifier; 9 import org.springframework.beans.factory.annotation.Qualifier;
  10 +import org.springframework.security.core.context.SecurityContextHolder;
10 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
11 import org.springframework.validation.Validator; 12 import org.springframework.validation.Validator;
12 13
@@ -23,6 +24,7 @@ import br.com.centralit.api.model.PessoaJuridica; @@ -23,6 +24,7 @@ import br.com.centralit.api.model.PessoaJuridica;
23 import br.com.centralit.api.model.Portador; 24 import br.com.centralit.api.model.Portador;
24 import br.com.centralit.api.model.Telefone; 25 import br.com.centralit.api.model.Telefone;
25 import br.com.centralit.api.service.ColaboradorService; 26 import br.com.centralit.api.service.ColaboradorService;
  27 +import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
26 import br.com.centralit.api.service.ContatoService; 28 import br.com.centralit.api.service.ContatoService;
27 import br.com.centralit.api.service.DominioService; 29 import br.com.centralit.api.service.DominioService;
28 import br.com.centralit.api.service.EnderecoService; 30 import br.com.centralit.api.service.EnderecoService;
@@ -45,6 +47,7 @@ import br.com.centralit.framework.exception.BusinessException; @@ -45,6 +47,7 @@ import br.com.centralit.framework.exception.BusinessException;
45 import br.com.centralit.framework.exception.CodigoErro; 47 import br.com.centralit.framework.exception.CodigoErro;
46 import br.com.centralit.framework.model.Dominio; 48 import br.com.centralit.framework.model.Dominio;
47 import br.com.centralit.framework.model.Modulo; 49 import br.com.centralit.framework.model.Modulo;
  50 +import br.com.centralit.framework.model.Usuario;
48 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 51 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
49 import br.com.centralit.framework.util.UtilColecao; 52 import br.com.centralit.framework.util.UtilColecao;
50 import br.com.centralit.framework.util.UtilObjeto; 53 import br.com.centralit.framework.util.UtilObjeto;
@@ -133,6 +136,10 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen @@ -133,6 +136,10 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen
133 /** Atributo seguradoraService. */ 136 /** Atributo seguradoraService. */
134 @Autowired 137 @Autowired
135 private SeguradoraService seguradoraService; 138 private SeguradoraService seguradoraService;
  139 +
  140 + /** Atributo configuracaoParametroSistemaService. */
  141 + @Autowired
  142 + private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;
136 143
137 /** Atributo moduloService. */ 144 /** Atributo moduloService. */
138 @Autowired 145 @Autowired
@@ -399,12 +406,20 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen @@ -399,12 +406,20 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen
399 telefone.setPessoa(pessoaVH.getPessoa()); 406 telefone.setPessoa(pessoaVH.getPessoa());
400 407
401 } 408 }
  409 +
402 // Percorre a lista de endereco para setar a referencia da pessoa 410 // Percorre a lista de endereco para setar a referencia da pessoa
  411 + String ultimoCodigoEndereco = enderecoService.buscaUltimoCodigoEndereco();
403 for (Endereco endereco : pessoaVH.getPessoa().getEnderecos()) { 412 for (Endereco endereco : pessoaVH.getPessoa().getEnderecos()) {
404 413
405 endereco.setPessoa(pessoaVH.getPessoa()); 414 endereco.setPessoa(pessoaVH.getPessoa());
  415 +
  416 + if(endereco.getCodigo() == null || endereco.getCodigo().equals("")){
  417 + ultimoCodigoEndereco = configuracaoParametroSistemaService.gerarNumeroIdentificacaoSeguencial(Long.valueOf(ultimoCodigoEndereco));
  418 + endereco.setCodigo(ultimoCodigoEndereco);
  419 + }
406 420
407 } 421 }
  422 +
408 // Percorre a lista de contatos para setar a referencia de pessoa 423 // Percorre a lista de contatos para setar a referencia de pessoa
409 for (Contato contato : pessoaVH.getPessoa().getContatos()) { 424 for (Contato contato : pessoaVH.getPessoa().getContatos()) {
410 425
@@ -1256,4 +1271,24 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen @@ -1256,4 +1271,24 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen
1256 return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario); 1271 return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario);
1257 1272
1258 } 1273 }
  1274 +
  1275 + /**
  1276 + * Método responsável por obter permissão para assinatura de documento
  1277 + * @author rogerio.cassimiro
  1278 + * @return {@link Pessoa}
  1279 + */
  1280 + @Override
  1281 + public Pessoa getPermissaoAssinaturaDocumento() {
  1282 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  1283 + Pessoa pessoa = this.pessoaDao.buscaPessoaPorUsuarioId(usuario.getId());
  1284 + if(!UtilObjeto.isReferencia(pessoa)){
  1285 + throw new BusinessException("ECM.MSG.USUARIO_SEM_PESSOA", CodigoErro.REGRA_NEGOCIO.getValue(), "");
  1286 + }
  1287 + pessoa.setExibirAssinarDocAnexo(Boolean.FALSE);
  1288 + if(this.colaboradorService.getPermissaoAssinaturaDocumento())
  1289 + pessoa.setExibirAssinarDocAnexo(Boolean.TRUE);
  1290 + if(this.terceirizadoService.getPermissaoAssinaturaDocumento())
  1291 + pessoa.setExibirAssinarDocAnexo(Boolean.TRUE);
  1292 + return pessoa;
  1293 + }
1259 } 1294 }
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/RegiaoServiceImpl.java
@@ -165,7 +165,7 @@ public class RegiaoServiceImpl extends GenericServiceImpl&lt;Regiao, Long&gt; implemen @@ -165,7 +165,7 @@ public class RegiaoServiceImpl extends GenericServiceImpl&lt;Regiao, Long&gt; implemen
165 public boolean removeById(Long idRegiao) { 165 public boolean removeById(Long idRegiao) {
166 166
167 if (this.estadoService.existeEstadoVinculadoARegiao(idRegiao)) { 167 if (this.estadoService.existeEstadoVinculadoARegiao(idRegiao)) {
168 - throw new BusinessException("MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue()); 168 + throw new BusinessException("PORTAL.MSG.MN020", CodigoErro.REGRA_NEGOCIO.getValue());
169 } 169 }
170 170
171 return this.dao.removeById(idRegiao); 171 return this.dao.removeById(idRegiao);
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java
@@ -2,6 +2,7 @@ package br.com.centralit.api.service.impl; @@ -2,6 +2,7 @@ package br.com.centralit.api.service.impl;
2 2
3 import org.springframework.beans.factory.annotation.Autowired; 3 import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.beans.factory.annotation.Qualifier; 4 import org.springframework.beans.factory.annotation.Qualifier;
  5 +import org.springframework.security.core.context.SecurityContextHolder;
5 import org.springframework.stereotype.Service; 6 import org.springframework.stereotype.Service;
6 import org.springframework.validation.Validator; 7 import org.springframework.validation.Validator;
7 8
@@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado;
10 import br.com.centralit.api.service.ClasseParceiroService; 11 import br.com.centralit.api.service.ClasseParceiroService;
11 import br.com.centralit.api.service.TerceirizadoService; 12 import br.com.centralit.api.service.TerceirizadoService;
12 import br.com.centralit.framework.model.Dominio; 13 import br.com.centralit.framework.model.Dominio;
  14 +import br.com.centralit.framework.model.Usuario;
13 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 15 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
14 16
15 17
@@ -36,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; @@ -36,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
36 @Service("terceirizadoService") 38 @Service("terceirizadoService")
37 public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService { 39 public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService {
38 40
39 - @SuppressWarnings("unused")  
40 private TerceirizadoDao terceirizadoDao; 41 private TerceirizadoDao terceirizadoDao;
41 42
42 /** Atributo classeParceiroService. */ 43 /** Atributo classeParceiroService. */
@@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl&lt;Terceirizado, Lon @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl&lt;Terceirizado, Lon
68 69
69 return super.save(entity); 70 return super.save(entity);
70 } 71 }
  72 +
  73 + /**
  74 + * Método responsável por obter permissão para assinatura de documento
  75 + * @author rogerio.cassimiro
  76 + * @return {@link Boolean}
  77 + */
  78 + @Override
  79 + public boolean getPermissaoAssinaturaDocumento() {
  80 + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  81 + return this.terceirizadoDao.getPermissaoAssinaturaDocumento(usuario.getId());
  82 + }
71 83
72 } 84 }
cit-tabelas-corp-web/pom.xml
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 <parent> 23 <parent>
24 <groupId>br.com.centralit</groupId> 24 <groupId>br.com.centralit</groupId>
25 <artifactId>cit-tabelas-corp</artifactId> 25 <artifactId>cit-tabelas-corp</artifactId>
26 - <version>2.0.0</version> 26 + <version>${cit-tabelas-corp.version}</version>
27 </parent> 27 </parent>
28 28
29 <artifactId>cit-tabelas-corp-web</artifactId> 29 <artifactId>cit-tabelas-corp-web</artifactId>
@@ -41,6 +41,7 @@ @@ -41,6 +41,7 @@
41 <dependency> 41 <dependency>
42 <groupId>br.com.centralit</groupId> 42 <groupId>br.com.centralit</groupId>
43 <artifactId>cit-tabelas-corp-api</artifactId> 43 <artifactId>cit-tabelas-corp-api</artifactId>
  44 + <version>${cit-tabelas-corp.version}</version>
44 </dependency> 45 </dependency>
45 </dependencies> 46 </dependencies>
46 </project> 47 </project>
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/ColaboradorController.java
@@ -93,5 +93,5 @@ public class ColaboradorController extends GenericController&lt;Colaborador&gt; { @@ -93,5 +93,5 @@ public class ColaboradorController extends GenericController&lt;Colaborador&gt; {
93 93
94 return responseBody; 94 return responseBody;
95 } 95 }
96 - 96 +
97 } 97 }
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/ComissaoController.java
@@ -2,8 +2,11 @@ package br.com.centralit.controller; @@ -2,8 +2,11 @@ package br.com.centralit.controller;
2 2
3 import java.util.List; 3 import java.util.List;
4 4
  5 +import org.apache.commons.lang3.SerializationUtils;
  6 +import org.hibernate.exception.ConstraintViolationException;
5 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Controller; 8 import org.springframework.stereotype.Controller;
  9 +import org.springframework.web.bind.annotation.RequestBody;
7 import org.springframework.web.bind.annotation.RequestMapping; 10 import org.springframework.web.bind.annotation.RequestMapping;
8 import org.springframework.web.bind.annotation.RequestMethod; 11 import org.springframework.web.bind.annotation.RequestMethod;
9 import org.springframework.web.bind.annotation.RequestParam; 12 import org.springframework.web.bind.annotation.RequestParam;
@@ -76,6 +79,37 @@ public class ComissaoController extends GenericController&lt;Comissao&gt; { @@ -76,6 +79,37 @@ public class ComissaoController extends GenericController&lt;Comissao&gt; {
76 return responseBody; 79 return responseBody;
77 } 80 }
78 81
  82 + @RequestMapping(method = RequestMethod.POST, value = "")
  83 + @ResponseBody
  84 + public ResponseBodyWrapper save(@RequestBody Comissao entity) throws Exception{
  85 + boolean uniqueConstraintViolate = true;
  86 +
  87 + Comissao comissao = new Comissao();
  88 +
  89 + //TODO Solução temporária para evitar que sejam criados registros com o código duplicado. Alterar solução quando for implementado o cache compartilhado
  90 + for(int i = 5; i > 0 && uniqueConstraintViolate; i--){
  91 + try{
  92 + comissao = this.comissaoService.save(SerializationUtils.clone(entity));
  93 + uniqueConstraintViolate = false;
  94 + }catch(Throwable e){
  95 + if(e.getCause() instanceof ConstraintViolationException){
  96 + ConstraintViolationException ex = (ConstraintViolationException) e.getCause();
  97 + if(ex.getSQLException().getMessage().contains("codigo_unico")){
  98 + uniqueConstraintViolate = true;
  99 + }else{
  100 + throw e;
  101 + }
  102 + }else{
  103 + throw e;
  104 + }
  105 + }
  106 + }
  107 +
  108 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(comissao, getEditView());
  109 +
  110 + return responseBody;
  111 + }
  112 +
79 /** 113 /**
80 * Método responsável por listar <code>Comissao</code> por nome e <code>Organizacao</code> e <code>Dominio</code> 114 * Método responsável por listar <code>Comissao</code> por nome e <code>Organizacao</code> e <code>Dominio</code>
81 * 115 *
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/EstruturaOrganizacionalController.java
@@ -426,5 +426,16 @@ public class EstruturaOrganizacionalController extends GenericController&lt;Estrutu @@ -426,5 +426,16 @@ public class EstruturaOrganizacionalController extends GenericController&lt;Estrutu
426 426
427 return responseBody; 427 return responseBody;
428 } 428 }
  429 +
  430 + @RequestMapping(value = "/listarEstruturaOrganizacionalAdministrativaPorUL", method = RequestMethod.GET, produces = "application/json")
  431 + @ResponseBody
  432 + public ResponseBodyWrapper listarEstruturaOrganizacionalAdministrativaPorUL(@RequestParam(value = "idUL") String idUL) {
  433 +
  434 + ResultResponseVH<EstruturaOrganizacional> resultResponseVH = new ResultResponseVH<EstruturaOrganizacional>(estruturaOrganizacionalService.listarEstruturaOrganizacionalAdministrativaPorUL(Long.parseLong(idUL)));
  435 +
  436 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, getEditView());
  437 +
  438 + return responseBody;
  439 + }
429 440
430 } 441 }
431 \ No newline at end of file 442 \ No newline at end of file
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java
@@ -18,7 +18,6 @@ import br.com.centralit.api.viewHelper.PessoaVH; @@ -18,7 +18,6 @@ import br.com.centralit.api.viewHelper.PessoaVH;
18 import br.com.centralit.framework.controller.GenericController; 18 import br.com.centralit.framework.controller.GenericController;
19 import br.com.centralit.framework.json.ResponseBodyWrapper; 19 import br.com.centralit.framework.json.ResponseBodyWrapper;
20 import br.com.centralit.framework.json.Views; 20 import br.com.centralit.framework.json.Views;
21 -import br.com.centralit.framework.json.Views.GenericView;  
22 21
23 /** 22 /**
24 * <p> 23 * <p>
@@ -449,6 +448,18 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; { @@ -449,6 +448,18 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
449 448
450 return responseBody; 449 return responseBody;
451 } 450 }
  451 +
  452 + /**
  453 + * Método responsável por obter permissão para assinatura de documento
  454 + * @author rogerio.cassimiro
  455 + * @return {@link Boolean}
  456 + */
  457 + @RequestMapping(value = "/getPermissaoAssinaturaDocumento", method = RequestMethod.GET)
  458 + @ResponseBody
  459 + public ResponseBodyWrapper getPermissaoAssinaturaDocumento() {
  460 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.getPessoaService().getPermissaoAssinaturaDocumento(), this.getEditView());
  461 + return responseBody;
  462 + }
452 463
453 @Override 464 @Override
454 public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() { 465 public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() {
cit-tabelas-corp-web/src/main/java/br/com/centralit/listener/StartupListenerTabelasCorp.java
@@ -304,9 +304,12 @@ public class StartupListenerTabelasCorp extends UtilStartup implements Applicati @@ -304,9 +304,12 @@ public class StartupListenerTabelasCorp extends UtilStartup implements Applicati
304 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.VALIDACAO.SELECIONAR_UM_RESPONSAVEL", "Você precisa selecionar um responsável!", dominio, modulo)); 304 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.VALIDACAO.SELECIONAR_UM_RESPONSAVEL", "Você precisa selecionar um responsável!", dominio, modulo));
305 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.VALIDACAO.ULTIMO_MAPA_VIGENTE", "O sistema deve sempre ter um Mapa Organizacional vigente, portanto esse Mapa não pode ser excluído. Caso precise de um novo Mapa é só inserir um mapa e o sistema imediatamente finalizará a vigência do mapa anterior.", dominio, modulo)); 305 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.VALIDACAO.ULTIMO_MAPA_VIGENTE", "O sistema deve sempre ter um Mapa Organizacional vigente, portanto esse Mapa não pode ser excluído. Caso precise de um novo Mapa é só inserir um mapa e o sistema imediatamente finalizará a vigência do mapa anterior.", dominio, modulo));
306 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.VALIDACAO.CENTRO_CUSTO_VINCULADO", "Centro de custo pai já está vinculado ao centro de custo selecionado para edição.", dominioPT_BR, moduloSelecionado)); 306 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.VALIDACAO.CENTRO_CUSTO_VINCULADO", "Centro de custo pai já está vinculado ao centro de custo selecionado para edição.", dominioPT_BR, moduloSelecionado));
  307 + internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.VALIDACAO.DATA_INICIO_MAPA_VIGENTE", "Data início não pode ser inferior a data início do Mapa Organizacional vigente!", dominioPT_BR, moduloSelecionado));
  308 +
307 } 309 }
308 310
309 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { 311 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {
  312 + internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.MSG.UNIDADES_COM_RESPONSAVEL_PODE_SER_LOCALIZADORA", "Apenas unidades com responsável definido podem ser localizadoras de bens!", dominioPT_BR, moduloSelecionado));
310 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.MSG.CONFIRMA_DATA_FIM", "Ao alterar data fim de uma estrutura, o processamento poderá levar um tempo até preencher a data fim das estruturas filhas, se houver. Deseja prosseguir?", dominio, modulo)); 313 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.MSG.CONFIRMA_DATA_FIM", "Ao alterar data fim de uma estrutura, o processamento poderá levar um tempo até preencher a data fim das estruturas filhas, se houver. Deseja prosseguir?", dominio, modulo));
311 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.MSG.CONFIRMA_EXCLUIR_BAIRRO", "Confirma a exclusão do bairro?", dominio, modulo)); 314 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.MSG.CONFIRMA_EXCLUIR_BAIRRO", "Confirma a exclusão do bairro?", dominio, modulo));
312 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.MSG.CONFIRMA_EXCLUIR_CARACTERISTICA", "Confirma a exclusão da característica?", dominio, modulo)); 315 internacionalizacaoList.add(new Internacionalizacao("CORPORATIVO.MSG.CONFIRMA_EXCLUIR_CARACTERISTICA", "Confirma a exclusão da característica?", dominio, modulo));
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/directive/AssociarDocumentoDirective.js
@@ -68,16 +68,24 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;, @@ -68,16 +68,24 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;,
68 scope: this 68 scope: this
69 }); 69 });
70 }; 70 };
71 -  
72 - $scope.inicializarModalDocumentos = function(){  
73 - $scope.editDocumento = true; 71 +
  72 + function resetModalDocumentos(){
74 $scope.documento = { 73 $scope.documento = {
75 anexos : [], 74 anexos : [],
76 $uuid : getUuid() 75 $uuid : getUuid()
77 }; 76 };
  77 +
78 if($scope.uploader.queue && $scope.uploader.queue.length > 0){ 78 if($scope.uploader.queue && $scope.uploader.queue.length > 0){
79 $scope.uploader.queue.splice($scope.uploader.queue[0], 1); 79 $scope.uploader.queue.splice($scope.uploader.queue[0], 1);
80 } 80 }
  81 + }
  82 +
  83 + $scope.inicializarModalDocumentos = function(){
  84 + $scope.editDocumento = true;
  85 + $scope.showButtonSalvarDoc = false;
  86 +
  87 + resetModalDocumentos();
  88 +
81 $scope.openModal('modal-documentos.html', 'md'); 89 $scope.openModal('modal-documentos.html', 'md');
82 }; 90 };
83 91
@@ -86,34 +94,44 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;, @@ -86,34 +94,44 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;,
86 console.info('onCompleteAll'); 94 console.info('onCompleteAll');
87 }; 95 };
88 96
89 - $scope.salvarAdicionarDocumento = function(formDialogDocumentos){ 97 + $scope.salvarAdicionarDocumento = function(formDialogDocumentos, continuarEditando){
90 var hoje = new Date(); 98 var hoje = new Date();
91 formDialogDocumentos.$submitted = true; 99 formDialogDocumentos.$submitted = true;
92 - if(formDialogDocumentos.$valid && !(converterStringEmDate($scope.documento.dataEmissao).getTime() > hoje)){  
93 - $scope.documento.uploadsDocumento = $scope.uploader.getNotUploadedItems();  
94 -  
95 - if ($scope.documentos == undefined || $scope.documentos == null) {  
96 - $scope.documentos = [];  
97 - }  
98 - $scope.dominiosTipoDocumento.forEach(function (tipoDocumento, key) {  
99 - if($scope.documento.dominioTipoDocumento.id === tipoDocumento.id){  
100 - $scope.documento.dominioTipoDocumento = tipoDocumento.originalElement;  
101 - }  
102 - });  
103 - $scope.documentos.forEach(function (documento, key) {  
104 - if(documento.$uuid && $scope.documento.$uuid && documento.$uuid === $scope.documento.$uuid || documento.id && $scope.documento.id && documento.id === $scope.documento.id ){  
105 - $scope.documentos.splice(key, 1);  
106 - }  
107 - });  
108 - $scope.documentos.push($scope.documento);  
109 - $scope.$modalInstance.dismiss('cancel');  
110 - } else if(formDialogDocumentos.$valid && (converterStringEmDate($scope.documento.dataEmissao).getTime() > hoje)){  
111 -  
112 - $scope.$parent.showAlert('error', $translate.instant('CORPORATIVO.VALIDACAO.CPF_OBRIGATORIO_REPRESENTANTE_LEGAL'));  
113 - }else if(formDialogDocumentos.$invalid){  
114 - 100 +
  101 + if(formDialogDocumentos.$invalid){
115 $scope.$parent.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); 102 $scope.$parent.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'));
  103 + return;
116 } 104 }
  105 +
  106 + if(converterStringEmDate($scope.documento.dataEmissao).getTime() > hoje){
  107 + $scope.$parent.showAlert('error', $translate.instant('VALIDACAO.DATA_EMISSAO_DATA_ATUAL'));
  108 + return;
  109 + }
  110 +
  111 + $scope.documento.uploadsDocumento = $scope.uploader.getNotUploadedItems();
  112 +
  113 + if ($scope.documentos == undefined || $scope.documentos == null) {
  114 + $scope.documentos = [];
  115 + }
  116 + $scope.dominiosTipoDocumento.forEach(function (tipoDocumento, key) {
  117 + if($scope.documento.dominioTipoDocumento.id === tipoDocumento.id){
  118 + $scope.documento.dominioTipoDocumento = tipoDocumento.originalElement;
  119 + }
  120 + });
  121 + $scope.documentos.forEach(function (documento, key) {
  122 + if(documento.$uuid && $scope.documento.$uuid && documento.$uuid === $scope.documento.$uuid || documento.id && $scope.documento.id && documento.id === $scope.documento.id ){
  123 + $scope.documentos.splice(key, 1);
  124 + }
  125 + });
  126 + $scope.documentos.push($scope.documento);
  127 +
  128 + if(continuarEditando){
  129 + formDialogDocumentos.$submitted = false;
  130 + formDialogDocumentos.$setPristine();
  131 + resetModalDocumentos();
  132 + }else{
  133 + $scope.$modalInstance.dismiss('cancel');
  134 + }
117 }; 135 };
118 136
119 $scope.removerDocumento = function(){ 137 $scope.removerDocumento = function(){
@@ -130,10 +148,11 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;, @@ -130,10 +148,11 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;,
130 148
131 $scope.excluir = function(){ 149 $scope.excluir = function(){
132 var documento = this.item; 150 var documento = this.item;
133 - if(documento.id !== undefined) {  
134 - DocumentoRepository.remove(documento);  
135 - $scope.appController.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));  
136 - } 151 +// [luis.camargo - 19/04/2016] O orphanRemoval do hibernate cuida da exclusão do documento ao gravar a alteração do cadastro.
  152 +// if(documento.id !== undefined) {
  153 +// DocumentoRepository.remove(documento);
  154 +// $scope.appController.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
  155 +// }
137 $scope.documentos.splice(documento.$index, 1); 156 $scope.documentos.splice(documento.$index, 1);
138 $scope.appController.$modalConfirmInstance.dismiss('cancel'); 157 $scope.appController.$modalConfirmInstance.dismiss('cancel');
139 }; 158 };
@@ -145,6 +164,7 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;, @@ -145,6 +164,7 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;,
145 if(documento !== undefined){ 164 if(documento !== undefined){
146 165
147 $scope.editDocumento = edit; 166 $scope.editDocumento = edit;
  167 + $scope.showButtonSalvarDoc = edit;
148 $scope.documento = documento; 168 $scope.documento = documento;
149 $scope.documento.dataEmissao = $filter('date')(documento.dataEmissao, "dd/MM/yyyy"); 169 $scope.documento.dataEmissao = $filter('date')(documento.dataEmissao, "dd/MM/yyyy");
150 if($scope.documento.id && $scope.documento.emitente){ 170 if($scope.documento.id && $scope.documento.emitente){
@@ -228,13 +248,14 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;, @@ -228,13 +248,14 @@ citApp.directive(&quot;componenteAssociarDocumentos&quot;, [&quot;$translate&quot;,
228 $scope.excluirAnexo = function(){ 248 $scope.excluirAnexo = function(){
229 var anexo = this.item; 249 var anexo = this.item;
230 if(anexo.id) { 250 if(anexo.id) {
231 - AnexoRepository.remove(anexo); 251 +// [luis.camargo - 19/04/2016] O orphanRemoval do hibernate cuida da exclusão do anexo ao gravar a alteração do cadastro.
  252 +// AnexoRepository.remove(anexo);
232 $scope.documento.anexos.forEach(function (entity, key) { 253 $scope.documento.anexos.forEach(function (entity, key) {
233 if(entity.id === anexo.id){ 254 if(entity.id === anexo.id){
234 $scope.documento.anexos.splice(key, 1); 255 $scope.documento.anexos.splice(key, 1);
235 } 256 }
236 }); 257 });
237 - $scope.appController.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO')); 258 +// $scope.appController.showAlertSucesso("success", $translate.instant('MSG.REGISTRO_EXCLUIDO'));
238 $scope.appController.$modalConfirmInstance.dismiss('cancel'); 259 $scope.appController.$modalConfirmInstance.dismiss('cancel');
239 } 260 }
240 }; 261 };
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/directive/html/dialog_associar_documetos.html
1 <form name="formDialogDocumentos" novalidade> 1 <form name="formDialogDocumentos" novalidade>
2 <div class="modal-header"> 2 <div class="modal-header">
3 - <button class="btn btn-clear" type="button" ng-show="editDocumento" ng-click="salvarAdicionarDocumento(formDialogDocumentos)"> 3 + <button class="btn btn-clear" type="button" ng-show="editDocumento && !showButtonSalvarDoc" ng-click="salvarAdicionarDocumento(formDialogDocumentos, false)">
  4 + <i class="fa fa-save green"></i>
  5 + <translate>LABEL.ADICIONAR</translate>
  6 + </button>
  7 +
  8 + <button class="btn btn-clear" type="button" ng-show="editDocumento && showButtonSalvarDoc" ng-click="salvarAdicionarDocumento(formDialogDocumentos, false)">
4 <i class="fa fa-save green"></i> 9 <i class="fa fa-save green"></i>
5 <translate>LABEL.SALVAR</translate> 10 <translate>LABEL.SALVAR</translate>
6 </button> 11 </button>
  12 +
  13 + <button class="btn btn-clear" type="button" ng-show="editDocumento && !showButtonSalvarDoc" ng-click="salvarAdicionarDocumento(formDialogDocumentos, true)">
  14 + <i class="fa fa-save green"></i>
  15 + <translate>LABEL.ADICIONAR_CONTINUAR</translate>
  16 + </button>
7 17
8 <button ng-click="$dismiss('cancel');" type="button" class="btn btn-clear"> 18 <button ng-click="$dismiss('cancel');" type="button" class="btn btn-clear">
9 <i class="fa fa-times red"></i> 19 <i class="fa fa-times red"></i>
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js
@@ -11,7 +11,8 @@ citApp.factory(&#39;ColaboradorRepository&#39;, [&#39;RestangularTabelasCorp&#39;, &#39;AbstractRepo @@ -11,7 +11,8 @@ citApp.factory(&#39;ColaboradorRepository&#39;, [&#39;RestangularTabelasCorp&#39;, &#39;AbstractRepo
11 11
12 this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { 12 this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) {
13 return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); 13 return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then();
14 - }; 14 + };
  15 +
15 } 16 }
16 17
17 AbstractRepository.extend(ColaboradorRepository); 18 AbstractRepository.extend(ColaboradorRepository);
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/EstruturaOrganizacionalRepository.js
@@ -102,6 +102,11 @@ citApp.factory(&#39;EstruturaOrganizacionalRepository&#39;, [&#39;RestangularTabelasCorp&#39;, &#39; @@ -102,6 +102,11 @@ citApp.factory(&#39;EstruturaOrganizacionalRepository&#39;, [&#39;RestangularTabelasCorp&#39;, &#39;
102 this.listarEstruturasOrganizacionaisPorOrganizacaoNotIn = function(value, idOrganizacao, idsEstruturasNotIn) { 102 this.listarEstruturasOrganizacionaisPorOrganizacaoNotIn = function(value, idOrganizacao, idsEstruturasNotIn) {
103 return restangularTabelasCorp.one(this.route).getList("listarEstruturasOrganizacionaisPorOrganizacaoNotIn", {nome : value, idOrganizacao : idOrganizacao, idsEstruturasNotIn : idsEstruturasNotIn}).then(); 103 return restangularTabelasCorp.one(this.route).getList("listarEstruturasOrganizacionaisPorOrganizacaoNotIn", {nome : value, idOrganizacao : idOrganizacao, idsEstruturasNotIn : idsEstruturasNotIn}).then();
104 }; 104 };
  105 +
  106 + // Listar estruturas organizacionais administrativas por id da filha
  107 + this.listarEstruturaOrganizacionalAdministrativaPorUL = function(idUL) {
  108 + return restangularTabelasCorp.one(this.route + '/listarEstruturaOrganizacionalAdministrativaPorUL').get({idUL : idUL}).then();
  109 + };
105 110
106 } 111 }
107 112
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js
@@ -80,7 +80,11 @@ citApp.factory(&#39;PessoaRepository&#39;, [&#39;RestangularTabelasCorp&#39;,&#39;AbstractRepository @@ -80,7 +80,11 @@ citApp.factory(&#39;PessoaRepository&#39;, [&#39;RestangularTabelasCorp&#39;,&#39;AbstractRepository
80 this.findPessoaColaboradorUsuarioPorNome = function(nome) { 80 this.findPessoaColaboradorUsuarioPorNome = function(nome) {
81 return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then(); 81 return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then();
82 }; 82 };
83 - 83 +
  84 + this.getPermissaoAssinaturaDocumento = function() {
  85 + return restangularTabelasCorp.one(this.route + "/getPermissaoAssinaturaDocumento").get().then();
  86 + };
  87 +
84 } 88 }
85 89
86 AbstractRepository.extend(PessoaRepository); 90 AbstractRepository.extend(PessoaRepository);
@@ -30,24 +30,26 @@ @@ -30,24 +30,26 @@
30 <artifactId>cit-tabelas-corp</artifactId> 30 <artifactId>cit-tabelas-corp</artifactId>
31 <packaging>pom</packaging> 31 <packaging>pom</packaging>
32 <name>cit-tabelas-corp</name> 32 <name>cit-tabelas-corp</name>
33 - 33 + <version>${cit-tabelas-corp.version}</version>
  34 +
34 <properties> 35 <properties>
35 <findbugs.config.path>${project.parent.parent.basedir}/filterfile.xml</findbugs.config.path> 36 <findbugs.config.path>${project.parent.parent.basedir}/filterfile.xml</findbugs.config.path>
36 <license.config.path>${project.parent.basedir}/src/licensing</license.config.path> 37 <license.config.path>${project.parent.basedir}/src/licensing</license.config.path>
37 </properties> 38 </properties>
38 39
39 <!-- Gerencia as versoes dos modulos filhos --> 40 <!-- Gerencia as versoes dos modulos filhos -->
  41 + <!-- testar pull request -->
40 <dependencyManagement> 42 <dependencyManagement>
41 <dependencies> 43 <dependencies>
42 <dependency> 44 <dependency>
43 <groupId>br.com.centralit</groupId> 45 <groupId>br.com.centralit</groupId>
44 <artifactId>cit-tabelas-corp-web</artifactId> 46 <artifactId>cit-tabelas-corp-web</artifactId>
45 - <version>${project.version}</version> 47 + <version>${cit-tabelas-corp.version}</version>
46 </dependency> 48 </dependency>
47 <dependency> 49 <dependency>
48 <groupId>br.com.centralit</groupId> 50 <groupId>br.com.centralit</groupId>
49 <artifactId>cit-tabelas-corp-api</artifactId> 51 <artifactId>cit-tabelas-corp-api</artifactId>
50 - <version>${project.version}</version> 52 + <version>${cit-tabelas-corp.version}</version>
51 </dependency> 53 </dependency>
52 </dependencies> 54 </dependencies>
53 </dependencyManagement> 55 </dependencyManagement>