Subversion Repositories Integrator Subversion

Rev

Rev 325 | Rev 452 | 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
        /***************************************************************/
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
319 espaco 62
        public Boolean temPerfilComercial(List<UsuarioPerfilDTO> perfis) {
63
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_COMERCIAL_6);
227 espaco 64
        }
65
 
66
        @Override
319 espaco 67
        public Boolean temPerfilLojistica(List<UsuarioPerfilDTO> perfis) {
68
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_LOJISTICA_4);
227 espaco 69
        }
70
 
71
        @Override
72
        public Boolean temPerfilVendedor(List<UsuarioPerfilDTO> perfis) {
73
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_VENDEDOR_5);
74
        }
75
 
76
        @Override
77
        public Boolean temPerfilLoja(List<UsuarioPerfilDTO> perfis) {
78
                return temPerfilVendedor(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_LOJA_9);
79
        }
80
 
81
        @Override
319 espaco 82
        public Boolean temPerfilCompras(List<UsuarioPerfilDTO> perfis) {
83
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_COMPRAS_7);
227 espaco 84
        }
85
 
86
        @Override
87
        public Boolean temPerfilGerenteVivo(List<UsuarioPerfilDTO> perfis) {
88
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_GERENTE_VIVO_8);
89
        }
90
 
91
        @Override
92
        public Boolean temPerfilTecnico(List<UsuarioPerfilDTO> perfis) {
93
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_TECNICO_10);
94
        }
95
 
96
        @Override
97
        public Boolean temPerfilRecursosHumanos(List<UsuarioPerfilDTO> perfis) {
98
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_RECURSOS_HUMANOS_11);
99
        }
100
 
101
        @Override
319 espaco 102
        public Boolean temPerfilOperacoes(List<UsuarioPerfilDTO> perfis) {
227 espaco 103
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_OPERACOES_12);
104
        }
105
 
106
        @Override
107
        public Boolean temPerfilSupervisor(List<UsuarioPerfilDTO> perfis) {
108
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_SUPERVISOR_13);
109
        }
110
 
111
        @Override
112
        public Boolean temPerfilTreinamento(List<UsuarioPerfilDTO> perfis) {
113
                return verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_TREINAMENTO_14);
114
        }
115
 
450 blopes 116
        @Override
117
        public Boolean temPerfilAuditor(List<UsuarioPerfilDTO> perfis) {
118
                return temPerfilGerenteAdministrativo(perfis) || verificarPerfil(perfis, ConstantesSEC.Perfil.PERFIL_AUDITOR_15);
119
        }
120
 
227 espaco 121
        private Boolean verificarPerfil(List<UsuarioPerfilDTO> perfis, Long sequencialPerfil) {
122
                for (UsuarioPerfilDTO perfil : perfis) {
123
                        if (perfil.getCodigoPerfil().equals(sequencialPerfil)) {
124
                                return true;
125
                        }
126
                }
127
                return false;
128
        }
325 espaco 129
 
227 espaco 130
}