@Util
  public static void firmarRepresentanteFormFirmaRepresentante(
      Long idSolicitud, Long idRegistroModificacion, Long idRegistro, String firma) {
    SolicitudGenerica solicitud =
        SolicitudPresentarModificacionFAPController.getSolicitudGenerica(idSolicitud);
    idRegistroModificacion =
        solicitud.registroModificacion.get(solicitud.registroModificacion.size() - 1).id;
    RegistroModificacion registroModificacion =
        RegistroModificacion.findById(idRegistroModificacion);
    idRegistro = registroModificacion.registro.id;
    Registro registro =
        SolicitudPresentarModificacionFAPController.getRegistro(idRegistroModificacion, idRegistro);

    play.Logger.info("Metodo: firmarRepresentanteFormFirmaRepresentante");
    Map<String, Long> ids = (Map<String, Long>) tags.TagMapStack.top("idParams");
    Map<String, Object> vars = new HashMap<String, Object>();
    if (secure.checkAcceso("editarFirma", "editar", ids, vars)) {
      if (registro.firmantes.todos == null || registro.firmantes.todos.size() == 0) {
        registro.firmantes.todos = solicitud.solicitante.calcularFirmantes();
        registro.firmantes.save();
      }
      FirmaUtils.firmar(registro.oficial, registro.firmantes.todos, firma, null);
    } else {
      // ERROR
      Messages.error("No tiene permisos suficientes para realizar la acción++");
    }
    if (!Messages.hasErrors()) {
      registro.fasesRegistro.firmada = true;
      registroModificacion.save();
      registro.save();
    }
  }
  @Util
  public static void firmarRegistrarFHFormFirmaFH(
      Long idSolicitud, Long idRegistroModificacion, Long idRegistro, String firma) {
    SolicitudGenerica solicitud =
        SolicitudPresentarModificacionFAPController.getSolicitudGenerica(idSolicitud);
    idRegistroModificacion =
        solicitud.registroModificacion.get(solicitud.registroModificacion.size() - 1).id;
    RegistroModificacion registroModificacion =
        RegistroModificacion.findById(idRegistroModificacion);
    idRegistro = registroModificacion.registro.id;
    Registro registro =
        SolicitudPresentarModificacionFAPController.getRegistro(idRegistroModificacion, idRegistro);

    play.Logger.info("Metodo: firmarRegistrarFHFormFirmaFH");
    Agente agente = AgenteController.getAgente();
    if (agente.getFuncionario()) {
      List<Firmante> firmantes = new ArrayList<Firmante>();
      firmantes.add(new Firmante(agente));
      FirmaUtils.firmar(registro.oficial, firmantes, firma, null);
    } else {
      // ERROR
      Messages.error("No tiene permisos suficientes para realizar la acción");
    }
    if (!Messages.hasErrors()) {

      registro.fasesRegistro.firmada = true;
      registro.save();
    }
  }