cl.model.dao.PosicionFuncionalDAO.java Source code

Java tutorial

Introduction

Here is the source code for cl.model.dao.PosicionFuncionalDAO.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 cl.model.dao;

import cl.model.dto.PosicionFuncionalDTO;
import cl.model.pojos.Posicionfuncional;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.json.JSONArray;
import org.json.JSONObject;

/**
 *
 * @author Twins
 */
public class PosicionFuncionalDAO {

    public String crearPosicion(Posicionfuncional p) {
        SessionFactory sf;
        Session session = null;
        Transaction tx = null;
        String response = "";
        try {
            sf = HibernateUtil.getSessionFactory();
            session = sf.openSession();
            tx = session.beginTransaction();
            session.save(p);
            tx.commit();
            response = "Posicin Funcional creada exitosamente";
        } catch (Exception ex) {
            tx.rollback();
            throw new RuntimeException("No se pudo crear la Posicin Funcional");
        }
        session.close();
        return response;
    }

    public Posicionfuncional leerPosicionFuncional(int id) {
        SessionFactory sf = HibernateUtil.getSessionFactory();
        Session session = sf.openSession();
        Posicionfuncional p = (Posicionfuncional) session.get(Posicionfuncional.class, id);
        if (p != null) {
            return p;
        }
        return null;
    }

    //    public List<PosicionFuncionalDTO> listarPosiciones(){
    //        SessionFactory sf = HibernateUtil.getSessionFactory();
    //        Session session = sf.openSession();
    //        Query q = session.createQuery("from Posicionfuncional");
    //        List<Posicionfuncional> lista = q.list();
    //        List<PosicionFuncionalDTO> posicionesDTO = new ArrayList<>();
    //        int len = lista.size();  
    //        for (int i = 0; i < len; i++) {
    //            PosicionFuncionalDTO pDTO = new PosicionFuncionalDTO(lista.get(i));
    //            posicionesDTO.add(pDTO);
    //        }
    //        session.close();
    //        return posicionesDTO;
    //    }

    public JSONObject listarPosiciones() {
        SessionFactory sf = HibernateUtil.getSessionFactory();
        Session session = sf.openSession();
        Query q = session.createQuery("from Posicionfuncional");
        List<Posicionfuncional> lista = q.list();
        session.close();
        JSONObject response = new JSONObject();

        response.put("codigo", 200);
        response.put("mensaje", "OK");
        response.put("excepcion", "");
        JSONArray array = new JSONArray();
        for (Posicionfuncional ts : lista) {
            JSONObject pos = new JSONObject();
            pos.put("id", ts.getId());
            pos.put("nombre", ts.getNombre());
            array.put(pos);
        }
        response.put("data", array);
        return response;
    }

    public String actualizarPosicion(Posicionfuncional p) {
        SessionFactory sf;
        Session session;
        Transaction tx = null;
        String response;
        try {
            sf = HibernateUtil.getSessionFactory();
            session = sf.openSession();
            Posicionfuncional pf = (Posicionfuncional) session.get(Posicionfuncional.class, p.getId());
            tx = session.beginTransaction();
            session.update(pf);
            tx.commit();
            response = "Posicin funcional actualizada exitosamente";
        } catch (Exception ex) {
            tx.rollback();
            response = "No se pudo actualizar la posicin funcional";
        }
        return response;
    }

    public String cambiarStatusPosicion(int id) {
        SessionFactory sf;
        Session session;
        Transaction tx = null;
        String response;
        try {
            sf = HibernateUtil.getSessionFactory();
            session = sf.openSession();
            Posicionfuncional pos = (Posicionfuncional) session.get(Posicionfuncional.class, id);
            pos.setEstado(!pos.isEstado());
            tx = session.beginTransaction();
            session.update(pos);
            tx.commit();
            response = "El estado de " + pos.getNombre() + " - " + pos.getUnidadorganizacional().getNombre()
                    + " fue actualizado exitosamente";
        } catch (Exception ex) {
            tx.rollback();
            response = "No se pudo actualizar la posicin";
        }
        return response;
    }

}