br.com.hslife.catu.dao.AtendimentoDao.java Source code

Java tutorial

Introduction

Here is the source code for br.com.hslife.catu.dao.AtendimentoDao.java

Source

/***
    
Copyright (c) 2010-2014 Hrcules S. S. Jos
    
    
    
Este arquivo  parte do programa CATU.
    
CATU  um software livre; voc pode redistribui-lo e/ou 
    
modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como 
    
publicada pela Fundao do Software Livre (FSF); na verso 2.1 da 
    
Licena.
    
    
    
Este programa  distribudo na esperana que possa ser til, 
    
mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer
    
MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU 
    
em portugus para maiores detalhes.
    
    
    
Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o 
    
nome de "LICENSE.TXT" junto com este programa, se no, acesse o site HSlife no 
    
endereco www.hslife.com.br ou escreva para a Fundao do Software Livre(FSF) Inc., 
    
51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
    
    
    
Para mais informaes sobre o programa CATU e seus autores acesse o 
    
endereo www.hslife.com.br, pelo e-mail contato@hslife.com.br ou escreva para 
    
Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, 
    
Marco II - Nova Iguau, RJ, Brasil.
    
***/

package br.com.hslife.catu.dao;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;

import br.com.hslife.catu.db.HibernateUtil;
import br.com.hslife.catu.model.Atendimento;
import br.com.hslife.catu.model.Cliente;
import br.com.hslife.catu.model.HistoricoAtendimento;
import br.com.hslife.catu.model.Status;
import br.com.hslife.catu.model.Tipo;

public class AtendimentoDao extends GenericDao implements InterfaceDao<Atendimento> {

    public static final int STATUS = 1;
    public static final int TIPO = 2;
    public static final int CLIENTE = 3;

    @Override
    public void salvar(Atendimento obj) {
        save(obj);
    }

    @Override
    public void alterar(Atendimento obj) {
        update(obj);
    }

    @Override
    public void excluir(Atendimento obj) {
        delete(obj);
    }

    public void salvarHistorico(HistoricoAtendimento obj) {
        save(obj);
    }

    @Override
    public Atendimento buscar(long id) {
        return (Atendimento) find(Atendimento.class, id);
    }

    @Override
    public Atendimento buscar(String campo, Object valor) {
        return (Atendimento) find(Atendimento.class, campo, valor);
    }

    @Override
    public List<Atendimento> listar(String campo, Object valor) {
        return (List) findAll(Atendimento.class, campo, valor);
    }

    @Override
    public List<Atendimento> listarTodos() {
        return (List) findAll(Atendimento.class);
    }

    @Override
    public List<Atendimento> procurar(String campo, Object valor) {
        return (List) search("Atendimento", campo, (String) valor);
    }

    @SuppressWarnings("rawtypes")
    public List listarTodos(int item) {
        List lista = null;
        switch (item) {
        case STATUS:
            lista = findAll(Status.class);
            break;
        case TIPO:
            lista = findAll(Tipo.class);
            break;
        case CLIENTE:
            lista = findAll(Cliente.class);
            break;
        }
        return lista;
    }

    public List listarTodos(String valor) {
        List lista = null;
        String sqlQuery = "select * from Atendimento where id = " + valor;
        lista = query(Atendimento.class, sqlQuery);
        return lista;
    }

    public List listarTodos(Date valor) {
        List lista = null;
        String sqlQuery = "select * from Atendimento where dataAbertura >= '" + (valor.getYear() + 1900) + "-"
                + (valor.getMonth() + 1) + "-" + valor.getDate() + "'";
        lista = query(Atendimento.class, sqlQuery);
        return lista;
    }

    public List listarTodos(Date valor, long status) {
        List lista = null;
        String sqlQuery = "select * from Atendimento where dataAbertura >= '" + (valor.getYear() + 1900) + "-"
                + (valor.getMonth() + 1) + "-" + valor.getDate() + "' and idStatus = " + status;
        lista = query(Atendimento.class, sqlQuery);
        return lista;
    }

    public List listarTodos(long valor) {
        List lista = null;
        String sqlQuery = "select * from Atendimento where idStatus = " + valor;
        lista = query(Atendimento.class, sqlQuery);
        return lista;
    }

    @SuppressWarnings("unchecked")
    public List<Atendimento> listaTodosPorCodigoDataAberturaEStatus(Long codAtend, Date dataAbertura,
            Status status) {
        List<Atendimento> resultado = new ArrayList<Atendimento>();
        try {
            Criteria criteria = HibernateUtil.getSession().createCriteria(Atendimento.class);
            if (codAtend != null) {
                criteria.add(Restrictions.eq("id", codAtend));
            }
            if (dataAbertura != null) {
                criteria.add(Restrictions.ge("dataAbertura", dataAbertura));
            }
            if (status != null) {
                criteria.add(Restrictions.eq("idStatus.id", status.getId()));
            }
            resultado = criteria.list();
        } catch (Exception e) {
            errorMessage = e.getMessage();
            stackTrace = e.getStackTrace().toString();
            e.printStackTrace();
        }
        return resultado;
    }

}