示例#1
0
  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");
    }
  }
示例#2
0
  @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;
  }
示例#3
0
  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;
  }
示例#4
0
 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();
 }
示例#5
0
  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;
 }
示例#7
0
  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();
  }
示例#8
0
  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);
    }
  }
示例#9
0
 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;
 }
示例#10
0
  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;
  }
示例#12
0
  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;
  }
示例#13
0
  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;
  }
示例#14
0
 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;
 }
示例#15
0
 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;
  }
示例#17
0
 @SuppressWarnings("unchecked")
 public T findFirst(Query query) {
   query.setFirstResult(0).setMaxResults(1);
   return (T) query.uniqueResult();
 }
示例#18
0
  public Object uniqueResult(final String hql) throws HibernateException {

    Query query = getSession().createQuery(hql);
    Object result = query.uniqueResult();
    return result;
  }