Commit 2e0294c8bff8af0046f54c39b0adcc845713826b

Authored by gabriel.damasceno
2 parents d95eaafd 7b15c37f
Exists in master

Merge branch 'tarefa-4583'

Showing 18 changed files with 287 additions and 161 deletions   Show diff stats
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java
... ... @@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO {
141 141 */
142 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 39 List<Pessoa> findByUsuario(Pessoa pessoa);
40 40  
41 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 25 */
26 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,6 +10,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
10 10 import br.com.centralit.framework.dao.arquitetura.SearchSeven;
11 11 import br.com.centralit.framework.model.Dominio;
12 12 import br.com.centralit.framework.model.Usuario;
  13 +import br.com.centralit.framework.util.UtilObjeto;
13 14  
14 15 import com.googlecode.genericdao.search.Filter;
15 16 import com.googlecode.genericdao.search.Sort;
... ... @@ -184,4 +185,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo
184 185  
185 186 return this.search(search, Colaborador.class);
186 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 + }
187 203 }
... ...
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 9 import br.com.centralit.api.dao.PessoaDao;
10 10 import br.com.centralit.api.model.Pessoa;
11 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 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 5 import br.com.centralit.api.dao.TerceirizadoDao;
6 6 import br.com.centralit.api.model.Terceirizado;
7 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 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/Pessoa.java
... ... @@ -14,6 +14,7 @@ import javax.persistence.ManyToOne;
14 14 import javax.persistence.OneToMany;
15 15 import javax.persistence.OneToOne;
16 16 import javax.persistence.PrimaryKeyJoinColumn;
  17 +import javax.persistence.Transient;
17 18  
18 19 import org.hibernate.envers.Audited;
19 20 import org.hibernate.envers.NotAudited;
... ... @@ -31,37 +32,37 @@ import com.fasterxml.jackson.annotation.JsonView;
31 32 * <p>
32 33 * <img src="http://centralit.com.br/images/logo_central.png">
33 34 * </p>
34   - *
  35 + *
35 36 * <p>
36 37 * <b>Company: </b> Central IT - Governança Corporativa -
37 38 * </p>
38   - *
  39 + *
39 40 * <p>
40 41 * <b>Title: </b>Pessoa
41 42 * </p>
42   - *
  43 + *
43 44 * <p>
44 45 * <b>Description: </b>Entidade <code>Pessoa</code>
45 46 * </p>
46   - *
  47 + *
47 48 * <p>
48 49 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
49 50 * </p>
50   - *
  51 + *
51 52 * <p>
52 53 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
53 54 * </p>
54   - *
  55 + *
55 56 * @since 27/11/2014 - 10:32:19
56   - *
  57 + *
57 58 * @version 1.0.0
58   - *
  59 + *
59 60 * @author rogerio.costa
60   - *
  61 + *
61 62 */
62 63 @Audited
63 64 @Entity
64   -@JsonIgnoreProperties({ "$checked"})
  65 +@JsonIgnoreProperties({ "$checked" })
65 66 public class Pessoa extends PersistentObjectAuditOrganizacao {
66 67  
67 68 /** Atributo serialVersionUID. */
... ... @@ -69,46 +70,14 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
69 70  
70 71 @Id
71 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 74 protected Long id;
74 75  
75 76 /** Atributo nome. */
76 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 81 private String nome;
113 82  
114 83 /** Atributo email. */
... ... @@ -123,7 +92,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
123 92  
124 93 /** Atributo pessoaFisica. */
125 94 @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
126   - @JsonView({ Views.PessoaEditView.class})
  95 + @JsonView({ Views.PessoaEditView.class })
127 96 @PrimaryKeyJoinColumn
128 97 private PessoaFisica pessoaFisica;
129 98  
... ... @@ -157,8 +126,8 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
157 126  
158 127 /** Atributo usuario. */
159 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 131 private Usuario usuario;
163 132  
164 133 /** Atributo codigo. */
... ... @@ -166,10 +135,13 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
166 135 @JsonView({ Views.GenericView.class })
167 136 private String codigo;
168 137  
  138 + @JsonView({ Views.PessoaEditView.class })
  139 + @Transient
  140 + private boolean exibirAssinarDocAnexo;
169 141  
170 142 /**
171 143 * Retorna o valor do atributo <code>id</code>
172   - *
  144 + *
173 145 * @return <code>Long</code>
174 146 */
175 147 public Long getId() {
... ... @@ -179,7 +151,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
179 151  
180 152 /**
181 153 * Define o valor do atributo <code>id</code>.
182   - *
  154 + *
183 155 * @param nome
184 156 */
185 157 public void setId(Long id) {
... ... @@ -189,7 +161,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
189 161  
190 162 /**
191 163 * Retorna o valor do atributo <code>email</code>
192   - *
  164 + *
193 165 * @return <code>String</code>
194 166 */
195 167 public String getEmail() {
... ... @@ -199,7 +171,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
199 171  
200 172 /**
201 173 * Define o valor do atributo <code>email</code>.
202   - *
  174 + *
203 175 * @param email
204 176 */
205 177 public void setEmail(String email) {
... ... @@ -209,7 +181,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
209 181  
210 182 /**
211 183 * Define o valor do atributo <code>tipoPessoa</code>.
212   - *
  184 + *
213 185 * @param tipoPessoa
214 186 */
215 187 public void setTipoPessoa(Dominio tipoPessoa) {
... ... @@ -218,7 +190,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
218 190  
219 191 /**
220 192 * Retorna o valor do atributo <code>pessoaFisica</code>
221   - *
  193 + *
222 194 * @return <code>PessoaFisica</code>
223 195 */
224 196 public PessoaFisica getPessoaFisica() {
... ... @@ -228,7 +200,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
228 200  
229 201 /**
230 202 * Define o valor do atributo <code>pessoaFisica</code>.
231   - *
  203 + *
232 204 * @param pessoaFisica
233 205 */
234 206 public void setPessoaFisica(PessoaFisica pessoaFisica) {
... ... @@ -238,7 +210,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
238 210  
239 211 /**
240 212 * Retorna o valor do atributo <code>pessoaJuridica</code>
241   - *
  213 + *
242 214 * @return <code>PessoaJuridica</code>
243 215 */
244 216 public PessoaJuridica getPessoaJuridica() {
... ... @@ -248,7 +220,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
248 220  
249 221 /**
250 222 * Define o valor do atributo <code>pessoaJuridica</code>.
251   - *
  223 + *
252 224 * @param pessoaJuridica
253 225 */
254 226 public void setPessoaJuridica(PessoaJuridica pessoaJuridica) {
... ... @@ -258,7 +230,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
258 230  
259 231 /**
260 232 * Retorna o valor do atributo <code>listaParceiro</code>
261   - *
  233 + *
262 234 * @return <code>Collection<Parceiro></code>
263 235 */
264 236 public Collection<Parceiro> getParceiros() {
... ... @@ -268,7 +240,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
268 240  
269 241 /**
270 242 * Define o valor do atributo <code>listaParceiro</code>.
271   - *
  243 + *
272 244 * @param listaParceiro
273 245 */
274 246 public void setParceiros(final Collection<Parceiro> listaParceiro) {
... ... @@ -278,7 +250,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
278 250  
279 251 /**
280 252 * Retorna o valor do atributo <code>nome</code>
281   - *
  253 + *
282 254 * @return <code>String</code>
283 255 */
284 256 public String getNome() {
... ... @@ -288,7 +260,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
288 260  
289 261 /**
290 262 * Define o valor do atributo <code>nome</code>.
291   - *
  263 + *
292 264 * @param nome
293 265 */
294 266 public void setNome(String nome) {
... ... @@ -298,7 +270,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
298 270  
299 271 /**
300 272 * Retorna o valor do atributo <code>listaTelefone</code>
301   - *
  273 + *
302 274 * @return <code>Collection<Telefone></code>
303 275 */
304 276 public Collection<Telefone> getTelefones() {
... ... @@ -308,7 +280,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
308 280  
309 281 /**
310 282 * Define o valor do atributo <code>listaTelefone</code>.
311   - *
  283 + *
312 284 * @param listaTelefone
313 285 */
314 286 public void setTelefones(Collection<Telefone> listaTelefone) {
... ... @@ -318,7 +290,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
318 290  
319 291 /**
320 292 * Retorna o valor do atributo <code>contatos</code>
321   - *
  293 + *
322 294 * @return <code>Collection<Contato></code>
323 295 */
324 296 public Collection<Contato> getContatos() {
... ... @@ -328,7 +300,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
328 300  
329 301 /**
330 302 * Define o valor do atributo <code>contatos</code>.
331   - *
  303 + *
332 304 * @param contatos
333 305 */
334 306 public void setContatos(Collection<Contato> contatos) {
... ... @@ -338,7 +310,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
338 310  
339 311 /**
340 312 * Retorna o valor do atributo <code>dominioPessoa</code>
341   - *
  313 + *
342 314 * @return <code>Dominio</code>
343 315 */
344 316 public Dominio getDominioPessoa() {
... ... @@ -348,7 +320,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
348 320  
349 321 /**
350 322 * Define o valor do atributo <code>dominioPessoa</code>.
351   - *
  323 + *
352 324 * @param dominioPessoa
353 325 */
354 326 public void setDominioPessoa(Dominio dominioPessoa) {
... ... @@ -358,7 +330,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
358 330  
359 331 /**
360 332 * Retorna o valor do atributo <code>enderecos</code>
361   - *
  333 + *
362 334 * @return <code>Collection<Endereco></code>
363 335 */
364 336 public Collection<Endereco> getEnderecos() {
... ... @@ -368,7 +340,7 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
368 340  
369 341 /**
370 342 * Define o valor do atributo <code>enderecos</code>.
371   - *
  343 + *
372 344 * @param enderecos
373 345 */
374 346 public void setEnderecos(Collection<Endereco> enderecos) {
... ... @@ -376,10 +348,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
376 348 this.enderecos = enderecos;
377 349 }
378 350  
379   -
380 351 /**
381 352 * Retorna o valor do atributo <code>codigo</code>
382   - *
  353 + *
383 354 * @return <code>String</code>
384 355 */
385 356 public String getCodigo() {
... ... @@ -387,10 +358,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
387 358 return codigo;
388 359 }
389 360  
390   -
391 361 /**
392 362 * Define o valor do atributo <code>codigo</code>.
393   - *
  363 + *
394 364 * @param codigo
395 365 */
396 366 public void setCodigo(String codigo) {
... ... @@ -398,10 +368,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
398 368 this.codigo = codigo;
399 369 }
400 370  
401   -
402 371 /**
403 372 * Retorna o valor do atributo <code>usuario</code>
404   - *
  373 + *
405 374 * @return <code>Usuario</code>
406 375 */
407 376 public Usuario getUsuario() {
... ... @@ -409,10 +378,9 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
409 378 return usuario;
410 379 }
411 380  
412   -
413 381 /**
414 382 * Define o valor do atributo <code>usuario</code>.
415   - *
  383 + *
416 384 * @param usuario
417 385 */
418 386 public void setUsuario(Usuario usuario) {
... ... @@ -420,6 +388,24 @@ public class Pessoa extends PersistentObjectAuditOrganizacao {
420 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 141 */
142 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/PessoaService.java
... ... @@ -2,9 +2,6 @@ package br.com.centralit.api.service;
2 2  
3 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 5 import br.com.centralit.api.model.Colaborador;
9 6 import br.com.centralit.api.model.Pessoa;
10 7 import br.com.centralit.api.viewHelper.PessoaVH;
... ... @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService&lt;Pessoa, Long&gt; {
302 299 boolean removeTerceirizado(Long id);
303 300  
304 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 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 26 */
27 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/ColaboradorServiceImpl.java
... ... @@ -4,6 +4,7 @@ import java.util.Collection;
4 4  
5 5 import org.springframework.beans.factory.annotation.Autowired;
6 6 import org.springframework.beans.factory.annotation.Qualifier;
  7 +import org.springframework.security.core.context.SecurityContextHolder;
7 8 import org.springframework.stereotype.Service;
8 9 import org.springframework.validation.Validator;
9 10  
... ... @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl&lt;Colaborador, Long
195 196  
196 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/PessoaServiceImpl.java
... ... @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest;
7 7  
8 8 import org.springframework.beans.factory.annotation.Autowired;
9 9 import org.springframework.beans.factory.annotation.Qualifier;
  10 +import org.springframework.security.core.context.SecurityContextHolder;
10 11 import org.springframework.stereotype.Service;
11 12 import org.springframework.validation.Validator;
12 13  
... ... @@ -46,6 +47,7 @@ import br.com.centralit.framework.exception.BusinessException;
46 47 import br.com.centralit.framework.exception.CodigoErro;
47 48 import br.com.centralit.framework.model.Dominio;
48 49 import br.com.centralit.framework.model.Modulo;
  50 +import br.com.centralit.framework.model.Usuario;
49 51 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
50 52 import br.com.centralit.framework.util.UtilColecao;
51 53 import br.com.centralit.framework.util.UtilObjeto;
... ... @@ -1269,4 +1271,24 @@ public class PessoaServiceImpl extends GenericServiceImpl&lt;Pessoa, Long&gt; implemen
1269 1271 return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario);
1270 1272  
1271 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 + }
1272 1294 }
... ...
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 2  
3 3 import org.springframework.beans.factory.annotation.Autowired;
4 4 import org.springframework.beans.factory.annotation.Qualifier;
  5 +import org.springframework.security.core.context.SecurityContextHolder;
5 6 import org.springframework.stereotype.Service;
6 7 import org.springframework.validation.Validator;
7 8  
... ... @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado;
10 11 import br.com.centralit.api.service.ClasseParceiroService;
11 12 import br.com.centralit.api.service.TerceirizadoService;
12 13 import br.com.centralit.framework.model.Dominio;
  14 +import br.com.centralit.framework.model.Usuario;
13 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 38 @Service("terceirizadoService")
37 39 public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService {
38 40  
39   - @SuppressWarnings("unused")
40 41 private TerceirizadoDao terceirizadoDao;
41 42  
42 43 /** Atributo classeParceiroService. */
... ... @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl&lt;Terceirizado, Lon
68 69  
69 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/src/main/java/br/com/centralit/controller/ColaboradorController.java
... ... @@ -93,5 +93,5 @@ public class ColaboradorController extends GenericController&lt;Colaborador&gt; {
93 93  
94 94 return responseBody;
95 95 }
96   -
  96 +
97 97 }
... ...
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java
... ... @@ -23,25 +23,25 @@ import br.com.centralit.framework.json.Views;
23 23 * <p>
24 24 * <img src="http://centralit.com.br/images/logo_central.png">
25 25 * </p>
26   - *
  26 + *
27 27 * <p>
28 28 * <b>Company: </b> Central IT - Governança Corporativa -
29 29 * </p>
30   - *
  30 + *
31 31 * <p>
32 32 * <b>Title: </b>PessoaController
33 33 * </p>
34   - *
  34 + *
35 35 * <p>
36 36 * <b>Description: </b>
37 37 * </p>
38   - *
  38 + *
39 39 * @since 28/11/2014 - 11:49:15
40   - *
  40 + *
41 41 * @version 1.0.0
42   - *
  42 + *
43 43 * @author rogerio.costa
44   - *
  44 + *
45 45 */
46 46 @Controller
47 47 @RequestMapping("/rest/pessoa")
... ... @@ -51,12 +51,13 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
51 51 private PessoaService pessoaService;
52 52  
53 53 public PessoaController() {
  54 +
54 55 super();
55 56 }
56 57  
57 58 /**
58 59 * Responsável pela criação de novas instâncias desta classe.
59   - *
  60 + *
60 61 * @param pessoaService
61 62 */
62 63 @Autowired
... ... @@ -83,15 +84,15 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
83 84 * <p>
84 85 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
85 86 * </p>
86   - *
  87 + *
87 88 * <p>
88 89 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
89 90 * </p>
90   - *
  91 + *
91 92 * Método responsável por
92   - *
  93 + *
93 94 * @author rogerio.costa
94   - *
  95 + *
95 96 * @param pessoaVH
96 97 * @return
97 98 * @throws Exception
... ... @@ -109,15 +110,15 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
109 110 * <p>
110 111 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
111 112 * </p>
112   - *
  113 + *
113 114 * <p>
114 115 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
115 116 * </p>
116   - *
  117 + *
117 118 * Método responsável por
118   - *
  119 + *
119 120 * @author rogerio.costa
120   - *
  121 + *
121 122 * @param pessoaVH
122 123 * @return
123 124 * @throws Exception
... ... @@ -135,15 +136,15 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
135 136 * <p>
136 137 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
137 138 * </p>
138   - *
  139 + *
139 140 * <p>
140 141 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
141 142 * </p>
142   - *
  143 + *
143 144 * Método responsável por
144   - *
  145 + *
145 146 * @author rogerio.costa
146   - *
  147 + *
147 148 * @param nome
148 149 * @param idOrganizacao
149 150 * @return
... ... @@ -163,17 +164,17 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
163 164 * <p>
164 165 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
165 166 * </p>
166   - *
  167 + *
167 168 * <p>
168 169 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
169 170 * </p>
170   - *
  171 + *
171 172 * Método responsável por remover a entidade<code>Colaborador</code>
172   - *
  173 + *
173 174 * @author rogerio.costa
174   - *
  175 + *
175 176 * @param colaborador
176   - *
  177 + *
177 178 * @return responseBody
178 179 */
179 180 @RequestMapping(method = RequestMethod.DELETE, produces = "application/json", value = "/removeColaborador/{id}")
... ... @@ -189,17 +190,17 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
189 190 * <p>
190 191 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
191 192 * </p>
192   - *
  193 + *
193 194 * <p>
194 195 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
195 196 * </p>
196   - *
  197 + *
197 198 * Método responsável por remover a entidade<code>OrgaoExterno</code>
198   - *
  199 + *
199 200 * @author rogerio.costa
200   - *
  201 + *
201 202 * @param id
202   - *
  203 + *
203 204 * @return responseBody
204 205 */
205 206 @RequestMapping(method = RequestMethod.DELETE, produces = "application/json", value = "/removeOrgaoExterno/{id}")
... ... @@ -215,15 +216,15 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
215 216 * <p>
216 217 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
217 218 * </p>
218   - *
  219 + *
219 220 * <p>
220 221 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
221 222 * </p>
222   - *
  223 + *
223 224 * Método responsável por
224   - *
  225 + *
225 226 * @author rogerio.costa
226   - *
  227 + *
227 228 * @param id
228 229 * @return
229 230 */
... ... @@ -240,17 +241,17 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
240 241 * <p>
241 242 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
242 243 * </p>
243   - *
  244 + *
244 245 * <p>
245 246 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
246 247 * </p>
247   - *
  248 + *
248 249 * Método responsável por remover a entidade <code>Fornecedor</code>
249   - *
  250 + *
250 251 * @author rogerio.costa
251   - *
  252 + *
252 253 * @param id
253   - *
  254 + *
254 255 * @return responseBody
255 256 */
256 257 @RequestMapping(method = RequestMethod.DELETE, produces = "application/json", value = "/removeFornecedor/{id}")
... ... @@ -266,17 +267,17 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
266 267 * <p>
267 268 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
268 269 * </p>
269   - *
  270 + *
270 271 * <p>
271 272 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
272 273 * </p>
273   - *
  274 + *
274 275 * Método responsável por remover a entidade<code>FornecedorObservacao</code>
275   - *
  276 + *
276 277 * @author rogerio.costa
277   - *
  278 + *
278 279 * @param colaborador
279   - *
  280 + *
280 281 * @return responseBody
281 282 */
282 283 @RequestMapping(method = RequestMethod.DELETE, produces = "application/json", value = "/removeFornecedorObservacao/{id}")
... ... @@ -292,15 +293,15 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
292 293 * <p>
293 294 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
294 295 * </p>
295   - *
  296 + *
296 297 * <p>
297 298 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
298 299 * </p>
299   - *
  300 + *
300 301 * Método responsável por
301   - *
  302 + *
302 303 * @author rogerio.costa
303   - *
  304 + *
304 305 * @param id
305 306 * @return
306 307 */
... ... @@ -326,15 +327,15 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
326 327 * <p>
327 328 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
328 329 * </p>
329   - *
  330 + *
330 331 * <p>
331 332 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
332 333 * </p>
333   - *
  334 + *
334 335 * Método responsável por
335   - *
  336 + *
336 337 * @author rogerio.costa
337   - *
  338 + *
338 339 * @param id
339 340 * @return
340 341 */
... ... @@ -351,15 +352,15 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
351 352 * <p>
352 353 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
353 354 * </p>
354   - *
  355 + *
355 356 * <p>
356 357 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
357 358 * </p>
358   - *
  359 + *
359 360 * Método responsável por buscar uma pessoa que seja um usuário no sistema
360   - *
  361 + *
361 362 * @author iago.almeida
362   - *
  363 + *
363 364 * @param nome
364 365 * @return Collection<Colaborador
365 366 */
... ... @@ -374,10 +375,9 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
374 375 return responseBody;
375 376 }
376 377  
377   -
378 378 /**
379 379 * Retorna o valor do atributo <code>pessoaService</code>
380   - *
  380 + *
381 381 * @return <code>PessoaService</code>
382 382 */
383 383 public PessoaService getPessoaService() {
... ... @@ -398,14 +398,18 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
398 398 }
399 399  
400 400 /**
401   - * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
402   - *
403   - * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
404   - *
  401 + * <p>
  402 + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
  403 + * </p>
  404 + *
  405 + * <p>
  406 + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
  407 + * </p>
  408 + *
405 409 * Método responsável por bloquear o registro, salvando o modelo com os dados de bloqueio preenchidas
406   - *
  410 + *
407 411 * @author gilberto.nery
408   - *
  412 + *
409 413 * @param pessoa
410 414 * @return
411 415 * @throws Exception
... ... @@ -418,22 +422,22 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
418 422  
419 423 return responseBody;
420 424 }
421   -
  425 +
422 426 /**
423 427 * <p>
424 428 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
425 429 * </p>
426   - *
  430 + *
427 431 * <p>
428 432 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
429 433 * </p>
430   - *
  434 + *
431 435 * Método responsável por remover a entidade<code>Terceirizado</code>
432   - *
  436 + *
433 437 * @author rogerio.cassimiro
434   - *
  438 + *
435 439 * @param terceirizado
436   - *
  440 + *
437 441 * @return responseBody
438 442 */
439 443 @RequestMapping(method = RequestMethod.DELETE, produces = "application/json", value = "/removeTerceirizado/{id}")
... ... @@ -444,5 +448,23 @@ public class PessoaController extends GenericController&lt;Pessoa&gt; {
444 448  
445 449 return responseBody;
446 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 + }
  463 +
  464 + @Override
  465 + public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() {
  466 +
  467 + return Views.PessoaAutoCompeteView.class;
  468 + }
447 469  
448   -}
449 470 \ No newline at end of file
  471 +}
... ...
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/controller/EstruturaOrganizacionalController.js
... ... @@ -394,13 +394,14 @@ citApp.controller(&#39;EstruturaOrganizacionalController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$t
394 394 });
395 395 }
396 396  
397   - $scope.showAlert("success", $translate.instant('MSG.MG001'));
398   -
399 397 $scope.estruturaOrganizacionalForm.$submitted = false;
400 398  
401 399 if($scope.estruturaOrganizacionalECM.estruturaECM){
402 400  
403 401 $scope.salvarEstruturaECM();
  402 + }else{
  403 +
  404 + $scope.showAlert("success", $translate.instant('MSG.MG001'));
404 405 }
405 406  
406 407 $scope.setLoading(false);
... ... @@ -650,7 +651,7 @@ citApp.controller(&#39;EstruturaOrganizacionalController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$t
650 651 $scope.$modalInstance.dismiss('cancel');
651 652 }
652 653  
653   - $scope.showAlert("success", $translate.instant("CORPORATIVO.MSG.SUCESSO_ESTRUTURA_ECM"));
  654 + $scope.showAlert("success", $translate.instant('MSG.MG001'));
654 655 });
655 656 };
656 657  
... ... @@ -691,7 +692,7 @@ citApp.controller(&#39;EstruturaOrganizacionalController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;$t
691 692 };
692 693  
693 694 //Buscar grupo através do nome
694   - $scope.findAutoCompleteGrupo = function(value){
  695 + $scope.findAutoCompleteGrupo = function(value){
695 696 return GrupoRepository.findAutoComplete('nome', value).then(function(result) {
696 697  
697 698 return $filter('idNotEqualObj')(result, $scope.estruturaOrganizacionalECM.gruposUnidade, 'grupo');
... ...
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 11  
12 12 this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) {
13 13 return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then();
14   - };
  14 + };
  15 +
15 16 }
16 17  
17 18 AbstractRepository.extend(ColaboradorRepository);
... ...
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 80 this.findPessoaColaboradorUsuarioPorNome = function(nome) {
81 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 90 AbstractRepository.extend(PessoaRepository);
... ...