public static void tablatablaFirmantesEspera(Long idRegistro) {

    Map<String, Long> ids = (Map<String, Long>) tags.TagMapStack.top("idParams");
    SolicitudGenerica dbSolicitud =
        SolicitudPresentarModificacionFAPController.getSolicitudGenerica(ids.get("idSolicitud"));
    Long idRegistroModificacion =
        dbSolicitud.registroModificacion.get(dbSolicitud.registroModificacion.size() - 1).id;
    RegistroModificacion registroModificacion =
        RegistroModificacion.findById(idRegistroModificacion);
    idRegistro = registroModificacion.registro.id;

    java.util.List<Firmante> rows =
        Firmante.find(
                "select firmante from Registro registro join registro.firmantes.todos firmante where registro.id=? and firmante.tipo=? and firmante.fechaFirma is not null",
                idRegistro,
                "representante")
            .fetch();

    List<Firmante> rowsFiltered = rows; // Tabla sin permisos, no filtra

    tables.TableRenderResponse<Firmante> response =
        new tables.TableRenderResponse<Firmante>(
            rowsFiltered, false, false, false, "", "", "", getAccion(), ids);

    renderJSON(response.toJSON("idvalor", "nombre", "id"));
  }
  public static void tabladocumentosAccesiblesEvaluador(Long idSolicitud, Long idEvaluacion) {

    java.util.List<Documento> rows = new ArrayList<Documento>();
    Evaluacion evaluacion = Evaluacion.findById(idEvaluacion);
    if (TipoDocumentoAccesible.count() > 0) {
      List<TipoDocumentoAccesible> tiposDocumentosAccesibles = TipoDocumentoAccesible.findAll();
      boolean encontrado;
      SolicitudGenerica dbSolicitud = SolicitudGenerica.findById(idSolicitud);
      List<Documento> documentosAportados =
          (List<Documento>)
              ModelUtils.invokeMethodClassStatic(
                  BaremacionFAP.class, "getDocumentosAccesibles", idSolicitud, idEvaluacion);
      for (TipoDocumentoAccesible tipo : tiposDocumentosAccesibles) {
        encontrado = false;
        for (int i = dbSolicitud.verificaciones.size() - 1; i >= 0; i--) {
          for (VerificacionDocumento documento : dbSolicitud.verificaciones.get(i).documentos) {
            if ((ObligatoriedadDocumentosFap.eliminarVersionUri(documento.uriTipoDocumento)
                    .equals(ObligatoriedadDocumentosFap.eliminarVersionUri(tipo.uri)))
                && (documento.estadoDocumentoVerificacion.equals(
                    EstadosDocumentoVerificacionEnum.valido.name()))) {
              if (documentosAportados != null) {
                for (Documento doc : documentosAportados) {
                  if ((doc.uri != null) && (doc.uri.equals(documento.uriDocumento))) {
                    rows.add(doc);
                    encontrado = true;
                    // break;
                  }
                }
              } else {
                play.Logger.error(
                    "No existe ningun documento en la lista de documentos Accesibles para buscar los del tipo requerido en la Evaluación.");
              }
              // break;
            }
          }
          //					if (encontrado)
          //						break;
        }
      }
    }
    // Siempre se añade el documento solicitud evaluación
    if (evaluacion.solicitudEnEvaluacion.uri != null) rows.add(evaluacion.solicitudEnEvaluacion);

    Map<String, Long> ids = (Map<String, Long>) tags.TagMapStack.top("idParams");
    List<Documento> rowsFiltered = rows; // Tabla sin permisos, no filtra

    tables.TableRenderResponse<Documento> response =
        new tables.TableRenderResponse<Documento>(
            rowsFiltered, false, false, false, "", "", "", "editar", ids);

    renderJSON(response.toJSON("fechaRegistro", "descripcionVisible", "tipo", "urlDescarga", "id"));
  }