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) { | ... | ... |