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,6 +4,7 @@ import javax.persistence.Entity;
4 import javax.persistence.FetchType; 4 import javax.persistence.FetchType;
5 import javax.persistence.ManyToOne; 5 import javax.persistence.ManyToOne;
6 import javax.persistence.Table; 6 import javax.persistence.Table;
  7 +import javax.persistence.Transient;
7 8
8 import org.hibernate.envers.Audited; 9 import org.hibernate.envers.Audited;
9 import org.hibernate.envers.NotAudited; 10 import org.hibernate.envers.NotAudited;
@@ -71,6 +72,9 @@ public class Colaborador extends Parceiro { @@ -71,6 +72,9 @@ public class Colaborador extends Parceiro {
71 @ManyToOne(fetch = FetchType.LAZY) 72 @ManyToOne(fetch = FetchType.LAZY)
72 @JsonView({ Views.PessoaEditView.class, Views.ColaboradorAutoCompleteView.class, Views.EstruturaOrganizacionalEditView.class }) 73 @JsonView({ Views.PessoaEditView.class, Views.ColaboradorAutoCompleteView.class, Views.EstruturaOrganizacionalEditView.class })
73 private Funcao funcao; 74 private Funcao funcao;
  75 +
  76 + @Transient
  77 + private String siglaEstruturaOrganizacional;
74 78
75 /** 79 /**
76 * Retorna o valor do atributo <code>estruturaOrganizacional</code> 80 * Retorna o valor do atributo <code>estruturaOrganizacional</code>
@@ -152,4 +156,12 @@ public class Colaborador extends Parceiro { @@ -152,4 +156,12 @@ public class Colaborador extends Parceiro {
152 this.funcao = funcao; 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,7 +75,10 @@ public class FuncaoServiceImpl extends GenericServiceImpl&lt;Funcao, Long&gt; implemen
75 75
76 private void verificaCodigoIgual(Funcao funcao){ 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 // Verifica se o codigo ja existe 82 // Verifica se o codigo ja existe
80 if (UtilObjeto.isReferencia(funcao) && UtilObjeto.isReferencia(funcao.getId())) { 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,7 +95,10 @@ public class FuncaoServiceImpl extends GenericServiceImpl&lt;Funcao, Long&gt; implemen
92 } 95 }
93 96
94 private void verificaNomeIgual(Funcao funcao){ 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 // Verifica se o nome ja existe 102 // Verifica se o nome ja existe
97 if (UtilObjeto.isReferencia(funcao) && UtilObjeto.isReferencia(funcao.getId())) { 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 +12,14 @@ import br.com.centralit.api.model.CentroResultado;
12 import br.com.centralit.api.model.Colaborador; 12 import br.com.centralit.api.model.Colaborador;
13 import br.com.centralit.api.model.Contato; 13 import br.com.centralit.api.model.Contato;
14 import br.com.centralit.api.model.Endereco; 14 import br.com.centralit.api.model.Endereco;
  15 +import br.com.centralit.api.model.EstruturaOrganizacional;
15 import br.com.centralit.api.model.Funcao; 16 import br.com.centralit.api.model.Funcao;
16 import br.com.centralit.api.model.Pessoa; 17 import br.com.centralit.api.model.Pessoa;
17 import br.com.centralit.api.model.PessoaFisica; 18 import br.com.centralit.api.model.PessoaFisica;
18 import br.com.centralit.api.model.Telefone; 19 import br.com.centralit.api.model.Telefone;
19 import br.com.centralit.api.service.CentroResultadoService; 20 import br.com.centralit.api.service.CentroResultadoService;
20 import br.com.centralit.api.service.DominioService; 21 import br.com.centralit.api.service.DominioService;
  22 +import br.com.centralit.api.service.EstruturaOrganizacionalService;
21 import br.com.centralit.api.service.FuncaoService; 23 import br.com.centralit.api.service.FuncaoService;
22 import br.com.centralit.api.service.ImportacaoDadosService; 24 import br.com.centralit.api.service.ImportacaoDadosService;
23 import br.com.centralit.api.service.OrganizacaoService; 25 import br.com.centralit.api.service.OrganizacaoService;
@@ -96,16 +98,35 @@ public class ImportacaoDadosServiceImpl implements ImportacaoDadosService { @@ -96,16 +98,35 @@ public class ImportacaoDadosServiceImpl implements ImportacaoDadosService {
96 @Autowired 98 @Autowired
97 private CentroResultadoService centroResultadoService; 99 private CentroResultadoService centroResultadoService;
98 100
  101 + @Autowired
  102 + private EstruturaOrganizacionalService estruturaOrganizacionalService;
  103 +
99 @Override 104 @Override
100 public Pessoa importaColaborador(PessoaVH pessoaVH) { 105 public Pessoa importaColaborador(PessoaVH pessoaVH) {
  106 + List<Organizacao> organizacoes = organizacaoService.findAll();
  107 +
101 try { 108 try {
102 - List<Organizacao> organizacoes = organizacaoService.findAll();  
103 -  
104 PessoaFisica pessoaFisica = this.pessoaFisicaService.findPorCPFAndOrganizacao(pessoaVH.getPessoa().getPessoaFisica().getCpf(), organizacoes.get(0).getId()); 109 PessoaFisica pessoaFisica = this.pessoaFisicaService.findPorCPFAndOrganizacao(pessoaVH.getPessoa().getPessoaFisica().getCpf(), organizacoes.get(0).getId());
105 110
106 if (UtilObjeto.isReferencia(pessoaFisica)) { 111 if (UtilObjeto.isReferencia(pessoaFisica)) {
107 return this.sincronizaColaborador(pessoaVH, pessoaFisica); 112 return this.sincronizaColaborador(pessoaVH, pessoaFisica);
108 }else{ 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 List<Dominio> dominiosTipoParceiros = new ArrayList<Dominio>(); 130 List<Dominio> dominiosTipoParceiros = new ArrayList<Dominio>();
110 dominiosTipoParceiros.add(dominioService.findByChaveAndCodigo(Dominio.TIPO_PARCEIRO, Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR)); 131 dominiosTipoParceiros.add(dominioService.findByChaveAndCodigo(Dominio.TIPO_PARCEIRO, Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR));
111 pessoaVH.setDominiosTipoParceiroSelecionados(dominiosTipoParceiros); 132 pessoaVH.setDominiosTipoParceiroSelecionados(dominiosTipoParceiros);
@@ -127,6 +148,7 @@ public class ImportacaoDadosServiceImpl implements ImportacaoDadosService { @@ -127,6 +148,7 @@ public class ImportacaoDadosServiceImpl implements ImportacaoDadosService {
127 148
128 Colaborador colaborador = pessoaVH.getColaborador(); 149 Colaborador colaborador = pessoaVH.getColaborador();
129 colaborador.setOrganizacao(organizacoes.get(0)); 150 colaborador.setOrganizacao(organizacoes.get(0));
  151 + colaborador.setEstruturaOrganizacional(unidade);
130 this.sincronizaFuncao(colaborador); 152 this.sincronizaFuncao(colaborador);
131 153
132 if (pessoa.getEnderecos() == null) { 154 if (pessoa.getEnderecos() == null) {