/**
  * Elimina un conjunto de usuarios de un grupo
  *
  * @param idGrupo Identificador de grupo
  * @param idUsuario Lista de identificadores de usuario. En caso de ser null se eliminaran todos
  *     los usuarios del grupo
  */
 public void removeGrupoUsuario(String idGrupo, String[] idUsuario) {
   StringBuffer qual =
       new StringBuffer("WHERE ").append(DBUtils.generateEQTokenField(CAMPO_ID_GRUPO, idGrupo));
   if (idUsuario != null)
     qual.append(" AND ").append(DBUtils.generateInTokenField(CAMPO_ID_USUARIO, idUsuario));
   deleteVO(qual.toString(), TABLE_NAME);
 }
  public DocDocumentoVO getDocumentoByIdInterno(String idInterno) {
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID_FICH, idInterno))
            .toString();

    TableDef tablaDocElectronicos = new TableDef(TABLE_NAME);
    JoinDefinition[] joins =
        new JoinDefinition[] {
          new JoinDefinition(
              new DbColumnDef(tablaDocElectronicos, CAMPO_ID_EXT_DEPOSITO),
              new DbColumnDef(
                  new TableDef(DepositoElectronicoDBEntityImpl.TABLE_NAME),
                  DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT)),
        };

    StringBuffer sqlFrom = new StringBuffer();
    sqlFrom.append(DBUtils.generateLeftOuterJoinCondition(tablaDocElectronicos, joins));

    DbColumnDef[] COLS_DEF_QUERY =
        (DbColumnDef[])
            ArrayUtils.concat(
                new DbColumnDef[] {DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE}, COL_DEFS);

    DocDocumentoVO documento =
        (DocDocumentoVO) getVO(qual, sqlFrom.toString(), COLS_DEF_QUERY, DocDocumentoVO.class);
    if (documento != null) documento.setTipoObjeto(TipoObjeto.ELEMENTO_CF);

    return documento;
  }
  private DbColumnDef getColumnaNumHijos(String salasConEquipoInformatico) {
    StringBuffer subQuery = new StringBuffer();
    subQuery
        .append("(")
        .append(DBUtils.SELECT)
        .append(DBUtils.COUNT_ALL)
        .append(DBUtils.FROM)
        .append(MesaDBEntityImpl.TABLE_NAME)
        .append(",")
        .append(SalaDBEntityImpl.TABLE_NAME)
        .append(DBUtils.WHERE)
        .append(
            DBUtils.generateJoinCondition(SalaDBEntityImpl.ID_FIELD, MesaDBEntityImpl.SALA_FIELD))
        .append(DBUtils.AND)
        .append(DBUtils.generateEQTokenField(MesaDBEntityImpl.ESTADO_FIELD, EstadoMesa.LIBRE));
    if (StringUtils.isNotEmpty(salasConEquipoInformatico)) {
      subQuery
          .append(DBUtils.AND)
          .append(
              DBUtils.generateEQTokenField(
                  SalaDBEntityImpl.EQUIPOINFORMATICO_FIELD, salasConEquipoInformatico));
    }
    subQuery
        .append(DBUtils.AND)
        .append(DBUtils.generateJoinCondition(SalaDBEntityImpl.EDIFICIO_FIELD, ID_FIELD))
        .append(")");

    DbColumnDef columnaNumHijos =
        new DbColumnDef("NumHijos", subQuery.toString(), DbDataType.SHORT_INTEGER);
    return columnaNumHijos;
  }
  /**
   * Obtiene la lista de documentos electrónicos de un elemento del cuadro de clasificación.
   *
   * @param idElementoCF Identificador del elemento del cuadro de clasificación.
   * @param idClfPadre Identificador del clasificador padre.
   * @param estados Lista de estados de los documentos.
   * @return Listas de documentos electrónicos.
   */
  public List getDocumentos(String idElementoCF, String idClfPadre, int[] estados) {

    // HashMap pairs = new HashMap();
    // pairs.put(TABLE_NAME,COL_DEFS);
    // pairs.put(DepositoElectronicoDBEntityImpl.TABLE_NAME,
    // new DbColumnDef [] {
    // new DbColumnDef("nombreDeposito",
    // DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE) });
    // TODO ZMIGRACION BD - OUTER JOIN (PROBADO
    StringBuffer qual = new StringBuffer().append(" WHERE ");
    // .append(DBUtils.generateOuterJoinCondition(
    // DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT,
    // CAMPO_ID_EXT_DEPOSITO))
    // .append(" AND ");

    if (StringUtils.isNotBlank(idElementoCF))
      qual.append(DBUtils.generateEQTokenField(CAMPO_ID_ELEMENTO_CF, idElementoCF)).append(" AND ");

    qual.append(DBUtils.generateEQTokenField(CAMPO_ID_CLF_PADRE, idClfPadre));

    if ((estados != null) && (estados.length > 0))
      qual.append(" AND ").append(DBUtils.generateInTokenField(CAMPO_ESTADO, estados));

    qual.append(" ORDER BY ").append(CAMPO_NOMBRE.getQualifiedName());

    TableDef tablaDocElectronicos = new TableDef(TABLE_NAME);
    JoinDefinition[] joins =
        new JoinDefinition[] {
          new JoinDefinition(
              new DbColumnDef(tablaDocElectronicos, CAMPO_ID_EXT_DEPOSITO),
              new DbColumnDef(
                  new TableDef(DepositoElectronicoDBEntityImpl.TABLE_NAME),
                  DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT)),
        };

    StringBuffer sqlFrom = new StringBuffer();
    sqlFrom.append(DBUtils.generateLeftOuterJoinCondition(tablaDocElectronicos, joins));

    DbColumnDef[] COLS_DEF_QUERY =
        (DbColumnDef[])
            ArrayUtils.concat(
                new DbColumnDef[] {DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE}, COL_DEFS);

    // List documentos = getVOS(qual.toString(), pairs,
    // DocDocumentoVO.class);
    List documentos =
        getVOS(qual.toString(), sqlFrom.toString(), COLS_DEF_QUERY, DocDocumentoVO.class);
    for (int i = 0; i < documentos.size(); i++)
      ((DocDocumentoVO) documentos.get(i)).setTipoObjeto(TipoObjeto.ELEMENTO_CF);

    return documentos;
  }
  /*
   * (non-Javadoc)
   *
   * @see docelectronicos.db.IDocDocumentoCFDBEntity#update(java.lang.String,
   * int[], int)
   */
  public void update(String idObj, int[] estadosAActualizar, int nuevoEstado) {
    StringBuffer qual = new StringBuffer().append(" WHERE ");

    if (StringUtils.isNotBlank(idObj))
      qual.append(DBUtils.generateEQTokenField(CAMPO_ID_ELEMENTO_CF, idObj));

    if ((estadosAActualizar != null) && (estadosAActualizar.length > 0))
      qual.append(" AND ").append(DBUtils.generateInTokenField(CAMPO_ESTADO, estadosAActualizar));

    HashMap colToUpdate = new HashMap();
    colToUpdate.put(CAMPO_ESTADO, new Integer(nuevoEstado));
    updateFields(qual.toString(), colToUpdate, TABLE_NAME);
  }
  /**
   * {@inheritDoc}
   *
   * @see docelectronicos.db.IDocDocumentoCFDBEntity#updateIdElementocf(java.lang.String,
   *     java.lang.String, java.lang.String[])
   */
  public void updateIdElementocf(
      String idElementocfAntiguo, String idElementoCfNuevo, String[] idsInternosDocumentos) {

    StringBuilder qual =
        new StringBuilder(DBUtils.WHERE)
            .append(DBUtils.generateEQTokenField(CAMPO_ID_ELEMENTO_CF, idElementocfAntiguo))
            .append(DBUtils.AND)
            .append(DBUtils.generateInTokenField(CAMPO_ID, idsInternosDocumentos));

    HashMap colToUpdate = new HashMap();
    colToUpdate.put(CAMPO_ID_ELEMENTO_CF, idElementoCfNuevo);
    updateFields(qual.toString(), colToUpdate, TABLE_NAME);
  }
 /**
  * Obtiene los usuarios que pertenecen a un grupo
  *
  * @param idGrupo Identificador de grupo
  * @return Lista de usuarios {@link gcontrol.vos.UsuarioVO}
  */
 public List getUsuariosGrupo(String idGrupo) {
   StringBuffer qual =
       new StringBuffer("WHERE ")
           .append(DBUtils.generateEQTokenField(CAMPO_ID_GRUPO, idGrupo))
           .append(" AND ")
           .append(DBUtils.generateJoinCondition(CAMPO_ID_USUARIO, UsuarioDBEntityImpl.CAMPO_ID));
   String[] queryTables = {TABLE_NAME, UsuarioDBEntityImpl.TABLE_NAME};
   return getVOS(
       qual.toString(),
       ArrayUtils.join(queryTables, ","),
       UsuarioDBEntityImpl.COL_DEFS,
       UsuarioVO.class);
 }
  /**
   * Obtiene la lista de documentos electrónicos de un elemento del cuadro de clasificación.
   *
   * @param idElementoCF Identificador del elemento del cuadro de clasificación.
   * @param idClfPadre Identificador del clasificador padre.
   * @return Listas de documentos electrónicos.
   */
  public int getCountDocumentosByIdClfPadre(String idElementoCF, String idClfPadre) {
    int ret = 0;

    StringBuffer qual = new StringBuffer().append(" WHERE ");

    if (StringUtils.isNotBlank(idElementoCF))
      qual.append(DBUtils.generateEQTokenField(CAMPO_ID_ELEMENTO_CF, idElementoCF)).append(" AND ");

    qual.append(DBUtils.generateEQTokenField(CAMPO_ID_CLF_PADRE, idClfPadre));

    ret = getVOCount(qual.toString(), TABLE_NAME);

    return ret;
  }
  /**
   * Obtiene un Map cuyas claves son los ids de elementos del cuadro y sus valores la lista de
   * identificadores de documentos electrónicos asociados a una lista de elementos del cuadro de
   * clasificación.
   *
   * @param idsElementosCF Identificador de la lista de ids de elementos del cuadro de
   *     clasificación.
   * @return Listas de identificadores de documentos electrónicos.
   */
  public Map getDocumentos(List idsElementosCF) {
    Map idsDocumentos = new HashMap();

    StringBuffer qual =
        new StringBuffer()
            .append(" WHERE ")
            .append(DBUtils.generateInTokenField(CAMPO_ID_ELEMENTO_CF, idsElementosCF));

    TableDef tablaDocElectronicos = new TableDef(TABLE_NAME);

    StringBuffer sqlFrom = new StringBuffer().append(tablaDocElectronicos.getDeclaration());

    DbColumnDef[] COLS_DEF_QUERY = new DbColumnDef[] {CAMPO_ID_ELEMENTO_CF, CAMPO_ID_FICH};

    List documentos =
        getVOS(qual.toString(), sqlFrom.toString(), COLS_DEF_QUERY, DocDocumentoVO.class);

    for (int i = 0; i < documentos.size(); i++) {
      DocDocumentoVO documento = ((DocDocumentoVO) documentos.get(i));

      Object obj = idsDocumentos.get(documento.getIdObjeto());
      ArrayList elem = null;
      if (obj != null) elem = (ArrayList) obj;
      else elem = new ArrayList();

      elem.add(documento.getIdFich());
      idsDocumentos.put(documento.getIdObjeto(), elem);
    }

    return idsDocumentos;
  }
  /**
   * Obtiene la lista de documentos electrónicos de un elemento del cuadro de clasificación.
   *
   * @param idElementoCF Identificador del elemento del cuadro de clasificación.
   * @return Listas de documentos electrónicos.
   */
  public List getDocumentos(String idElementoCF) {
    // HashMap pairs = new HashMap();
    // pairs.put(TABLE_NAME,COL_DEFS);
    // pairs.put(DepositoElectronicoDBEntityImpl.TABLE_NAME,
    // new DbColumnDef [] {
    // new DbColumnDef("nombreDeposito",
    // DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE) });
    // TODO ZMIGRACION BD - OUTER JOIN (SIN PROBAR - HAY QUE TESTEARLO CON
    // EL PROCESO BATCH DE BORRAR U.DOC. NO DEVUELTAS ... ¿IMPLEMENTADO?
    StringBuffer qual =
        new StringBuffer()
            .append(" WHERE ")
            // .append(DBUtils.generateOuterJoinCondition(DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT,
            // CAMPO_ID_EXT_DEPOSITO))
            // .append(" AND ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID_ELEMENTO_CF, idElementoCF));

    TableDef tablaDocElectronicos = new TableDef(TABLE_NAME);
    JoinDefinition[] joins =
        new JoinDefinition[] {
          new JoinDefinition(
              new DbColumnDef(tablaDocElectronicos, CAMPO_ID_EXT_DEPOSITO),
              new DbColumnDef(
                  new TableDef(DepositoElectronicoDBEntityImpl.TABLE_NAME),
                  DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT)),
        };

    StringBuffer sqlFrom = new StringBuffer();
    sqlFrom.append(DBUtils.generateLeftOuterJoinCondition(tablaDocElectronicos, joins));

    DbColumnDef[] COLS_DEF_QUERY =
        (DbColumnDef[])
            ArrayUtils.concat(
                new DbColumnDef[] {DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE}, COL_DEFS);

    List documentos =
        getVOS(qual.toString(), sqlFrom.toString(), COLS_DEF_QUERY, DocDocumentoVO.class);
    //
    // List documentos = getVOS(qual.toString(), pairs,
    // DocDocumentoVO.class);
    for (int i = 0; i < documentos.size(); i++)
      ((DocDocumentoVO) documentos.get(i)).setTipoObjeto(TipoObjeto.ELEMENTO_CF);

    return documentos;
  }
  /**
   * Elimina un documento electrónico.
   *
   * @param id Identificador del documento electrónico.
   */
  public void deleteDocumento(String id) {
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID, id))
            .toString();

    deleteVO(qual, TABLE_NAME);
  }
  /**
   * Elimina los documentos de un elemento del cuadro de clasificación.
   *
   * @param idElementoCF Identificador del elemento del cuadro de clasificación.
   */
  public void deleteDocumentos(String idElementoCF) {
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID_ELEMENTO_CF, idElementoCF))
            .toString();

    deleteVO(qual, TABLE_NAME);
  }
  /**
   * Obtiene el número de documentos almacenados en un depósito electrónico.
   *
   * @param idExtDeposito Identificador externo del depósito electrónico.
   * @return Número de documentos.
   */
  public int getCountDocumentosByIdExtDeposito(String idExtDeposito) {
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID_EXT_DEPOSITO, idExtDeposito))
            .toString();

    return getVOCount(qual, TABLE_NAME);
  }
  private String getQualByIdsArchivo(String[] idsArchivo) {
    StringBuffer qual = new StringBuffer();

    if (ArrayUtils.isNotEmpty(idsArchivo)) {
      qual.append(DBUtils.WHERE).append(DBUtils.generateORTokens(IDARCHIVO_FIELD, idsArchivo));
    }

    return qual.toString();
  }
  /**
   * Modifica un documento electrónico.
   *
   * @param documento Documento electrónico.
   */
  public void updateDocumento(DocDocumentoVO documento) {
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID, documento.getId()))
            .toString();

    updateVO(qual, TABLE_NAME, COL_DEFS, documento);
  }
  /**
   * Obtiene el documento electrónico.
   *
   * @param id Identificador del documento electrónico.
   * @return Documento electrónico.
   */
  public DocDocumentoVO getDocumento(String id) {
    // HashMap pairs = new HashMap();
    // pairs.put(TABLE_NAME,COL_DEFS);
    // pairs.put(DepositoElectronicoDBEntityImpl.TABLE_NAME,
    // new DbColumnDef [] {
    // new DbColumnDef("nombreDeposito",
    // DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE) });
    // TODO ZMIGRACION BD - OUTER JOIN (PROBADO
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            // .append(DBUtils.generateOuterJoinCondition(DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT,
            // CAMPO_ID_EXT_DEPOSITO))
            // .append(" AND ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID, id))
            .toString();

    TableDef tablaDocElectronicos = new TableDef(TABLE_NAME);
    JoinDefinition[] joins =
        new JoinDefinition[] {
          new JoinDefinition(
              new DbColumnDef(tablaDocElectronicos, CAMPO_ID_EXT_DEPOSITO),
              new DbColumnDef(
                  new TableDef(DepositoElectronicoDBEntityImpl.TABLE_NAME),
                  DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT)),
        };

    StringBuffer sqlFrom = new StringBuffer();
    sqlFrom.append(DBUtils.generateLeftOuterJoinCondition(tablaDocElectronicos, joins));

    DbColumnDef[] COLS_DEF_QUERY =
        (DbColumnDef[])
            ArrayUtils.concat(
                new DbColumnDef[] {DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE}, COL_DEFS);

    DocDocumentoVO documento =
        (DocDocumentoVO) getVO(qual, sqlFrom.toString(), COLS_DEF_QUERY, DocDocumentoVO.class);

    // DocDocumentoVO documento = (DocDocumentoVO) getVO(qual, pairs,
    // DocDocumentoVO.class);
    if (documento != null) documento.setTipoObjeto(TipoObjeto.ELEMENTO_CF);

    return documento;
  }
Example #17
0
  public static long selectMinString(DbConnection conn, String tblName, String colName, String qual)
      throws Exception {
    long val = 0;
    DbSelectStatement stmt = null;
    String stmtText;
    try {
      stmt = new DbSelectStatement();
      if (qual == null)
        stmtText =
            "SELECT MIN("
                + DBUtils.getNativeToNumberSyntax(conn, colName, 16)
                + ") AS "
                + colName
                + " FROM "
                + tblName;
      else
        stmtText =
            "SELECT MIN("
                + DBUtils.getNativeToNumberSyntax(conn, colName, 16)
                + ") AS "
                + colName
                + " FROM "
                + tblName
                + " "
                + qual;

      stmt.create(conn, stmtText);
      stmt.execute();

      if (stmt.next()) {
        val = stmt.getLong(1);
        stmt.release();
      }
      stmt.release();
      if (val == DbDataType.NULL_SHORT_INTEGER) val = 0;
      return val;
    } catch (Exception e) {
      DbSelectStatement.ensureRelease(stmt, e);
      throw e;
    }
  }
  public static String getCountSQL(DbColumnDef columna, String nombreColumna) {
    /*
     * SELECT COUNT(1) FROM adocdocumentocf adocdocumentocf WHERE
     * ELEMENTOCF.id=adocdocumentocf.idelementocf
     */

    StringBuffer sql =
        new StringBuffer(DBUtils.ABRIR_PARENTESIS)
            .append(DBUtils.SELECT)
            .append(DBUtils.getCountDefault())
            .append(DBUtils.FROM)
            .append(new TableDef(TABLE_NAME).getDeclaration())
            .append(DBUtils.WHERE)
            .append(DBUtils.generateEQTokenField1(columna, CAMPO_ID_ELEMENTO_CF))
            .append(DBUtils.CERRAR_PARENTESIS)
            .append(Constants.STRING_SPACE)
        // .append(nombreColumna)
        ;

    return sql.toString();
  }
  /**
   * Obtiene los grupos del usuario.
   *
   * @param idUsuario Identificador del usuario.
   * @return Grupos del usuario.
   */
  public List getGruposUsuario(String idUsuario) {
    StringBuffer qual =
        new StringBuffer()
            .append("WHERE ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID_USUARIO, idUsuario))
            .append(" AND ")
            .append(
                DBUtils.generateJoinCondition(
                    TABLE_NAME,
                    CAMPO_ID_GRUPO,
                    GrupoDBEntityImpl.TABLE_NAME,
                    GrupoDBEntityImpl.CAMPO_ID))
            .append(" ORDER BY ")
            .append(GrupoDBEntityImpl.CAMPO_NOMBRE.getName());

    HashMap pairsTableNameColsDefs = new HashMap();
    pairsTableNameColsDefs.put(TABLE_NAME, new DbColumnDef[0]);
    pairsTableNameColsDefs.put(GrupoDBEntityImpl.TABLE_NAME, GrupoDBEntityImpl.COL_DEFS);

    return getVOS(qual.toString(), pairsTableNameColsDefs, GrupoVO.class);
  }
  private String getQualByEdificioArchivoEquipoInformatico(
      String idEdificio, String idArchivo, String equipoInformatico) {
    StringBuffer qual =
        new StringBuffer(DBUtils.WHERE).append(DBUtils.generateEQTokenField(ID_FIELD, idEdificio));
    if (StringUtils.isNotEmpty(equipoInformatico)) {
      qual.append(DBUtils.AND)
          .append(
              DBUtils.generateEQTokenField(
                  SalaDBEntityImpl.EQUIPOINFORMATICO_FIELD, equipoInformatico));
    }
    qual.append(DBUtils.AND)
        .append(DBUtils.generateEQTokenField(IDARCHIVO_FIELD, idArchivo))
        .append(DBUtils.AND)
        .append(DBUtils.generateEQTokenField(MesaDBEntityImpl.ESTADO_FIELD, EstadoMesa.LIBRE))
        .append(DBUtils.ORDER_BY)
        .append(MesaDBEntityImpl.SALA_FIELD)
        .append(Constants.COMMA)
        .append(MesaDBEntityImpl.NUMORDEN_FIELD);

    return qual.toString();
  }
  private String getJoinConditionMesasLibres() {
    JoinDefinition joinEdificio = new JoinDefinition(ID_FIELD, SalaDBEntityImpl.EDIFICIO_FIELD);
    JoinDefinition joinMesa =
        new JoinDefinition(SalaDBEntityImpl.ID_FIELD, MesaDBEntityImpl.SALA_FIELD);
    StringBuffer fromSql =
        new StringBuffer()
            .append(
                DBUtils.generateLeftOuterJoinCondition(
                    new TableDef(TABLE_NAME), new JoinDefinition[] {joinEdificio, joinMesa}));

    return fromSql.toString();
  }
  private String getJoinCondition() {
    /*
     * SELECT ASGSEDIFICIO.*, AGARCHIVO.NOMBRE FROM ASGSEDIFICIO LEFT OUTER
     * JOIN AGARCHIVO ON AGARCHIVO.ID = ASGSEDIFICIO.IDARCHIVO;
     */
    JoinDefinition join = new JoinDefinition(IDARCHIVO_FIELD, ArchivoDbEntityImpl.ID_FIELD);
    StringBuffer fromSql =
        new StringBuffer()
            .append(
                DBUtils.generateLeftOuterJoinCondition(
                    new TableDef(TABLE_NAME), new JoinDefinition[] {join}));

    return fromSql.toString();
  }
  private String getQualByNumHijos(String idArchivo) {
    /*
     * SELECT ASGSEDIFICIO.ID, ASGSEDIFICIO.NOMBRE, (SELECT COUNT(*) FROM
     * ASGSMESA ASGSMESA,ASGSSALA ASGSSALA WHERE ASGSMESA.IDSALA =
     * ASGSSALA.ID AND ASGSMESA.ESTADO='L' AND
     * ASGSSALA.EQUIPOINFORMATICO='equipoInformatico' AND
     * ASGSSALA.IDEDIFICIO = ASGSEDIFICIO.ID ) HIJOSEDIFICIO FROM
     * ASGSEDIFICIO ASGSEDIFICIO WHERE ASGSEDIFICIO.IDARCHIVO='idArchivo'
     * GROUP BY ASGSEDIFICIO.ID, ASGSEDIFICIO.NOMBRE ORDER BY
     * ASGSEDIFICIO.NOMBRE
     */
    StringBuffer qual =
        new StringBuffer(DBUtils.WHERE)
            .append(DBUtils.generateEQTokenField(IDARCHIVO_FIELD, idArchivo))
            .append(DBUtils.GROUPBY)
            .append(ID_FIELD.getQualifiedName())
            .append(", ")
            .append(NOMBRE_FIELD.getQualifiedName());

    return qual.toString();
  }
 /**
  * Cuenta el número de documentos asociados a un elemento del cuadro de clasificación
  *
  * @param idElementoCF Identificador de elemento del cuadro de clasificación
  * @return Número de documentos asociados al elemento
  */
 public int countNumDocumentos(String idElementoCF) {
   StringBuffer qual =
       new StringBuffer("WHERE ")
           .append(DBUtils.generateEQTokenField(CAMPO_ID_ELEMENTO_CF, idElementoCF));
   return getVOCount(qual.toString(), TABLE_NAME);
 }
  private String getQualById(String idEdificio) {
    StringBuffer qual =
        new StringBuffer(DBUtils.WHERE).append(DBUtils.generateEQTokenField(ID_FIELD, idEdificio));

    return qual.toString();
  }
  private String getQualByNombre(String nombre) {
    StringBuffer qual =
        new StringBuffer(DBUtils.WHERE).append(DBUtils.generateEQTokenField(NOMBRE_FIELD, nombre));

    return qual.toString();
  }
 private String getDefaultOrderBy() {
   return DBUtils.generateOrderBy(NOMBRE_FIELD);
 }