public DatosTabulares procesaOrdenesExcel(
     final List ordenes,
     final String formatoFecha,
     final String fileName,
     final SantanderSecurityContext sc)
     throws Exception {
   Iterator iteraOrdenes = null;
   CargaMasivaVO cargaVO = null;
   String orden = null;
   List ordenesProcesadas = new ArrayList();
   DatosTabulares dt = null;
   CargaMasivaJson cargaJson = null;
   BigDecimal seq = cargaMasivaDAO.obtenSecuenciaCarga();
   if (ordenes != null && ordenes.size() > 0) {
     iteraOrdenes = ordenes.iterator();
     while (iteraOrdenes.hasNext()) {
       cargaVO = new CargaMasivaVO();
       cargaJson = (CargaMasivaJson) iteraOrdenes.next();
       this.populaBeanProcesar(cargaVO, cargaJson, formatoFecha);
       try {
         log.info(
             "Bean a procesar:|" + cargaJson.getOrigqty() + "|:|" + cargaJson.getProcesar() + "|");
         if (cargaJson.getProcesar().equals("T")) {
           orden = preadminDAO.procesaCapitales(cargaVO);
           cargaVO.setOrdenOpics(orden);
           this.populaBeanProcesado(cargaVO, cargaJson, true);
           cargaMasivaDAO.generaHistoricoCEIQ(seq, cargaVO, fileName);
           getBitacoraService()
               .registraCapitales(
                   orden.trim(),
                   cargaVO.getBranchId(),
                   FCBitacoraService.TIPO_TX_CAPITALES,
                   cargaVO.getEjecucion(),
                   cargaVO.getFolio(),
                   new HashMap(),
                   FCBitacoraService.MODO_NUEVA_OPERACION,
                   sc);
           ordenesProcesadas.add(cargaVO);
         } else {
           // Hacer lo mismo para las que no se genera.
           this.populaBeanProcesado(cargaVO, cargaJson, false);
           cargaMasivaDAO.generaHistoricoCEIQ(seq, cargaVO, fileName);
           if (cargaVO.isRechazadaUsuario()) {
             ordenesProcesadas.add(cargaVO);
           }
         }
       } catch (Exception e) {
         try {
           log.info("ERROR AL PROCESAR CARGA MASIVA:|" + e.toString() + "|");
           String[] error = e.toString().split("-");
           if (error.length > 1) {
             Integer.parseInt(error[1]);
             log.info("Existe una excepcion try al generar CEIQ:|" + error[1] + "|");
             cargaVO.setResult(new BigDecimal("-" + error[1]));
             cargaVO.setErrMsg(getMsgErrorCache().evaluaMensaje("-" + error[1]));
           } else {
             Integer.parseInt(e.toString());
           }
         } catch (NumberFormatException nfe) {
           log.info("Existe una excepcion catch al generar CEIQ:|" + e + "|");
           cargaVO.setResult(new BigDecimal(-1));
           cargaVO.setErrMsg(getMsgErrorCache().evaluaMensaje(ErrorKeys.ERR_BASE_DATOS));
         }
         this.populaBeanProcesado(cargaVO, cargaJson, false);
         cargaMasivaDAO.generaHistoricoCEIQ(seq, cargaVO, fileName);
         ordenesProcesadas.add(cargaVO);
         // throw e;
       }
     }
     dt = new DatosTabularesDeLista(ordenesProcesadas, parametrosValidacion());
   }
   return dt;
 }
  /**
   * Método que obtiene la consulta de la tabla CEIQ.
   *
   * @param cargaVO Los parametros de la consulta.
   * @param opcionesConsulta Las opciones de ordenamiento.
   * @return DatosTabularesPaginados Regresa una lista paginada de los datos obtenidos en la
   *     consulta.
   * @throws Exception En caso que ocurra un error.
   */
  public final DatosTabularesPaginados consultaCargaMasiva(
      final CargaMasivaVO cargaVO, final OpcionesConsulta opcionesConsulta) throws Exception {

    DatosTabularesPaginados datos = cargaMasivaDAO.consultaCargaMasiva(cargaVO, opcionesConsulta);
    return datos;
  }