public FacturaAlmacen cierra(FacturaAlmacen factura, Usuario usuario) throws NoSePuedeCerrarException, NoSePuedeCerrarEnCeroException, NoEstaAbiertaException { if (factura != null) { if (factura.getEstatus().getNombre().equals(Constantes.ABIERTA)) { if (usuario != null) { factura.setAlmacen(usuario.getAlmacen()); } Date fecha = new Date(); factura.setIva(BigDecimal.ZERO); factura.setTotal(BigDecimal.ZERO); Query query = currentSession().createQuery("select e from Estatus e where e.nombre = :nombre"); query.setString("nombre", Constantes.FACTURADA); Estatus facturada = (Estatus) query.uniqueResult(); for (Salida salida : factura.getSalidas()) { salida.setEstatus(facturada); salida.setFechaModificacion(fecha); currentSession().update(salida); audita(salida, usuario, Constantes.FACTURADA, fecha); factura.setIva(factura.getIva().add(salida.getIva())); factura.setTotal(factura.getTotal().add(salida.getTotal())); } for (Entrada entrada : factura.getEntradas()) { entrada.setEstatus(facturada); entrada.setFechaModificacion(fecha); currentSession().update(entrada); audita(entrada, usuario, Constantes.FACTURADA, fecha); factura.setIva(factura.getIva().subtract(entrada.getIva())); factura.setTotal(factura.getTotal().subtract(entrada.getTotal())); } query.setString("nombre", Constantes.CERRADA); Estatus estatus = (Estatus) query.uniqueResult(); factura.setEstatus(estatus); factura.setFolio(getFolio(factura.getAlmacen())); factura.setFechaModificacion(fecha); currentSession().update(factura); audita(factura, usuario, Constantes.ACTUALIZAR, fecha); currentSession().flush(); return factura; } else { throw new NoEstaAbiertaException("No se puede actualizar una factura que no este abierta"); } } else { throw new NoSePuedeCerrarException("No se puede cerrar la factura pues no existe"); } }
@Override public List<Forum> getForumsOfaUser(int userId) { // TODO Auto-generated method stub List<Forum> forums = new ArrayList<Forum>(); Session session = sessionFactory.openSession(); Transaction tx = null; try { tx = session.beginTransaction(); Query query = session.createQuery("from Subscription where userId = :userId"); query.setString("userId", String.valueOf(userId)); List<Subscription> userSubscribedGroups = query.list(); for (Subscription subsc : userSubscribedGroups) { query = session.createQuery("from Forum where forumId = :forumId"); query.setParameter("forumId", subsc.getForumId()); // add this to a list variable query.uniqueResult(); forums.add((Forum) query.uniqueResult()); } } catch (HibernateException e) { if (tx != null) { tx.rollback(); e.printStackTrace(); } } finally { session.close(); } return forums; }
public User getUser(String username) { User result = null; Session session; Object user; session = SessionFactoryUtil.getInstance().getCurrentSession(); try { Transaction transaction = null; user = null; try { transaction = session.beginTransaction(); Query query = session.createQuery("from User as user where user.userName='******'"); user = query.uniqueResult(); transaction.commit(); } catch (HibernateException e) { transaction.rollback(); e.printStackTrace(); } if (user != null) { result = (User) user; } } finally { if (session.isOpen()) { if (session.isOpen()) { session.disconnect(); session.close(); } } } return result; }
private String getFolio(Almacen almacen) { Query query = currentSession() .createQuery( "select f from Folio f where f.nombre = :nombre and f.almacen.id = :almacenId"); query.setString("nombre", "FACTURA"); query.setLong("almacenId", almacen.getId()); query.setLockOptions(LockOptions.UPGRADE); Folio folio = (Folio) query.uniqueResult(); if (folio == null) { folio = new Folio("FACTURA"); folio.setAlmacen(almacen); currentSession().save(folio); return getFolio(almacen); } folio.setValor(folio.getValor() + 1); java.text.NumberFormat nf = java.text.DecimalFormat.getInstance(); nf.setGroupingUsed(false); nf.setMinimumIntegerDigits(9); nf.setMaximumIntegerDigits(9); nf.setMaximumFractionDigits(0); StringBuilder sb = new StringBuilder(); sb.append("FA-"); sb.append(almacen.getEmpresa().getOrganizacion().getCodigo()); sb.append(almacen.getEmpresa().getCodigo()); sb.append(almacen.getCodigo()); sb.append(nf.format(folio.getValor())); return sb.toString(); }
public int getCountOfSubscribers(int forumId, int userId) { // TODO Auto-generated method stub Session session = this.sessionFactory.openSession(); Transaction tx = null; int countOfSubscribers = 0; try { tx = session.beginTransaction(); Query query = null; if (userId == 0) { query = session.createQuery("select count(*) from Subscription where forumId = :forumId"); query.setParameter("forumId", forumId); } else { query = session.createQuery( "select count(*) from Subscription where forumId = :forumId and userId = :userId"); query.setParameter("forumId", forumId); query.setParameter("userId", userId); } Long count = (Long) query.uniqueResult(); countOfSubscribers = count.intValue(); // System.out.println("No of subscribers.."+countOfSubscribers); } catch (HibernateException e) { if (tx != null) { tx.rollback(); e.printStackTrace(); } } finally { session.close(); } return countOfSubscribers; }
public TbAplicativo daTbAplicativoByFIngreso(Date fIngreso) { sesion = sessionFactory.openSession(); Query query = sesion.getNamedQuery("TbAplicativo.findByFIngreso"); query.setParameter("fIngreso", fIngreso); TbAplicativo tbAplicativo = (TbAplicativo) query.uniqueResult(); sesion.close(); return tbAplicativo; }
public Login findByPasswordResetToken(String token) { Session session = sessionFactory.getCurrentSession(); Query qry = session.createQuery( "from org.openiam.idm.srvc.auth.dto.Login l " + " where l.pswdResetToken = :token "); qry.setString("token", token); return (Login) qry.uniqueResult(); }
public FacturaAlmacen cancelar(Long id, Usuario usuario) throws NoEstaCerradaException, NoSePuedeCancelarException { FacturaAlmacen factura = (FacturaAlmacen) currentSession().get(FacturaAlmacen.class, id); if (factura != null) { if (factura.getEstatus().getNombre().equals(Constantes.CERRADA)) { Query query = currentSession().createQuery("select e from Estatus e where e.nombre = :nombre"); query.setString("nombre", Constantes.CERRADA); Estatus cerrada = (Estatus) query.uniqueResult(); Date fecha = new Date(); for (Entrada entrada : factura.getEntradas()) { entrada.setEstatus(cerrada); entrada.setFechaModificacion(fecha); currentSession().update(entrada); audita(entrada, usuario, Constantes.ACTUALIZAR, fecha); } for (Salida salida : factura.getSalidas()) { salida.setEstatus(cerrada); salida.setFechaModificacion(fecha); currentSession().update(salida); audita(salida, usuario, Constantes.ACTUALIZAR, fecha); } query.setString("nombre", Constantes.CANCELADA); Estatus cancelada = (Estatus) query.uniqueResult(); factura.setFechaModificacion(new Date()); factura.setEstatus(cancelada); currentSession().update(factura); currentSession().flush(); return factura; } else { throw new NoEstaCerradaException( "No se puede actualizar una factura que no este cerrada", factura); } } else { throw new NoSePuedeCancelarException( "No se puede cancelar la factura porque no existe", factura); } }
public Object uniqueResult(final String hql, final Object[] values) throws HibernateException { Query query = getSession().createQuery(hql); if (null != values && values.length > 0) { for (int i = 0; i < values.length; i++) { query.setParameter(i, values[i]); } } Object result = query.uniqueResult(); return result; }
public Long findLinesWithDecimals(Integer itemId) { final String hql = "select count(*)" + " from OrderLineDTO ol " + " where ol.deleted = 0 " + " and ol.item.id= :item and (ol.quantity - cast(ol.quantity as integer)) <> 0"; Query query = getSession().createQuery(hql); query.setParameter("item", itemId); return (Long) query.uniqueResult(); }
public TbAplicativo daTbAplicativoById(String cAplicativo) { sesion = sessionFactory.openSession(); Query query = sesion.getNamedQuery("daTbAplicativoById"); query.setParameter("cAplicativo", cAplicativo); TbAplicativo resultado = (TbAplicativo) query.uniqueResult(); sesion.close(); if (resultado != null) { return resultado; } else return null; }
public Map<String, Object> findByMapWithCond( final Map<String, Object> params, int page, int rows, String order, boolean asc) throws HibernateException { StringBuilder hql = new StringBuilder("from " + className); Query query, countQuery; Long total; Map<String, Object> alterParams = new HashMap<>(); if (null != params && !params.isEmpty()) { hql.append(" where "); for (String field : params.keySet()) { int i = field.indexOf(" "); Assert.isTrue(i != -1, "Wrong condition, must have space inside!"); String ramdonName = "_" + Utils.getRandomString(8); hql.append(field).append(" :").append(ramdonName).append(" and "); alterParams.put(ramdonName, params.get(field)); } hql.append("1=1"); countQuery = getSession().createQuery("SELECT count(*) " + hql.toString()); if (null != order) { hql.append(" order by ").append(order); if (asc) hql.append(" asc"); else hql.append(" desc"); } query = getSession().createQuery(hql.toString()); for (String field : alterParams.keySet()) { query.setParameter(field, alterParams.get(field)); countQuery.setParameter(field, alterParams.get(field)); } } else { countQuery = getSession().createQuery("SELECT count(*) " + hql.toString()); if (null != order) { hql.append(" order by ").append(order); if (asc) hql.append(" asc"); else hql.append(" desc"); } query = getSession().createQuery(hql.toString()); } total = (Long) countQuery.uniqueResult(); if (page > 0 && rows > 0) { query.setFirstResult((page - 1) * rows).setMaxResults(rows); } Map<String, Object> result = new HashMap<String, Object>(); result.put("total", total); result.put("rows", query.list()); return result; }
public FacturaAlmacen crea(FacturaAlmacen factura, Usuario usuario) { Session session = currentSession(); if (usuario != null) { factura.setAlmacen(usuario.getAlmacen()); } Query query = currentSession().createQuery("select e from Estatus e where e.nombre = :nombre"); query.setString("nombre", Constantes.ABIERTA); Estatus estatus = (Estatus) query.uniqueResult(); factura.setEstatus(estatus); factura.setFolio(getFolioTemporal(factura.getAlmacen())); Date fecha = new Date(); factura.setFechaCreacion(fecha); factura.setFechaModificacion(fecha); session.save(factura); audita(factura, usuario, Constantes.CREAR, fecha); session.flush(); return factura; }
public T namedQueryUniqueResult(String namedQuery, Map<String, Object> parameters) { Session session = openSession(true); T result = null; try { Query query = namedQuery(namedQuery); for (Map.Entry<String, Object> entry : parameters.entrySet()) { query.setParameter(entry.getKey(), entry.getValue()); } result = (T) query.uniqueResult(); if (result != null) { result.init(); } commitTransaction(session, true); } catch (Exception e) { rollbackTransaction(session, true); } finally { closeSession(session); } return result; }
public User getUser(String username) { // TODO Auto-generated method stub System.out.println("DbHelper->getUser..."); Session session = sessionFactory.openSession(); Transaction tx = null; User user = new User(); try { tx = session.beginTransaction(); Query query = session.createQuery("from User where emailId = :emailId"); query.setString("emailId", username); user = (User) query.uniqueResult(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); e.printStackTrace(); } } finally { session.close(); } return user; }
public int getSearchCount(String searchQuery, String module, String baseName, String locale) { List<String> values = new ArrayList<String>(); List<NullableType> types = new ArrayList<NullableType>(); StringBuffer queryString = new StringBuffer(""); try { if (searchQuery != null && searchQuery.length() > 0) { queryString.append("(defaultValue like ? OR value like ? OR propertyName = ?)"); values.add("%" + searchQuery + "%"); values.add("%" + searchQuery + "%"); values.add(searchQuery); types.add(Hibernate.STRING); types.add(Hibernate.STRING); types.add(Hibernate.STRING); } if (module != null && module.length() > 0) { if (queryString.length() > 0) { queryString.append(" AND "); } queryString.append("moduleName = ? "); values.add(module); types.add(Hibernate.STRING); } if (baseName != null && baseName.length() > 0) { if (queryString.length() > 0) { queryString.append(" AND "); } queryString.append("baseName = ?"); values.add(baseName); types.add(Hibernate.STRING); } if (locale != null && locale.length() > 0) { if (queryString.length() > 0) { queryString.append(" AND "); } queryString.append("locale = ?"); values.add(locale); types.add(Hibernate.STRING); } if (queryString.length() > 0) { queryString.insert(0, "select count(*) from MessageBundleProperty where "); } else { queryString.insert(0, "select count(*) from MessageBundleProperty"); } Integer count = null; try { Query query = getSession().createQuery(queryString.toString()); query.setParameters(values.toArray(), (Type[]) types.toArray(new Type[types.size()])); count = (Integer) query.uniqueResult(); } catch (HibernateException e) { throw new RuntimeException(e.getMessage(), e); } return count.intValue(); } catch (Exception e) { logger.error("problem searching the message bundle data", e); } return 0; }
@SuppressWarnings("unchecked") public T findFirst(Query query) { query.setFirstResult(0).setMaxResults(1); return (T) query.uniqueResult(); }
public Object uniqueResult(final String hql) throws HibernateException { Query query = getSession().createQuery(hql); Object result = query.uniqueResult(); return result; }