DAO.OrcamentoPEDao.java Source code

Java tutorial

Introduction

Here is the source code for DAO.OrcamentoPEDao.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 Entidades.Auditoria;
import Entidades.OrcamentoProdutoestoque;
import Entidades.Secao;
import Entidades.Usuario;
import Util.HibernateUtil;
import Visoes.Login;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author Murilo
 */
public class OrcamentoPEDao {

    int usu = Secao.getInstance().getUsuario();

    public Boolean InsertOrcPe(OrcamentoProdutoestoque orcProdEst) {
        Session sessao = null;
        try {
            sessao = HibernateUtil.getSessionFactory().openSession();
            Transaction t = sessao.beginTransaction();

            sessao.save(orcProdEst);
            t.commit();

            return true;

        } catch (HibernateException he) {
            he.printStackTrace();
            Login.log.info("Erro ao inserir OrcamentoProdutoEstoque: " + he);
            return false;
        } finally {
            sessao.close();
        }
    }

    public List<OrcamentoProdutoestoque> pesqOrcPE(int cod) {
        List<OrcamentoProdutoestoque> listaOPE = new ArrayList();
        try {
            Session sessao = HibernateUtil.getSessionFactory().openSession();
            sessao.beginTransaction();

            SQLQuery q = sessao.createSQLQuery(
                    "SELECT OPE.PRODUTOESTOQUE_PRODUTOS_CODIGO, OPE.PRODUTOESTOQUE_CODIGOESTOQUE,PRODUTOS.DESCRICAO,OPE.ORCAMENTO_CODIGO,OPE.QTD "
                            + "FROM ORCAMENTO_PRODUTOESTOQUE OPE "
                            + "LEFT OUTER JOIN PRODUTOS ON PRODUTOS.CODIGO = OPE.PRODUTOESTOQUE_PRODUTOS_CODIGO "
                            + "WHERE OPE.ORCAMENTO_CODIGO = " + cod);

            q.addEntity(OrcamentoProdutoestoque.class);

            List<OrcamentoProdutoestoque> resultado = q.list();

            for (OrcamentoProdutoestoque a : resultado) {
                OrcamentoProdutoestoque orcpe = (OrcamentoProdutoestoque) a;
                listaOPE.add(orcpe);
            }
            sessao.getTransaction().commit();
            return listaOPE;

        } catch (Exception e) {
            Login.log.info("Erro ao pesquisar OrcamentoProdutoEstoque(pesqOrcPE): " + e);
            return null;
        }
    }

    public Boolean updateOrcPe(OrcamentoProdutoestoque OrcProdESt) {
        Auditoria auditoria = new Auditoria();
        AuditoriaDao auditoriaDao = new AuditoriaDao();
        Usuario usu = new Usuario();
        List<OrcamentoProdutoestoque> listvelho = new ArrayList();
        List<OrcamentoProdutoestoque> listnovo = new ArrayList();
        Session sessao = null;
        try {
            //listvelho  = procuraPorCodigo(OrcProdESt.getId().getProdutoEstoqueCodigoEstoque(), OrcProdESt.getId().getProdutoEstoqueProdutosCodigo(), OrcProdESt.getId().getOrcamentoCodigo());
            sessao = HibernateUtil.getSessionFactory().openSession();
            Transaction t = sessao.beginTransaction();
            sessao.update(OrcProdESt);
            t.commit();
            //listnovo = procuraPorCodigo(OrcProdESt.getId().getProdutoEstoqueCodigoEstoque(), OrcProdESt.getId().getProdutoEstoqueProdutosCodigo(), OrcProdESt.getId().getOrcamentoCodigo());
            /*for (int i = 0; i < listnovo.size(); i++) {
            if (listnovo.get(i).getNome() != listvelho.get(i).getNome()) {
                auditoria.setValorAnterior("Campo nome: " + listvelho.get(i).getNome());
                auditoria.setValorPosterior("Campo nome: " + listnovo.get(i).getNome());
            }
            if (listnovo.get(i).getCidade()!= listvelho.get(i).getCidade()) {
                auditoria.setValorAnterior(auditoria.getValorAnterior() + " Campo cidade: " + listvelho.get(i).getCidade());
                auditoria.setValorPosterior(auditoria.getValorPosterior() + " Campo cidade " + listnovo.get(i).getCidade());
            } 
            if (listnovo.get(i).getUsuario().getCodigo() != listvelho.get(i).getUsuario().getCodigo()) {
                auditoria.setValorAnterior(auditoria.getValorAnterior() + " Campo usuario: " + listvelho.get(i).getUsuario().getCodigo());
                auditoria.setValorPosterior(auditoria.getValorPosterior() + " Campo usuario: " + listnovo.get(i).getUsuario().getCodigo());
            }  
            } */

            //auditoria.setAcao("Update filial: " + filial.getCodigo());            
            //usu.setCodigo(us);
            //auditoria.setUsuario(usu); 
            //auditoriaDao.InsertAuditoria(auditoria);

            return true;

        } catch (HibernateException he) {
            he.printStackTrace();
            Login.log.info("Erro ao update OrcamentoProdutoEstoque: " + he);
            return false;
        } finally {
            sessao.close();
        }
    }

    public List<OrcamentoProdutoestoque> procuraPorCodigo(int prod, int codest, int orc) {
        List<OrcamentoProdutoestoque> listaOrcProd = new ArrayList();

        List resultado = null;

        try {
            Session sessao = HibernateUtil.getSessionFactory().openSession();
            sessao.beginTransaction();

            org.hibernate.Query q = sessao.createQuery("from OrcamentoProdutoestoque OPE "
                    + "LEFT OUTER JOIN PRODUTOESTOQUE ON PRODUTOESTOQUE.PRODUTOS_CODIGO = OPE.PRODUTOESTOQUE_PRODUTOS_CODIGO AND "
                    + "PRODUTOESTOQUE.CODIGOESTOQUE = OPE.ORCAMENTO_CODIGO "
                    + "WHERE OPE.PRODUTOESTOQUE_PRODUTOS_CODIGO = " + prod
                    + " AND OPE.PRODUTOESTOQUE_CODIGOESTOQUE = " + codest + " AND OPE.ORCAMENTO_CODIGO = " + orc);

            resultado = q.list();

            for (Object o : resultado) {
                OrcamentoProdutoestoque orcpe = (OrcamentoProdutoestoque) o;
                listaOrcProd.add(orcpe);
            }

            return listaOrcProd;

        } catch (HibernateException he) {
            he.printStackTrace();
            Login.log.info("Erro ao pesquisar OrcamentoProdutoEstoque(procuraPorCodigo): " + he);
            return listaOrcProd;
        }
    }

    public Boolean existeNoBanco(int prod, int codest, int orc) {
        boolean existe = false;
        List<OrcamentoProdutoestoque> listaOPE = new ArrayList();
        List resultado = null;
        Session sessao = HibernateUtil.getSessionFactory().openSession();
        sessao.beginTransaction();

        org.hibernate.Query q = sessao.createQuery("from OrcamentoProdutoestoque OPE "
                + "LEFT OUTER JOIN PRODUTOESTOQUE ON PRODUTOESTOQUE.PRODUTOS_CODIGO = OPE.PRODUTOESTOQUE_PRODUTOS_CODIGO AND "
                + "PRODUTOESTOQUE.CODIGOESTOQUE = OPE.ORCAMENTO_CODIGO "
                + "WHERE OPE.PRODUTOESTOQUE_PRODUTOS_CODIGO = " + prod + " AND OPE.PRODUTOESTOQUE_CODIGOESTOQUE = "
                + codest + " AND OPE.ORCAMENTO_CODIGO = " + orc);
        resultado = q.list();

        if (resultado.size() > 0) {
            existe = true;
        } else {
            existe = false;
        }
        return existe;
    }
}