/** * (non-Javadoc) * * @see com.santander.supernet.jbServices.MovimientoService#getDetalleComprobanteSpei(ClienteBean, * Date, String) */ public DetalleComprobanteBitacoraBean getDetalleComprobanteSpei( ClienteBean cliente, Date fecha, String referencia) throws BusinessException { DetalleComprobanteBitacoraBean detalleComprobanteBitacoraBean = new DetalleComprobanteBitacoraBean(); SantanderDetalleBitacoraService sdbs = new SantanderDetalleBitacoraService(); sdbs.setFecha(Utils.sdfMovimientos.format(fecha)); sdbs.setReferencia(referencia); sdbs.setUsuario(cliente.getClaveCliente()); sdbs.ejecuta(); String strRefTrans; if (sdbs.getCodigoEstatus() == 0) { Hashtable htDatos = sdbs.getDatos(); String stComprobante = (String) htDatos.get("comprobante"); strRefTrans = ((String) htDatos.get("creditos")).substring(0, 7); if (!stComprobante.equals("")) { String tab[] = stComprobante.split("\\|", -1); String fec[] = tab[0].split("-"); detalleComprobanteBitacoraBean.setFechaOper(fec[2] + "/" + fec[1] + "/" + fec[0]); detalleComprobanteBitacoraBean.setHoraOper(tab[1]); detalleComprobanteBitacoraBean.setFechaApli(tab[2]); detalleComprobanteBitacoraBean.setRefSuperNet(tab[3]); detalleComprobanteBitacoraBean.setConcepto(tab[4]); detalleComprobanteBitacoraBean.setRefCliente(tab[5]); detalleComprobanteBitacoraBean.setCuentaOrigen(tab[6]); detalleComprobanteBitacoraBean.setCuentaExterna(tab[7]); detalleComprobanteBitacoraBean.setBanco(tab[8]); detalleComprobanteBitacoraBean.setImporte(tab[9]); detalleComprobanteBitacoraBean.setCosto(tab[10]); detalleComprobanteBitacoraBean.setRfc(tab[11]); detalleComprobanteBitacoraBean.setIva(tab[12]); detalleComprobanteBitacoraBean.setTipoTransf(tab[13]); detalleComprobanteBitacoraBean.setFin(tab[14]); detalleComprobanteBitacoraBean.setCveRastreo(""); if (isNumeric(strRefTrans)) { ResConTranfer resTrans = getStatus2SPEI(detalleComprobanteBitacoraBean.getFechaOper(), strRefTrans); if (resTrans.getEstatus().equals("Error")) { detalleComprobanteBitacoraBean.setEstatus("NO DISPONIBLE"); // throw new BusinessException("h-3"); //No se puede ejecutar intente más tarde } else { detalleComprobanteBitacoraBean.setEstatus(resTrans.getEstatus()); detalleComprobanteBitacoraBean.setCveRastreo(resTrans.getCveRastreo()); } } else { throw new BusinessException("BIT-1"); // detalleComprobanteBitacoraBean.setCveRastreo(""); } } else { throw new BusinessException("BIT-1"); // No hay información del comprobante } } else { throw new BusinessException("h-3"); } return detalleComprobanteBitacoraBean; }
/** * Metodo para obtener los estatus de las transferencias SPEI * * @param strFecha Fecha * @param referencia Referencia * @return Bean con las transferencias */ private ResConTranfer getStatus2SPEI(String strFecha, String referencia) { SantanderServicioTransferInterBancarias servicioTIB = new SantanderServicioTransferInterBancarias(); servicioTIB.setNumReferencia(referencia); try { Date fecha = Utils.sdfSocket.parse(strFecha); servicioTIB.setFecha(Utils.sdfEsProgramada.format(fecha)); } catch (Exception e) { } servicioTIB.ejecuta(); ResConTranfer resTrans = new ResConTranfer(); resTrans.setEstatus("Error"); if (servicioTIB.getCodigoEstatus() == 0) { resTrans.setEstatus(servicioTIB.getEstatus()); resTrans.setCveRastreo(servicioTIB.getCveRastreo()); } servicioTIB = null; return resTrans; }
/** * (non-Javadoc) * * @see * com.santander.supernet.jbServices.MovimientoService#obtenerMovimientosTransferencias(ClienteBean, * OperacionesBitacoraBean, BitacoraBean) */ public List<ConsultaBitacoraBean> obtenerMovimientosTransferencias( OperacionesBitacoraBean opBitacora, BitacoraBean bitacora) throws BusinessException { SantanderConsultarBitacoraService sbs = new SantanderConsultarBitacoraService(); boolean sinMovimientos = true; sbs.setCuentaFiltro(opBitacora.getCuentaFiltro()); sbs.setNumeroCliente(opBitacora.getNumeroCliente()); sbs.setNumeroCuenta(opBitacora.getNumeroCuenta()); try { sbs.setFechaInicio(Utils.sdfSocket.format(Utils.sdf.parse(opBitacora.getFechaInicio()))); sbs.setFechaFin(Utils.sdfSocket.format(Utils.sdf.parse(opBitacora.getFechaFin()))); } catch (Exception e) { throw new BusinessException("PAR-01"); } sbs.setTipoOperacion("1"); sbs.setImporteInicial(opBitacora.getImporteInicial()); sbs.setImporteFinal(opBitacora.getImporteFinal()); sbs.setTipoEstatus(" "); sbs.ejecuta(); if (sbs.getCodigoEstatus() == 99 || sbs.getConsultaBita() == null || sbs.getConsultaBita().isEmpty()) { throw new BusinessException("MOVC-TRNI-1"); } else if (sbs.getCodigoEstatus() == NO_MOVIMIENTOS) { throw new BusinessException("mov-1"); } else if (sbs.getCodigoEstatus() != 0) { throw new BusinessException("ERROR_SERVICIO"); } Iterator registros = sbs.getConsultaBita().iterator(); List<ConsultaBitacoraBean> bitacoraResp = new ArrayList<ConsultaBitacoraBean>(); for (Iterator iter = registros; iter.hasNext(); ) { String arrTabla[] = (String[]) iter.next(); if (StringUtils.contains(arrTabla[5], "TEF") || StringUtils.contains(arrTabla[5], "SPEI") || StringUtils.contains(arrTabla[5], "TRANSFERENCIAS ENTRE CUENTAS INTERBAN") || StringUtils.contains(arrTabla[5], "TRANSFERENCIAS TELEFONO MOVIL DE OTROS BANCOS")) { if (StringUtils.containsIgnoreCase(arrTabla[18], "RECHAZADA") || StringUtils.containsIgnoreCase(arrTabla[18], "ACEPTADA")) { ConsultaBitacoraBean bean = new ConsultaBitacoraBean(); sinMovimientos = false; bean.setConcepto(arrTabla[19]); bean.setCuentaDestino(arrTabla[11].trim().equals("0000000000000000") ? "" : arrTabla[11]); bean.setCuentaOrigen(arrTabla[10].trim().equals("0000000000000000") ? "" : arrTabla[10]); bean.setCuentaReferencia( arrTabla[4].trim().equals("0000000000000000") ? "" : arrTabla[4]); bean.setDescripcionReferencia(arrTabla[5]); String estatus = Utils.estatusTranferenciaInterbancaria(arrTabla[18]); bean.setEstatus(estatus); bean.setFecha(arrTabla[0]); bean.setHora(arrTabla[1]); bean.setImporte(arrTabla[17]); bean.setNumeroReferencia(arrTabla[2]); int auxT = arrTabla[19].trim().indexOf("TC0"); if (auxT >= 0) { bean.setTipoCambio(arrTabla[19].trim().substring(auxT + 3, auxT + 8)); } if (arrTabla[3].trim().equals("PGSE") || arrTabla[3].trim().equals("PGSP") || arrTabla[3].trim().equals("PSTP")) { bean.setTipoOperacion(arrTabla[3]); } String strRefTrans = getTranferReference2SPEI( bean.getFecha(), bean.getNumeroReferencia(), opBitacora.getNumeroCliente()) .substring(0, 7); if (isNumeric(strRefTrans)) { ResConTranfer resTrans = getStatus2SPEI(bean.getFecha(), strRefTrans); if (resTrans.getEstatus().equals("Error")) { bean.setEstatus("NO DISPONIBLE"); // throw new BusinessException("h-3"); } else { bean.setEstatus(resTrans.getEstatus()); } } arrTabla = null; bitacoraResp.add(bean); } } } if (sinMovimientos) { throw new BusinessException("MOVC-TRNI-1"); } // TODO: falta registrar en bitacora. return bitacoraResp; }