Subversion Repositories Integrator Subversion

Rev

Rev 259 | Rev 294 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 259 Rev 282
Line 1... Line 1...
1
package br.com.ec.repository.jpa;
1
package br.com.ec.repository.jpa;
-
 
2
-
 
3
import java.util.Date;
-
 
4
import java.util.List;
-
 
5
-
 
6
import javax.persistence.TypedQuery;
2
7
3
import org.springframework.stereotype.Repository;
8
import org.springframework.stereotype.Repository;
4
9
-
 
10
import br.com.ec.core.util.StringUtil;
-
 
11
import br.com.ec.core.util.VerificadorUtil;
-
 
12
import br.com.ec.domain.dto.ParcelaDTO;
-
 
13
import br.com.ec.domain.dto.consulta.ParametrosConsultaParcelasDTO;
5
import br.com.ec.domain.model.Parcela;
14
import br.com.ec.domain.model.Parcela;
-
 
15
import br.com.ec.domain.model.tipos.TipoCartao;
6
import br.com.ec.repository.ParcelaRepository;
16
import br.com.ec.repository.ParcelaRepository;
7
import br.com.ec.repository.SistemaAbstractRepository;
17
import br.com.ec.repository.SistemaAbstractRepository;
8
18
9
@Repository
19
@Repository
10
public class ParcelaRepositoryJpaImpl extends SistemaAbstractRepository<Parcela> implements ParcelaRepository {
20
public class ParcelaRepositoryJpaImpl extends SistemaAbstractRepository<Parcela> implements ParcelaRepository {
11
21
12
        @Override
22
        @Override
13
        protected String getColunaOrdenadora() {
23
        protected String getColunaOrdenadora() {
14
                return "sequencial";
24
                return "sequencial";
15
        }
25
        }
-
 
26
       
-
 
27
        @Override
-
 
28
        public List<ParcelaDTO> consultarParcelas(ParametrosConsultaParcelasDTO parametrosConsultaParcelasDTO) {
-
 
29
                StringBuilder sql = new StringBuilder();
-
 
30
                sql.append("SELECT new br.com.ec.domain.dto.ParcelaDTO(p.sequencial, p.contaBancaria.sequencial, p.contaBancaria.descricao, p.contaBancaria.ativo, ");
-
 
31
                sql.append("p.dataPagamento, p.valor, p.observacao) FROM Parcela p ");
-
 
32
                sql.append("WHERE 1=1 ");
-
 
33
                if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getTipoBusca())) {
-
 
34
                        sql.append("AND p.conta.tipoConta = :tipoConta ");
-
 
35
                }
-
 
36
               
-
 
37
                if (parametrosConsultaParcelasDTO.getPagamentoRealizado()) {
-
 
38
                        if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataInicial()) &&
-
 
39
                                        VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataFinal())) {
-
 
40
                                sql.append("AND p.dataPagamento is not null ");
-
 
41
                                sql.append("AND p.dataPagamento >= :dataInicial AND p.dataPagamento <= :dataFinal ");
-
 
42
                        }
-
 
43
                }
-
 
44
                sql.append("ORDER BY p.dataVencimento ");
-
 
45
                try {
-
 
46
                        TypedQuery<ParcelaDTO> query = getEntityManager().createQuery(sql.toString(), ParcelaDTO.class);
-
 
47
                        if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getTipoBusca())) {
-
 
48
                                query.setParameter("tipoConta", parametrosConsultaParcelasDTO.getTipoBusca());
-
 
49
                        }
-
 
50
                        if (parametrosConsultaParcelasDTO.getPagamentoRealizado()) {
-
 
51
                                if (VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataInicial()) &&
-
 
52
                                                VerificadorUtil.naoEstaNulo(parametrosConsultaParcelasDTO.getDataFinal())) {
-
 
53
                                        query.setParameter("dataInicial", parametrosConsultaParcelasDTO.getDataInicial());
-
 
54
                                        query.setParameter("dataFinal", parametrosConsultaParcelasDTO.getDataFinal());
-
 
55
                                }
-
 
56
                        }
-
 
57
                        return query.getResultList();
-
 
58
                } catch(Exception ex) {
-
 
59
                        ex.printStackTrace();
-
 
60
                        return null;
-
 
61
                }
-
 
62
        }
-
 
63
       
-
 
64
        @Override
-
 
65
        public List<ParcelaDTO> consultarParcelasAReceber(Long sequencialContaBancaria, Date dataRecebimento, TipoCartao tipoCartao) {
-
 
66
                StringBuilder sql = new StringBuilder();
-
 
67
                sql.append("SELECT new br.com.ec.domain.dto.ParcelaDTO(p.sequencial, p.contaBancaria.sequencial, p.contaBancaria.descricao, p.contaBancaria.ativo, ");
-
 
68
                sql.append("p.dataPagamento, p.valor, p.observacao) FROM Parcela p ");
-
 
69
                sql.append("WHERE p.contaBancaria.sequencial = :sequencialContaBancaria ");
-
 
70
                sql.append("AND p.dataVencimento = :dataVencimento ");
-
 
71
                sql.append("AND p.observacao like UPPER(:observacao) ");
-
 
72
                sql.append("AND p.dataPagamento is null ");
-
 
73
                sql.append("ORDER BY p.dataVencimento ");
-
 
74
                try {
-
 
75
                        return getEntityManager().createQuery(sql.toString(), ParcelaDTO.class)
-
 
76
                                        .setParameter("sequencialContaBancaria", sequencialContaBancaria)
-
 
77
                                        .setParameter("dataVencimento", dataRecebimento)
-
 
78
                                        .setParameter("observacao", StringUtil.setarUpperCase("%" + tipoCartao.getDescricao() + "%"))
-
 
79
                                        .getResultList();
-
 
80
                } catch(Exception ex) {
-
 
81
                        ex.printStackTrace();
-
 
82
                        return null;
-
 
83
                }
-
 
84
        }
-
 
85
       
-
 
86
        @Override
-
 
87
        public List<ParcelaDTO> consultarParcelasRecebidas(Long sequencialContaBancaria, Date dataRecebimento, TipoCartao tipoCartao) {
-
 
88
                StringBuilder sql = new StringBuilder();
-
 
89
                sql.append("SELECT new br.com.ec.domain.dto.ParcelaDTO(p.sequencial, p.contaBancaria.sequencial, p.contaBancaria.descricao, p.contaBancaria.ativo, ");
-
 
90
                sql.append("p.dataPagamento, p.valor, p.observacao) FROM Parcela p ");
-
 
91
                sql.append("WHERE p.contaBancaria.sequencial = :sequencialContaBancaria ");
-
 
92
                sql.append("AND p.dataVencimento = :dataVencimento ");
-
 
93
                sql.append("AND p.observacao like UPPER(:observacao) ");
-
 
94
                sql.append("AND p.dataPagamento is not null ");
-
 
95
                sql.append("ORDER BY p.dataVencimento ");
-
 
96
                try {
-
 
97
                        return getEntityManager().createQuery(sql.toString(), ParcelaDTO.class)
-
 
98
                                        .setParameter("sequencialContaBancaria", sequencialContaBancaria)
-
 
99
                                        .setParameter("dataVencimento", dataRecebimento)
-
 
100
                                        .setParameter("observacao", StringUtil.setarUpperCase("%" + tipoCartao.getDescricao() + "%"))
-
 
101
                                        .getResultList();
-
 
102
                } catch(Exception ex) {
-
 
103
                        ex.printStackTrace();
-
 
104
                        return null;
-
 
105
                }
-
 
106
        }
-
 
107
       
16
        /*
108
        /*
17
        @Override
109
        @Override
18
        public List<Parcela> consultarParcelas(ParametrosConsultaLancamentosDTO parametrosConsulta) {
110
        public List<Parcela> consultarParcelas(ParametrosConsultaLancamentosDTO parametrosConsulta) {
19
                StringBuilder sql = new StringBuilder();
111
                StringBuilder sql = new StringBuilder();
20
                sql.append("SELECT p FROM Parcela p ");
112
                sql.append("SELECT p FROM Parcela p ");
Line 85... Line 177...
85
                sql.append("AND p.dataPagamento is null ");
177
                sql.append("AND p.dataPagamento is null ");
86
                sql.append("ORDER BY p.sequencial ");
178
                sql.append("ORDER BY p.sequencial ");
87
                try {
179
                try {
88
                        return getEntityManager().createQuery(sql.toString(), Parcela.class)
180
                        return getEntityManager().createQuery(sql.toString(), Parcela.class)
89
                                        .setParameter("sequencialConta", conta.getSequencial())
181
                                        .setParameter("sequencialConta", conta.getSequencial())
90
                                        .getResultList();
-
 
91
                } catch(Exception ex) {
-
 
92
                        ex.printStackTrace();
-
 
93
                        return null;
-
 
94
                }
-
 
95
        }
-
 
96
       
-
 
97
        @Override
-
 
98
        public List<Parcela> consultarParcelasAReceber(Date dataRecebimento, TipoCartao tipoCartao) {
-
 
99
                StringBuilder sql = new StringBuilder();
-
 
100
                sql.append("SELECT p FROM Parcela p ");
-
 
101
                sql.append("WHERE p.dataVencimento = :dataVencimento ");
-
 
102
                sql.append("AND p.observacao like UPPER(:observacao) ");
-
 
103
                sql.append("AND p.dataPagamento is null ");
-
 
104
                sql.append("ORDER BY p.dataVencimento ");
-
 
105
                try {
-
 
106
                        return getEntityManager().createQuery(sql.toString(), Parcela.class)
-
 
107
                                        .setParameter("dataVencimento", dataRecebimento)
-
 
108
                                        .setParameter("observacao", StringUtil.setarUpperCase("%" + tipoCartao.getDescricao() + "%"))
-
 
109
                                        .getResultList();
182
                                        .getResultList();
110
                } catch(Exception ex) {
183
                } catch(Exception ex) {
111
                        ex.printStackTrace();
184
                        ex.printStackTrace();
112
                        return null;
185
                        return null;
113
                }
186
                }