simtra.simtraadmin.dao.TelemetriaDao.java Source code

Java tutorial

Introduction

Here is the source code for simtra.simtraadmin.dao.TelemetriaDao.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 simtra.simtraadmin.dao;

import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.SQLQuery;
import simtra.simtraadmin.modelo.Telemetria;

/**
 *
 * @author Usuario
 */
public class TelemetriaDao extends SimtraDao {

    public TelemetriaDao() {
        super();
        secuencia = "seq_telId";
    }

    public void crear(Telemetria telemetria) {
        sesionActual();
        if (telemetria.getTelId() == null) {
            telemetria.setTelId(getNumeroSecuencia());
        }
        sesion.save(telemetria);
    }

    public void eliminar(Telemetria telemetria) {
        sesionActual();
        sesion.delete(telemetria);
    }

    public void actualizar(Telemetria telemetria) {
        sesionActual();
        sesion.update(telemetria);
    }

    public Telemetria buscar(Integer id) {
        sesionActual();
        Telemetria objeto = (Telemetria) sesion.get("simtra.simtraadmin.modelo.Telemetria", id);
        return objeto;
    }

    public List<Telemetria> listar() {
        sesionActual();
        StringBuilder sql = new StringBuilder();
        sql.append("SELECT * ");
        sql.append("FROM telemetria ");
        SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(Telemetria.class);
        List<Telemetria> objeto = (List<Telemetria>) query.list();
        return objeto;
    }

    public Telemetria buscarMasProximaPorUnidad(Integer idUnidad, String fechaActual) {
        try {
            sesionActual();
            StringBuilder sql = new StringBuilder();
            sql.append("SELECT telemetria.* ");
            sql.append("FROM telemetria, servicio, unidad ");
            sql.append("WHERE telemetria.serId = servicio.serId ");
            sql.append("AND servicio.uniId = unidad.uniId ");
            sql.append("AND unidad.uniId = :idUnidad ");
            sql.append("AND to_char(telemetria.telFecha,'dd/MM/yyyy') = :fechaActual ");
            sql.append("ORDER BY telemetria.telDistancia, telemetria.telFecha DESC");
            SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(Telemetria.class);
            query.setInteger("idUnidad", idUnidad);
            query.setString("fechaActual", fechaActual);
            Telemetria objeto = (Telemetria) query.list().get(0);
            return objeto;
        } catch (HibernateException e) {
            return null;
        }
    }
}