Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
114 espaco 1
package br.com.ec.domain.service.orcamento.impl;
2
 
3
import java.util.Date;
4
 
5
import org.springframework.beans.factory.annotation.Autowired;
6
import org.springframework.stereotype.Service;
7
 
8
import br.com.ec.domain.dto.FluxoDeCaixaDTO;
9
import br.com.ec.domain.model.Categoria;
10
import br.com.ec.domain.model.Orcamento;
11
import br.com.ec.domain.service.orcamento.OrcamentoService;
12
import br.com.ec.infrastructure.repository.OrcamentoRepository;
13
import br.edu.cesmac.core.generic.AbstractService;
14
import br.edu.cesmac.core.generic.GenericRepository;
15
import br.edu.cesmac.core.util.DataUtils;
16
import br.edu.cesmac.core.util.VerificadorUtil;
17
import br.edu.cesmac.core.validador.Validador;
18
 
19
@Service
20
public class OrcamentoServiceImpl extends AbstractService<Orcamento> implements OrcamentoService {
21
 
22
        private OrcamentoRepository orcamentoRepository;
23
 
24
        @Autowired
25
        public OrcamentoServiceImpl(Validador validador, OrcamentoRepository orcamentoRepository) {
26
                super(validador);
27
                this.orcamentoRepository = orcamentoRepository;
28
        }
29
 
30
        @Override
31
        protected GenericRepository<Orcamento> getRepository() {
32
                return orcamentoRepository;
33
        }
34
 
35
        @Override
36
        public Orcamento consultarOrcamento(Date dataInicial, Date dataFinal, Categoria categoria, String tipoCategoria) {
37
                return orcamentoRepository.consultarOrcamento(dataInicial, dataFinal, categoria, tipoCategoria);
38
        }
39
 
40
        @Override
41
        public Orcamento prepararGerirOrcado(FluxoDeCaixaDTO fluxo, Categoria categoriaPai, Categoria categoria) {
42
                Orcamento orcamento = null;
43
                Categoria categoriaOrcado = null;
44
                String tipoCategoria = null;
45
                if (VerificadorUtil.estaNulo(categoria.getSequencial())) {
46
                        orcamento = consultarOrcamento(fluxo.getDataInicial(), fluxo.getDataFinal(), categoriaPai, categoriaPai.getTipo());
47
                        categoriaOrcado = categoriaPai;
48
                        tipoCategoria = categoriaPai.getTipo();
49
                } else {
50
                        orcamento = consultarOrcamento(fluxo.getDataInicial(), fluxo.getDataFinal(), categoria, categoria.getTipo());
51
                        categoriaOrcado = categoria;
52
                        tipoCategoria = categoria.getTipo();
53
                }
54
                if (VerificadorUtil.estaNulo(orcamento)) {
55
                        orcamento = new Orcamento();
56
                        orcamento.setCategoria(categoriaOrcado);
57
                        orcamento.setTipoCategoria(tipoCategoria);
58
                        orcamento.setDataOrcado(DataUtils.getDataAtual());
59
                }
60
                return orcamento;
61
        }
62
 
63
        @Override
64
        public void atualizarOrcamento(Orcamento orcamento) {
65
                if (VerificadorUtil.naoEstaNulo(orcamento)) {
138 espaco 66
                        if (VerificadorUtil.estaNulo(orcamento.getCategoria()) ||
67
                                VerificadorUtil.estaNulo(orcamento.getCategoria().getSequencial())) {
114 espaco 68
                                orcamento.setCategoria(null);
69
                        }
70
                        if (VerificadorUtil.naoEstaNulo(orcamento.getSequencial())) {
71
                                alterar(orcamento);
72
                        } else {
73
                                cadastrar(orcamento);
74
                        }
75
                }
76
        }
77
 
78
}