/** * 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()); }