Commit 0b2f4cf0afdcf68701a96c64e980eae2bf97f613
1 parent
538e988c
Exists in
master
redmine #4583 panel assinar doc
Showing
3 changed files
with
81 additions
and
85 deletions
Show diff stats
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 isAssinarDocumento; | |
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>isAssinarDocumento</code> | |
393 | + * | |
394 | + * @return <code>boolean</code> | |
395 | + */ | |
396 | + public boolean isAssinarDocumento() { | |
397 | + | |
398 | + return isAssinarDocumento; | |
399 | + } | |
423 | 400 | |
401 | + /** | |
402 | + * Define o valor do atributo <code>isAssinarDocumento</code>. | |
403 | + * | |
404 | + * @param isAssinarDocumento | |
405 | + */ | |
406 | + public void setAssinarDocumento(boolean isAssinarDocumento) { | |
407 | + | |
408 | + this.isAssinarDocumento = isAssinarDocumento; | |
409 | + } | |
424 | 410 | |
425 | 411 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java
... | ... | @@ -303,7 +303,7 @@ public interface PessoaService extends GenericService<Pessoa, Long> { |
303 | 303 | /** |
304 | 304 | * Método responsável por obter permissão para assinatura de documento |
305 | 305 | * @author rogerio.cassimiro |
306 | - * @return {@link Boolean} | |
306 | + * @return {@link Pessoa} | |
307 | 307 | */ |
308 | - boolean getPermissaoAssinaturaDocumento(); | |
308 | + Pessoa getPermissaoAssinaturaDocumento(); | |
309 | 309 | } |
310 | 310 | \ No newline at end of file | ... | ... |
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 | |
... | ... | @@ -45,6 +46,7 @@ import br.com.centralit.framework.exception.BusinessException; |
45 | 46 | import br.com.centralit.framework.exception.CodigoErro; |
46 | 47 | import br.com.centralit.framework.model.Dominio; |
47 | 48 | import br.com.centralit.framework.model.Modulo; |
49 | +import br.com.centralit.framework.model.Usuario; | |
48 | 50 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
49 | 51 | import br.com.centralit.framework.util.UtilColecao; |
50 | 52 | import br.com.centralit.framework.util.UtilObjeto; |
... | ... | @@ -1260,12 +1262,20 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen |
1260 | 1262 | /** |
1261 | 1263 | * Método responsável por obter permissão para assinatura de documento |
1262 | 1264 | * @author rogerio.cassimiro |
1263 | - * @return {@link Boolean} | |
1265 | + * @return {@link Pessoa} | |
1264 | 1266 | */ |
1265 | 1267 | @Override |
1266 | - public boolean getPermissaoAssinaturaDocumento() { | |
1267 | - if(this.colaboradorService.getPermissaoAssinaturaDocumento()) | |
1268 | - return this.terceirizadoService.getPermissaoAssinaturaDocumento(); | |
1269 | - return Boolean.FALSE; | |
1268 | + public Pessoa getPermissaoAssinaturaDocumento() { | |
1269 | + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); | |
1270 | + Pessoa pessoa = this.pessoaDao.buscaPessoaPorUsuarioId(usuario.getId()); | |
1271 | + if(!UtilObjeto.isReferencia(pessoa)){ | |
1272 | + throw new BusinessException("ECM.MSG.USUARIO_SEM_PESSOA", CodigoErro.REGRA_NEGOCIO.getValue(), ""); | |
1273 | + } | |
1274 | + pessoa.setAssinarDocumento(Boolean.FALSE); | |
1275 | + if(this.colaboradorService.getPermissaoAssinaturaDocumento()) | |
1276 | + pessoa.setAssinarDocumento(Boolean.TRUE); | |
1277 | + if(this.terceirizadoService.getPermissaoAssinaturaDocumento()) | |
1278 | + pessoa.setAssinarDocumento(Boolean.TRUE); | |
1279 | + return pessoa; | |
1270 | 1280 | } |
1271 | 1281 | } | ... | ... |