/** * Registra la informacion de cuenta 123 de cliente * * @param cliente Bean de datos de cliente * @param cuenta Cuenta dar de alta de tipo String * @param vista Cuenta vista a asociar al programa de tipo String * @param tipo Tipo de registro de tipo String * @param bitacora Objeto de bitacora de tipo BitacoraBean * @param token Token a validar de tipo String * @return respuesta de actualizacion de cuenta 123 * @throws Excepcion de negocio si falla la operacion */ public String registraCuenta123( ClienteBean cliente, String cuenta, String vista, String tipo, BitacoraBean bitacora, String token) throws BusinessException { SantanderReferenciaService srs = null; CuentaBean cuentaCheques = new CuentaBean(); Validator.valida(cliente, "A123", token, bitacora); cuentaCheques.setNumeroCuenta(cuenta); boolean isCuentaCliente = Validator.isCuentaCliente(cuentaCheques, cliente.getCuentasPropias()); if (!isCuentaCliente) { throw new BusinessException("EBL-06"); } srs = commonService.getReferencia(bitacora.getNombreClase()); SantanderMttoPrograma123 programa123 = new SantanderMttoPrograma123(); programa123.setCliente(cliente.getClaveCliente()); programa123.setCuenta(cuenta); programa123.setCuentaVista(vista); programa123.setTipoOper("A"); programa123.ejecuta(); bitacora.setNumeroReferencia(srs.getNumReferencia()); bitacora.setClaveUsuario(cliente.getClaveCliente()); bitacora.setCuentaOrigen(cuentaCheques.getNumeroCuenta()); bitacora.setCuentaDestino(vista); bitacora.setClaveConcepto("A123"); bitacora.setEdoProgramada(programa123.getCodStatus() == 0 ? "A" : "R"); bitacora.setTipoCuentaDestino("PR"); bitacora.setMensaje("A123" + programa123.getMsgStatus().substring(4)); commonService.registrarBitacora(bitacora); if (programa123.getCodStatus() == 0) { notificaAlta(cliente, srs, "altaP123", cuenta); } else { int[] estatusValidos = {9, 11, 14, 20, 29, 35, 36, 39, 112, 114, 115, 132, 133}; if (ArrayUtils.contains(estatusValidos, programa123.getCodStatus())) { throw new BusinessException("A123-" + programa123.getCodStatus()); } } return String.valueOf(srs.getNumReferencia()); }
/** * Metodo que obtiene los movimientos realizados por cada cuenta o chequera del cliente. * * @param cliente Bean del Cliente * @param datosMovimientos Bean de los datos con mivimeintos * @param bitacoraBean Bean de bitacora * @return MovimientosBean Bean con los movimientos * @author Igor Mejia * @throws ParseException Excepxion al parsear * @throws BusinessException Excepcion de negocio */ public MovimientosBean getMovimientoCuentasChequeras( ClienteBean cliente, DatosConsultaMovimientosBean datosMovimientos, BitacoraBean bitacoraBean) throws BusinessException, ParseException { boolean autorizadoPesos = false; boolean autorizadoDolares = false; Validator.valida(cliente, CLAVE_MODULO_MOVIMIENTO_CUENTA); log.debug("*****************ENTRO A MOVIMIENTOS CUENTAS CHEQUERAS************"); if (cliente == null) { throw new BusinessException("MOVIMIENTOS"); } Iterator itera = (Iterator) cuentaService.getCuentasPropias(cliente).iterator(); while (itera.hasNext()) { CuentaBean cuenta = (CuentaBean) itera.next(); String cuentaVista = MovimientosServiceReusableFunctions.getCuentaVista( cliente.getClaveCliente(), cuenta.getNumeroCuenta(), cuenta.getSucursal(), NOMBRE_CALSE); if (cuenta.getNumeroCuenta().equalsIgnoreCase(datosMovimientos.getCuenta()) || datosMovimientos.getCuenta().equalsIgnoreCase(cuentaVista)) { autorizadoPesos = true; break; } } if (cliente.isDolares()) { Iterator iter = (Iterator) cuentaService.getCuentasPropiasDolares(cliente).iterator(); while (iter.hasNext()) { CuentaBean cuentaDolares = (CuentaBean) iter.next(); String cuentaVistaDolares = MovimientosServiceReusableFunctions.getCuentaVista( cliente.getClaveCliente(), cuentaDolares.getNumeroCuenta(), cuentaDolares.getSucursal(), NOMBRE_CALSE); if (!cuentaDolares.getNumeroCuenta().equalsIgnoreCase(datosMovimientos.getCuenta()) && datosMovimientos.getCuenta().equalsIgnoreCase(cuentaVistaDolares)) { autorizadoDolares = true; break; } } } if (!autorizadoPesos && !autorizadoDolares) { if (datosMovimientos.getTipoCuenta().equals(TIPO_CUENTA_VISTA)) { throw new BusinessException("MOVC-MCC-1"); } else throw new BusinessException("MOVC-MCC-1"); } SantanderReferenciaService referencia = commonService.getReferencia(bitacoraBean.getNombreClase()); MovimientosBean movimientosBean = obtenerMovimientosCheques( datosMovimientos, cliente.getClaveCliente(), String.valueOf(referencia.getNumReferencia()), bitacoraBean.getNombreClase()); if (movimientosBean.getListaMovimientos() == null && movimientosBean.getMensajeStatus() == null && movimientosBean.getImporte() == null) { throw new BusinessException("MOVIMIENTOS"); } String mensaje = SantanderConstantesService.MOVC + movimientosBean.getMensajeStatus().substring(4); bitacoraBean.setNumeroReferencia(referencia.getNumReferencia()); bitacoraBean.setNumeroCuenta(datosMovimientos.getCuenta()); bitacoraBean.setImporte(movimientosBean.getImporte()); bitacoraBean.setClaveUsuario(cliente.getClaveCliente()); bitacoraBean.setMensaje(mensaje); bitacoraBean.setClaveConcepto(SantanderConstantesService.CMCHEQUES); commonService.registrarBitacora(bitacoraBean); return movimientosBean; }