Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
744 blopes 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;
12
import br.com.ec.domain.model.Perfil;
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
        /*
36
        @Override
37
        public List<Perfil> consultarPerfisComSetoresAtivos() {
38
                return perfilRepository.consultarPerfisComSetoresAtivos();
39
        }
40
        */
41
 
42
        /***************************************************************/
43
 
44
        @Override
45
        public Boolean temPerfilAdministrador(List<UsuarioPerfilDTO> perfis) {
46
                return verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_ADMINISTRADOR_1);
47
        }
48
 
49
        @Override
50
        public Boolean temPerfilFinanceiro(List<UsuarioPerfilDTO> perfis) {
51
                return temPerfilAdministrador(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_FINANCEIRO_2);
52
        }
53
 
54
        /********************/
55
 
56
        @Override
57
        public Boolean temPerfilGerenteAdministrativo(List<UsuarioPerfilDTO> perfis) {
58
                return temPerfilAdministrador(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_GERENTE_ADMINISTRATIVO_3);
59
        }
60
 
61
        @Override
62
        public Boolean temPerfilGerenteComercial(List<UsuarioPerfilDTO> perfis) {
63
                return temPerfilAdministrador(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_GERENTE_COMERCIAL_17);
64
        }
65
 
66
        @Override
67
        public Boolean temPerfilComercial(List<UsuarioPerfilDTO> perfis) {
68
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_COMERCIAL_6);
69
        }
70
 
71
        @Override
72
        public Boolean temPerfilLojistica(List<UsuarioPerfilDTO> perfis) {
73
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_LOJISTICA_4);
74
        }
75
 
76
        @Override
77
        public Boolean temPerfilVendedor(List<UsuarioPerfilDTO> perfis) {
78
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_VENDEDOR_5);
79
        }
80
 
81
        @Override
82
        public Boolean temPerfilLoja(List<UsuarioPerfilDTO> perfis) {
83
                return temPerfilVendedor(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_LOJA_9);
84
        }
85
 
86
        @Override
87
        public Boolean temPerfilCompras(List<UsuarioPerfilDTO> perfis) {
88
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_COMPRAS_7);
89
        }
90
 
91
        @Override
92
        public Boolean temPerfilGerenteVivo(List<UsuarioPerfilDTO> perfis) {
93
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_GERENTE_VIVO_8);
94
        }
95
 
96
        @Override
97
        public Boolean temPerfilTecnico(List<UsuarioPerfilDTO> perfis) {
98
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_TECNICO_10);
99
        }
100
 
101
        @Override
102
        public Boolean temPerfilRecursosHumanos(List<UsuarioPerfilDTO> perfis) {
103
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_RECURSOS_HUMANOS_11);
104
        }
105
 
106
        @Override
107
        public Boolean temPerfilOperacoes(List<UsuarioPerfilDTO> perfis) {
108
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_OPERACOES_12);
109
        }
110
 
111
        @Override
112
        public Boolean temPerfilSupervisor(List<UsuarioPerfilDTO> perfis) {
113
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_SUPERVISOR_13);
114
        }
115
 
116
        @Override
117
        public Boolean temPerfilTreinamento(List<UsuarioPerfilDTO> perfis) {
118
                return verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_TREINAMENTO_14);
119
        }
120
 
121
        @Override
122
        public Boolean temPerfilAuditor(List<UsuarioPerfilDTO> perfis) {
123
                return verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_AUDITOR_16);
124
        }
125
 
126
        private Boolean verificarPerfil(List<UsuarioPerfilDTO> perfis, Long sequencialPerfil) {
127
                for (UsuarioPerfilDTO perfil : perfis) {
128
                        if (perfil.getCodigoPerfil().equals(sequencialPerfil)) {
129
                                return true;
130
                        }
131
                }
132
                return false;
133
        }
134
 
135
}