Subversion Repositories Integrator Subversion

Rev

Rev 548 | 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
        /***************************************************************/
325 espaco 34
 
227 espaco 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
319 espaco 50
        public Boolean temPerfilFinanceiro(List<UsuarioPerfilDTO> perfis) {
51
                return temPerfilAdministrador(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_FINANCEIRO_2);
227 espaco 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
549 blopes 62
        public Boolean temPerfilGerenteComercial(List<UsuarioPerfilDTO> perfis) {
63
                return temPerfilAdministrador(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_GERENTE_COMERCIAL_17);
64
        }
65
 
66
        @Override
319 espaco 67
        public Boolean temPerfilComercial(List<UsuarioPerfilDTO> perfis) {
68
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_COMERCIAL_6);
227 espaco 69
        }
70
 
71
        @Override
319 espaco 72
        public Boolean temPerfilLojistica(List<UsuarioPerfilDTO> perfis) {
73
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_LOJISTICA_4);
227 espaco 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
319 espaco 87
        public Boolean temPerfilCompras(List<UsuarioPerfilDTO> perfis) {
88
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_COMPRAS_7);
227 espaco 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
319 espaco 107
        public Boolean temPerfilOperacoes(List<UsuarioPerfilDTO> perfis) {
227 espaco 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
 
450 blopes 121
        @Override
122
        public Boolean temPerfilAuditor(List<UsuarioPerfilDTO> perfis) {
548 blopes 123
                return verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_AUDITOR_16);
450 blopes 124
        }
125
 
227 espaco 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
        }
325 espaco 134
 
227 espaco 135
}