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,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<Funcao, Long> implemen | @@ -75,7 +75,10 @@ public class FuncaoServiceImpl extends GenericServiceImpl<Funcao, Long> 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<Funcao, Long> implemen | @@ -92,7 +95,10 @@ public class FuncaoServiceImpl extends GenericServiceImpl<Funcao, Long> 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) { |