br.os.rh.lotacaodiscplinas.LotacaoDisciplinaDAO.java Source code

Java tutorial

Introduction

Here is the source code for br.os.rh.lotacaodiscplinas.LotacaoDisciplinaDAO.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 br.os.rh.lotacaodiscplinas;

import br.os.rh.disciplina.Disciplina;
import br.os.rh.disciplina.DisciplinaDAO;
import br.os.rh.lotacao.Lotacao;
import br.os.rh.salario.Salario;
import br.os.rh.util.Ativo;
import br.os.rh.util.GenericDAO;
import br.os.rh.util.HibernateUtil;
import java.util.List;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author 'Pedro
 */
public class LotacaoDisciplinaDAO extends GenericDAO<LotacaoDisciplina> {

    public LotacaoDisciplinaDAO() {
        super(LotacaoDisciplina.class);
    }

    public void salvar(LotacaoDisciplina salDisc) {
        if (salDisc.getId() == 0) {
            adicionar(salDisc);
        } else {
            atualizar(salDisc);
        }
    }

    public LotacaoDisciplina pesquisaId(Integer id) {
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());

        LotacaoDisciplina disciplina = (LotacaoDisciplina) getSessao().createCriteria(LotacaoDisciplina.class)
                .add(Restrictions.eq("id", id)).uniqueResult();

        getSessao().close();
        return disciplina;
    }

    public List<LotacaoDisciplina> pesquisaSalario(Salario salario) {
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());

        List<LotacaoDisciplina> disciplinas = (List<LotacaoDisciplina>) getSessao()
                .createCriteria(LotacaoDisciplina.class).add(Restrictions.eq("salario", salario)).list();

        getSessao().close();
        return disciplinas;
    }

    public List<LotacaoDisciplina> pesquisaLotacao(Lotacao lotacao) {
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());

        List<LotacaoDisciplina> disciplinas = (List<LotacaoDisciplina>) getSessao()
                .createCriteria(LotacaoDisciplina.class).add(Restrictions.eq("lotacao", lotacao)).list();

        getSessao().close();
        return disciplinas;
    }

    public List<LotacaoDisciplina> pesquisaPorCurso() {
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());

        DisciplinaDAO dDAO = new DisciplinaDAO();
        List<Disciplina> disciplinas = dDAO.listarPorCurso();

        List<LotacaoDisciplina> sDisciplinas = (List<LotacaoDisciplina>) getSessao()
                .createCriteria(LotacaoDisciplina.class).add(Restrictions.in("disciplina", disciplinas)).list();

        getSessao().close();
        return sDisciplinas;
    }

    public List<LotacaoDisciplina> pesquisaPeriodo() {
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());
        List<Lotacao> lotacoes = (List<Lotacao>) getSessao().createCriteria(Lotacao.class)
                .add(Restrictions.eq("periodo", Ativo.getPeriodo())).list();

        List<LotacaoDisciplina> lotDisc = (List<LotacaoDisciplina>) getSessao()
                .createCriteria(LotacaoDisciplina.class).add(Restrictions.in("lotacao", lotacoes)).list();
        getSessao().close();
        return lotDisc;
    }

}