Subversion Repositories Integrator Subversion

Rev

Rev 195 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.domain.service.marca.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;
221 espaco 10
import br.com.ec.core.util.DataUtils;
195 espaco 11
import br.com.ec.core.util.VerificadorUtil;
12
import br.com.ec.core.validador.Validador;
106 espaco 13
import br.com.ec.domain.model.Marca;
14
import br.com.ec.domain.service.marca.MarcaService;
15
import br.com.ec.infrastructure.repository.MarcaRepository;
16
 
17
@Service
18
public class MarcaServiceImpl extends AbstractService<Marca> implements MarcaService {
19
 
20
        private MarcaRepository marcaRepository;
21
 
22
        @Autowired
23
        public MarcaServiceImpl(Validador validador, MarcaRepository marcaRepository) {
24
                super(validador);
25
                this.marcaRepository = marcaRepository;
26
        }
27
 
28
        @Override
29
        protected GenericRepository<Marca> getRepository() {
30
                return marcaRepository;
31
        }
32
 
33
        @Override
34
        protected void regrasNegocioCadastrar(Marca marca) {
35
                marca.setAtivo(true);
36
        }
37
 
38
        @Override
39
        public List<Marca> marcasComContagemAtiva() {
40
                return marcaRepository.marcasComContagemAtiva();
41
        }
42
 
43
        @Override
44
        public void proximoCiclo() {
45
                Integer proximoCiclo = 1;
46
                List<Marca> marcasComContagemAtivas = marcaRepository.marcasComContagemAtiva();
47
                for (Marca marca : marcasComContagemAtivas) {
48
                        if (VerificadorUtil.naoEstaNulo(marca.getCiclo())) {
49
                                proximoCiclo = marca.getCiclo() + 1;
50
                                break;
51
                        }
52
                }
53
                for (Marca marca : marcasComContagemAtivas) {
54
                        marca.setIndicadorContagemSolicitada(false);
55
                        alterar(marca);
56
                }
57
                List<Marca> marcasProximoCiclo = marcaRepository.marcasComCiclo(proximoCiclo);
58
                if (VerificadorUtil.isListaNulaOuVazia(marcasProximoCiclo)) {
59
                        marcasProximoCiclo = marcaRepository.marcasComCiclo(1);
60
                }
61
                for (Marca marca : marcasProximoCiclo) {
62
                        marca.setIndicadorContagemSolicitada(true);
221 espaco 63
                        marca.setDataContagemSolicitada(DataUtils.getDataAtual());
106 espaco 64
                        alterar(marca);
65
                }
66
        }
67
 
68
}