Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.ec.repository.jpa;

import org.springframework.stereotype.Repository;

import br.com.ec.domain.model.Conta;
import br.com.ec.repository.ContaRepository;
import br.com.ec.repository.SistemaAbstractRepository;

@Repository
public class ContaRepositoryJpaImpl extends SistemaAbstractRepository<Conta> implements ContaRepository {

        @Override
        protected String getColunaOrdenadora() {
                return "sequencial";
        }
       
        /*
        @Override
        protected void setarStringParametrosConsultar(StringBuilder sql, Conta conta) {
                if (VerificadorUtil.naoEstaNulo(conta)) {
                        if (VerificadorUtil.naoEstaNuloOuVazio(conta.getSequencialDaVenda())) {
                                sql.append("AND e.venda.sequencial = :sequencialVenda ");
                        }
                        if (VerificadorUtil.naoEstaNuloOuVazio(conta.getIndicadorAtivo())) {
                                sql.append("AND e.indicadorAtivo = :indicadorAtivo ");
                        }
                }
        }
       
        @Override
        protected void setarQueryParametrosConsultar(Query query, Conta conta) {
                if (VerificadorUtil.naoEstaNulo(conta)) {
                        if (VerificadorUtil.naoEstaNuloOuVazio(conta.getSequencialDaVenda())) {
                                query.setParameter("sequencialVenda", conta.getSequencialDaVenda());
                        }
                        if (VerificadorUtil.naoEstaNuloOuVazio(conta.getIndicadorAtivo())) {
                                query.setParameter("indicadorAtivo", conta.getIndicadorAtivo());
                        }
                }
        }
       
        @Override
        public Conta consultarContaAReceber(VendaFormaPagamento vendaFormaPagamento) {
                StringBuilder sql = new StringBuilder();
                sql.append("SELECT c FROM Conta c ");
                sql.append("WHERE c.venda.sequencial = :sequencialVenda ");
                try {
                        return getEntityManager().createQuery(sql.toString(),Conta.class)
                                                .setParameter("sequencialVenda", vendaFormaPagamento.getSequencialDaVenda())
                                                .getSingleResult();
                } catch(NoResultException ex) {
                        return null;
                } catch(Exception ex) {
                        ex.printStackTrace();
                        return null;
                }
        }
       
        @Override
        @Deprecated
        public List<Conta> consultarContasAReceber(Venda venda) {
                StringBuilder sql = new StringBuilder();
                sql.append("SELECT c FROM Conta c ");
                sql.append("WHERE c.venda.sequencial = :sequencialVenda ORDER BY c.sequencial");
                try {
                        return getEntityManager().createQuery(sql.toString(),Conta.class).setParameter("sequencialVenda", venda.getSequencial()).getResultList();
                } catch(NoResultException ex) {
                        return null;
                } catch(Exception ex) {
                        ex.printStackTrace();
                        return null;
                }
        }
       
        @Override
        public List<Conta> consultarContasAReceberPorPeriodo(Date dataInicial, Date dataFinal) {
                StringBuilder sql = new StringBuilder();
                sql.append("SELECT c FROM Conta c ");
                sql.append("WHERE c.venda.dataVenda >= :dataInicial AND c.venda.dataVenda <= :dataFinal ");
                sql.append("ORDER BY c.sequencial");
                try {
                        return getEntityManager().createQuery(sql.toString(),Conta.class)
                                                .setParameter("dataInicial", DataUtils.getDataComHorarioMinimo(dataInicial))
                                                .setParameter("dataFinal", DataUtils.getDataComHorarioMaximo(dataFinal))
                                                .getResultList();
                } catch(NoResultException ex) {
                        return null;
                } catch(Exception ex) {
                        ex.printStackTrace();
                        return null;
                }
        }
        */

}