/** * Funcion que genera el Credito Reconvenido * @param float $monto_reconvenido Monto del capital por el Cual se reconviene el credito * @param float $interes_reconvenido Monto del interes por el Cual se reconviene el credito * * @return boolean false/true segun el resultado de la funcion */ function setReconvenido($monto_reconvenido, $interes_reconvenido, $tasa_reconvenida, $periocidad_reconvenida, $pagos_reconvenidos, $observaciones = "", $fecha = false, $recibo = false, $FormaDePago = false, $producto = false, $conservarPlan = false) { $sucess = false; $fecha = $fecha == false ? fechasys() : $fecha; $producto = $producto == false ? $this->getClaveDeProducto() : $producto; $plan_de_pagos = $this->getNumeroDePlanDePagos(); if ($this->mCreditoInicializado == true) { $dias = $periocidad_reconvenida * $pagos_reconvenidos; $vence = sumardias($fecha, $dias); $credito = $this->getNumeroDeCredito(); //$interes_normal = ($saldo_historico * $dias_normales * ($tasa_interes * $factor_interes)) / EACP_DIAS_INTERES; $interes_normal = 0; $FInteres = new cFormula("interes_normal"); $saldo_historico = $this->getMontoAutorizado(); // $monto_reconvenido; $saldo_actual = $this->getSaldoActual(); //$monto_reconvenido; $dias_normales = $dias; $tasa_interes = $tasa_reconvenida; $factor_interes = 1; if ($this->mIVAIncluido == "1") { $factor_interes = 1 / (1 + $this->getTasaIVA()); } //eval( $FInteres->getFormula() ); //Agregar el SQL $xRC = new cCreditos_reconvenio(); $idconvenio = $xRC->query()->getLastID(); $xRC->idcreditos_reconvenio($idconvenio); $xClon = $this->setClonar($saldo_actual, $saldo_historico); $xRC->numero_solicitud($xClon); $xRC->codigo($this->getClaveDePersona()); $xRC->credito_origen($this->getNumeroDeCredito()); $xRC->dias($dias); $xRC->eacp(EACP_CLAVE); $xRC->fecha_reconvenio($fecha); $xRC->idusuario(getUsuarioActual()); $xRC->interes_diario_re($interes_normal); $xRC->interes_pendiente($interes_reconvenido); $xRC->monto_reconvenido($monto_reconvenido); $xRC->pagos_reconvenidos($pagos_reconvenidos); $xRC->periocidad_reconvenida($periocidad_reconvenida); $xRC->sucursal(getSucursal()); $xRC->tasa_reconvenida($tasa_reconvenida); $xRC->vence($vence); $x = $xRC->query()->insert()->save(); if ($x != false) { //Modificar movimientos $observaciones = $observaciones == "" ? "" : "RNV {$idconvenio}. {$credito}|{$xClon}"; //Agregare el Movimiento $cRecReest = new cReciboDeOperacion(RECIBOS_TIPO_ESTADISTICO, true, $recibo); if ($recibo == false) { $cRecReest->setNuevoRecibo($this->mNumeroSocio, $xClon, $fecha, 1, RECIBOS_TIPO_ESTADISTICO, $observaciones, DEFAULT_CHEQUE, TESORERIA_COBRO_NINGUNO, DEFAULT_RECIBO_FISCAL, $this->mGrupoAsociado); } /* * No generar poliza, ya que no ha cumplido el pago sostenido */ //agregar Movimiento por el Monto Reconvenido $cRecReest->setNuevoMvto($fecha, $monto_reconvenido, OPERACION_CLAVE_REESTRUCTURA, 1, $observaciones, 1); $this->mMessages .= $cRecReest->getMessages(); //agregar el Movimiento por Intereses no pagados $xCredClon = new cCredito($xClon); $xCredClon->init(); //Actualizar el saldo y demas $cEsUp = array($this->obj()->tipo_autorizacion()->get() => CREDITO_AUTORIZACION_REESTRUCTURADO, $this->obj()->saldo_vencido()->get() => 0); $xCredClon->setUpdate($cEsUp); $this->setUpdate($cEsUp); $xCredClon->setAbonoCapital($this->getSaldoActual(), $this->mParcialidadActual, DEFAULT_CHEQUE, TESORERIA_COBRO_NINGUNO, DEFAULT_RECIBO_FISCAL, $observaciones); $this->mMessages .= $xCredClon->getMessages(); $sucess = true; $this->mMessages .= $this->setChangeNumeroDeSolicitud($xClon, true); //Cambiar Producto $this->mMessages .= $this->setCambioProducto($producto, $tasa_reconvenida); //cambiar fecha de ministracion $this->mMessages .= $this->setCambiarFechaMinistracion($fecha); //Cambiar Monto Ministrado // $this->mMessages .= $this->setCambiarMontoAutorizado($monto_reconvenido, true); //Ministrar $this->setForceMinistracion(); $this->setMinistrar(DEFAULT_RECIBO_FISCAL, DEFAULT_CHEQUE, $monto_reconvenido, DEFAULT_CUENTA_BANCARIA, 0, 0, "REESTRUCTURA DE CREDITO {$xClon} ", $fecha, false, TESORERIA_PAGO_NINGUNO); if ($this->getTasaDeInteres() != $tasa_reconvenida) { $this->mMessages .= $this->setCambiarTasaNormal($tasa_reconvenida); } $this->mMessages .= $this->setCambiarPeriocidad($periocidad_reconvenida, $pagos_reconvenidos, $FormaDePago); $this->mMessages .= $this->setCambiarMontoMinistrado($monto_reconvenido, true); if ($conservarPlan == true) { if ($plan_de_pagos != false) { //$xRec = new cReciboDeOperacion(RECIBOS_TIPO_PLAN_DE_PAGO, true, $plan_de_pagos); //$xRec->init(); //$xRec->setDocumento($this->getNumeroDeCredito()); $xPlan = new cPlanDePagos($plan_de_pagos); //$xPlan->init(); $xPlan->setCambiarRelacionados($credito); $this->mMessages .= $xPlan->getMessages(OUT_TXT); } } } //END IF //$this->setReestructurarIntereses(); } //END Credito Inicializado return $sucess; }