/** * Metodo para obtener los movimientos de credito personal * * @param cliente Bean del cliente * @param entrada Bean de movimientos de entrada * @param bitacoraBean Bean de bitacora * @return Lista de movimientos de las tarjetas de cédito. * @throws BusinessException Excepcion lanzada */ public List<CreditoConsumoMovBean> getMovimientoCreditoPersonal( ClienteBean cliente, DatosConsultaMovimientosBean entrada, BitacoraBean bitacoraBean) throws BusinessException { List<CreditoConsumoMovBean> movimientos = new ArrayList<CreditoConsumoMovBean>(); String importe = ""; bitacoraBean.setClaveUsuario(cliente.getClaveCliente()); if (!"0.00".equals(entrada.getImporte())) { importe = entrada.getImporte(); } if (PROD_ALTAIR.equals(entrada.getTipoCuenta())) { SantanderConsultaMovContratosPersonas consultaMovimientosAltair = new SantanderConsultaMovContratosPersonas(); String fechaInicio = entrada.getFechaHistorica().substring(6) + "-" + entrada.getFechaHistorica().substring(3, 5) + "-" + entrada.getFechaHistorica().substring(0, 2); String fechaFin = entrada.getFechaDia().substring(6) + "-" + entrada.getFechaDia().substring(3, 5) + "-" + entrada.getFechaDia().substring(0, 2); String[] datos = {entrada.getCuenta(), fechaInicio, fechaFin}; if (consultaMovimientosAltair.ejecuta(datos)) { movimientos = getMovimientosFiltrados( entrada.getTipoMovimiento(), importe, consultaMovimientosAltair.getMovimientos()); registraBitacoraCP( bitacoraBean, entrada.getCuenta(), entrada.getImporte(), "0000 OPERACION REALIZADA EXITOSAMENTE"); } else { registraBitacoraCP( bitacoraBean, entrada.getCuenta(), entrada.getImporte(), "9999 OPERACION FALLIDA"); throw new BusinessException("LB14-0"); } } else { List<CreditoConsumoMovBean> movimientosTotal = new ArrayList<CreditoConsumoMovBean>(); SantanderMovtosAltamiraService consultaMovimientosAltamira = new SantanderMovtosAltamiraService(); DetalleCreditoAltamiraBean detalleCreditoAltamira = new DetalleCreditoAltamiraBean(); String fechaInicio = entrada.getFechaHistorica().substring(8, 10) + entrada.getFechaHistorica().substring(3, 5) + entrada.getFechaHistorica().substring(0, 2); log.debug("FECHA INICIO " + fechaInicio); String fechaFin = entrada.getFechaDia().substring(8, 10) + entrada.getFechaDia().substring(3, 5) + entrada.getFechaDia().substring(0, 2); log.debug("FECHA FIN " + fechaFin); detalleCreditoAltamira.setNumeroDeCredito(entrada.getCuenta()); detalleCreditoAltamira.setFechaDesde(fechaInicio); detalleCreditoAltamira.setFechaHasta(fechaFin); consultaMovimientosAltamira.ejecutarTransaccion(detalleCreditoAltamira); if (consultaMovimientosAltamira.getCodStatus() == 0) { for (SaldosCreditoAltamiraBean saldosAltamira : consultaMovimientosAltamira.getListaSaldos()) { CreditoConsumoMovBean movContratoPersonas = new CreditoConsumoMovBean(); movContratoPersonas.setConcepto(saldosAltamira.getConcepto().trim()); movContratoPersonas.setRetiro(saldosAltamira.getCargo().trim()); movContratoPersonas.setFecha(saldosAltamira.getFechaDeOperacion().trim()); movContratoPersonas.setDeposito(saldosAltamira.getAbono().trim()); movContratoPersonas.setReferencia(saldosAltamira.getReferencia().trim()); movimientosTotal.add(movContratoPersonas); } movimientos = getMovimientosFiltrados(entrada.getTipoMovimiento(), importe, movimientosTotal); registraBitacoraCP( bitacoraBean, entrada.getCuenta(), entrada.getImporte(), "0000 OPERACION REALIZADA EXITOSAMENTE"); } else { registraBitacoraCP( bitacoraBean, entrada.getCuenta(), entrada.getImporte(), "9999 OPERACION FALLIDA"); throw new BusinessException("LB14-0"); } } return movimientos; }
/** * Este método obtenerMovimientosCheques se encuentra en el paquete * com.santander.supernet.web.servlets.consultas en el servlet Movimientos. * * @param datosMovimientos datos de los movimientos * @param usuario usuario * @param referencia Referncia * @param nombreClase Nombre de la clase * @return Regresa un movimiento * @throws ParseException Excepcion de parse * @throws BusinessException excepiocn de negocio */ private MovimientosBean obtenerMovimientosCheques( DatosConsultaMovimientosBean datosMovimientos, String usuario, String referencia, String nombreClase) throws BusinessException, ParseException { log.debug("*******ENTRO EN OBTENRE MOVIMIENTOS CHEQUES***********"); MovimientosBean movimientosCuentasChequerasBean = new MovimientosBean(); log.debug("TIPO MOVIMIENTO " + datosMovimientos.getTipoMovimiento()); char tipoMovimiento = 'T'; if (datosMovimientos.getTipoMovimiento().equals("Retiros")) { tipoMovimiento = 'C'; } else { if (datosMovimientos.getTipoMovimiento().equals("Depositos")) { tipoMovimiento = 'A'; log.debug("TIPO MOVIMIENTO " + tipoMovimiento); } else { tipoMovimiento = 'T'; } } log.debug("TIPO MOVIMIENTO " + tipoMovimiento); if (datosMovimientos.getTipoCuenta().equals("Vista")) { datosMovimientos.setTipoCuenta("V"); } else { if (datosMovimientos.getTipoCuenta().equals("Cheques")) { datosMovimientos.setTipoCuenta("C"); } } String fechaInicio = datosMovimientos.getFechaHistorica().substring(6) + "-" + datosMovimientos.getFechaHistorica().substring(3, 5) + "-" + datosMovimientos.getFechaHistorica().substring(0, 2); log.debug("FECHA INICIO " + fechaInicio); String fechaFin = datosMovimientos.getFechaDia().substring(6) + "-" + datosMovimientos.getFechaDia().substring(3, 5) + "-" + datosMovimientos.getFechaDia().substring(0, 2); log.debug("FECHA FIN " + fechaFin); SantanderMovimientoCuentaService servicioMovimientos = null; // synchronized (this) { log.debug("**************ENTRO EN SINCONIZADO******************"); log.debug("CUENTA " + datosMovimientos.getCuenta()); log.debug("REFERENCIA " + referencia); log.debug("FECHA INICIO " + fechaInicio); log.debug("FECHA FIN " + fechaFin); log.debug("TIPO MOVIMIENTO " + tipoMovimiento); log.debug("TIPO CUENTA " + datosMovimientos.getTipoCuenta()); log.debug("IMPORTE " + datosMovimientos.getImporte()); log.debug("NOMBRE CLASE " + nombreClase); log.debug("datosMovimientos.getImporte() " + datosMovimientos.getImporte()); if (StringUtils.equals(datosMovimientos.getImporte(), "") || StringUtils.isEmpty(datosMovimientos.getImporte()) || StringUtils.isBlank(datosMovimientos.getImporte())) { datosMovimientos.setImporte("0.00"); } try { servicioMovimientos = new SantanderMovimientoCuentaService(); servicioMovimientos = new SantanderMovimientoCuentaService(); servicioMovimientos.setNumeroCuenta(datosMovimientos.getCuenta()); servicioMovimientos.setReferencia(referencia); servicioMovimientos.setFechaInicio(fechaInicio); servicioMovimientos.setFechaFin(fechaFin); servicioMovimientos.setTipoMovimiento(tipoMovimiento); servicioMovimientos.setTipoCuenta(datosMovimientos.getTipoCuenta()); servicioMovimientos.setImporte(datosMovimientos.getImporte()); servicioMovimientos.setNombreClase(nombreClase); log.debug("**************ANTES DE EJECUTA******************"); servicioMovimientos.ejecuta(); log.debug("**************DESPUES DE EJECUTAR******************"); } catch (Error e) { throw new BusinessException("B401-00"); } // } List<MovimientosChequerasBean> listaMovimientos = new ArrayList<MovimientosChequerasBean>(); MovimientosChequerasBean movimientosChequeraBean = null; log.debug("Codigo de status " + servicioMovimientos.getCodigoEstatus()); if (servicioMovimientos.getCodigoEstatus() == 0) { log.debug("Entro en codigo de status 0"); Hashtable movimientos = servicioMovimientos.getMovimientos(); log.debug("MUESTRA LOS MOVIMIENTOS SIZE " + movimientos.size()); log.debug("MUESTRA LOS MOVIMIENTOS " + movimientos.toString()); for (int i = 0; i < movimientos.size(); i++) { log.debug("*******ENTRO EN EL FOR*********"); String cantidades[] = (String[]) movimientos.get(String.valueOf(i)); movimientosChequeraBean = new MovimientosChequerasBean(); log.debug("fechaOperante " + cantidades[0]); log.debug("fecha Operante 2 " + Utils.sdfMovimientosCheques.parse(cantidades[0])); log.debug("fecha " + Utils.sdf.format(Utils.sdfMovimientosCheques.parse(cantidades[0]))); movimientosChequeraBean.setFechaOperante( Utils.sdf.format(Utils.sdfMovimientosCheques.parse(cantidades[0]))); movimientosChequeraBean.setCodigoAmpliado(cantidades[1]); movimientosChequeraBean.setReferenciaInterna(cantidades[2]); if (!cantidades[3].equals("")) { cantidades[3] = MovimientosServiceReusableFunctions.formateaCantidades(cantidades[3]); movimientosChequeraBean.setMontoCargo(cantidades[3]); } if (!cantidades[4].equals("")) { cantidades[4] = MovimientosServiceReusableFunctions.formateaCantidades(cantidades[4]); movimientosChequeraBean.setMontoAbono(cantidades[4]); } movimientosChequeraBean.setCentroUmo(cantidades[5]); movimientosChequeraBean.setHoraFinal(cantidades[6]); if (!cantidades[7].equals("")) { cantidades[7] = MovimientosServiceReusableFunctions.formateaCantidades(cantidades[7]); movimientosChequeraBean.setSaldoFinal(cantidades[7]); } movimientosChequeraBean.setObservaciones(cantidades[8]); // Se agrega el set de referencia SPEI se separa de observaciones (concepto) movimientosChequeraBean.setReferenciaSPEI(cantidades[9]); log.debug("movimientosChequeraBean********* " + movimientosChequeraBean.toString()); log.debug("TIPO MOVIMIENTO ********* " + tipoMovimiento); if (movimientosChequeraBean.getMontoAbono() != null && tipoMovimiento == 'A') { log.debug("***********ENTRO EN TIPO MOVIMIENTO A ********* "); log.debug("MONTO ABONO ********* " + movimientosChequeraBean.getMontoAbono()); listaMovimientos.add(movimientosChequeraBean); } else { log.debug("ENTRO EN EL ELSE DE TIPO DE MOVIMIENTO " + listaMovimientos.size()); if (movimientosChequeraBean.getMontoCargo() != null && tipoMovimiento == 'C') { log.debug("ENTRO EN TIPO MOVIMIENTO C ********* "); listaMovimientos.add(movimientosChequeraBean); } else { log.debug("ENTRO EN EL SEGUNDO ELSE DE TIPO DE MOVIMIENTO " + listaMovimientos.size()); if (tipoMovimiento == 'T') { log.debug("ENTRO EN TIPO MOVIMIENTO T ********* "); listaMovimientos.add(movimientosChequeraBean); } } } log.debug("*****LISTA EN EL FOR " + listaMovimientos.size()); // movimientos.put(String.valueOf(i), cantidades); } if (movimientosChequeraBean != null) { movimientosCuentasChequerasBean.setImporte(movimientosChequeraBean.getSaldoFinal()); } log.debug("tamanio de la lista " + listaMovimientos.size()); // log.debug("lista datos" + listaMovimientos.toString()); if (listaMovimientos.size() == 0) { throw new BusinessException("MOVC-MCC-3"); } movimientosCuentasChequerasBean.setListaMovimientos(listaMovimientos); movimientosCuentasChequerasBean.setMensajeStatus(servicioMovimientos.getMensajeEstatus()); } else if (servicioMovimientos.getCodigoEstatus() == -9) { // Inicio: ELIMINACIÓN OFFLINE throw new BusinessException("OFF-LINE"); // Fin: ELIMINACIÓN OFFLINE } else { throw new BusinessException("MOVC-MCC-2"); } return movimientosCuentasChequerasBean; }