DAO.PedidosDAO.java Source code

Java tutorial

Introduction

Here is the source code for DAO.PedidosDAO.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Mapeamento.Pedidos;
import java.util.Date;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author ibarbosa
 */
public class PedidosDAO implements PedidosDAOListener {
    private Session sessao;

    @Override
    public void setSessao(Session sessao) {
        this.sessao = sessao;
    }

    @Override
    public void salvar(Pedidos al) {
        this.sessao.save(al);
    }

    @Override
    public void alterar(Pedidos al) {
        this.sessao.update(al);
    }

    @Override
    public void excluir(Pedidos al) {
        this.sessao.delete(al);
    }

    @Override
    public List<Pedidos> listarSemFiltro() {
        return this.sessao.createCriteria(Pedidos.class).list();
    }

    @Override
    public Pedidos consultar(int ID) {
        return (Pedidos) this.sessao.get(Pedidos.class, ID);
    }

    @Override
    public Pedidos consultarListaID(int id, int tipo) {
        String hql = "select t from Pedidos t where t.idPedido like :nomeA and t.tipo = :tipo";
        Query consulta = this.sessao.createQuery(hql);
        consulta.setInteger("nomeA", id);
        consulta.setInteger("tipo", tipo);
        return (Pedidos) consulta.uniqueResult();
    }

    @Override
    public List<Pedidos> listarComFiltro(int id) {
        String hql = "select t from Pedidos t where t.tipo like :nomeA";
        Query consulta = this.sessao.createQuery(hql);
        consulta.setInteger("nomeA", id);
        return (List<Pedidos>) consulta.list();
    }

    @Override
    public List<Pedidos> listarComFiltroEData(int id, Date data) {
        String hql = "select t from Pedidos t where t.tipo like :nomeA and t.data = :data";
        Query consulta = this.sessao.createQuery(hql);
        consulta.setInteger("nomeA", id);
        consulta.setDate("data", data);
        return (List<Pedidos>) consulta.list();
    }

    @Override
    public double listarPorMs(String ano, String mes, String dia) {
        String retorno = "('" + ano + "-" + mes + "-" + dia + "')";
        String hql = "select SUM(t.total) from Pedidos t where t.data between " + retorno + " and ('" + ano + "-"
                + mes + "-31') and t.tipo like 1";
        Query consulta = this.sessao.createQuery(hql);
        return (double) consulta.uniqueResult();
    }

    @Override
    public double listarPorAno(String ano) {
        String hql = "select SUM(t.total) from Pedidos t where t.data between ('" + ano + "-01-01') and ('" + ano
                + "-12-31') and t.tipo like 1";
        Query consulta = this.sessao.createQuery(hql);
        return (double) consulta.uniqueResult();
    }

    @Override
    public double listarPorMsTotal(String ano, String mes) {
        String hql = "select SUM(t.total) from Pedidos t where t.data between ('" + ano + "-" + mes + "-01') and ('"
                + ano + "-" + mes + "-31') and t.tipo like 1";
        Query consulta = this.sessao.createQuery(hql);
        if (consulta.uniqueResult() == null) {
            return 0;
        } else {
            return (double) consulta.uniqueResult();
        }
    }

    @Override
    public double listarPorMsAV(String ano, String mes) {
        String hql = "select SUM(t.total) from Pedidos t where t.data between ('" + ano + "-" + mes + "-01') and ('"
                + ano + "-" + mes + "-31') and t.tipo like 1 and t.formaPagamento = 1";
        Query consulta = this.sessao.createQuery(hql);
        if (consulta.uniqueResult() == null) {
            return 0;
        } else {
            return (double) consulta.uniqueResult();
        }
    }

    @Override
    public double listarPorMsAP(String ano, String mes) {
        String hql = "select SUM(t.total) from Pedidos t where t.data between ('" + ano + "-" + mes + "-01') and ('"
                + ano + "-" + mes + "-31') and t.tipo like 1 and t.formaPagamento = 2";
        Query consulta = this.sessao.createQuery(hql);
        if (consulta.uniqueResult() == null) {
            return 0;
        } else {
            return (double) consulta.uniqueResult();
        }
    }

    @Override
    public double listarPorDia(String ano, String mes, String dia) {
        String retorno = "('" + ano + "-" + mes + "-" + dia + " 00:00:00')";
        String retornoFim = "('" + ano + "-" + mes + "-" + dia + " 23:59:59')";
        String hql = "select SUM(t.total) from Pedidos t where t.data between " + retorno + " and " + retornoFim
                + " and t.tipo like 1";
        Query consulta = this.sessao.createQuery(hql);
        if (consulta.uniqueResult() == null) {
            return 0;
        } else {
            return (double) consulta.uniqueResult();
        }
    }

    @Override
    public double listarPorDiaAP(String ano, String mes, String dia) {
        String retorno = "('" + ano + "-" + mes + "-" + dia + " 00:00:00')";
        String retornoFim = "('" + ano + "-" + mes + "-" + dia + " 23:59:59')";
        String hql = "select SUM(t.total) from Pedidos t where t.data between " + retorno + " and " + retornoFim
                + " and t.tipo like 1 and t.formaPagamento = 2";
        Query consulta = this.sessao.createQuery(hql);
        if (consulta.uniqueResult() == null) {
            return 0;
        } else {
            return (double) consulta.uniqueResult();
        }
    }

    @Override
    public double listarPorDiaAV(String ano, String mes, String dia) {
        String retorno = "('" + ano + "-" + mes + "-" + dia + " 00:00:00')";
        String retornoFim = "('" + ano + "-" + mes + "-" + dia + " 23:59:59')";
        String hql = "select SUM(t.total) from Pedidos t where t.data between " + retorno + " and " + retornoFim
                + " and t.tipo like 1 and t.formaPagamento = 1";
        Query consulta = this.sessao.createQuery(hql);
        if (consulta.uniqueResult() == null) {
            return 0;
        } else {
            return (double) consulta.uniqueResult();
        }
    }

    @Override
    public Pedidos buscarData(Date data) {
        String hql = "select t from Pedidos t where t.data = :matA";
        Query consulta = this.sessao.createQuery(hql);
        consulta.setDate("matA", data);
        return (Pedidos) consulta.uniqueResult();
    }

    @Override
    public List<Pedidos> obterTodos() {
        return this.sessao.createCriteria(Pedidos.class).list();
    }

}