Commit 2d205cde66f7c5711ee714b4aa0e68be0e5d1e4b

Authored by Carlos Alberto
1 parent bfd283aa
Exists in master

Correção da importação de usuários e colaboradores

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&lt;Funcao, Long&gt; 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&lt;Funcao, Long&gt; 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) {
... ...