Rev 305 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 106 | espaco | 1 | package br.com.ec.domain.service.perfil.impl; |
| 2 | |||
| 3 | import java.util.List; |
||
| 4 | |||
| 5 | import org.springframework.beans.factory.annotation.Autowired; |
||
| 6 | import org.springframework.stereotype.Service; |
||
| 7 | |||
| 195 | espaco | 8 | import br.com.ec.core.generic.AbstractService; |
| 9 | import br.com.ec.core.generic.GenericRepository; |
||
| 10 | import br.com.ec.core.validador.Validador; |
||
| 106 | espaco | 11 | import br.com.ec.domain.model.Perfil; |
| 12 | import br.com.ec.domain.model.Usuario; |
||
| 13 | import br.com.ec.domain.model.UsuarioPerfil; |
||
| 14 | import br.com.ec.domain.service.perfil.PerfilService; |
||
| 15 | import br.com.ec.domain.shared.ConstantesSEC; |
||
| 16 | import br.com.ec.infrastructure.repository.PerfilRepository; |
||
| 17 | |||
| 18 | @Service |
||
| 19 | public class PerfilServiceImpl extends AbstractService<Perfil> implements PerfilService { |
||
| 20 | |||
| 21 | private final PerfilRepository perfilRepository; |
||
| 22 | |||
| 23 | @Autowired |
||
| 24 | public PerfilServiceImpl(PerfilRepository perfilRepository, Validador validador) { |
||
| 25 | super(validador); |
||
| 26 | this.perfilRepository = perfilRepository; |
||
| 27 | } |
||
| 28 | |||
| 29 | @Override |
||
| 30 | protected GenericRepository<Perfil> getRepository() { |
||
| 31 | return this.perfilRepository; |
||
| 32 | } |
||
| 33 | |||
| 34 | /***************************************************************/ |
||
| 35 | |||
| 36 | @Override |
||
| 37 | public List<Perfil> consultarPerfisComSetoresAtivos() { |
||
| 38 | return perfilRepository.consultarPerfisComSetoresAtivos(); |
||
| 39 | } |
||
| 40 | |||
| 41 | @Override |
||
| 42 | public Boolean temPerfilAdministrador(Usuario usuario) { |
||
| 43 | return verificarPerfil(usuario, ConstantesSEC.PERFIL_ADMINISTRADOR_1); |
||
| 44 | } |
||
| 45 | |||
| 46 | @Override |
||
| 305 | espaco | 47 | public Boolean temPerfilFinanceiro(Usuario usuario) { |
| 48 | return temPerfilAdministrador(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_FINANCEIRO_2); |
||
| 106 | espaco | 49 | } |
| 50 | |||
| 51 | /********************/ |
||
| 52 | |||
| 53 | @Override |
||
| 54 | public Boolean temPerfilGerenteAdministrativo(Usuario usuario) { |
||
| 55 | return temPerfilAdministrador(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_GERENTE_ADMINISTRATIVO_3); |
||
| 56 | } |
||
| 57 | |||
| 58 | @Override |
||
| 550 | blopes | 59 | public Boolean temPerfilGerenteComercial(Usuario usuario) { |
| 60 | return temPerfilAdministrador(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_GERENTE_COMERCIAL); |
||
| 61 | } |
||
| 62 | |||
| 63 | @Override |
||
| 305 | espaco | 64 | public Boolean temPerfilComercial(Usuario usuario) { |
| 65 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_COMERCIAL_6); |
||
| 106 | espaco | 66 | } |
| 67 | |||
| 68 | @Override |
||
| 305 | espaco | 69 | public Boolean temPerfilLojistica(Usuario usuario) { |
| 70 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_LOJISTICA_4); |
||
| 106 | espaco | 71 | } |
| 72 | |||
| 73 | @Override |
||
| 74 | public Boolean temPerfilVendedor(Usuario usuario) { |
||
| 305 | espaco | 75 | return temPerfilComercial(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_VENDEDOR_5); |
| 106 | espaco | 76 | } |
| 77 | |||
| 78 | @Override |
||
| 79 | public Boolean temPerfilLoja(Usuario usuario) { |
||
| 80 | return temPerfilVendedor(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_LOJA_9); |
||
| 81 | } |
||
| 82 | |||
| 83 | @Override |
||
| 305 | espaco | 84 | public Boolean temPerfilCompras(Usuario usuario) { |
| 85 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_COMPRAS_7); |
||
| 106 | espaco | 86 | } |
| 87 | |||
| 88 | @Override |
||
| 89 | public Boolean temPerfilGerenteVivo(Usuario usuario) { |
||
| 90 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_GERENTE_VIVO_8); |
||
| 91 | } |
||
| 92 | |||
| 93 | @Override |
||
| 94 | public Boolean temPerfilTecnico(Usuario usuario) { |
||
| 95 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_TECNICO_10); |
||
| 96 | } |
||
| 97 | |||
| 98 | @Override |
||
| 99 | public Boolean temPerfilRecursosHumanos(Usuario usuario) { |
||
| 100 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_RECURSOS_HUMANOS_11); |
||
| 101 | } |
||
| 102 | |||
| 103 | @Override |
||
| 305 | espaco | 104 | public Boolean temPerfilOperacoes(Usuario usuario) { |
| 106 | espaco | 105 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_OPERACOES_12); |
| 106 | } |
||
| 107 | |||
| 108 | @Override |
||
| 305 | espaco | 109 | public Boolean temPerfilProducao(Usuario usuario) { |
| 110 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_PRODUCAO_15); |
||
| 111 | } |
||
| 112 | |||
| 113 | @Override |
||
| 106 | espaco | 114 | public Boolean temPerfilSupervisor(Usuario usuario) { |
| 115 | return temPerfilGerenteAdministrativo(usuario) || verificarPerfil(usuario, ConstantesSEC.PERFIL_SUPERVISOR_13); |
||
| 116 | } |
||
| 117 | |||
| 118 | @Override |
||
| 119 | public Boolean temPerfilTreinamento(Usuario usuario) { |
||
| 120 | return verificarPerfil(usuario, ConstantesSEC.PERFIL_TREINAMENTO_14); |
||
| 121 | } |
||
| 122 | |||
| 123 | private Boolean verificarPerfil(Usuario usuario, Long sequencialPerfil) { |
||
| 124 | for (UsuarioPerfil usuarioPerfil : usuario.getPerfis()) { |
||
| 125 | if (usuarioPerfil.getPerfil().getCodigo().equals(sequencialPerfil)) { |
||
| 126 | return true; |
||
| 127 | } |
||
| 128 | } |
||
| 129 | return false; |
||
| 130 | } |
||
| 131 | |||
| 132 | } |