controle.ControleContratos.java Source code

Java tutorial

Introduction

Here is the source code for controle.ControleContratos.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 controle;

import entidades.Contratos;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import utilidade.ContratosUtil;

/**
 *
 * @author amrsilva
 */
public class ControleContratos {
    private final Session Sessao = ContratosUtil.getSessionFactory().openSession();

    public void Incluir(Contratos Contrato) throws Exception {
        try {
            Sessao.getTransaction().begin();
            Sessao.persist(Contrato);
            Sessao.getTransaction().commit();
        } catch (Exception ex) {
            Sessao.getTransaction().rollback();
            throw new Exception(ex);
        }
    }

    public void Alterar(Contratos Contrato) throws Exception {
        try {
            Sessao.getTransaction().begin();
            Sessao.merge(Contrato);
            Sessao.getTransaction().commit();
        } catch (Exception ex) {
            Sessao.getTransaction().rollback();
            throw new Exception(ex);
        }
    }

    public void Excluir(Contratos Contrato) throws Exception {
        try {
            Sessao.getTransaction().begin();
            Sessao.delete(Contrato);
            Sessao.getTransaction().commit();
        } catch (Exception ex) {
            Sessao.getTransaction().rollback();
            throw new Exception(ex);
        }
    }

    public List<Contratos> ListarTodos() throws Exception {
        try {
            Query Consulta = Sessao
                    .createSQLQuery("SELECT * FROM contratosbd.contratos" + " ORDER BY agencia AND vigencia")
                    .addEntity(Contratos.class);
            return Consulta.list();
        } catch (HibernateException he) {
            throw new HibernateException(he);
        } catch (ExceptionInInitializerError ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }

    public List<Contratos> ListarComUmFiltro(String Dados, int Tipo) throws Exception {
        Query Consulta = null;
        try {
            switch (Tipo) {
            case 2:
                Consulta = Sessao.createSQLQuery("SELECT * FROM contratosbd.contratos"
                        + " WHERE contratos.Agencia = '" + Dados + "' ORDER BY agencia AND vigencia;")
                        .addEntity(Contratos.class);
                break;
            case 3:
                Consulta = Sessao.createSQLQuery("SELECT * FROM contratosbd.contratos"
                        + " WHERE contratos.Razao LIKE '%" + Dados + "%' ORDER BY agencia AND vigencia;")
                        .addEntity(Contratos.class);
                break;
            case 1:
                Consulta = Sessao.createSQLQuery("SELECT * FROM contratosbd.contratos" + " WHERE contratos.Cnpj = '"
                        + Dados + "' ORDER BY agencia AND vigencia;").addEntity(Contratos.class);
                break;
            case 0:
                Consulta = Sessao.createSQLQuery("SELECT * FROM contratosbd.contratos"
                        + " WHERE contratos.Referencia = '" + Dados + "' ORDER BY agencia AND vigencia;")
                        .addEntity(Contratos.class);
                break;
            case 4:
                Consulta = Sessao
                        .createSQLQuery("SELECT * FROM contratosbd.contratos"
                                + " WHERE contratos.vigencia BETWEEN '" + Dados.split(";")[0] + "' AND '"
                                + Dados.split(";")[1] + "' ORDER BY agencia AND vigencia;")
                        .addEntity(Contratos.class);
                break;
            case 5:
                Consulta = Sessao
                        .createSQLQuery("SELECT * FROM contratosbd.contratos"
                                + " WHERE contratos.assinatura BETWEEN '" + Dados.split(";")[0] + "' AND '"
                                + Dados.split(";")[1] + "' ORDER BY agencia AND vigencia;")
                        .addEntity(Contratos.class);
                break;
            }
            return Consulta.list();
        } catch (HibernateException he) {
            throw new HibernateException(he);
        } catch (ExceptionInInitializerError ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }

    public List<Contratos> ListarComMultiplosFiltros(String[] Dados) throws Exception {
        Query Consulta;
        String[] tempDados = Dados;
        String Ref = tempDados[0], Ide = tempDados[1], Ano = tempDados[2], Age = tempDados[3],
                Raz = "%" + tempDados[4] + "%", Obj = tempDados[5], DtI = tempDados[6], DtF = tempDados[7];
        String Op = "", Sep = "", vSQL = "";
        try {
            if (!tempDados[0].equals(""))
                Dados[0] = "con.referencia = :ref ";
            if (!tempDados[1].equals(""))
                Dados[1] = "con.identificador = :ide ";
            if (!tempDados[2].equals(""))
                Dados[2] = "con.ano = :ano ";
            if (!tempDados[3].equals(""))
                Dados[3] = "con.agencia = :age";
            if (!tempDados[4].equals(""))
                Dados[4] = "con.razao LIKE :raz";
            if (!tempDados[5].equals(""))
                Dados[5] = "con.objeto = :obj";
            if (!tempDados[6].equals("") && !Dados[7].equals("")) {
                Op = " BETWEEN ";
                tempDados[6] = ":dti AND";
                tempDados[7] = " :dtf";
            } else if (tempDados[6].equals("") && !tempDados[7].equals("")) {
                Op = " > ";
                tempDados[7] = " :dtf";
            } else if (!tempDados[6].equals("") && tempDados[7].equals("")) {
                Op = " < ";
                tempDados[6] = " :dti";
            }
            if (!Op.equals("")) {
                if (tempDados[8].equals("true")) {
                    tempDados[8] = "(con.vigencia " + Op + tempDados[6] + tempDados[7];
                    if (!tempDados[9].equals("true"))
                        tempDados[9] = tempDados[8] + " AND con.vigencia IS NOT NULL) ";
                    else
                        tempDados[9] = tempDados[8] + " OR con.vigencia IS NULL) ";
                } else if (tempDados[8].equals("false"))
                    tempDados[9] = "con.assinatura " + Op + tempDados[6] + tempDados[7];
            } else
                tempDados[9] = "";
            tempDados[6] = "";
            tempDados[7] = "";
            tempDados[8] = "";
            for (String Dado : Dados) {
                if (!Dado.equals("")) {
                    vSQL = vSQL + Sep + Dado;
                    Sep = " AND ";
                }
            }
            if (!vSQL.equals("")) {
                Consulta = Sessao.createQuery(
                        "FROM Contratos con WHERE " + vSQL + " ORDER BY con.referencia DESC, con.ano DESC");
                if (!Ref.equals(""))
                    Consulta.setParameter("ref", Ref);
                if (!Ide.equals(""))
                    Consulta.setParameter("ide", Ide);
                if (!Ano.equals(""))
                    Consulta.setParameter("ano", Ano);
                if (!Age.equals(""))
                    Consulta.setParameter("age", Age);
                if (!Raz.equals("%%"))
                    Consulta.setParameter("raz", Raz);
                if (!Obj.equals(""))
                    Consulta.setParameter("obj", Obj);
                if (!DtI.equals(""))
                    Consulta.setParameter("dti", DtI);
                if (!DtF.equals(""))
                    Consulta.setParameter("dtf", DtF);
            } else {
                Consulta = Sessao.createQuery("FROM Contratos con ORDER BY con.referencia DESC, con.ano DESC");
            }
            return Consulta.list();
        } catch (HibernateException he) {
            throw new HibernateException(he);
        } catch (ExceptionInInitializerError ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }

    public List<Contratos> ListarVencidos() throws Exception {
        Query Consulta;
        GregorianCalendar c1 = new GregorianCalendar();
        c1.setTimeInMillis(System.currentTimeMillis());
        String DataInicial = (new SimpleDateFormat("yyyy-MM-dd").format(c1.getTime()));
        c1.add(GregorianCalendar.MONTH, +3);
        String DataFinal = (new SimpleDateFormat("yyyy-MM-dd").format(c1.getTime()));
        try {
            Consulta = Sessao.createQuery("FROM Contratos con WHERE con.vigencia BETWEEN '" + DataInicial
                    + "' AND '" + DataFinal + "' ORDER BY agencia AND vigencia;");
            return Consulta.list();
        } catch (HibernateException he) {
            throw new HibernateException(he);
        } catch (ExceptionInInitializerError ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }

    public void Backup() {
        Sessao.createSQLQuery("SELECT * INTO OUTFILE 'c:\\Teste.txt'\n"
                + "  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'\n" + "  LINES TERMINATED BY '\\n'\n"
                + "  FROM contratosbd.contratos;");
    }
}