Subversion Repositories Integrator Subversion

Rev

Rev 259 | Rev 325 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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