Commit 2d205cde66f7c5711ee714b4aa0e68be0e5d1e4b
1 parent
bfd283aa
Exists in
master
Correção da importação de usuários e colaboradores
Showing
3 changed files
with
44 additions
and
4 deletions
Show diff stats
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/model/Colaborador.java
... | ... | @@ -4,6 +4,7 @@ import javax.persistence.Entity; |
4 | 4 | import javax.persistence.FetchType; |
5 | 5 | import javax.persistence.ManyToOne; |
6 | 6 | import javax.persistence.Table; |
7 | +import javax.persistence.Transient; | |
7 | 8 | |
8 | 9 | import org.hibernate.envers.Audited; |
9 | 10 | import org.hibernate.envers.NotAudited; |
... | ... | @@ -71,6 +72,9 @@ public class Colaborador extends Parceiro { |
71 | 72 | @ManyToOne(fetch = FetchType.LAZY) |
72 | 73 | @JsonView({ Views.PessoaEditView.class, Views.ColaboradorAutoCompleteView.class, Views.EstruturaOrganizacionalEditView.class }) |
73 | 74 | private Funcao funcao; |
75 | + | |
76 | + @Transient | |
77 | + private String siglaEstruturaOrganizacional; | |
74 | 78 | |
75 | 79 | /** |
76 | 80 | * Retorna o valor do atributo <code>estruturaOrganizacional</code> |
... | ... | @@ -152,4 +156,12 @@ public class Colaborador extends Parceiro { |
152 | 156 | this.funcao = funcao; |
153 | 157 | } |
154 | 158 | |
159 | + public String getSiglaEstruturaOrganizacional() { | |
160 | + return siglaEstruturaOrganizacional; | |
161 | + } | |
162 | + | |
163 | + public void setSiglaEstruturaOrganizacional(String siglaEstruturaOrganizacional) { | |
164 | + this.siglaEstruturaOrganizacional = siglaEstruturaOrganizacional; | |
165 | + } | |
166 | + | |
155 | 167 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/FuncaoServiceImpl.java
... | ... | @@ -75,7 +75,10 @@ public class FuncaoServiceImpl extends GenericServiceImpl<Funcao, Long> implemen |
75 | 75 | |
76 | 76 | private void verificaCodigoIgual(Funcao funcao){ |
77 | 77 | |
78 | - Long idOrganizacao = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getOrganizacao().getId(); | |
78 | + Long idOrganizacao = funcao.getOrganizacao() != null ? funcao.getOrganizacao().getId() : null; | |
79 | + if (idOrganizacao == null) { | |
80 | + idOrganizacao = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getOrganizacao().getId(); | |
81 | + } | |
79 | 82 | // Verifica se o codigo ja existe |
80 | 83 | if (UtilObjeto.isReferencia(funcao) && UtilObjeto.isReferencia(funcao.getId())) { |
81 | 84 | |
... | ... | @@ -92,7 +95,10 @@ public class FuncaoServiceImpl extends GenericServiceImpl<Funcao, Long> implemen |
92 | 95 | } |
93 | 96 | |
94 | 97 | private void verificaNomeIgual(Funcao funcao){ |
95 | - Long idOrganizacao = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getOrganizacao().getId(); | |
98 | + Long idOrganizacao = funcao.getOrganizacao() != null ? funcao.getOrganizacao().getId() : null; | |
99 | + if (idOrganizacao == null) { | |
100 | + idOrganizacao = ( (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal() ).getOrganizacao().getId(); | |
101 | + } | |
96 | 102 | // Verifica se o nome ja existe |
97 | 103 | if (UtilObjeto.isReferencia(funcao) && UtilObjeto.isReferencia(funcao.getId())) { |
98 | 104 | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ImportacaoDadosServiceImpl.java
... | ... | @@ -12,12 +12,14 @@ import br.com.centralit.api.model.CentroResultado; |
12 | 12 | import br.com.centralit.api.model.Colaborador; |
13 | 13 | import br.com.centralit.api.model.Contato; |
14 | 14 | import br.com.centralit.api.model.Endereco; |
15 | +import br.com.centralit.api.model.EstruturaOrganizacional; | |
15 | 16 | import br.com.centralit.api.model.Funcao; |
16 | 17 | import br.com.centralit.api.model.Pessoa; |
17 | 18 | import br.com.centralit.api.model.PessoaFisica; |
18 | 19 | import br.com.centralit.api.model.Telefone; |
19 | 20 | import br.com.centralit.api.service.CentroResultadoService; |
20 | 21 | import br.com.centralit.api.service.DominioService; |
22 | +import br.com.centralit.api.service.EstruturaOrganizacionalService; | |
21 | 23 | import br.com.centralit.api.service.FuncaoService; |
22 | 24 | import br.com.centralit.api.service.ImportacaoDadosService; |
23 | 25 | import br.com.centralit.api.service.OrganizacaoService; |
... | ... | @@ -96,16 +98,35 @@ public class ImportacaoDadosServiceImpl implements ImportacaoDadosService { |
96 | 98 | @Autowired |
97 | 99 | private CentroResultadoService centroResultadoService; |
98 | 100 | |
101 | + @Autowired | |
102 | + private EstruturaOrganizacionalService estruturaOrganizacionalService; | |
103 | + | |
99 | 104 | @Override |
100 | 105 | public Pessoa importaColaborador(PessoaVH pessoaVH) { |
106 | + List<Organizacao> organizacoes = organizacaoService.findAll(); | |
107 | + | |
101 | 108 | try { |
102 | - List<Organizacao> organizacoes = organizacaoService.findAll(); | |
103 | - | |
104 | 109 | PessoaFisica pessoaFisica = this.pessoaFisicaService.findPorCPFAndOrganizacao(pessoaVH.getPessoa().getPessoaFisica().getCpf(), organizacoes.get(0).getId()); |
105 | 110 | |
106 | 111 | if (UtilObjeto.isReferencia(pessoaFisica)) { |
107 | 112 | return this.sincronizaColaborador(pessoaVH, pessoaFisica); |
108 | 113 | }else{ |
114 | + EstruturaOrganizacional unidade = null; | |
115 | + List<EstruturaOrganizacional> estruturasOrganizacionais = estruturaOrganizacionalService.findAll(); | |
116 | + | |
117 | + if (estruturasOrganizacionais != null && estruturasOrganizacionais.size() > 0) { | |
118 | + if (!UtilString.isNullOrEmpty(pessoaVH.getColaborador().getSiglaEstruturaOrganizacional())) { | |
119 | + for (EstruturaOrganizacional estruturaOrganizacional : estruturasOrganizacionais) { | |
120 | + if (estruturaOrganizacional.getSigla().equalsIgnoreCase(pessoaVH.getColaborador().getSiglaEstruturaOrganizacional())) { | |
121 | + unidade = estruturaOrganizacional; | |
122 | + break; | |
123 | + } | |
124 | + } | |
125 | + }else{ | |
126 | + unidade = estruturasOrganizacionais.get(0); | |
127 | + } | |
128 | + } | |
129 | + | |
109 | 130 | List<Dominio> dominiosTipoParceiros = new ArrayList<Dominio>(); |
110 | 131 | dominiosTipoParceiros.add(dominioService.findByChaveAndCodigo(Dominio.TIPO_PARCEIRO, Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR)); |
111 | 132 | pessoaVH.setDominiosTipoParceiroSelecionados(dominiosTipoParceiros); |
... | ... | @@ -127,6 +148,7 @@ public class ImportacaoDadosServiceImpl implements ImportacaoDadosService { |
127 | 148 | |
128 | 149 | Colaborador colaborador = pessoaVH.getColaborador(); |
129 | 150 | colaborador.setOrganizacao(organizacoes.get(0)); |
151 | + colaborador.setEstruturaOrganizacional(unidade); | |
130 | 152 | this.sincronizaFuncao(colaborador); |
131 | 153 | |
132 | 154 | if (pessoa.getEnderecos() == null) { | ... | ... |