for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) { $saldo_inicial = $i == 1 ? $monto_autorizado : $saldo_final; $fecha_de_referencia = $i == 1 ? $fecha_primer_abono : $fecha_de_pago; $xPlanGen->setTipoDeCreditoEnSistema($xCred->getTipoEnSistema()); $xPlanGen->setPagosAutorizados($PAGOS_AUTORIZADOS); $xPlanGen->setDiasDeAbonoFijo($dia_1_ab, $dia_2_ab, $dia_3_ab); $xPlanGen->setTipoDePlanDePago($tipo_de_plan); $xPlanGen->setPeriocidadDePago($PERIOCIDAD_DE_PAGO); $fecha_de_pago = $xPlanGen->getFechaDePago($fecha_de_referencia, $i); // ------------------------------------ Obtiene la Fecha de Pago ---------------------------------------------- $dias_normales = $i == 1 ? restarfechas($fecha_de_pago, $fecha_ministracion) : restarfechas($fecha_de_pago, $fecha_de_referencia); if (PLAN_DE_PAGOS_PLANO == true) { $dias_normales = $PERIOCIDAD_DE_PAGO; } $saldo_insoluto = $saldo_inicial; eval($FInteres_normal->getFormula()); if ($PlanMalo == true) { $interes_normal = $saldo_insoluto * ($tasa_interes / 12); } $interes_simulado = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $interes_normal : round($interes_normal, 2); $iva_simulado = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $interes_normal * $tasa_iva : round($interes_normal * $tasa_iva, 2); $parcialidad_simulada = $parcialidad_presumida - ($interes_simulado + $iva_simulado); // + $parcialidad_cargo + $parcialidad_ahorro)); $saldo_final = $saldo_inicial - $parcialidad_simulada; $sumar_dias += $dias_normales; if (MODO_DEBUG == true) { $msg .= $i == 1 ? "PERSONA\tCREDITO\t[SIMULACION/DE]\tINTERES\tIVA\tCAPITAL\tFI\tFF\r\n" : ""; $msg .= "{$socio}\t{$solicitud}\t[{$simulaciones}/{$i}]\t{$interes_simulado}\t{$iva_simulado}\t{$parcialidad_simulada}\t{$fecha_de_referencia}\t{$fecha_de_pago}\r\n"; } $xPlanGen->setSaldoInicial($saldo_inicial); $xPlanGen->setSaldoFinal($saldo_final);
function getParcialidadPresumida() { $FInteres_normal = new cFormula("interes_normal"); switch ($FormaDePago) { case CREDITO_TIPO_PAGO_INTERES_COMERCIAL: $parcialidad_presumida = $saldo_insoluto * ($tasa_interes * $factor_interes) * $PERIOCIDAD_DE_PAGO / EACP_DIAS_INTERES; $msgC .= "{$socio}\t{$solicitud}\tINTERES COMERCIAL : Interes = {$parcialidad_presumida}\r\n"; break; case CREDITO_TIPO_PAGO_INTERES_PERIODICO: break; case CREDITO_TIPO_PAGO_PERIODICO: for ($simulaciones = 1; $simulaciones <= 10; $simulaciones++) { $sumar_dias = 0; for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) { $saldo_inicial = $i == 1 ? $monto_autorizado : $saldo_final; $fecha_de_referencia = $i == 1 ? $fecha_primer_abono : $fecha_de_pago; $xPlanGen->setPagosAutorizados($PAGOS_AUTORIZADOS); $xPlanGen->setDiasDeAbonoFijo($dia_1_ab, $dia_2_ab, $dia_3_ab); $xPlanGen->setTipoDePlanDePago($tipo_de_plan); $xPlanGen->setPeriocidadDePago($PERIOCIDAD_DE_PAGO); $fecha_de_pago = $xPlanGen->getFechaDePago($fecha_de_referencia, $i); // ------------------------------------ Obtiene la Fecha de Pago ---------------------------------------------- $dias_normales = $i == 1 ? restarfechas($fecha_de_pago, $fecha_ministracion) : restarfechas($fecha_de_pago, $fecha_de_referencia); if (PLAN_DE_PAGOS_PLANO == true) { $dias_normales = $PERIOCIDAD_DE_PAGO; } $saldo_insoluto = $saldo_inicial; eval($FInteres_normal->getFormula()); if ($PlanMalo == true) { $interes_normal = $saldo_insoluto * ($tasa_interes / 12); } $interes_simulado = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $interes_normal : round($interes_normal, 2); $iva_simulado = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $interes_normal * $tasa_iva : round($interes_normal * $tasa_iva, 2); $parcialidad_simulada = $parcialidad_presumida - ($interes_simulado + $iva_simulado); // + $parcialidad_cargo + $parcialidad_ahorro)); $saldo_final = $saldo_inicial - $parcialidad_simulada; $sumar_dias += $dias_normales; if (MODO_DEBUG == true) { $msg .= $i == 1 ? "PERSONA\tCREDITO\t[SIMULACION/DE]\tINTERES\tIVA\tCAPITAL\tFI\tFF\r\n" : ""; $msg .= "{$socio}\t{$solicitud}\t[{$simulaciones}/{$i}]\t{$interes_simulado}\t{$iva_simulado}\t{$parcialidad_simulada}\t{$fecha_de_referencia}\t{$fecha_de_pago}\r\n"; } $xPlanGen->setSaldoInicial($saldo_inicial); $xPlanGen->setSaldoFinal($saldo_final); if ($i == $PAGOS_AUTORIZADOS) { $desviacion_simulada = $saldo_final != 0 ? $saldo_final / $PAGOS_AUTORIZADOS : 0; //echo "<p class='aviso'>$desviacion_simulada = ($saldo_final != 0) ? ($saldo_final / $PAGOS_AUTORIZADOS)</p>"; //Verificar db ser años que dura en credito if ($sumar_dias > 367) { $factor_annios = $sumar_dias / 365; $desviacion_simulada = $desviacion_simulada / $factor_annios; $msg .= "DIVIDIR ANIOS {$factor_annios} por {$desviacion_simulada}\r\n"; } $desviacion_simulada = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $desviacion_simulada : round($desviacion_simulada, 2); $parcialidad_presumida += $desviacion_simulada; $msg .= "{$socio}\t{$solicitud}\t[{$simulaciones}/{$i}]\tLa Parcialidad Presumida es {$parcialidad_presumida} por {$desviacion_simulada} Desviados, Saldo Final {$saldo_final} en dias {$sumar_dias}\r\n"; } } } break; } }
function getIDExPagar($socio, $fecha = false, $monto = 0) { if ($fecha == false) { $fecha = fechasys(); } //$xF = new cFecha(0, $fecha); $mes = date("m", strtotime($fecha)); $anno = date("Y", strtotime($fecha)); $dia_inicial = date("Y-m-", strtotime($fecha)) . "01"; $dia_final = date("Y-m-t", strtotime($fecha)); $sqlGravados = "SELECT\r\n\t\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\r\n\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\r\n\t\t\t\t\t\t\t\t\t`idoperaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\r\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\r\n\t\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\r\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro`\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` >='{$dia_inicial}')\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` <='{$dia_final}')\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2600)\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` = " . $socio . " )\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = 'efectivo' )\r\n\t\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\r\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\r\n\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago` "; $DGrav = obten_filas($sqlGravados); /** * Obtiene la formula IDE */ $base_gravada = 0; $base_de_calculo = $DGrav["monto"] + $monto; $tasa_ide = TASA_IDE; $excencion = EXCENCION_IDE; $ide = 0; $cFormulaIDE = new cFormula("formula_ide"); $ide_pagado = $this->getIDEPagado($socio, $fecha); $this->mIDEPagado = $ide_pagado; if ($base_de_calculo > EXCENCION_IDE) { eval($cFormulaIDE->getFormula()); $this->mIDECalculado = $ide; $this->mBaseGravadaIDE = $base_gravada; } else { $this->mMessages .= "NO_IDE\tA la Fecha {$fecha}, no hay IDE por que el Monto Exento(" . EXCENCION_IDE . ") es Mayor a la Base de Calculo {$base_de_calculo} \r\n"; } /** * Disminuir el IDE Retenido */ $this->mIDEPendiente = $ide - $ide_pagado; $this->mMessages .= "INF_IDE\tEl IDE es de {$ide}, IDE Pagado de {$ide_pagado}, IDE por pagar " . $this->mIDEPendiente . ", Base de Calculo {$base_de_calculo}\r\n"; return $this->mIDEPendiente; }
function getIDExPagarByPeriodo($fecha = false, $monto = 0, $tipodepago = "efectivo") { $fecha = $fecha == false ? fechasys() : $fecha; $xF = new cFecha(0, $fecha); $mes = $xF->mes(); $anno = $xF->anno(); $dia_inicial = $xF->getDiaInicial(); $dia_final = $xF->getDiaFinal(); $monto = $tipodepago != "efectivo" ? 0 : $monto; $xT = new cTipos(); $monto = 0; if (CAPTACION_IMPUESTOS_A_DEPOSITOS_ACTIVO == true) { $sqlGravados = "SELECT\n\t\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos`\n\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\n\t\t\t\t\t\t\t\t\t`idoperaciones_recibos`\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` >='{$dia_inicial}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` <='{$dia_final}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2600)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` = " . $this->mCodigo . " )\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = 'efectivo' )\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago` "; $DGrav = obten_filas($sqlGravados); /** * Obtiene la formula IDE */ $base_gravada = isset($DGrav["monto"]) ? $DGrav["monto"] : 0; $base_de_calculo = $base_gravada + $monto; $base_gravada = $base_de_calculo; $this->mMessages .= "WARN\tINF_IDE\tLa Base Gravada Registrada es {$base_gravada}, y el Monto de Referencia es {$monto}\r\n"; $tasa_ide = TASA_IDE; $excencion = EXCENCION_IDE; $this->mMessages .= "WARN\tINF_IDE\tLa Tasa de IDE es {$tasa_ide}, y la Excencion es de {$excencion}\r\n"; $ide = 0; $cFormulaIDE = new cFormula("formula_ide"); $ide_pagado = $this->getIDEPagadoByPeriodo($fecha); $this->mIDEPagado = $ide_pagado; if ($base_de_calculo > EXCENCION_IDE) { eval($cFormulaIDE->getFormula()); $this->mIDECalculado = $xT->cFloat($ide, 2); $this->mBaseGravadaIDE = $xT->cFloat($base_gravada, 2); $this->mMessages .= "WARN\tINF_IDE\tA la Fecha {$fecha}, La Base de Calculo es " . $this->mBaseGravadaIDE . ", el IDE Pagado es " . $this->mIDEPagado . " y el IDE Calculado es " . $this->mIDECalculado . "\r\n"; } else { $this->mMessages .= "OK\tNO_IDE\tA la Fecha {$fecha}, no hay IDE por que el Monto Exento(" . EXCENCION_IDE . ") es Mayor a la Base de Calculo {$base_de_calculo} \r\n"; } /** * Disminuir el IDE Retenido */ $this->mIDEPendiente = $ide - $ide_pagado; $this->mMessages .= "WARN\tINF_IDE\tEl IDE es de {$ide}, IDE Pagado de {$ide_pagado}, IDE por pagar " . $this->mIDEPendiente . ", Base de Calculo {$base_de_calculo}\r\n"; $this->mIDEAsSet = true; $monto = $this->mIDEPendiente; } return $monto; }
</body> <script > var jsTmpFile = "../js/socios.common.js.php"; var jsDivChar = '<?php echo STD_LITERAL_DIVISOR; ?> '; function setScoreReference(varID){ <?php //Obtiene el Maximo de ScoreTiempo $SqlMaxTime = "SELECT max(valor_calificacion_por_referencia) AS 'score'\n\t\t\t\t\t\tFROM socios_tiempo"; $mxTime = mifila($SqlMaxTime, "score"); ?> var ScoreNeto = 0; var ScoreTiempo = document.getElementById("idScoreTiempo" + varID).value; var ScoreOpinion = document.getElementById("idScoreOpinion" + varID).value; var maxScoreTiempo = Number(<?php echo $mxTime; ?> ); <?php $mForm = new cFormula("score_reference"); echo $mForm->getFormula(); ?> //alert(ScoreNeto); var Params = varID + jsDivChar + ScoreNeto; jsrsExecute(jsTmpFile, msgbox,'Common_97de3870795ecc1247287ab941d9719b', Params); } </script> </html>