Java tutorial
/* * 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.math.BigDecimal; import java.util.Iterator; import java.util.List; import org.hibernate.SQLQuery; import simtra.simtraadmin.modelo.Telemetria; import simtra.simtraadmin.modelo.TelemetriaLog; /** * * @author Usuario */ public class TelemetriaLogDao extends SimtraDao { public TelemetriaLogDao() { super(); secuencia = "seq_logId"; } public TelemetriaLog crear(TelemetriaLog telemetriaLog) { sesionActual(); if (telemetriaLog.getTelId() == null) { telemetriaLog.setTelId(getNumeroSecuencia()); } sesion.save(telemetriaLog); return telemetriaLog; } public void eliminar(TelemetriaLog telemetriaLog) { sesionActual(); sesion.delete(telemetriaLog); } public void actualizar(TelemetriaLog telemetriaLog) { sesionActual(); sesion.update(telemetriaLog); } public TelemetriaLog buscar(Integer id) { sesionActual(); TelemetriaLog objeto = (TelemetriaLog) sesion.get("simtra.simtraadmin.modelo.TelemetriaLog", id); return objeto; } public List<TelemetriaLog> listar() { sesionActual(); StringBuilder sql = new StringBuilder(); sql.append("SELECT * "); sql.append("FROM telemetriaLog "); SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(TelemetriaLog.class); List<TelemetriaLog> objeto = (List<TelemetriaLog>) query.list(); return objeto; } public List<TelemetriaLog> listar(String fechaActual, Integer idRuta) { sesionActual(); StringBuilder sql = new StringBuilder(); sql.append("SELECT log.* "); sql.append("FROM telemetriaLog log "); sql.append("WHERE log.telDistancia <= 30 "); sql.append("AND to_char(log.telFecha,'dd/MM/yyyy') = :fechaActual "); sql.append( "AND traId IN (SELECT trayecto.traId FROM trayecto, ruta WHERE trayecto.ruId = ruta.ruId AND ruta.ruId = :idRuta) "); SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(TelemetriaLog.class); query.setString("fechaActual", fechaActual); query.setInteger("idRuta", idRuta); List<TelemetriaLog> objeto = (List<TelemetriaLog>) query.list(); return objeto; } public void agregarPorServicio(Integer idTrayecto, Integer idServicio) { sesionActual(); StringBuilder sql = new StringBuilder(); sql.append("SELECT * "); sql.append("FROM telemetria "); sql.append("WHERE serId = :idServicio "); sql.append("AND traId = :idTrayecto "); SQLQuery query = sesion.createSQLQuery(sql.toString()).addEntity(Telemetria.class); query.setInteger("idServicio", idServicio); query.setInteger("idTrayecto", idTrayecto); List<Telemetria> objeto = (List<Telemetria>) query.list(); if (objeto == null) { System.out.println("es nulo"); } for (Telemetria t : objeto) { System.out.println("Telemetria Log"); TelemetriaLog log = new TelemetriaLog(t.getServicio().getSerId(), t.getTrayecto().getTraId(), t.getTelCoordenada(), t.getTelFecha(), t.getTelDistancia(), t.getTelVelocidad()); crear(log); } } }