/**
  * Obtiene el proximo numero de direccion de cliente
  *
  * @return Numero de direccion
  */
 public static Long getNextId_direccion() {
   Session session = HibernateUtil.currentSession();
   SQLQuery query =
       (SQLQuery)
           session
               .createSQLQuery("SELECT CLIENTES_DIRECCIONES_WEB_SEQ.nextval FROM DUAL")
               .setCacheable(false);
   return ((BigDecimal) query.uniqueResult()).longValue();
 }
 public static int listLogCount(
     Long id_usuario, Long id_tipo, Long nivel, Date fec_from, Date fec_to) {
   Session session = HibernateUtil.currentSession();
   SQLQuery query =
       (SQLQuery)
           session
               .createSQLQuery(
                   getListQuery(id_usuario, id_tipo, nivel, fec_from, fec_to, true, null, null))
               .setCacheable(false);
   Object result = query.uniqueResult();
   if (result instanceof BigDecimal) return ((BigDecimal) result).intValue();
   else return ((BigInteger) result).intValue();
 }
 /**
  * Obtiene la lista del Log
  *
  * @param id_usuario Id. del usuario
  * @param id_tipo Id. del tipo (APPBS_USUARIOS_LOG_LEGEND)
  * @param nivel Nivel del log
  * @param fec_from Fecha de inicio
  * @param fec_to Fecha final
  * @param start Elemento en el que se comienza
  * @param limit Cantidad de elementos
  * @return Lista de Log
  */
 public static List<APPBS_USUARIOS_LOG> listLog(
     Long id_usuario,
     Long id_tipo,
     Long nivel,
     Date fec_from,
     Date fec_to,
     int start,
     int limit,
     String sort,
     String dir) {
   Session session = HibernateUtil.currentSession();
   SQLQuery query =
       (SQLQuery)
           session
               .createSQLQuery(
                   getListQuery(id_usuario, id_tipo, nivel, fec_from, fec_to, false, sort, dir))
               .setCacheable(false);
   if (start != -1 && limit != -1) {
     query.setFirstResult(start);
     query.setMaxResults(limit);
   }
   List qRes = query.list();
   List<APPBS_USUARIOS_LOG> result = new ArrayList<APPBS_USUARIOS_LOG>();
   for (int i = 0; i < qRes.size(); i++) {
     Object[] item = (Object[]) qRes.get(i);
     APPBS_USUARIOS_LOG uLog = new APPBS_USUARIOS_LOG();
     if (Constants.DB_TYPE == Constants.DB_TYPE_ORACLE) {
       uLog.setId_usuario(((BigDecimal) item[0]).longValue());
       uLog.setNivel(((BigDecimal) item[2]).longValue());
       uLog.setId_tipo(((BigDecimal) item[3]).longValue());
     } else {
       uLog.setId_usuario(((Integer) item[0]).longValue());
       uLog.setNivel(((Integer) item[2]).longValue());
       uLog.setId_tipo(((Integer) item[3]).longValue());
     }
     uLog.setFecha((Timestamp) item[1]);
     uLog.setUsuario((String) item[4]);
     uLog.setDescripcion((String) item[5]);
     uLog.setTexto1((String) item[6]);
     uLog.setTexto2((String) item[7]);
     uLog.setTexto3((String) item[8]);
     uLog.setTexto4((String) item[9]);
     uLog.setTexto5((String) item[10]);
     uLog.setSesion_id((String) item[11]);
     result.add(uLog);
   }
   return result;
 }
 public static Long getNextMobileId_direccion(Long mobile_id, Long id_vendedor) {
   Session session = HibernateUtil.currentSession();
   SQLQuery query =
       (SQLQuery)
           session
               .createSQLQuery(
                   "SELECT MAX(MOBILE_ID_DIRECCION) FROM CLIENTES_DIRECCIONES "
                       + "WHERE MOBILE_ID = :mobile_id AND ID_VENDEDOR = :id_vendedor")
               .setParameter("mobile_id", mobile_id)
               .setParameter("id_vendedor", id_vendedor)
               .setCacheable(false);
   BigDecimal result = (BigDecimal) query.uniqueResult();
   return result == null
           || result.longValue() < com.vincomobile.Constants.FIRST_MOBILE_ID_DIRECCION
       ? com.vincomobile.Constants.FIRST_MOBILE_ID_DIRECCION
       : result.longValue() + 1;
 }
 public static int findCountByFilter(Map<String, String> filter) {
   return findCountByFilter(HibernateUtil.currentSession(), BEAN_NAME, filter);
 }