Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * Este metodo esta encargado de agregar los valores necesarios para que el bean sea procesado por
  * el store PROCESA_EQUITIES.
  *
  * @param procesaVO
  * @param validaCapVO
  * @throws Exception
  */
 private void populaBeanValidar(final CargaMasivaVO cargaVO, final ValidaCapitalesVO validaCapVO)
     throws Exception {
   if (cargaVO.getResult().intValue() != 0) {
     if (validaCapVO.getPicoind() != 0) {
       cargaVO.setPl("P");
     }
     cargaVO.setStatus("R");
     cargaVO.setErrMsg(cargaVO.getResult() + ":" + cargaVO.getErrMsg());
     cargaVO.setPrice(new BigDecimal(0.0));
   } else {
     cargaVO.setStatus("C");
     cargaVO.setErrMsg("");
     if (!validaCapVO.getBrPrcinpDate().equals(cargaVO.getDealDate())) {
       cargaVO.setErrMsg(
           "LA OPERACIÓN SERA DADA DE ALTA CON " + "FECHA DE OPERACIÓN DEL SIGUIENTE DIA HÁBIL.");
     }
     if (cargaVO.getRemQty().intValue() != 0 && validaCapVO.getPicoind() == 0) {
       cargaVO.setPl("L");
       esPico = true;
     } else {
       esPico = false;
     }
   }
   cargaVO.setBranchId(validaCapVO.getBranch());
   cargaVO.setAccount(validaCapVO.getAccount());
   cargaVO.setOper(validaCapVO.getOper());
   cargaVO.setPs(validaCapVO.getPs());
   cargaVO.setCcy(validaCapVO.getCcy());
   cargaVO.setSecid(validaCapVO.getSecid());
   cargaVO.setOrderType(validaCapVO.getOrderType());
   cargaVO.setOrderInst(validaCapVO.getOrderInst());
   cargaVO.setBrPrcinpDate(validaCapVO.getBrPrcinpDate());
   cargaVO.setBrDateFront(FechaUtils.dateToString(validaCapVO.getBrPrcinpDate()));
   log.info("FECHA A MOSTRARSE:|" + cargaVO.getBrDateFront() + "|");
   cargaVO.setTriggerPrice(validaCapVO.getTriggerPrice());
   cargaVO.setExpirTerm(validaCapVO.getExpirTerm());
   cargaVO.setPorcentaje(validaCapVO.getPorcentaje());
   cargaVO.setPriceInd(validaCapVO.getPriceIndCarga());
   if (validaCapVO.getPriceIndCarga().equals("L")) {
     cargaVO.setPriceLimit(1);
   } else {
     cargaVO.setPriceLimit(0);
   }
   cargaVO.setTimeCEIQ(FechaUtils.dateToString(new Date()));
   cargaVO.setSel(validaCapVO.getSelCarga());
   cargaVO.setDealDateFront(FechaUtils.dateToString(cargaVO.getDealDate()));
   cargaVO.setExpirDateFront(FechaUtils.dateToString(cargaVO.getExpirDate()));
 }