co.com.siscomputo.administracion.logic.TiposDocumentalesLogic.java Source code

Java tutorial

Introduction

Here is the source code for co.com.siscomputo.administracion.logic.TiposDocumentalesLogic.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 co.com.siscomputo.administracion.logic;

import co.com.siscomputo.administracion.entites.ObjetoRetornaEntity;
import co.com.siscomputo.administracion.persistencia.TiposDocumentalesEntity;
import co.com.siscomputo.conexion.HibernateUtil;
import java.util.ArrayList;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author LENOVO
 */
public class TiposDocumentalesLogic {
    private Session sesion;//Variable de la sesin y conexin de la base de datos

    private Transaction tx;//Variable que almacena las consultas y las transacciones de la base de datos

    /**
     * Metodo que establece la conexin a la base de datos, previa validacin de
     * que la sesin no exista o este nula
     *
     * @throws HibernateException
     */
    private String initOperation() {
        String retorno;
        try {
            if (sesion == null) {
                sesion = HibernateUtil.getSessionFactory().openSession();
                tx = sesion.beginTransaction();
            }
            retorno = "Ok";
        } catch (Error e) {
            retorno = "Error Conexin Hibernate " + e;
        }
        return retorno;
    }

    /**
     * Mtodo para ingresar un TipoDocumental
     * @param tiposd
     * @return 
     */
    public TiposDocumentalesEntity ingresaTipoDocuemtal(TiposDocumentalesEntity tiposd) {
        try {
            String validaConexion = initOperation();
            if (!"Ok".equalsIgnoreCase(validaConexion)) {
                tiposd.setNumeroRespuesta(3);
                tiposd.setTrazaRespuesta("Error de Conexin " + validaConexion);
            } else {
                tiposd.setIdTipoDocumental(maxTiposDocuemntales());
                sesion.save(tiposd);
                tx.commit();

                tiposd.setTrazaRespuesta("Insercin de Tipos Documentales Exitosa");
                tiposd.setNumeroRespuesta(19);
            }
        } catch (Exception e) {
            e.printStackTrace();
            tiposd = new TiposDocumentalesEntity();
            tiposd.setNumeroRespuesta(0);
            tiposd.setTrazaRespuesta(e.getMessage());
        } finally {
            try {
                sesion.close();

            } catch (HibernateException hibernateException) {
                hibernateException.printStackTrace();
            }
        }
        return tiposd;
    }

    /**
     * Mtodo que retorna el siguiente ID de la tabla Tipos Documentales
     * @return 
     */
    private int maxTiposDocuemntales() {
        int ret = -1;
        try {
            String validaConexion = initOperation();
            if (!"Ok".equalsIgnoreCase(validaConexion)) {

            } else {
                Query query = sesion.createQuery("SELECT MAX(idTipoDocumental) FROM TiposDocumentalesEntity");
                ret = (int) query.uniqueResult();
                ret++;
            }
        } catch (Exception e) {
            ret = 1;
        }
        return ret;
    }

    /**
     * Mtodo para actualizar un Tipo Docuemtal
     * @param tipod
     * @return 
     */
    public TiposDocumentalesEntity actualizaTipoDocuemtal(TiposDocumentalesEntity tipod) {
        try {
            String validaConexion = initOperation();
            if (!"Ok".equalsIgnoreCase(validaConexion)) {
                tipod.setNumeroRespuesta(3);
                tipod.setTrazaRespuesta("Error de Conexin " + validaConexion);
            } else {
                sesion.update(tipod);
                tx.commit();

                tipod.setTrazaRespuesta("Actualizacin de Tipo Documental Exitosa");
                tipod.setNumeroRespuesta(20);
            }
        } catch (Exception e) {
            e.printStackTrace();
            tipod = new TiposDocumentalesEntity();
            tipod.setNumeroRespuesta(0);
            tipod.setTrazaRespuesta(e.getMessage());
        } finally {
            try {
                sesion.close();

            } catch (HibernateException hibernateException) {
                hibernateException.printStackTrace();
            }
        }
        return tipod;
    }

    /**
     * Mtodo que retorna la lista de tipos documentales disponibles
     * @return 
     */
    public ObjetoRetornaEntity listaTipoDcouemntal() {
        ObjetoRetornaEntity retorna = new ObjetoRetornaEntity();
        try {
            String validaConexion = initOperation();
            if (!"Ok".equalsIgnoreCase(validaConexion)) {
                retorna.setNumeroRespuesta(3);
                retorna.setTrazaRespuesta("Error de Conexin " + validaConexion);
            } else {
                Query query = sesion.createQuery("FROM TiposDocumentalesEntity p WHERE p.estadoTipoDocuemtal<>'E'");
                retorna.setRetorna((ArrayList<Object>) query.list());
                retorna.setTrazaRespuesta("Consulta tabla Tipos Documentales exitosa");
                retorna.setNumeroRespuesta(21);

            }
        } catch (Exception e) {
            e.printStackTrace();
            retorna = new ObjetoRetornaEntity();
            retorna.setNumeroRespuesta(0);
            retorna.setTrazaRespuesta(e.getMessage());
        } finally {
            try {
                sesion.close();

            } catch (HibernateException hibernateException) {
                hibernateException.printStackTrace();
            }
        }
        return retorna;
    }

    /**
     * Mtodo que trae un Pas por ID
     * @param idTiposDocumentales
     * @return 
     */
    public TiposDocumentalesEntity tipoDocumentalPorID(int idTiposDocumentales) {
        TiposDocumentalesEntity pais = new TiposDocumentalesEntity();
        String validaConexion = initOperation();
        try {
            if (!"Ok".equalsIgnoreCase(validaConexion)) {
                pais.setNumeroRespuesta(3);
                pais.setTrazaRespuesta("Error de Conexin: " + validaConexion);
            } else {
                Query query = sesion.createQuery("FROM TiposDocumentalesEntity p WHERE p.idTipoDocumental=:idS");
                query.setParameter("idS", idTiposDocumentales);
                pais = (TiposDocumentalesEntity) query.uniqueResult();
                pais.setTrazaRespuesta("Consulta de pais exitosa");
                pais.setNumeroRespuesta(35);
            }
        } catch (Exception e) {
            e.printStackTrace();
            pais = new TiposDocumentalesEntity();
            pais.setNumeroRespuesta(0);
            pais.setTrazaRespuesta(e.getMessage());
        } finally {
            try {
                sesion.close();

            } catch (HibernateException hibernateException) {
                hibernateException.printStackTrace();
            }
        }
        return pais;
    }
}