/** * 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 agregar la operacion pico que es enviada a la lista final de registros. * Realiza las mismas validaciones que una operacion normel. * * @param validaCapVO VO con los datos a validar * @param procesaVO VO con los datos a procesa * @throws Exception Arroja una excepcion si ocurre un error. */ public void agregaOperacionPico(ValidaCapitalesVO validaCapVO, CargaMasivaVO cargaVO) throws Exception { ProcesaCapitalesVO procesaVO = null; // Indicador de operacion Pico validaCapVO.setPicoind(1); 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); }