List of usage examples for org.hibernate Query setTimestamp
@Deprecated @SuppressWarnings("unchecked") default Query<R> setTimestamp(String name, Date value)
From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java
License:Open Source License
@Override public void depreciar(Date fecha, Long empresaId) { Date fechaModificacion = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(fecha);// w w w .j a v a 2 s . com cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); fecha = cal.getTime(); Query query = currentSession().createQuery( "select new Activo(a.id, a.version, a.moi, a.fechaCompra, a.tipoActivo.porciento, a.tipoActivo.vidaUtil, a.inactivo, a.fechaInactivo) from Activo a inner join a.tipoActivo where a.empresa.id = :empresaId and a.fechaCompra <= :fecha"); query.setLong("empresaId", empresaId); query.setDate("fecha", fecha); @SuppressWarnings("unchecked") List<Activo> activos = query.list(); int cont = 0; int total = activos.size(); for (Activo activo : activos) { if (++cont % 1000 == 0) { log.debug("Depreciando activo {} ({} / {})", new Object[] { activo.getId(), cont, total }); } activo = deprecia(activo, fecha); query = currentSession().createQuery( "update Activo a set a.fechaDepreciacion = :fecha, a.depreciacionAnual = :depreciacionAnual, a.depreciacionMensual = :depreciacionMensual, a.depreciacionAcumulada = :depreciacionAcumulada, a.valorNeto = :valorNeto, a.fechaModificacion = :fechaModificacion where a.id = :activoId"); query.setDate("fecha", fecha); query.setBigDecimal("depreciacionAnual", activo.getDepreciacionAnual()); query.setBigDecimal("depreciacionMensual", activo.getDepreciacionMensual()); query.setBigDecimal("depreciacionAcumulada", activo.getDepreciacionAcumulada()); query.setBigDecimal("valorNeto", activo.getValorNeto()); query.setTimestamp("fechaModificacion", fechaModificacion); query.setLong("activoId", activo.getId()); query.executeUpdate(); } currentSession().flush(); log.info("Se han depreciado los activos de la empresa {} para la fecha de {}", empresaId, fecha); }
From source file:mx.edu.um.mateo.inventario.dao.impl.EntradaDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//w w w. j a v a 2s . c o m @Transactional(readOnly = true) public Map<String, Object> preCancelacion(Long id, Usuario usuario) throws NoEstaCerradaException { log.info("{} mando llamar precancelacion de entrada {}", usuario, id); Entrada entrada = (Entrada) currentSession().get(Entrada.class, id); if (entrada.getEstatus().getNombre().equals(Constantes.CERRADA) || entrada.getEstatus().getNombre().equals(Constantes.FACTURADA)) { Set<Producto> productos = new HashSet<>(); for (LoteEntrada lote : entrada.getLotes()) { productos.add(lote.getProducto()); } log.debug("Buscando entradas que contengan los productos {} despues de la fecha {}", productos, entrada.getFechaModificacion()); Query query = currentSession() .createQuery("select e from Entrada e inner join e.lotes le inner join e.estatus es " + "where(es.nombre = 'CERRADA' or es.nombre = 'PENDIENTE') " + "and le.producto in (:productos) " + "and e.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", entrada.getFechaModificacion()); List<Entrada> entradas = (List<Entrada>) query.list(); for (Entrada e : entradas) { log.debug("ENTRADA: {}", e); for (LoteEntrada lote : e.getLotes()) { productos.add(lote.getProducto()); } } entradas.add(entrada); query = currentSession() .createQuery("select s from Salida s inner join s.lotes ls inner join s.estatus es " + "where es.nombre = 'CERRADA' " + "and ls.producto in (:productos) " + "and s.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", entrada.getFechaModificacion()); List<Salida> salidas = (List<Salida>) query.list(); for (Salida salida : salidas) { log.debug("SALIDA: {}", salida); for (LoteSalida lote : salida.getLotes()) { productos.add(lote.getProducto()); } } Map<Long, Producto> productosCancelados = new HashMap<>(); Map<Long, Producto> productosSinHistoria = new HashMap<>(); for (Producto producto : productos) { log.debug("Buscando historial de {}", producto); query = currentSession() .createQuery("select xp from XProducto xp " + "where xp.productoId = :productoId " + "and (xp.actividad = 'CREAR' or actividad = 'ACTUALIZAR') " + "and xp.fechaCreacion < :fecha " + "and (xp.entradaId is null or xp.entradaId != :entradaId) " + "order by xp.fechaCreacion desc"); query.setLong("productoId", producto.getId()); query.setTimestamp("fecha", entrada.getFechaModificacion()); query.setLong("entradaId", entrada.getId()); query.setMaxResults(1); List<XProducto> xproductos = (List<XProducto>) query.list(); if (xproductos != null && xproductos.get(0) != null) { XProducto xproducto = xproductos.get(0); log.debug("Encontre historia del producto {}", xproducto); Producto p = new Producto(); BeanUtils.copyProperties(xproducto, p); p.setTipoProducto(producto.getTipoProducto()); p.setAlmacen(producto.getAlmacen()); productosCancelados.put(producto.getId(), p); } else { log.debug("No encontre historia del producto {}", producto); Producto p = new Producto(); BeanUtils.copyProperties(producto, p); p.setPrecioUnitario(BigDecimal.ZERO); p.setUltimoPrecio(BigDecimal.ZERO); p.setExistencia(BigDecimal.ZERO); productosSinHistoria.put(producto.getId(), p); } } Map<String, Object> resultado = new HashMap<>(); resultado.put("entrada", entrada); resultado.put("productos", productos); if (entradas != null && entradas.size() > 0) { resultado.put("entradas", entradas); } if (salidas != null && salidas.size() > 0) { resultado.put("salidas", salidas); } if (productosCancelados.size() > 0) { resultado.put("productosCancelados", productosCancelados.values()); } if (productosSinHistoria.size() > 0) { resultado.put("productosSinHistoria", productosSinHistoria.values()); } return resultado; } else { throw new NoEstaCerradaException("La entrada no se puede cancelar porque no esta cerrada o facturada", entrada); } }
From source file:mx.edu.um.mateo.inventario.dao.impl.EntradaDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//from w w w. java 2 s. c o m @Transactional(rollbackFor = { NoEstaCerradaException.class }) public Cancelacion cancelar(Long id, Usuario usuario, String comentarios) throws NoEstaCerradaException { log.info("{} esta cancelando entrada {}", usuario, id); Entrada entrada = (Entrada) currentSession().get(Entrada.class, id); if (entrada.getEstatus().getNombre().equals(Constantes.CERRADA) || entrada.getEstatus().getNombre().equals(Constantes.FACTURADA)) { Set<Producto> productos = new HashSet<>(); for (LoteEntrada lote : entrada.getLotes()) { productos.add(lote.getProducto()); } log.debug("Buscando entradas que contengan los productos {} despues de la fecha {}", productos, entrada.getFechaModificacion()); Query query = currentSession() .createQuery("select e from Entrada e inner join e.lotes le inner join e.estatus es " + "where(es.nombre = 'CERRADA' or es.nombre = 'PENDIENTE') " + "and le.producto in (:productos) " + "and e.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", entrada.getFechaModificacion()); List<Entrada> entradas = (List<Entrada>) query.list(); for (Entrada e : entradas) { log.debug("ENTRADA: {}", e); for (LoteEntrada lote : e.getLotes()) { productos.add(lote.getProducto()); } } entradas.add(entrada); query = currentSession() .createQuery("select s from Salida s inner join s.lotes ls inner join s.estatus es " + "where es.nombre = 'CERRADA' " + "and ls.producto in (:productos) " + "and s.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", entrada.getFechaModificacion()); List<Salida> salidas = (List<Salida>) query.list(); for (Salida s : salidas) { log.debug("SALIDA: {}", s); for (LoteSalida lote : s.getLotes()) { productos.add(lote.getProducto()); } } Date fecha = new Date(); for (Producto producto : productos) { log.debug("Buscando historial de {}", producto); query = currentSession() .createQuery("select xp from XProducto xp " + "where xp.productoId = :productoId " + "and (xp.actividad = 'CREAR' or actividad = 'ACTUALIZAR') " + "and xp.fechaCreacion < :fecha " + "and (xp.entradaId is null or xp.entradaId != :entradaId) " + "order by xp.fechaCreacion desc"); query.setLong("productoId", producto.getId()); query.setTimestamp("fecha", entrada.getFechaModificacion()); query.setLong("entradaId", entrada.getId()); query.setMaxResults(1); List<XProducto> xproductos = (List<XProducto>) query.list(); if (xproductos != null && xproductos.get(0) != null) { XProducto xproducto = xproductos.get(0); log.debug("Encontre historia del producto {}", xproducto); producto.setPrecioUnitario(xproducto.getPrecioUnitario()); producto.setUltimoPrecio(xproducto.getUltimoPrecio()); producto.setExistencia(xproducto.getExistencia()); producto.setFechaModificacion(fecha); } else { log.debug("No encontre historia del producto {}", producto); producto.setPrecioUnitario(BigDecimal.ZERO); producto.setUltimoPrecio(BigDecimal.ZERO); producto.setExistencia(BigDecimal.ZERO); producto.setFechaModificacion(fecha); } currentSession().update(producto); } query = currentSession().createQuery("select e from Estatus e where e.nombre = :nombre"); query.setString("nombre", Constantes.CANCELADA); Estatus cancelada = (Estatus) query.uniqueResult(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String fechaString = sdf.format(fecha); for (Entrada e : entradas) { e.setFactura(e.getFactura() + "C" + fechaString); e.setEstatus(cancelada); e.setFechaModificacion(fecha); currentSession().update(e); audita(e, usuario, Constantes.CANCELAR, fecha, true); } for (Salida s : salidas) { s.setReporte(s.getReporte() + "C" + fechaString); s.setEstatus(cancelada); s.setFechaModificacion(fecha); currentSession().update(s); auditaSalida(s, usuario, Constantes.CANCELAR, fecha, true); } // Crear cancelacion Cancelacion cancelacion = new Cancelacion(); cancelacion.setFolio(cancelacionDao.getFolio(entrada.getAlmacen())); cancelacion.setComentarios(comentarios); cancelacion.setEntrada(entrada); cancelacion.setProductos(productos); if (entradas != null && entradas.size() > 0) { cancelacion.setEntradas(entradas); } if (salidas != null && salidas.size() > 0) { cancelacion.setSalidas(salidas); } cancelacion = cancelacionDao.crea(cancelacion, usuario); currentSession().flush(); for (Producto producto : productos) { auditaProducto(producto, usuario, Constantes.CANCELAR, null, cancelacion.getId(), fecha); } return cancelacion; } else { throw new NoEstaCerradaException("La entrada no se puede cancelar porque no esta cerrada o facturada", entrada); } }
From source file:mx.edu.um.mateo.inventario.dao.impl.ProductoDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/* w w w. j a va 2s . c o m*/ public void guardaHistorial(Date fecha) { log.debug("Buscando historial de productos de la fecha {}", fecha); StringBuilder sb = new StringBuilder(); sb.append("select new HistorialProducto(p.id, p.almacen) from Producto p order by p.codigo"); log.debug("Cargando lista de productos"); List<HistorialProducto> productos = currentSession().createQuery(sb.toString()).list(); List<HistorialProducto> resultado = new ArrayList<>(); log.debug("Buscando historial por producto ({})", productos.size()); int cont = 0; for (HistorialProducto hp : productos) { if (cont++ % 10 == 0) { log.debug("Leyendo {} / {} Productos", cont, productos.size()); } sb = new StringBuilder(); sb.append( "select new map(p.existencia as existencia) from XProducto p where p.productoId = :productoId and p.fechaCreacion <= :fecha order by p.fechaCreacion desc"); Query query = currentSession().createQuery(sb.toString()); query.setLong("productoId", hp.getProductoId()); query.setTimestamp("fecha", fecha); query.setMaxResults(1); Map<String, Object> existencia = (Map<String, Object>) query.uniqueResult(); if (existencia != null && !existencia.isEmpty()) { sb = new StringBuilder(); sb.append("select hp from HistorialProducto hp where fecha = :fecha and productoId = :productoId"); Query query2 = currentSession().createQuery(sb.toString()); query2.setDate("fecha", fecha); query2.setLong("productoId", hp.getProductoId()); HistorialProducto otro = (HistorialProducto) query2.uniqueResult(); if (otro != null) { hp = otro; } hp.setExistencia((BigDecimal) existencia.get("existencia")); hp.setFecha(fecha); resultado.add(hp); } } log.debug("{} / {} Productos", cont, productos.size()); log.debug("Guardando historial de productos ({})", resultado.size()); cont = 0; for (HistorialProducto hp : resultado) { if (cont++ % 10 == 0) { log.debug("Guardando {} / {} Productos", cont, resultado.size()); } currentSession().saveOrUpdate(hp); } }
From source file:mx.edu.um.mateo.inventario.dao.impl.ProductoDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//www. j a v a2s.com @Transactional(readOnly = true) public Map<String, Object> obtieneHistorial(Map<String, Object> params) { List<Producto> resultado = new ArrayList<>(); if (params.containsKey("fecha") && params.containsKey("almacen")) { Date fecha = (Date) params.get("fecha"); Long almacenId = (Long) params.get("almacen"); log.debug("Buscando historial de productos de la fecha {}", fecha); StringBuilder sb = new StringBuilder(); sb.append( "select new HistorialProducto(p.id, p.almacen) from Producto p where p.almacen.id = :almacenId order by p.codigo"); log.debug("Cargando lista de productos"); Query query1 = currentSession().createQuery(sb.toString()); query1.setLong("almacenId", almacenId); List<HistorialProducto> productos = query1.list(); log.debug("Buscando historial por producto ({})", productos.size()); int cont = 0; for (HistorialProducto hp : productos) { if (cont++ % 10 == 0) { log.debug("Leyendo {} / {} Productos", cont, productos.size()); } sb = new StringBuilder(); sb.append( "select new Producto(p.productoId, p.sku, p.nombre, p.descripcion, p.marca, p.modelo, p.ubicacion, p.existencia, p.unidadMedida, p.precioUnitario, p.fraccion, tp.nombre, a.nombre) from XProducto p, TipoProducto tp, Almacen a where p.tipoProductoId = tp.id and p.almacenId = a.id and p.productoId = :productoId and p.fechaCreacion <= :fecha order by p.fechaCreacion desc"); Query query = currentSession().createQuery(sb.toString()); query.setLong("productoId", hp.getProductoId()); query.setTimestamp("fecha", fecha); query.setMaxResults(1); Producto producto = (Producto) query.uniqueResult(); if (producto != null) { resultado.add(producto); } } log.debug("{} / {} Productos", cont, productos.size()); log.debug("Se encontro el historial de productos ({})", resultado.size()); params.put("productos", resultado); params.put("cantidad", 1L); params.put("max", 1); } return params; }
From source file:mx.edu.um.mateo.inventario.dao.impl.SalidaDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//from w w w . j a va 2 s . co m @Transactional(readOnly = true) public Map<String, Object> preCancelacion(Long id, Usuario usuario) throws NoEstaCerradaException { log.info("{} mando llamar precancelacion de salida {}", usuario, id); Salida salida = (Salida) currentSession().get(Salida.class, id); if (salida.getEstatus().getNombre().equals(Constantes.CERRADA) || salida.getEstatus().getNombre().equals(Constantes.FACTURADA)) { Set<Producto> productos = new HashSet<>(); for (LoteSalida lote : salida.getLotes()) { productos.add(lote.getProducto()); } log.debug("Buscando entradas que contengan los productos {} despues de la fecha {}", productos, salida.getFechaModificacion()); Query query = currentSession() .createQuery("select e from Entrada e inner join e.lotes le inner join e.estatus es " + "where(es.nombre = 'CERRADA' or es.nombre = 'PENDIENTE') " + "and le.producto in (:productos) " + "and e.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", salida.getFechaModificacion()); List<Entrada> entradas = (List<Entrada>) query.list(); for (Entrada entrada : entradas) { log.debug("ENTRADA: {}", entrada); for (LoteEntrada lote : entrada.getLotes()) { productos.add(lote.getProducto()); } } query = currentSession() .createQuery("select s from Salida s inner join s.lotes ls inner join s.estatus es " + "where es.nombre = 'CERRADA' " + "and ls.producto in (:productos) " + "and s.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", salida.getFechaModificacion()); List<Salida> salidas = (List<Salida>) query.list(); for (Salida otra : salidas) { log.debug("SALIDA: {}", otra); for (LoteSalida lote : otra.getLotes()) { productos.add(lote.getProducto()); } } salidas.add(salida); Map<Long, Producto> productosCancelados = new HashMap<>(); Map<Long, Producto> productosSinHistoria = new HashMap<>(); for (Producto producto : productos) { log.debug("Buscando historial de {}", producto); query = currentSession() .createQuery("select xp from XProducto xp " + "where xp.productoId = :productoId " + "and (xp.actividad = 'CREAR' or actividad = 'ACTUALIZAR') " + "and xp.fechaCreacion < :fecha " + "and (xp.salidaId is null or xp.salidaId != :salidaId) " + "order by xp.fechaCreacion desc"); query.setLong("productoId", producto.getId()); query.setTimestamp("fecha", salida.getFechaModificacion()); query.setLong("salidaId", salida.getId()); query.setMaxResults(1); List<XProducto> xproductos = (List<XProducto>) query.list(); if (xproductos != null && xproductos.get(0) != null) { XProducto xproducto = xproductos.get(0); log.debug("Encontre historia del producto {}", xproducto); Producto p = new Producto(); BeanUtils.copyProperties(xproducto, p); p.setTipoProducto(producto.getTipoProducto()); p.setAlmacen(producto.getAlmacen()); productosCancelados.put(producto.getId(), p); } else { log.debug("No encontre historia del producto {}", producto); Producto p = new Producto(); BeanUtils.copyProperties(producto, p); p.setPrecioUnitario(BigDecimal.ZERO); p.setUltimoPrecio(BigDecimal.ZERO); p.setExistencia(BigDecimal.ZERO); productosSinHistoria.put(producto.getId(), p); } } Map<String, Object> resultado = new HashMap<>(); resultado.put("salida", salida); resultado.put("productos", productos); if (entradas != null && entradas.size() > 0) { resultado.put("entradas", entradas); } if (salidas != null && salidas.size() > 0) { resultado.put("salidas", salidas); } if (productosCancelados.size() > 0) { resultado.put("productosCancelados", productosCancelados.values()); } if (productosSinHistoria.size() > 0) { resultado.put("productosSinHistoria", productosSinHistoria.values()); } return resultado; } else { throw new NoEstaCerradaException("La salida no se puede cancelar porque no esta cerrada o facturada", salida); } }
From source file:mx.edu.um.mateo.inventario.dao.impl.SalidaDaoHibernate.java
License:Open Source License
@SuppressWarnings("unchecked") @Override//from w w w . j a va2 s. com @Transactional(rollbackFor = { NoEstaCerradaException.class }) public Cancelacion cancelar(Long id, Usuario usuario, String comentarios) throws NoEstaCerradaException { log.info("{} esta cancelando salida {}", usuario, id); Salida salida = (Salida) currentSession().get(Salida.class, id); if (salida.getEstatus().getNombre().equals(Constantes.CERRADA) || salida.getEstatus().getNombre().equals(Constantes.FACTURADA)) { Set<Producto> productos = new HashSet<>(); for (LoteSalida lote : salida.getLotes()) { productos.add(lote.getProducto()); } log.debug("Buscando entradas que contengan los productos {} despues de la fecha {}", productos, salida.getFechaModificacion()); Query query = currentSession() .createQuery("select e from Entrada e inner join e.lotes le inner join e.estatus es " + "where(es.nombre = 'CERRADA' or es.nombre = 'PENDIENTE') " + "and le.producto in (:productos) " + "and e.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", salida.getFechaModificacion()); List<Entrada> entradas = (List<Entrada>) query.list(); for (Entrada entrada : entradas) { log.debug("ENTRADA: {}", entrada); for (LoteEntrada lote : entrada.getLotes()) { productos.add(lote.getProducto()); } } query = currentSession() .createQuery("select s from Salida s inner join s.lotes ls inner join s.estatus es " + "where es.nombre = 'CERRADA' " + "and ls.producto in (:productos) " + "and s.fechaModificacion > :fecha"); query.setParameterList("productos", productos); query.setTimestamp("fecha", salida.getFechaModificacion()); List<Salida> salidas = (List<Salida>) query.list(); for (Salida otra : salidas) { log.debug("SALIDA: {}", otra); for (LoteSalida lote : otra.getLotes()) { productos.add(lote.getProducto()); } } salidas.add(salida); Date fecha = new Date(); for (Producto producto : productos) { log.debug("Buscando historial de {}", producto); query = currentSession() .createQuery("select xp from XProducto xp " + "where xp.productoId = :productoId " + "and (xp.actividad = 'CREAR' or actividad = 'ACTUALIZAR') " + "and xp.fechaCreacion < :fecha " + "and (xp.salidaId is null or xp.salidaId != :salidaId) " + "order by xp.fechaCreacion desc"); query.setLong("productoId", producto.getId()); query.setTimestamp("fecha", salida.getFechaModificacion()); query.setLong("salidaId", salida.getId()); query.setMaxResults(1); List<XProducto> xproductos = (List<XProducto>) query.list(); if (xproductos != null && xproductos.get(0) != null) { XProducto xproducto = xproductos.get(0); log.debug("Encontre historia del producto {}", xproducto); producto.setPrecioUnitario(xproducto.getPrecioUnitario()); producto.setUltimoPrecio(xproducto.getUltimoPrecio()); producto.setExistencia(xproducto.getExistencia()); producto.setFechaModificacion(fecha); } else { log.debug("No encontre historia del producto {}", producto); producto.setPrecioUnitario(BigDecimal.ZERO); producto.setUltimoPrecio(BigDecimal.ZERO); producto.setExistencia(BigDecimal.ZERO); producto.setFechaModificacion(fecha); } currentSession().update(producto); } query = currentSession().createQuery("select e from Estatus e where e.nombre = :nombre"); query.setString("nombre", Constantes.CANCELADA); Estatus cancelada = (Estatus) query.uniqueResult(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String fechaString = sdf.format(fecha); for (Entrada entrada : entradas) { entrada.setFactura(entrada.getFactura() + "C" + fechaString); entrada.setEstatus(cancelada); entrada.setFechaModificacion(fecha); currentSession().update(entrada); auditaEntrada(entrada, usuario, Constantes.CANCELAR, fecha, true); } for (Salida s : salidas) { s.setReporte(s.getReporte() + "C" + fechaString); s.setEstatus(cancelada); s.setFechaModificacion(fecha); currentSession().update(s); audita(s, usuario, Constantes.CANCELAR, fecha, true); } // Crear cancelacion Cancelacion cancelacion = new Cancelacion(); cancelacion.setFolio(cancelacionDao.getFolio(salida.getAlmacen())); cancelacion.setComentarios(comentarios); cancelacion.setSalida(salida); cancelacion.setProductos(productos); if (entradas != null && entradas.size() > 0) { cancelacion.setEntradas(entradas); } if (salidas != null && salidas.size() > 0) { cancelacion.setSalidas(salidas); } cancelacion = cancelacionDao.crea(cancelacion, usuario); currentSession().flush(); for (Producto producto : productos) { auditaProducto(producto, usuario, Constantes.CANCELAR, null, cancelacion.getId(), fecha); } return cancelacion; } else { throw new NoEstaCerradaException("La salida no se puede cancelar porque no esta cerrada o facturada", salida); } }
From source file:net.mlw.vlh.adapter.hibernate3.util.setter.TimestampSetter.java
License:Open Source License
/** * @see net.mlw.vlh.adapter.hibernate3.util.Setter#set(Query, String, Object) *//*from w ww . ja v a 2 s.co m*/ public void set(Query query, String key, Object value) throws HibernateException, ParseException { Date date = null; if (value instanceof String) { if (LOGGER.isInfoEnabled()) { LOGGER.info("The key='" + key + "'s value is instance of a String, now is parsing to date."); } date = formatter.parse((String) value); } else if (value instanceof Date) { date = (Date) value; } else if (value == null) { if (LOGGER.isInfoEnabled()) { LOGGER.info("The key='" + key + "'s value is null."); } } else { if (LOGGER.isWarnEnabled()) { LOGGER.warn("The key's='" + key + "' value='" + value + "' was expected as Date or String parseable to Date."); } throw new IllegalArgumentException("Cannot convert value of class " + value.getClass().getName() + " to timestamp (key=" + key + ")"); } if (LOGGER.isInfoEnabled()) { LOGGER.info( "The key='" + key + "' was set to the query as Timestamp with the value date='" + date + "'."); } query.setTimestamp(key, date); }
From source file:net.sf.oreka.services.RecSegmentServiceHbn.java
License:Open Source License
public int getResults(RecSegmentFilter filter, int offset, int number, String orderBy, boolean ascending, List results) {/*from w ww .j a v a 2s . co m*/ firstCriterium = true; int numResults = 0; logger.log(Level.DEBUG, "Entering getResults"); //logger.log(Level.INFO, System.getProperty("java.class.path")); //RecSegment seg1 = new RecSegment(); //RecSegment seg2 = new RecSegment(); //RecTape tape1 = new RecTape(); //RecTape tape2 = new RecTape(); /* RecSegmentResult result1 = new RecSegmentResult(); RecSegmentResult result2 = new RecSegmentResult(); result1.getRecSegment().setDuration(10); result1.getRecSegment().setLocalParty("01223"); results.add(result1); result2.getRecSegment().setDuration(11); result2.getRecSegment().setLocalParty("01440"); results.add(result2); */ /* for (int i=0; i<number; i++) { RecSegmentResult result = new RecSegmentResult(); result.getRecSegment().setDuration(offset + i); result.getRecSegment().setLocalParty(orderBy); result.getRecTape().setId(ascending ? 0:1); results.add(result); } numResults = 502; */ Transaction tx = null; Session session = null; try { session = OrkWeb.hibernateManager.getSession(); StringBuffer queryString = new StringBuffer( "from OrkSegment as seg left join seg.tape as tape left join tape.service as srv "); //StringBuffer queryString = new StringBuffer("from RecSegment as seg "); //boolean firstCriterium = false; if (filter.getStartDate() != null && filter.getEndDate() != null) queryString.append(" where seg.timestamp between :startDate and :endDate "); else if (filter.getStartDate() != null) queryString.append(" where seg.timestamp > :startDate "); else if (filter.getEndDate() != null) queryString.append(" where seg.timestamp < :endDate "); if (filter.getLocalParty().length() > 0) { queryString.append(" and seg.localParty=:localParty "); } if (filter.getRemoteParty().length() > 0) { queryString.append(" and seg.remoteParty=:remoteParty "); } if (filter.getMinDuration().length() > 0) { queryString.append(" and seg.duration>:minDuration "); } if (filter.getMaxDuration().length() > 0) { queryString.append(" and seg.duration<:maxDuration "); } if (filter.getDirection() != Direction.ALL) { queryString.append(" and seg.direction=:direction "); } if (orderBy.length() == 0) { orderBy = "seg.timestamp"; } queryString.append(" order by "); queryString.append(orderBy); if (ascending) { queryString.append(" asc"); } else { queryString.append(" desc"); } Query query = session.createQuery(queryString.toString()); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); if (filter.getStartDate() != null) { logger.debug("Filter start date:" + dateFormat.format(filter.getStartDate())); query.setTimestamp("startDate", filter.getStartDate()); } if (filter.getEndDate() != null) { logger.debug("Filter end date:" + dateFormat.format(filter.getEndDate())); query.setTimestamp("endDate", filter.getEndDate()); } if (filter.getLocalParty().length() > 0) { query.setString("localParty", filter.getLocalParty()); } if (filter.getRemoteParty().length() > 0) { query.setString("remoteParty", filter.getRemoteParty()); } if (filter.getMinDuration().length() > 0) { query.setString("minDuration", filter.getMinDuration()); } if (filter.getMaxDuration().length() > 0) { query.setString("maxDuration", filter.getMaxDuration()); } if (filter.getDirection() != Direction.ALL) { query.setParameter("direction", filter.getDirection().ordinal()); //query.setParameter( "direction", filter.getDirection().name() ); } // Criteria crit = session.createCriteria(RecSegment.class); // //crit.setFetchMode("RecTape",FetchMode.EAGER); // crit.setFetchMode(null, FetchMode.LAZY); ScrollableResults scrollDocs = query.scroll(); if (scrollDocs.last()) { numResults = scrollDocs.getRowNumber() + 1; logger.debug("Num res:" + numResults); } //scrollDocs.beforeFirst(); scrollDocs.setRowNumber(offset); int rowsSoFar = 0; while (scrollDocs.get() != null && rowsSoFar < number) { rowsSoFar++; OrkSegment seg = (OrkSegment) scrollDocs.get(0); //logger.log(Level.ERROR, seg.getRecTape().getUrl()); //RecTape tape = (RecTape)scrollDocs.get(1); //RecTape tape = new RecTape(); RecSegmentResult res = new RecSegmentResult(); res.setRecSegment(seg); //res.setRecTape(tape); results.add(res); scrollDocs.next(); } } catch (HibernateException he) { if (tx != null) tx.rollback(); logger.log(Level.ERROR, he.toString()); he.printStackTrace(); } catch (Exception e) { logger.error(e); e.printStackTrace(); } finally { session.close(); } return numResults; }
From source file:org.androidpn.server.dao.hibernate.UserDaoHibernate.java
License:Open Source License
public List<User> getOutdatedUser(Timestamp expiration) { Session session = getSession();//from w ww.j a v a 2 s . co m Query query = session.createQuery("FROM User u WHERE u.updatedDate < ?"); query.setTimestamp(0, expiration); return query.list(); }