/**
  * Metodo encargado de validar las ordenes contenidas en el archivo de excel proporcionado por la
  * carga masiva a traves del store SPP_VALIDA_EQUITIES y regresa la respuesta en DatosTabulares.
  *
  * @param ordenes Lista de ordenes a validar.
  * @return DatosTabulares resultado de la validacion.
  * @throws Exception Arroja una excepcion si ocurre un error.
  */
 public DatosTabulares validaOrdenesExcel(final List ordenes, final String formatoFecha)
     throws Exception {
   Iterator iteraOrdenes = null;
   ValidaCapitalesVO validaCapVO = null;
   CargaMasivaVO cargaVO = null;
   List ordenesValidadas = new ArrayList();
   DatosTabulares dt = null;
   ProcesaCapitalesVO procesaVO;
   if (ordenes != null && ordenes.size() > 0) {
     iteraOrdenes = ordenes.iterator();
     while (iteraOrdenes.hasNext()) {
       validaCapVO = (ValidaCapitalesVO) iteraOrdenes.next();
       // Valida antes de ejecutar SPP_VALIDA_EQUITIES
       this.validaValores(validaCapVO);
       if (validaCapVO.getMsgError() == null) {
         procesaVO = preadminDAO.validaCapitales(validaCapVO);
         cargaVO = new CargaMasivaVO(procesaVO);
       } else {
         cargaVO = new CargaMasivaVO();
         cargaVO.setResult(new BigDecimal(-1));
         cargaVO.setErrMsg(validaCapVO.getMsgError());
       }
       // Agrega la informacion extra que se necesita mostrar
       this.populaBeanValidar(cargaVO, validaCapVO);
       if (cargaVO.getPrice() != null && cargaVO.getOrigQty() != null) {
         cargaVO.setExtPrice(cargaVO.getPrice().multiply(cargaVO.getOrigQty()));
       }
       ordenesValidadas.add(cargaVO);
       if (esPico) {
         CargaMasivaVO tmp = new CargaMasivaVO(cargaVO);
         log.info("Fecha branch antes de pico:|" + tmp.getBrDateFront() + "|");
         this.agregaOperacionPico(validaCapVO, tmp);
         log.info("Fecha branch despues de pico:|" + tmp.getBrDateFront() + "|");
         tmp.setOrigQty(tmp.getRemQty());
         tmp.setPl("P");
         if (tmp.getPrice() != null) {
           tmp.setExtPrice(tmp.getPrice().multiply(tmp.getOrigQty()));
         }
         log.info("Fecha a mostrarse antes:|" + tmp.getBrDateFront() + "|");
         ordenesValidadas.add(tmp);
       }
     }
   }
   if (ordenesValidadas.size() > 0) {
     dt =
         new DatosTabularesDeLista(
             ordenesValidadas, parametrosValidacion() + "," + getParametrosExtras());
   }
   return dt;
 }
 /**
  * Metodo encargado de poblar el bean que sera procesado por el store SPP_PROCESA_EQUITIES.
  *
  * @param procesaVO Bean a poblar
  * @param cargaJson Bean con la informacion origen
  * @throws Exception Arroja una excepcion si ocurre un error
  */
 private void populaBeanProcesar(
     final CargaMasivaVO cargaVO, final CargaMasivaJson cargaJson, final String formatoFecha)
     throws Exception {
   cargaVO.setBranchId(cargaJson.getBranchId());
   cargaVO.setAccount(cargaJson.getAccount());
   cargaVO.setCno(cargaJson.getCno());
   cargaVO.setTrad(cargaJson.getTrad());
   cargaVO.setOper(cargaJson.getOper());
   cargaVO.setPs(cargaJson.getPs());
   cargaVO.setCcy(cargaJson.getCcy());
   cargaVO.setOrigQty(preadminService.toBigDecimal(cargaJson.getOrigqty()));
   cargaVO.setSecid(cargaJson.getSecid());
   cargaVO.setCouponNo(cargaJson.getCouponNo());
   cargaVO.setSeries(cargaJson.getSeries());
   cargaVO.setSymbolid(cargaJson.getSymbolid());
   cargaVO.setOrderType(cargaJson.getOrderType());
   cargaVO.setBrPrcinpDate(preadminService.toDate(cargaJson.getBrPrcinpDate(), formatoFecha));
   cargaVO.setDealDate(preadminService.toDate(cargaJson.getDealDate(), formatoFecha));
   cargaVO.setHoraIni(cargaJson.getHoraIni());
   cargaVO.setHoraFin(cargaJson.getHoraFin());
   cargaVO.setPrice(preadminService.toBigDecimal(cargaJson.getPrice()));
   cargaVO.setExtPrice(
       preadminService.toBigDecimal(
           Double.toString(Formateador.dobleSeguro(cargaJson.getExtPrice()))));
   cargaVO.setCommAmt(preadminService.toBigDecimal(cargaJson.getCommAmt()));
   cargaVO.setVatAmt(preadminService.toBigDecimal(cargaJson.getVatAmt()));
   cargaVO.setCommRate(preadminService.toBigDecimal(cargaJson.getCommRate()));
   cargaVO.setVatRate(preadminService.toBigDecimal(cargaJson.getVatRate()));
   cargaVO.setShortPosInd(cargaJson.getShortPosInd());
   cargaVO.setSettDays(cargaJson.getSettDays());
   cargaVO.setPropInd(cargaJson.getPropInd());
   cargaVO.setLotInd(cargaJson.getLotInd());
   cargaVO.setTriggerPrice(preadminService.toBigDecimal(cargaJson.getTriggerPrice()));
   cargaVO.setExpirTerm(preadminService.toBigDecimal(cargaJson.getExpirTerm()));
   if (cargaJson.getPriceInd().equals("L")) {
     cargaVO.setPriceLimit(1);
   } else {
     cargaVO.setPriceLimit(0);
   }
   cargaVO.setExpirDate(preadminService.toDate(cargaJson.getExpirDate(), formatoFecha));
   cargaVO.setOrderClass(cargaJson.getOrderClass());
   cargaVO.setOrderTerm(preadminService.toBigDecimal(cargaJson.getOrderTerm()));
   cargaVO.setCitizFlag(cargaJson.getCitizFlag());
   cargaVO.setBrokOper(cargaJson.getBrokOper());
   cargaVO.setPort(cargaJson.getPort());
   cargaVO.setCtpeId(cargaJson.getCtpeId());
   cargaVO.setInitTime(cargaJson.getIniTime());
   cargaVO.setEndTime(cargaJson.getEndTime());
   cargaVO.setOrderInst(cargaJson.getOrderInst());
   cargaVO.setBranchId(cargaJson.getBranchId());
   cargaVO.setType(cargaJson.getType());
   cargaVO.setPorcentaje(preadminService.toBigDecimal(cargaJson.getPorcentaje()));
   cargaVO.setPriceInd(cargaJson.getPriceInd());
   cargaVO.setStatus(cargaJson.getStatus());
   cargaVO.setFileName(cargaJson.getFileName());
 }