com.esteban.cmms.maven.model.Maquinas_Model.java Source code

Java tutorial

Introduction

Here is the source code for com.esteban.cmms.maven.model.Maquinas_Model.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 com.esteban.cmms.maven.model;

import com.esteban.cmms.maven.controller.beans.Maquinas;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author esteban
 */
public class Maquinas_Model {

    /**
     * Aade una nueva mquina o registro a la tabla en la base de datos
     * @param obj Objet de tipo maquinas correctamente diligenciado, sin el id
     * ya que la base de datos controla este indicador
     */
    public void addMaquina(Maquinas obj) {
        Transaction trns = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            trns = session.beginTransaction();
            session.save(obj);
            session.getTransaction().commit();
        } catch (RuntimeException e) {
            if (trns != null) {
                trns.rollback();
            }
            e.printStackTrace();
        } finally {
            session.flush();
            session.close();
        }
    }

    /**
     * Elimina una mquina de la base de datos
     * @param objid entero (int) del registro que se desea eliminar, este corresponde
     * a id en la tabla del registro que desea eliminar
     */
    public void deleteMaquina(int objid) {
        Transaction trns = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            trns = session.beginTransaction();
            Maquinas obj = (Maquinas) session.load(Maquinas.class, new Integer(objid));
            session.delete(obj);
            session.getTransaction().commit();
        } catch (RuntimeException e) {
            if (trns != null) {
                trns.rollback();
            }
            e.printStackTrace();
        } finally {
            session.flush();
            session.close();
        }
    }

    /**
     * Actualiza un registro de la tabla mquinas con base a los datos suministrados
     * en el parmetro
     * @param obj objeto tipo Maquinas con el id correctamente diligenciado, de lo
     * contrario no se actualizar nungn registro
     */
    public void updateMaquina(Maquinas obj) {
        Transaction trns = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            trns = session.beginTransaction();
            session.update(obj);
            session.getTransaction().commit();
        } catch (RuntimeException e) {
            if (trns != null) {
                trns.rollback();
            }
            e.printStackTrace();
        } finally {
            session.flush();
            session.close();
        }
    }

    /**
     * Actualiza los estados de las mquinas para que sigan o no disponibles en 
     * el funcionamiento del sistema
     * @param estado El estado al que se desea actualizar el registro, para este
     * sistema puede se 'Activo' o 'Inactivo'
     * @param id el entero (int) correspondiente al id del registro en la tabla 
     * de la base de datos
     * @param user el usuario que realiza la accin
     */
    public void estadoMaquina(String estado, Integer id, String user) {
        Transaction trns = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            trns = session.beginTransaction();
            Query query = session.createQuery(
                    "UPDATE Maquinas SET " + "Estado = :estado, " + "UserAction = :user " + "WHERE Id = :id");
            query.setString("estado", estado);
            query.setString("user", user);
            query.setInteger("id", id);
            query.executeUpdate();
            session.getTransaction().commit();
        } catch (RuntimeException e) {
            if (trns != null) {
                trns.rollback();
            }
            e.printStackTrace();
        } finally {
            session.flush();
            session.close();
        }
    }

    /**
     *Obtiene un listado con todas las mquinas en estado activo que hay en la 
     * tabla de las mquinas
     * @return un listado tipo mquinas con toda la informacin correspondiente.
     */
    public List<Maquinas> getAllMaquinas() {
        List<Maquinas> obj = new ArrayList<Maquinas>();
        Transaction trns = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            trns = session.beginTransaction();
            obj = session.createQuery(
                    "from Maquinas as maq" + " left join fetch maq.proveedores" + " left join fetch maq.secciones"
                            + " left join fetch maq.tiposMaquinas" + " left join fetch maq.vendedores"
                            + " left join fetch maq.maquinas" + " where maq.estado = 'Activo'")
                    .list();
        } catch (RuntimeException e) {
            e.printStackTrace();
        } finally {
            session.flush();
            session.close();
        }
        return obj;
    }

    /**
     * Obtiene un listado de todas las mquinas que estn inactivas en la tabla
     * de mquinas
     * @return Un listado de tipo mquinas con la informacin correspondiente
     */
    public List<Maquinas> listNoActive() {
        List<Maquinas> obj = new ArrayList<Maquinas>();
        Transaction trns = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            trns = session.beginTransaction();
            obj = session.createQuery(
                    "from Maquinas as maq" + " left join fetch maq.proveedores" + " left join fetch maq.secciones"
                            + " left join fetch maq.tiposMaquinas" + " left join fetch maq.vendedores"
                            + " left join fetch maq.maquinas" + " where maq.estado = 'Inactivo'")
                    .list();
        } catch (RuntimeException e) {
            e.printStackTrace();
        } finally {
            session.flush();
            session.close();
        }
        return obj;
    }

    /**
     * Obtiene un nico registro de acuerdo con los parmetros recibidos
     * @param objid entero igual al id del registro que quiere obtener
     * @return Un objeto tipo mquinas de acuerdo con el id que se suministr
     */
    public Maquinas getMaquinaById(int objid) {
        Maquinas obj = null;
        Transaction trns = null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            trns = session.beginTransaction();
            String queryString = "from Maquinas maq" + " left join fetch maq.proveedores"
                    + " left join fetch maq.secciones" + " left join fetch maq.tiposMaquinas"
                    + " left join fetch maq.vendedores" + " left join fetch maq.maquinas" + " where maq.id = :id";
            Query query = session.createQuery(queryString);
            query.setInteger("id", objid);
            obj = (Maquinas) query.uniqueResult();
        } catch (RuntimeException e) {
            e.printStackTrace();
        } finally {
            session.flush();
            session.close();
        }
        return obj;
    }
}