function initPorCredito($idcredito, $dataCredito = false) { $xCred = new cCredito($idcredito); $xCred->init($dataCredito); $xF = new cFecha(); if ($xCred->getTipoEnSistema() == CREDITO_PRODUCTO_NOMINA) { //cargar datos de la empresa $idemp = $xCred->getClaveDeEmpresa(); $periocidad = $xCred->getPeriocidadDePago(); $this->setPeriocidadDePago($periocidad); $this->mTipoCreditoSis = $xCred->getTipoEnSistema(); $this->mClaveDePlan = setNoMenorQueCero($xCred->getNumeroDePlanDePagos()); if ($this->mClaveDePlan > 0) { //TODO: validar fecha de primer pago en calculos automaticos $this->mFechaPrimerPago = $xCred->getFechaPrimeraParc(); } else { $this->mFechaPrimerPago = $this->getFechaDePago($xCred->getFechaDeMinistracion(), 1); } if ($xCred->getFechaPrimeraParc() == $this->mFechaFail or $xF->getInt($xCred->getFechaPrimeraParc()) <= $xF->getInt($xCred->getFechaDeMinistracion())) { $this->mFechaPrimerPago = $this->getFechaDePago($xCred->getFechaDeMinistracion(), 1); } $xEmp = new cEmpresas($idemp); $xEmp->init(); $DDias = $xEmp->getDiasDeNomina($periocidad); $this->mDiaDeAbono1 = isset($DDias[0]) ? setNoMenorQueCero($DDias[0]) : $this->mDiaDeAbono1; $this->mDiaDeAbono2 = isset($DDias[1]) ? setNoMenorQueCero($DDias[1]) : $this->mDiaDeAbono2; $this->mDiaDeAbono3 = isset($DDias[2]) ? setNoMenorQueCero($DDias[2]) : $this->mDiaDeAbono3; } else { $this->mFechaPrimerPago = $this->getFechaDePago($xCred->getFechaDeMinistracion(), 1); } }
function calcular($fecha_inicial = false, $PrimerPago = false, $SegundoPago = false, $TercerPago = false) { $xCred = new cCredito($this->mClaveDeCredito); $xCred->init(); $xF = new cFecha(); $msg = ""; $FORMA_DE_PAGO = $xCred->getFormaDePago(); $PAGOS_AUTORIZADOS = $xCred->getPagosAutorizados(); $PERIOCIDAD_DE_PAGO = $xCred->getPeriocidadDePago(); $MONTO_AUTORIZADO = $xCred->getMontoAutorizado(); $SALDO_ACTUAL = $xCred->getSaldoActual(); $INTERES_PAGADO = $xCred->getInteresNormalPagado(); $MORA_PAGADO = $xCred->getInteresMoratorioPagado(); $xCred->initPagosEfectuados(); $CAPITAL_PAGADO = setNoMenorQueCero($MONTO_AUTORIZADO - $SALDO_ACTUAL); $SALDO_DE_PLAN = $xCred->getMontoAutorizado(); $TASA_NORMAL = $xCred->getTasaDeInteres(); $TASA_MORA = $xCred->getTasaDeMora(); $TASA_IVA = $xCred->getTasaIVA(); $DIVISOR_DE_INTS = EACP_DIAS_INTERES; $FECHA_DE_PAGO = $xCred->getFechaPrimeraParc(); $FECHA_INICIAL = $xCred->getFechaDeMinistracion(); $opciondia_1 = $PrimerPago; $opciondia_2 = $SegundoPago; $opciondia_3 = $TercerPago; //sanitiza la fecha de pago if ($FECHA_DE_PAGO == false) { $FECHA_DE_PAGO = $xF->setSumarDias($PERIOCIDAD_DE_PAGO, $FECHA_INICIAL); } if (($PERIOCIDAD_DE_PAGO > CREDITO_TIPO_PERIOCIDAD_CATORCENAL or $PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_CATORCENAL) and ($opciondia_1 == false or $opciondia_2 == false or $opciondia_3 == false)) { if ($PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_QUINCENAL) { $opciondia_1 = $opciondia_1 == false ? PQ_DIA_PRIMERA_QUINCENA : $opciondia_1; $opciondia_2 = $opciondia_2 == false ? PQ_DIA_SEGUNDA_QUINCENA : $opciondia_2; } elseif ($PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_DECENAL) { $opciondia_1 = $opciondia_1 == false ? 10 : $opciondia_1; $opciondia_2 = $opciondia_2 == false ? 20 : $opciondia_2; $opciondia_3 = $opciondia_3 == false ? 30 : $opciondia_3; } else { $opciondia_1 = $opciondia_1 == false ? PM_DIA_DE_PAGO : $opciondia_1; } } //pagos decenales entre el mes $arrPagos = array(); //obtener los dias de pago en el mes por tipo de pago $dia_de_pago = $xCred->getFechaDeMinistracion(); for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) { $letra = $i; switch ($PERIOCIDAD_DE_PAGO) { case CREDITO_TIPO_PERIOCIDAD_DIARIO: $dia_de_pago = $xF->getDiaHabil($xF->setSumarDias(1, $dia_de_pago)); $arrPagos[$letra][SYS_FECHA] = $dia_de_pago; $msg .= "OK\t{$letra}\tDIARIO\tFecha de pago a {$dia_de_pago}\r\n"; break; case CREDITO_TIPO_PERIOCIDAD_SEMANAL: break; case CREDITO_TIPO_PERIOCIDAD_DECENAL: break; case CREDITO_TIPO_PERIOCIDAD_CATORCENAL: //dias naturales, cada dos semanas? break; case CREDITO_TIPO_PERIOCIDAD_QUINCENAL: $dia_de_pago = $xF->setSumarDias(CREDITO_TIPO_PERIOCIDAD_QUINCENAL, $dia_de_pago); $dia_de_pago = $xF->getDiaAbonoQuincenal($opciondia_1, $opciondia_2, $dia_de_pago); $arrPagos[$letra][SYS_FECHA] = $dia_de_pago; $msg .= "OK\t{$letra}\tQUINCENAL\tFecha de pago a {$dia_de_pago}, opcion {$opciondia_1}, {$opciondia_2}\r\n"; break; case CREDITO_TIPO_PERIOCIDAD_MENSUAL: $dia_de_pago = date("Y-m-", $xF->getInt($dia_de_pago)) . $opciondia_1; $dia_de_pago = $xF->setSumarMeses(1, $dia_de_pago); $dia_de_pago = $xF->getDiaHabil($dia_de_pago); $arrPagos[$letra][SYS_FECHA] = $dia_de_pago; $msg .= "OK\t{$letra}\tMENSUAL\tFecha de pago a {$dia_de_pago}, opcion {$opciondia_1}\r\n"; break; case CREDITO_TIPO_PERIOCIDAD_BIMESTRAL: break; case CREDITO_TIPO_PERIOCIDAD_TRIMESTRAL: break; } } //$FORMULA_INT = new cFormula("interes_normal"); //dias de pago //si es empresa, tomar la fecha de la empresa semanal, quincenal, mensual, decenal //Iniciar los Pagos Actuales //$this->initParcsPendientes(); $DatosDePagados = $xCred->getListadoDePagos(); /* interes capital impuestos */ switch ($FORMA_DE_PAGO) { case CREDITO_TIPO_PAGO_PERIODICO: //parcialidad interes + capital break; case CREDITO_TIPO_PAGO_FLAT_PARCIAL: for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) { $letra = $i; $letraAnterior = setNoMenorQueCero($letra - 1); $PagoAnterior = isset($DatosDePagados[$letra]) ? $DatosDePagados[$letra] : array(); $capital_pagado = isset($DPago[SYS_CAPITAL]) ? $DPago[SYS_CAPITAL] : 0; $SALDO_DE_PLAN = $SALDO_DE_PLAN - $capital_pagado; $interes_normal = $MONTO_AUTORIZADO * $PERIOCIDAD_DE_PAGO * $TASA_NORMAL / $DIVISOR_DE_INTS; $capital = $MONTO_AUTORIZADO / $PAGOS_AUTORIZADOS; $capital = setNoMenorQueCero($capital - $capital_pagado); $interes_pagado = isset($DPago[SYS_INTERES_NORMAL]) ? $DPago[SYS_INTERES_NORMAL] : 0; $interes_normal = setNoMenorQueCero($interes_normal - $interes_pagado); $arrPagos[$letra][SYS_INTERES_NORMAL] = $interes_normal; if ($letra == $PAGOS_AUTORIZADOS) { if ($SALDO_DE_PLAN > 0) { $arrPagos[$letra][SYS_CAPITAL] = $SALDO_DE_PLAN; $msg .= "WARN\t{$letra}\tCapital a ultimo pago {$SALDO_DE_PLAN} \r\n"; } } //determinar proxima fecha de pago $msg .= "OK\t{$letra}\tInteres Normal en {$interes_normal}, Pagado {$interes_pagado} \r\n"; } break; case CREDITO_TIPO_PAGO_INTERES_PERIODICO: for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) { $letra = $i; $letraAnterior = setNoMenorQueCero($letra - 1); $DAnterior = isset($DatosDePagados[$letraAnterior]) ? $DatosDePagados[$letraAnterior] : array(); $capital_pagado = isset($DAnterior[SYS_CAPITAL]) ? $DAnterior[SYS_CAPITAL] : 0; $SALDO_DE_PLAN = $SALDO_DE_PLAN - $capital_pagado; $DPago = isset($DatosDePagados[$letra]) ? $DatosDePagados[$letra] : array(); $interes_pagado = isset($DPago[SYS_INTERES_NORMAL]) ? $DPago[SYS_INTERES_NORMAL] : 0; //datos del pago anterior $DLetraAnterior = isset($arrPagos[$letraAnterior]) ? $arrPagos[$letraAnterior] : array(); $DLetra = isset($arrPagos[$letra]) ? $arrPagos[$letra] : array(); $FechaAnterior = isset($DLetraAnterior[SYS_FECHA]) ? $DLetraAnterior[SYS_FECHA] : $xCred->getFechaDeMinistracion(); $FechaActual = isset($DLetra[SYS_FECHA]) ? $DLetra[SYS_FECHA] : false; $DIAS_TRANSCURRIDOS = $xF->setRestarFechas($FechaActual, $FechaAnterior); //INTERES NORMAL $interes_normal = $SALDO_DE_PLAN * $DIAS_TRANSCURRIDOS * $TASA_NORMAL / $DIVISOR_DE_INTS; $interes_normal = setNoMenorQueCero($interes_normal - $interes_pagado); $arrPagos[$letra][SYS_INTERES_NORMAL] = $interes_normal; if ($capital_pagado > 0) { $msg .= "WARN\t{$letra}\tCapital en pago {$letraAnterior} de {$capital_pagado} \r\n"; } if ($letra == $PAGOS_AUTORIZADOS) { if ($SALDO_DE_PLAN > 0) { $arrPagos[$letra][SYS_CAPITAL] = $SALDO_DE_PLAN; $msg .= "WARN\t{$letra}\tCapital a ultimo pago {$SALDO_DE_PLAN} \r\n"; } } $msg .= "OK\t{$letra}\tInteres Normal en {$interes_normal}, Pagado {$interes_pagado}, Dias {$DIAS_TRANSCURRIDOS},Fecha : Actual {$FechaActual} Anterior {$FechaAnterior}\r\n"; } break; case CREDITO_TIPO_PAGO_INTERES_COMERCIAL: for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) { $letra = $i; $letraAnterior = setNoMenorQueCero($letra - 1); $DAnterior = isset($DatosDePagados[$letraAnterior]) ? $DatosDePagados[$letraAnterior] : array(); $capital_pagado = isset($DAnterior[SYS_CAPITAL]) ? $DAnterior[SYS_CAPITAL] : 0; $SALDO_DE_PLAN = $SALDO_DE_PLAN - $capital_pagado; $DPago = isset($DatosDePagados[$letra]) ? $DatosDePagados[$letra] : array(); $interes_pagado = isset($DPago[SYS_INTERES_NORMAL]) ? $DPago[SYS_INTERES_NORMAL] : 0; //INTERES NORMAL $interes_normal = $SALDO_DE_PLAN * $PERIOCIDAD_DE_PAGO * $TASA_NORMAL / $DIVISOR_DE_INTS; $interes_normal = setNoMenorQueCero($interes_normal - $interes_pagado); $arrPagos[$letra][SYS_INTERES_NORMAL] = $interes_normal; if ($capital_pagado > 0) { $msg .= "WARN\t{$letra}\tCapital en pago {$letraAnterior} de {$capital_pagado} \r\n"; } if ($letra == $PAGOS_AUTORIZADOS) { if ($SALDO_DE_PLAN > 0) { $arrPagos[$letra][SYS_CAPITAL] = $SALDO_DE_PLAN; $msg .= "WARN\t{$letra}\tCapital a ultimo pago {$SALDO_DE_PLAN} \r\n"; } } $msg .= "OK\t{$letra}\tInteres Normal en {$interes_normal}, Pagado {$interes_pagado} \r\n"; } break; } $NumeroPlan = $this->mNumeroDePlan; //$this->setEliminar(); //eliminar plan de pagos foreach ($arrPagos as $periodo) { } $this->mMessages .= $msg; return $msg; }
$xTConv = new cProductoDeCredito($rw["tipo_convenio"]); $xTConv->init(); $DTConv = $xTConv->getOtrosParametrosInArray(); $TipoDeResponsabilidad = isset($DTConv["SIC_TIPO_DE_RESPONSABILIDAD"]) ? $DTConv["SIC_TIPO_DE_RESPONSABILIDAD"] : "I"; //individual $TipoDeCuenta = isset($DTConv["SIC_TIPO_DE_CUENTA"]) ? $DTConv["SIC_TIPO_DE_CUENTA"] : "F"; //Pagos fijos $TipoDeContrato = strtoupper($xCred->getOProductoDeCredito()->getTipoDeContratoCR()); // isset($DTConv["SIC_TIPO_DE_CONTRATO"]) ? $DTConv["SIC_TIPO_DE_CONTRATO"] : "DESCONOCIDO"; $ClaveUnidadMonetaria = "MX"; $ValorActivoValuacion = 0; $NumeroDePagos = $xCred->getPagosAutorizados(); $FrecuenciaDePagos = $xCR->getEPeriocidad($xCred->getPeriocidadDePago()); $MontoPagar = $xCR->getMonto($xCred->getSaldoActual($FechaFinal)); //Acabar, valor de la letra actual o saldo? $FechaAperturaCuenta = $xCR->getDate($xCred->getFechaDeMinistracion()); $FechaUltimoPago = $xCR->getDate($xCred->getFechaUltimoDePago()); //setLog("1....$FechaUltimoPago"); if ($xF->getInt($xCred->getFechaUltimoDePago()) >= $xF->getInt($xCred->getFechaDeMinistracion())) { //$FechaUltimoPago = $FechaAperturaCuenta; $xF100 = new cFecha(); $FechaAperturaCuenta = $xCR->getDate($xF100->setRestarDias(2, $xCred->getFechaDeMinistracion())); $FechaUltimoPago = $xCR->getDate($xF100->setRestarDias(1, $xCred->getFechaDeMinistracion())); //setLog("2....$FechaUltimoPago"); } $FechaUltimaCompra = $xCR->getDate($xCred->getFechaDeMinistracion()); $FechaCierreCuenta = ""; $FechaCorte = $FechaExtraccion; $Garantia = ""; //TODO: Acabar garantia $CreditoMaximo = $xCR->getMonto($xSoc->getCreditoMaximo());
<!-- MONTO MINISTRADO --> <div class="inv" id="divmontomin"> <?php $oFrm2 = new cHForm("frmmonto", "", "idfrmmonto"); $oFrm2->addHElem($oTxt->getDeMoneda("idmonto", "", $xCred->getMontoAutorizado())); $oFrm2->addHTML($oUL->li("Modificar el Monto que se autorizó")->li("Eliminar Plan de Pagos")->li("Recalcular Intereses Devengados")->li("Reestructurar SDPM")->end()); $oFrm2->addFootElement($oBtn->getBasic($lguardar, "jsaCambiarMontoMinistrado();jsTipTimer()", "guardar", "idmonto")); $oFrm2->addFootElement($oBtn->getBasic($lcancelar, "jsCancelarAccion()", "cancelar", "idcancela2")); echo $oFrm2->get(); ?> </div> <!-- FECHA DE MINISTRACION --> <div class="inv" id="divfechamin"> <?php $oFrm3 = new cHForm("frmfechamin", "", "idfrmfechamin"); $oFrm3->addHElem($oFch->get($xFRM->lang("Fecha", "Nueva"), $xCred->getFechaDeMinistracion(), 1)); $oFrm3->addHTML("<ul><li>Modificar la Fecha de Ministración</li>\n\t<li>Cambiar la Fecha del Recibo de Ministración</li><li>Eliminar Plan de Pagos</li>\n\t<li>Reestructurar SDPM</li><li>Recalcular Intereses Devengados</li></ul>"); $oFrm3->addFootElement($oBtn->getBasic($lguardar, "jsaCambiarFechaMinistracion();jsTipTimer()", "guardar", "idsafechamin")); $oFrm3->addFootElement($oBtn->getBasic($lcancelar, "jsCancelarAccion()", "cancelar", "idcancela3")); echo $oFrm3->get(); ?> </div> <!-- MONTO AUTORIZADO --> <div class="inv" id="divmontoautorizado"> <?php $oFrm5 = new cHForm("frmmontoaut", "", "idfrmmontoaut"); $oFrm5->addHElem($oTxt->getDeMoneda("idmontoaut", "", $xCred->getMontoAutorizado())); $oFrm5->addHTML($oUL->li("Modificar el Monto que se autorizó")->end()); $oFrm5->addFootElement($oBtn->getBasic($lguardar, "jsaCambiarMontoAutorizado();jsTipTimer()", "guardar", "idmonto")); $oFrm5->addFootElement($oBtn->getBasic($lcancelar, "jsCancelarAccion()", "cancelar", "idcancela5")); echo $oFrm5->get();
$xFRM->addHElem($xTxt->get("idobservaciones", "", "Observaciones")); $xFRM->addSubmit(); $xFRM->addFootElement('<input type="hidden" name="MAX_FILE_SIZE" value="1024000">'); echo $xFRM->get(); } else { $doc1 = isset($_FILES["f1"]) ? $_FILES["f1"] : false; $observaciones = isset($DDATA["idobservaciones"]) ? $DDATA["idobservaciones"] : ""; $xFil = new cFileImporter(); //var_dump($_FILES["f1"]); if ($xFil->processFile($doc1) == true) { $data = $xFil->getData(); $xPlan = new cPlanDePagos(); //eliminar credito $xCred = new cCredito($credito); $xCred->init(); $fecha_operacion = $xCred->getFechaDeMinistracion(); if ($xCred->getNumeroDePlanDePagos() != false) { $xPlan->init($xCred->getNumeroDePlanDePagos()); $xPlan->setEliminar(); } $xPlan->initByCredito($credito); $xPlan->setClaveDeCredito($credito); $xPlan->setClaveDePersona($xCred->getClaveDePersona()); $idrecibo = $xPlan->add($observaciones, $fecha_operacion); $xPlan->init($idrecibo); foreach ($data as $valores => $cont) { //periodo fecha saldo_inicial intereses impuesto capital pago_total saldo_final //0 1 2 3 4 5 6 7 //Periodo,Fecha de Pago,Saldo inicial,Intereses,Impuesto,Pago a Capital,Pago Total,Saldo final if ($xT->cInt($cont[0]) > 0) { $interes = $xT->cFloat($cont[3], 2);
function jsa_getDatosDeCredito($solicitud) { $xCred = new cCredito($solicitud); $xCred->initCredito(); $xF = new cFecha(); $xT = new cTipos(); $dCreds = $xCred->getDatosDeCredito(); $periocidad = $xCred->getPeriocidadDePago(); $FMinistracion = $xCred->getFechaDeMinistracion(); $contrato_corriente = $xCred->getContratoCorriente(); $xPlanGen = new cPlanDePagosGenerador(); $xPlanGen->initPorCredito($solicitud); $FPrimerAb = $xPlanGen->getFechaDePrimerPago(); $xF = new cFecha(0, $FMinistracion); $FM_d = $xF->dia(); $FM_a = $xF->anno(); $FM_m = $xF->mes(); $xF2 = new cFecha(1, $FPrimerAb); $xF2->set($FPrimerAb); $PA_d = $xF2->dia(); $PA_a = $xF2->anno(); $PA_m = $xF2->mes(); $tab = new TinyAjaxBehavior(); //setLog("$PA_d --- $PA_m ---- $PA_a - - - - - $FPrimerAb"); $tab->add(TabSetvalue::getBehavior('ideldia1', $FM_d)); $tab->add(TabSetvalue::getBehavior('idelmes1', $FM_m)); $tab->add(TabSetvalue::getBehavior('idelanno1', $FM_a)); $tab->add(TabSetvalue::getBehavior('ideldia0', $PA_d)); $tab->add(TabSetvalue::getBehavior('idelmes0', $PA_m)); $tab->add(TabSetvalue::getBehavior('idelanno0', $PA_a)); $tab->add(TabSetvalue::getBehavior('idDescripcionSolicitud', $xCred->getShortDescription())); $tab->add(TabSetvalue::getBehavior('idcuenta', $contrato_corriente)); //$xCred->getPeriocidadDePago() != CREDITO_TIPO_PERIOCIDAD_CATORCENAL if ($xCred->getTipoEnSistema() == CREDITO_PRODUCTO_NOMINA) { $tab->add(TabSetvalue::getBehavior('idFormaDePago', $xCred->getTipoDePago())); //setLog("El pago es " . $xCred->getPeriocidadDePago() ); if ($xCred->getPeriocidadDePago() != CREDITO_TIPO_PERIOCIDAD_CATORCENAL) { $tab->add(TabSetvalue::getBehavior('idtipo_plan_pagos', CREDITO_TIPO_DIAS_DE_PAGO_PERSONALIZADOS)); } } return $tab->getString(); }
function setCredito($credito) { $this->mDocumento = $credito; $xFDE = new cFecha(); $xLng = new cLang(); $cCred = new cCredito($credito); $cCred->init(); $idsolicitud = $credito; $DCred = $cCred->getDatosDeCredito(); $DProd = $cCred->getOProductoDeCredito(); $OOParam = new cProductoDeCreditoOtrosDatosCatalogo(); $numero_de_socio = $cCred->getClaveDePersona(); $this->mPersona = $numero_de_socio; $cSoc = new cSocio($numero_de_socio); $cSoc->init(); $svar_info_cred = ""; $tblInfCred = new cFicha(iDE_CREDITO, $idsolicitud); $this->setPersona($numero_de_socio); $svar_info_cred = $tblInfCred->show(true); //Lista de Beneficiados $lst_beneficiados = ""; $this->getListadoDeAvales($idsolicitud); $SQLCBen = "SELECT `socios_relacionestipos`.`descripcion_relacionestipos` AS 'relacion', `socios_relaciones`.`nombres`,\t`socios_relaciones`.`apellido_paterno`,\t`socios_relaciones`.`apellido_materno`,\n\t\t\t`socios_consanguinidad`.`descripcion_consanguinidad` AS 'consaguinidad'\n\t\t\tFROM `socios_relaciones` `socios_relaciones` INNER JOIN `socios_consanguinidad` `socios_consanguinidad` ON `socios_relaciones`.`consanguinidad` = `socios_consanguinidad`.`idsocios_consanguinidad`\n\t\t\tINNER JOIN `socios_relacionestipos` `socios_relacionestipos` ON `socios_relaciones`.`tipo_relacion` = `socios_relacionestipos`.`idsocios_relacionestipos`\n\t\t\tWHERE (`socios_relaciones`.`socio_relacionado` ={$numero_de_socio}) AND (`socios_relaciones`.`credito_relacionado` ={$idsolicitud})\tAND\t(`socios_relaciones`.`tipo_relacion`=11)"; $tblCBen = new cTabla($SQLCBen); $lst_beneficiados = $tblCBen->Show(); $firmas_de_avales = $this->mFirmasAvales; // $cSoc->getCoResponsables("firmas", "avales", $idsolicitud ); //Plan de Pago segun SQL $splan_pagos = $cCred->getPlanDePago(OUT_HTML, true, true); //================================================================================== $fichas_de_avales = $this->mFichasAvales; //$cCred->getAvales_InText(); $fecha_larga_de_documento = $xFDE->getFechaLarga($cCred->getFechaDeMinistracion()); $fichas_de_respsolidarios = ""; //TODO: FALTA //Otros Datos $monto_ministrado = $cCred->getMontoAutorizado(); $tasa_interes_mensual_ordinario = round($cCred->getTasaDeInteres() / 12 * 100, 2); $tasa_interes_anual_ordinario = $cCred->getTasaDeInteres(); $fecha_de_vencimiento = $cCred->getFechaDeVencimiento(); $fecha_de_ministracion = $cCred->getFechaDeMinistracion(); $tasa_garantia_liquida = $DCred["porciento_garantia_liquida"] * 100; $monto_garantia_liquida = $monto_ministrado * $tasa_garantia_liquida; $tasa_interes_mensual_moratorio = round($cCred->getTasaDeMora() / 12 * 100, 2); $dias_del_credito = $cCred->getDiasAutorizados(); $meses_del_credito = sprintf("%02d", ceil($dias_del_credito / 30.416666666666668)); $periocidad = $cCred->getPeriocidadDePago(); //Tipo de Credito por SQL $SQLTCred = "SELECT * FROM creditos_modalidades WHERE idcreditos_modalidades=" . $DCred["tipo_credito"]; $tipo_de_credito = mifila($SQLTCred, "descripcion_modalidades"); //Datos del Grupo Solidarios por SQL $SQLGAsoc = "SELECT * FROM socios_grupossolidarios WHERE idsocios_grupossolidarios=" . $DCred["grupo_asociado"]; $InfoGrupo = obten_filas($SQLGAsoc); $nombre_rep_social = $InfoGrupo["representante_nombrecompleto"]; $codigo_rep_social = $InfoGrupo["representante_numerosocio"]; $nombre_voc_vigila = $InfoGrupo["vocalvigilancia_nombrecompleto"]; $nombre_del_grupo = $InfoGrupo["nombre_gruposolidario"]; $domicilio_rep_social = domicilio($codigo_rep_social); $tabla_asociadas = ""; $lista_asociadas = ""; $tasa_de_cat = $cCred->getCAT(); $DPeriocidad = new cPeriocidadDePago($cCred->getPeriocidadDePago()); $DPeriocidad->init(); $monto_con_interes = ""; $monto_con_interes_letras = ""; if ($DCred["grupo_asociado"] != DEFAULT_GRUPO) { $SQL_get_grupo = "SELECT `socios_general`.`codigo`, CONCAT(`socios_general`.`nombrecompleto`, ' ', `socios_general`.`apellidopaterno`, ' ', `socios_general`.`apellidomaterno`) AS 'nombre_completo'\n\t\t\t\t\t\t\t\t\tFROM `socios_general` `socios_general` WHERE (`socios_general`.`grupo_solidario` =" . $DCred["grupo_asociado"] . ")"; $rsg = getRecordset($SQL_get_grupo); while ($rwt = mysql_fetch_array($rsg)) { $lista_asociadas .= ", " . $rwt["nombre_completo"]; } } if (EACP_INCLUDE_INTERES_IN_PAGARE == true) { if ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $monto_con_interes = $cCred->getMontoAutorizado() + $cCred->getInteresDiariogenerado() * $cCred->getDiasAutorizados(); } else { $sqlInt = "SELECT `operaciones_mvtos`.`docto_afectado`, `operaciones_mvtos`.`tipo_operacion`, COUNT(`operaciones_mvtos`.`idoperaciones_mvtos`) AS `mvtos`,\n\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real` *\t`eacp_config_bases_de_integracion_miembros`.`afectacion`) AS 'monto'\n\t\t\t\t\tFROM `operaciones_mvtos` `operaciones_mvtos` INNER JOIN `eacp_config_bases_de_integracion_miembros`\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = `eacp_config_bases_de_integracion_miembros`.`miembro` WHERE (`operaciones_mvtos`.`docto_afectado` = {$idsolicitud})\n\t\t\t\t\tAND (`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2601)\n\t\t\t\t\tGROUP BY `operaciones_mvtos`.`docto_afectado`, `eacp_config_bases_de_integracion_miembros`.`codigo_de_base`\n\t\t\t\t\tORDER BY `eacp_config_bases_de_integracion_miembros`.`codigo_de_base`, `operaciones_mvtos`.`fecha_afectacion`, `operaciones_mvtos`.`socio_afectado`\t"; $xF = obten_filas($sqlInt); $monto_con_interes = $xF["monto"]; } $monto_con_interes_letras = convertirletras($monto_con_interes); $monto_con_interes = getFMoney($monto_con_interes); } $this->mArr["variable_informacion_del_credito"] = $cCred->getFicha(); //"variable_lista_de_beneficiados" => $lst_beneficiados, $this->mArr["variable_tipo_de_credito"] = $tipo_de_credito; $this->mArr["variable_monto2_ministrado_con_intereses_en_letras"] = $monto_con_interes_letras; $this->mArr["variable_monto2_ministrado_con_intereses"] = $monto_con_interes; $this->mArr["variable_monto_ministrado"] = getFMoney($monto_ministrado); $this->mArr["variable_tasa_mensual_de_interes_ordinario"] = $tasa_interes_mensual_ordinario; $this->mArr["variable_credito_fecha_de_vencimiento"] = $xFDE->getFechaMediana($fecha_de_vencimiento); $this->mArr["variable_monto_garantia_liquida"] = getFMoney($monto_garantia_liquida); $this->mArr["variable_tasa_mensual_de_interes_moratorio"] = $tasa_interes_mensual_moratorio . ""; $this->mArr["variable_tasa_de_garantia_liquida"] = $tasa_garantia_liquida . ""; $this->mArr["variable_plan_de_pagos"] = $splan_pagos; $this->mArr["variable_docto_fecha_larga_actual"] = $fecha_larga_de_documento; $this->mArr["variable_nombre_de_la_representante_social"] = $nombre_rep_social; $this->mArr["variable_listado_de_integrantes"] = $lista_asociadas; $this->mArr["variable_nombre_de_la_vocal_de_vigilancia"] = $nombre_voc_vigila; $this->mArr["variable_nombre_del_grupo_solidario"] = $nombre_del_grupo; $this->mArr["variable_domicilio_de_la_representante_social"] = $domicilio_rep_social; $this->mArr["variable_meses_de_duracion_del_credito"] = $meses_del_credito; $this->mArr["variable_en_letras_monto_ministrado"] = convertirletras($monto_ministrado); $this->mArr["variable_credito_fecha_de_ministracion"] = $xFDE->getFechaCorta($fecha_de_ministracion); $this->mArr["variable_tasa_cat"] = $tasa_de_cat; $this->mArr["variable_credito_periocidad"] = $DPeriocidad->getNombre(); $this->mArr["variable_credito_monto_parcialidad_fija"] = getFMoney($cCred->getMontoDeParcialidad()); $this->mArr["variable_credito_numero_de_pagos"] = $cCred->getPagosAutorizados(); $this->mArr["variable_tasa_anual_de_interes_moratorio"] = $cCred->getTasaDeInteres() * 2 * 100 . "%"; $this->mArr["variable_tasa_anual_de_interes_ordinario"] = $cCred->getTasaDeInteres() * 100 . "%"; //sobreescribir datos de la empresa $xEmp = new cEmpresas($cCred->getClaveDeEmpresa()); $xEmp->init(); $this->mArr["variable_nombre_de_la_empresa"] = $xEmp->getNombre(); $this->mArr["variable_nombre_de_empresa"] = $xEmp->getNombre(); $this->mArr["variable_fecha_de_primer_pago"] = $xFDE->getFechaMediana($cCred->getFechaPrimeraParc()); $this->mArr["variable_avales_en_fichas"] = $fichas_de_avales; $this->mArr["variable_firmas_de_avales"] = $firmas_de_avales; $this->mArr["variable_avales_autorizacion_central_riesgo"] = $this->mFichaRiesgoAv; $this->mArr["variable_fecha_ultimo_abono"] = $xFDE->getFechaLarga($cCred->getFechaUltimaParc()); $this->mArr["variable_fecha_de_primer_abono"] = $xFDE->getFechaMediana($cCred->getFechaPrimeraParc()); //$this->mArr["variable_fecha_de_primer_abono"] = $this->mArr["variable_en_letras_tasa_mensual_de_interes_moratorio"] = convertirletras_porcentaje($tasa_interes_mensual_moratorio); $this->mArr["variable_lista_de_avales_con_domicilio"] = $this->mLAvalesConDir; /*variable_aval1_nombre_completo variable_aval1_domicilio_completo variable_aval1_domicilio_localidad variable_aval1_domicilio_municipio*/ //Cargar Avales $this->mArr["variable_listado_de_garantias"] = $this->getListadoDeGarantias(); //$this->mArr["variable_modalidad_de_credito"] = $cCred->getOEstado() $this->mArr["variable_estado_de_credito"] = $cCred->getOEstado()->descripcion_estatus()->v(OUT_TXT); //$this->mArr["variable_credito_num_de_pago_actual"] = $cCred->getPeriodoActual(); $this->mArr["variable_contrato_id_legal"] = $DProd->getOtrosParametros($OOParam->CONTRATO_ID_LEGAL); $this->mArr["variable_producto_comision_apertura"] = $DProd->getOtrosParametros($OOParam->TASA_DE_COMISION_AP); }
function init($arrData = false, $credito = false, $dataPagos = false) { $fecha = $this->mFechaDeCorte; $credito = $credito == false ? $this->mClaveDeCredito : $credito; $xCred = new cCredito($credito); $xCred->init($arrData); $xCred->initPagosEfectuados($dataPagos, $fecha); //setLog($dataPagos); $xSoc = new cSocio($xCred->getClaveDePersona()); $xSoc->init(); $this->mInfoLinea[1] = $this->getText($this->getClaveDeOtorgante()); $this->mInfoLinea[2] = $this->getText($this->getNombreOtorgante()); $this->mInfoLinea[3] = $this->getFechaDeReporte(); $this->mInfoLinea[4] = $this->getText($xSoc->getApellidoPaterno()); $this->mInfoLinea[5] = $this->getText($xSoc->getApellidoMaterno()); $this->mInfoLinea[6] = ""; $nombres = explode(" ", $xSoc->getNombre(), 2); $this->mInfoLinea[7] = isset($nombres[SYS_CERO]) ? $this->getText($nombres[SYS_CERO]) : ""; $this->mInfoLinea[8] = isset($nombres[SYS_UNO]) ? $this->getText($nombres[SYS_UNO]) : ""; $this->mInfoLinea[9] = $this->getDate($xSoc->getFechaDeNacimiento()); $this->mInfoLinea[10] = $this->getText($xSoc->getRFC()); $this->mInfoLinea[11] = isset($this->mTituloPersonal[$xSoc->getTipoGenero()]) ? $this->mTituloPersonal[$xSoc->getTipoGenero()] : ""; //Hiber Tadeo $this->mInfoLinea[12] = $this->getEstadoCivil($xSoc->getEstadoCivil()); $this->mInfoLinea[13] = $this->mEquivGenero[$xSoc->getTipoGenero()]; //TODO: terminar defuncion/muerte de la persona $this->mInfoLinea[14] = ""; $this->mInfoLinea[15] = ""; $xDom = $xSoc->getODomicilio(); if ($xDom == null) { for ($i = 16; $i <= 23; $i++) { $this->mInfoLinea[$i] = ""; } } else { $this->mInfoLinea[16] = $this->getText($xDom->getCalleConNumero()); $this->mInfoLinea[17] = ""; $this->mInfoLinea[18] = $this->getText($xDom->getColonia()); $this->mInfoLinea[19] = $this->getText($xDom->getMunicipio()); $this->mInfoLinea[20] = $this->getText($xDom->getCiudad()); $this->mInfoLinea[21] = $this->getText($xDom->getClaveDeEstadoEnSIC()); $this->mInfoLinea[22] = $this->getText($xDom->getCodigoPostal()); $xTel = $xSoc->getTelefonoPrincipal(); //Hiber Tadeo $this->mInfoLinea[23] = $xTel == 0 ? "" : $xTel; //Hiber Tadeo } $xAE = $xSoc->getOActividadEconomica(); if ($xAE == null) { $this->mInfoLinea[24] = $this->getText($xSoc->getRFC(true)); //Para Finsureste debe de ser este RFC del cliente $this->mInfoLinea[33] = 0; } else { $this->mInfoLinea[24] = $this->getText($xSoc->getRFC(true)); //Para Finsureste debe de ser este RFC del cliente//$this->getText($xAE->getNombreEmpresa()); $this->mInfoLinea[33] = $this->getText($xDom->getCalleConNumero()); //Para Finsureste debe de ser direccion del cliente //Hiber Tadeo Aca es direccion } //direccion 2 $this->mInfoLinea[25] = ""; $this->mInfoLinea[26] = $this->getText($xDom->getColonia()); //Para Finsureste $this->mInfoLinea[27] = $this->getText($xDom->getMunicipio()); //Para Finsureste $this->mInfoLinea[28] = $this->getText($xDom->getCiudad()); //Para Finsureste $this->mInfoLinea[29] = $this->getText($xDom->getClaveDeEstadoEnSIC()); //Para Finsureste $this->mInfoLinea[30] = $this->getText($xDom->getCodigoPostal()); //Para Finsureste $this->mInfoLinea[31] = $xTel == 0 ? "" : $xTel; //Hiber Tadeo //Para Finsureste $this->mInfoLinea[32] = ""; $this->mInfoLinea[34] = $this->getClaveDeOtorgante(); $this->mInfoLinea[35] = $this->getText($this->getNombreOtorgante()); $this->mInfoLinea[36] = $xCred->getNumeroDeCredito(); $this->mInfoLinea[38] = $this->getTipoDeCuenta($xCred->getTipoDePago()); //datos del convenio $DConv = $xCred->getOProductoDeCredito(); $this->mInfoLinea[37] = $this->getTipoDeResponsabilidad($DConv->getTipoDeIntegracion()); $this->mInfoLinea[39] = $DConv->getTipoDeContratoCR(); //"PL";//$DConv->getTipoDeContratoCR(); //Hiber Tadeo CL=LINEA DE CREDITO PL=PRESTAMO PERSONAL $this->mInfoLinea[40] = AML_CLAVE_MONEDA_LOCAL; //TODO: mejorar $this->mInfoLinea[41] = $xCred->getPagosAutorizados(); if ($xCred->getTipoEnSistema() == CREDITO_PRODUCTO_NOMINA) { //TODO: Parchar con el de TADEO $this->mInfoLinea[42] = "P"; } else { $this->mInfoLinea[42] = $this->mEquivFrecPagos[$xCred->getPeriocidadDePago()]; } $this->mInfoLinea[43] = $this->getDate($xCred->getFechaDeMinistracion()); $this->mInfoLinea[44] = $this->getMonto($xCred->getMontoDeParcialidad()); $this->mInfoLinea[45] = $this->getDate($xCred->getFechaUltimoDePago()); $this->mInfoLinea[46] = $this->getDate($xCred->getFechaDeMinistracion()); $this->mInfoLinea[47] = ""; //$this->getDate("2029-12-31" ); if ($xCred->getSaldoActual($fecha) <= TOLERANCIA_SALDOS) { $this->mInfoLinea[47] = $this->getDate($xCred->getFechaUltimoDePago()); } $this->mInfoLinea[48] = $this->getFechaDeReporte(); $DCapacidad = $xSoc->getOCapacidadDePago(); $this->mInfoLinea[49] = $this->getMonto($DCapacidad->getMontoDeCreditoMaximo()); $this->mInfoLinea[50] = $this->getMonto($xCred->getSaldoIntegrado($fecha)); //$xCred->getSaldoActual(); $this->mInfoLinea[51] = $this->getMonto($DCapacidad->getLimiteDeCredito()); $this->mInfoLinea[52] = $this->getMonto($xCred->getSaldoVencido()); //53 numero de pagos vencidos $this->mInfoLinea[53] = 0; //54 forma mop $this->mInfoLinea[54] = $xCred->getMOP($fecha); // ($this->mOut == OUT_CSV) ? "01" : "'01"; //55 clave de observacion, segun catalogo $this->mInfoLinea[55] = ""; //56 clave de otorgante anterior //57 nombre otorgante anterior $this->mInfoLinea[56] = ""; $this->mInfoLinea[57] = ""; $this->mInfoLinea[58] = ""; //Numero de cuenta anterior en caso de cartera tranferida $this->mInfoLinea[59] = $xCred->getFechaDePrimerAtraso() == null ? "" : $this->getDate($xCred->getFechaDePrimerAtraso()); //TODO: Fecha de Primera atraso $this->mInfoLinea[60] = $this->getMonto($xCred->getSaldoActual($fecha)); //Saldo Insoluto del Principal $this->mInfoLinea[61] = $this->getMonto($xCred->getMontoUltimoPago()); // $xCred->getMontoDeParcialidad();//0; //TODO: Monto de Ultimo pago if (MODO_DEBUG == true) { $this->mMessages .= $xCred->getMessages(OUT_TXT); } }
$ficha_socio = "_NO_APLICA_"; $fichas_de_avales = "_NO_APLICA_"; $fichas_de_respsolidarios = "_NO_APLICA_"; $firmas_de_respsolidarios = "_NO_APLICA_"; //Captacion $numero_de_cuenta = "_NO_APLICA_"; $nombre_mancomunados = "_NO_APLICA_"; $variable_tasa_otorgada = "_NO_APLICA_"; $variable_fecha_vencimiento = "_NO_APLICA_"; $numero_dias = "_NO_APLICA_"; $monto_inicial_letras = "_NO_APLICA_"; $monto_inicial = "_NO_APLICA_"; $monto_letras = "_NO_APLICA_"; $variable_oficial = "_NO_APLICA_"; $descripcion_cajalocal = "_NO_APLICA_"; $xFDE = new cFecha(0, $cCred->getFechaDeMinistracion()); $fecha_larga_de_documento = $xFDE->getFechaLarga(); $vars = array("variable_nombre_del_socio" => $variable_nombre_del_socio, "variable_nombre_de_la_sociedad" => EACP_NAME, "variable_nombre_de_la_entidad" => EACP_NAME, "variable_domicilio_del_socio" => trim(substr($cSoc->getDomicilio(), 0, 60)), "variable_documento_de_constitucion_de_la_sociedad" => EACP_DOCTO_CONSTITUCION, "variable_rfc_de_la_entidad" => EACP_RFC, "variable_rfc_del_socio" => $DSoc["rfc"], "variable_curp_del_socio" => $DSoc["curp"], "variable_nombre_del_representante_legal_de_la_sociedad" => EACP_REP_LEGAL, "variable_informacion_del_credito" => $svar_info_cred, "variable_domicilio_de_la_entidad" => EACP_DOMICILIO_CORTO, "variable_acta_notarial_de_poder_al_representante" => EACP_DOCTO_REP_LEGAL, "variable_lista_de_beneficiados" => $variable_lista_beneficiados, "variable_numero_de_socio" => $numero_de_socio, "variable_nombre_caja_local" => $caja_local, "variable_caja_local" => $numero_caja_local, "variable_tipo_de_credito" => $tipo_de_credito, "variable_monto_ministrado" => getFMoney($monto_ministrado), "variable_tasa_mensual_de_interes_ordinario" => $tasa_interes_mensual_ordinario, "variable_credito_fecha_de_vencimiento" => getFechaLarga($fecha_de_vencimiento), "variable_monto_garantia_liquida" => getFMoney($monto_garantia_liquida), "variable_tasa_mensual_de_interes_moratorio" => $tasa_interes_mensual_moratorio . " %", "variable_tasa_de_garantia_liquida" => $tasa_garantia_liquida . " %", "variable_plan_de_pagos" => $splan_pagos, "variable_horario_de_trabajo_de_la_entidad" => EACP_HORARIO_DE_TRABAJO, "variable_testigo_del_acto" => $oficial, "variable_fecha_larga_actual" => fecha_larga(), "variable_docto_fecha_larga_actual" => $fecha_larga_de_documento, "variable_nombre_de_presidente_de_vigilancia_de_la_entidad" => EACP_PDTE_VIGILANCIA, "variable_nombre_de_la_representante_social" => $nombre_rep_social, "variable_listado_de_integrantes" => $lista_asociadas, "variable_nombre_de_la_vocal_de_vigilancia" => $nombre_voc_vigila, "variable_nombre_del_grupo_solidario" => $nombre_del_grupo, "variable_domicilio_de_la_representante_social" => $domicilio_rep_social, "variable_meses_de_duracion_del_credito" => $meses_del_credito, "variable_en_letras_monto_ministrado" => convertirletras($monto_ministrado), "variable_credito_fecha_de_ministracion" => getFechaLarga($fecha_de_ministracion), "variable_informacion_del_socio" => $ficha_socio, "variable_avales_en_fichas" => $fichas_de_avales, "variable_responsable_solidario_en_fichas" => $fichas_de_respsolidarios, "variable_firmas_de_obligados_solidarios" => $firmas_de_respsolidarios, "variable_numero_de_cuenta" => $numero_de_cuenta, "variable_oficial" => $variable_oficial, "variable_lugar" => $variable_lugar, "variable_lugar_actual" => $variable_lugar, "variable_monto_inicial_en_numero" => $monto_inicial, "variable_monto_inicial_en_letras" => $monto_inicial_letras, "variable_numero_de_dias" => $numero_dias, "variable_fecha_de_vencimiento" => $variable_fecha_vencimiento, "variable_nombre_mancomunados" => $nombre_mancomunados, "variable_tasa_otorgada" => $variable_tasa_otorgada, "variable_nombre_del_cajero" => $variable_nombre_del_cajero, "variable_fecha_del_recibo" => $variable_fecha_del_recibo, "variable_monto_del_recibo_en_letras" => $variable_monto_del_recibo_en_letras, "variable_monto_del_recibo" => $variable_monto_del_recibo, "variable_tipo_de_recibo" => $variable_tipo_de_recibo, "variable_tipo_de_pago" => $variable_tipo_de_pago, "variable_observacion_del_recibo" => $variable_observacion_del_recibo, "variable_marca_de_tiempo" => $variable_marca_de_tiempo, "variable_encabezado_de_reporte" => getRawHeader(), "variable_pie_de_reporte" => getRawFooter()); /*, "variable_operacion_nombre_corto" => $variable_operacion_nombre_corto*/ $texto_contrato = contrato(200, "texto_del_contrato"); //$tamTexto = strlen($texto_contrato); //Buscar la parte que define el formato de Movimientos foreach ($vars as $key => $value) { $texto_contrato = str_replace($key, $value, $texto_contrato); } echo $texto_contrato; ?> </body> <script type="text/javascript">
$jsNoValido = "<script>\tjsRegresarConTemporizador({\n\t\turl: '../index.xul.php?p=../frmcaja/frmcobrosdecreditos.php',\n\t\tmsg : 'Credito No Operable ({$socio}|{$solicitud})' });\t</script>"; if ($solicitud === DEFAULT_CREDITO) { exit($jsNoValido); } if (PERMITIR_EXTEMPORANEO == true) { $_SESSION[FECHA_OPERATIVA] = $Fecha; //$Fecha = $_SESSION[FECHA_OPERATIVA]; } if (isset($_REQUEST["fecha"])) { $_SESSION[FECHA_OPERATIVA] = $_REQUEST["fecha"]; $Fecha = $_SESSION[FECHA_OPERATIVA]; } $xCred = new cCredito($solicitud); $xCred->init(); $socio = $xCred->getClaveDePersona(); $FechaInicial = $xCred->getFechaDeMinistracion(); if (CREDITO_GENERAR_DEVENGADOS_ONFLY == true) { $msg .= $xCred->setReestructurarIntereses(false, $Fecha, true); } //$dcreds = $xCred->getDatosDeCredito() ; $periocidad = $xCred->getPeriocidadDePago(); $xJsBasic = new jsBasicForm("frmProcesarPago"); $xHP->addHSnip($xJsBasic->setIncludeJQuery()); echo $xHP->setBodyinit(); if ($xCred->isPagable() == false) { exit($jsNoValido); } else { $oFrm = new cHForm("frmProcesarPago", "./", "frmProcesarPago"); //selector de Cobros $xHCob = new cHCobros(); $xSelP = new cHSelect();
function setReestructurarSDPM($SoloConSaldos = false, $credito = false, $forzarTodos = false, $fechaCorte = false, $fechaInicial = false, $EliminarTodo = true) { //FIXME: probar con saldo anterior $fechaCorte = $fechaCorte == false ? fechasys() : $fechaCorte; $msg = ""; $wCredito1 = $credito != false ? " `creditos_mvtos_asdpm`.`documento` = {$credito}" : " `documento` > 0 "; $wCredito2 = $credito != false ? " numero_de_credito = {$credito} " : " numero_de_credito > 0"; $ByRTM = $credito != false ? " " : " SQL_CACHE "; $wFecha1 = " AND (fecha >='{$fechaInicial}' AND fecha <='{$fechaCorte}' ) "; $wFecha2 = " AND (`fecha_actual` >= '{$fechaInicial}' AND `fecha_actual`<='{$fechaCorte}' ) "; $ql = new MQL(); $arrEstatusD = array(OPERACION_CLAVE_MINISTRACION, 111, 114, 115); $arrEstatus = array(OPERACION_CLAVE_MINISTRACION => CREDITO_ESTADO_VIGENTE, 111 => CREDITO_ESTADO_VENCIDO, 114 => CREDITO_ESTADO_VIGENTE, 115 => CREDITO_ESTADO_MOROSO); //Eliminar el SDPM if ($EliminarTodo == true) { $DAction = $ql->setRawQuery("DELETE FROM creditos_sdpm_historico WHERE {$wCredito2} {$wFecha2} "); if (MODO_DEBUG == true) { $msg .= "WARN\tEliminando SDPM\r\n"; } } if ($credito != false) { $ql->setRawQuery("DELETE FROM operaciones_mvtos WHERE docto_afectado={$credito} AND tipo_operacion = 420"); if (MODO_DEBUG == true) { $msg .= "WARN\tEliminando Operaciones 420 del credito {$credito}\r\n"; } } $msg .= "Socio\tCredito\tFecha\tMonto\tSaldo\tDias\tOperacion\tEstatus\tInteres\tMoratorios\r\n"; //Generar saldos de credito por mes $sql = "SELECT {$ByRTM}\n\t\t`creditos_mvtos_asdpm`.`socio`,\n\t\t`creditos_mvtos_asdpm`.`documento`,\n\t\t`creditos_mvtos_asdpm`.`recibo`,\n\t\t`creditos_mvtos_asdpm`.`fecha`,\n\t\t`creditos_mvtos_asdpm`.`operacion`,\n\t\t`creditos_mvtos_asdpm`.`monto`,\n\t\t`creditos_mvtos_asdpm`.`afectacion`\n\t\tFROM `creditos_mvtos_asdpm`\tWHERE {$wCredito1} {$wFecha1} "; //setLog($sql); $rsM = $ql->getDataRecord($sql); $saldo = 0; $creditoA = 0; $xT = new cTipos(); $xF = new cFecha(); $FECHA_DE_ULTIMO_PAGO = "1998-01-01"; $CREDITO_SALDO_ANTERIOR = 0; $MvtoAnterior = OPERACION_CLAVE_MINISTRACION; $ESTADO_ACTUAL = CREDITO_ESTADO_VIGENTE; $DIVISOR_DE_INTERESES = EACP_DIAS_INTERES; $DCred = array(); $IsCredNew = true; $xCred = null; foreach ($rsM as $rw) { $socio = $xT->cInt($rw["socio"]); $credito = $xT->cInt($rw["documento"]); $fecha = $rw["fecha"]; $nota = ""; // $IsCredNew = true; if ($creditoA != $credito) { $saldo = 0; $FECHA_DE_ULTIMO_PAGO = $fecha; $ESTADO_ACTUAL = CREDITO_ESTADO_VIGENTE; $xCred = new cCredito($credito, $socio); $xCred->init(); $DCred = $xCred->getDatosDeCredito(); $CREDITO_SALDO_ANTERIOR = 0; //si es Ministracion if ($MvtoAnterior == OPERACION_CLAVE_MINISTRACION) { $FECHA_DE_ULTIMO_PAGO = $xCred->getFechaDeMinistracion(); } $msg .= "------------------------\tNUEVO_CREDITO : {$credito}------------------------------\r\n"; if ($EliminarTodo == false) { my_query("DELETE FROM creditos_sdpm_historico WHERE numero_de_credito = {$credito} {$wFecha2}"); } } else { $IsCredNew = false; } $OProd = $xCred->getOProductoDeCredito(); $recibo = $rw["recibo"]; $operacion = $rw["operacion"]; $afectacion = $rw["afectacion"]; $monto = $xT->cFloat($rw["monto"], 2); $periocidad = $xCred->getPeriocidadDePago(); $FechaVencimiento = $xCred->getFechaDeVencimiento(); //(!isset( $DCred["fecha_vencimiento_dinamico"])) ? $xCred->getFechaDeVencimiento() : $DCred["fecha_vencimiento_dinamico"]; $DiaInteresMax = $xF->setSumarDias(INTERES_DIAS_MAXIMO_A_DEVENGAR, $FechaVencimiento); $dias_transcurridos = $xF->setRestarFechas($fecha, $FECHA_DE_ULTIMO_PAGO); $saldo_calculado = $dias_transcurridos * $saldo; //No poner la afectacion $saldo += $xT->cFloat($monto * $afectacion, 2); // si es normal, calcular normal, si es mora: Calcular mora y normal, si es vencido: calcular normal y mora $interes = 0; $moratorio = 0; $TASA_NORMAL = $xCred->getTasaDeInteres(); $TASA_MORA = $xCred->getTasaDeMora(); $TIPO_DE_PAGO = $xCred->getTipoDePago(); $PAGOS_SIN_CAPITAL = $xCred->getPagosSinCapital(); $MONTO_ORIGINAL_DE_CREDITO = $xCred->getMontoAutorizado(); $saldoBase = $xT->cFloat($saldo, 2); if ($operacion == OPERACION_CLAVE_PAGO_CAPITAL and $saldo == 0) { $saldoBase = $CREDITO_SALDO_ANTERIOR; } if ($MvtoAnterior == OPERACION_CLAVE_MINISTRACION) { $saldoBase = $CREDITO_SALDO_ANTERIOR; $saldo_calculado = $dias_transcurridos * $CREDITO_SALDO_ANTERIOR; } $SALDO_ACTUAL = $xCred->getSaldoActual(); $BASE_NORMAL = $saldo_calculado; $BASE_MORA = $saldo_calculado; eval($OProd->getPreModInteres()); //considerar si es un maximo de x dias devengar en vencidos switch ($ESTADO_ACTUAL) { case CREDITO_ESTADO_VIGENTE: $interes = $BASE_NORMAL * $TASA_NORMAL / $DIVISOR_DE_INTERESES; break; case CREDITO_ESTADO_VENCIDO: //validar si tiene un maximo de dias transcurridos de devengado if ($xF->getInt($fecha) <= $xF->getInt($DiaInteresMax)) { $interes = $BASE_NORMAL * $TASA_NORMAL / $DIVISOR_DE_INTERESES; $moratorio = $BASE_MORA * $TASA_MORA / $DIVISOR_DE_INTERESES; } else { $interes = 0; $moratorio = 0; $nota = "Despues del {$DiaInteresMax} no se acumula Interes, Vencimiento : {$FechaVencimiento}"; } break; case CREDITO_ESTADO_MOROSO: $interes = $BASE_NORMAL * $TASA_NORMAL / $DIVISOR_DE_INTERESES; $moratorio = $BASE_MORA * $TASA_MORA / $DIVISOR_DE_INTERESES; break; } //END_SWITCH $interes = $xT->cFloat($interes, 2); if ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $moratorio = $xT->cFloat($moratorio, 2); //0; //2012-04-10 } else { //$moratorio = 0; } eval($OProd->getPosModInteres()); $msg .= "{$socio}\t{$credito}\t{$fecha}\t{$monto}\t{$saldo}\t{$dias_transcurridos}\t{$operacion}\t{$ESTADO_ACTUAL}\t{$interes}\t{$moratorio}\t{$nota}\r\n"; if ($xF->getInt($fecha) <= $xF->getInt(SYS_FECHA_DE_MIGRACION)) { $interes = 0; $moratorio = 0; if (MODO_DEBUG == true) { $msg .= "WARN\tOMITIR Interes {$interes} y MORA por {$moratorio} por estar antes de la migracion {$fecha}\r\n"; } } if ($xF->getInt($fecha) <= $xF->getInt($fechaCorte)) { $msgSDPM = $xCred->addSDPM($interes, $moratorio, $FECHA_DE_ULTIMO_PAGO, $saldo, $ESTADO_ACTUAL, $fecha, $operacion, $saldo_calculado); //if(MODO_DEBUG == true){ $msg .= $msgSDPM; } } if ($saldo <= TOLERANCIA_SALDOS) { $msg .= "------------------------------------------------------\r\n"; } $creditoA = $credito; $FECHA_DE_ULTIMO_PAGO = $fecha; $CREDITO_SALDO_ANTERIOR = $saldo; $MvtoAnterior = $operacion; /* * si existe la operacion de cambio de estatus, validar en el array, y actualizar el valor * Este estatus se aplicara en el siguiente */ if (in_array($operacion, $arrEstatusD)) { $ESTADO_ACTUAL = $arrEstatus[$operacion]; } } return $msg; }