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 | }
|