<body> <?php $socio_inicial = $_GET["on"]; $socio_final = $_GET["off"]; $sql_notificaciones = "SELECT * FROM seguimiento_notificaciones WHERE tipo_credito='planes'\n\tAND estatus_notificacion='pendiente' AND numero_notificacion<3"; $rs = mysql_query($sql_notificaciones); while ($rw = mysql_fetch_array($rs)) { $nombre = getNombreSocio($rw[1]); $domicilio = $rw[15]; if ($domicilio == '0') { $domicilio = "NO EXISTE DOMICILIO DEFINIDO. CAPTURELO O EDITELO"; } //Datos del Credito $sql_cred = "SELECT * FROM creditos_solicitud WHERE numero_solicitud={$rw['2']} AND numero_socio={$rw['1']} LIMIT 0,1"; $dsol = obten_filas($sql_cred); $dias_venc = restarfechas(fechasys(), $dsol[15]); $interes = getFMoney($rw[9]); $moratorio = getFMoney($rw[10]); $otros_cargos = getFMoney($rw[11]); $capital = getFMoney($rw[8]); $total = getFMoney($rw[12]); echo getRawHeader(); ?> <p class='bigtitle'>NOTIFICACION DE COBRO NUM. <?php echo $rw[3]; ?> </p> <br /> <div class='numc'> <table width="60%" > <tr>
function setGenerarInteresSobreSDPM($recibo = false, $fecha_de_corte = false) { $sucursal = getSucursal(); $xQL = new MQL(); $xErC = new cErrorCodes(); $xLog = new cCoreLog(); $xDTb = new cSAFETabla(TCAPTACION_CUENTAS); //(`captacion_cuentas`.`sucursal` ='$sucursal') AND $txtlog = ""; $txtlog .= "==========================================================================================\r\n"; $txtlog .= "==========\tCALCULO DE INTERESES SOBRE SDPM DE CUENTAS A LA VISTA EN LA SUCURSAL {$sucursal}\r\n"; $txtlog .= "==========\tRECIBO DE CALCULO {$recibo}\r\n"; $txtlog .= "==========================================================================================\r\n"; $xF0 = new cFecha(0, $fecha_de_corte); $fecha_de_corte = $fecha_de_corte == false ? fechasys() : $fecha_de_corte; $dias_del_mes = $xF0->getDiasDelMes(); $fecha_de_inicio = $xF0->getDiaInicial(); $fecha_de_termino = $xF0->getDiaFinal(); $ejer = $xF0->anno(); $peri = $xF0->mes(); //(`captacion_cuentas`.`sucursal` ='$sucursal') AND /** * Reestructurar los Dias SDPM para los Creditos que no han tenido Movimiento */ //Generando el SDPM de los Credito sin movimiento o ultimo SDPM del mes $SQL_LST = $xDTb->getQueryInicial() . "\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t(`captacion_cuentas`.`estatus_cuenta` ='10') AND\n\t\t\t\t\t\t\t(`captacion_subproductos`.`metodo_de_abono_de_interes` ='AL_FIN_DE_MES')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`captacion_cuentas`.`saldo_cuenta`>= " . A_LA_VISTA_MONTO_MINIMO . " )\n\t\t\t\t\t\t"; $txtlog .= date("H:i:s") . "\t=========Cerrando las cuentas a su ultimo SDPM\r\n"; $txtlog .= date("H:i:s") . "\tLas Cuentas con Saldo Menor a " . A_LA_VISTA_MONTO_MINIMO . " no se Incluyen\r\n"; $rsUSDPM = $xQL->getDataRecord($SQL_LST); foreach ($rsUSDPM as $rwUSDPM) { $cuenta = $rwUSDPM["numero_cuenta"]; $socio = $rwUSDPM["numero_socio"]; $fecha_ultimo_mvto = $rwUSDPM["fecha_afectacion"]; $saldo_actual = $rwUSDPM["saldo_cuenta"]; $dias_de_sdpm = restarfechas($fecha_de_corte, $fecha_ultimo_mvto); $xCta = new cCuentaALaVista($cuenta); $xCta->init($rwUSDPM); if ($dias_de_sdpm > $dias_del_mes) { $txtlog .= date("H:i:s") . "\t{$socio}\t{$cuenta}\tLos dias del SDPM son de {$dias_de_sdpm} Mayores al del Mes {$dias_del_mes}, se ajustan\r\n"; $xFMes = new cFecha(0, $fecha_de_corte); $dias_de_sdpm = $xF0->setRestarFechas($fecha_de_corte, $xF0->getDiaInicial()); } $sdpm = $saldo_actual * $dias_de_sdpm; //Obtiene la Tasa $tasa = $xCta->getTasaAplicable(0, 0, $saldo_actual); //Inserta el SDPM $sqlUS = "INSERT INTO captacion_sdpm_historico\n\t\t\t\t\t\t(ejercicio, periodo, cuenta, fecha, dias, tasa, monto, recibo)\n\t \t\t\t\tVALUES( {$ejer}, {$peri}, {$cuenta}, '{$fecha_de_corte}', {$dias_de_sdpm}, {$tasa},{$sdpm}, {$recibo})"; my_query($sqlUS); //Actualiza la Cuenta $sqlUI = "UPDATE captacion_cuentas\n\t \t\t\t\t\t\tSET fecha_afectacion='{$fecha_de_corte}', ultimo_sdpm={$sdpm}\n\t \t\t\t\t\t\tWHERE numero_cuenta={$cuenta}"; my_query($sqlUI); $txtlog .= date("H:i:s") . "\t{$socio}\t{$cuenta}\tAgregando y Actualizando el SDPM por {$sdpm} del {$fecha_ultimo_mvto} al {$fecha_de_corte} por {$saldo_actual}\r\n"; } //considerar fecha de Apertura //agregar al Recibo //TODO: Actualizar esta linea $SQL_Captacion = "\n\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\t`captacion_cuentas`.*,\n\t\t\t\t\t\t\t`captacion_subproductos`.*,\n\t\t\t\t\n\t\t\t\t\t`captacion_cuentas`.`numero_cuenta` AS `cuenta`,\n\t\t\t\t\t`captacion_cuentas`.`fecha_afectacion` AS `apertura`,\n\t\t\t\t\t`captacion_cuentas`.`inversion_fecha_vcto` AS `vencimiento`,\n\t\t\t\t\t`captacion_cuentas`.`tasa_otorgada` AS `tasa`,\n\t\t\t\t\t`captacion_cuentas`.`dias_invertidos` AS `dias`,\n\t\t\t\t\t`captacion_cuentas`.`observacion_cuenta` AS `observaciones`,\n\t\t\t\t\t`captacion_cuentas`.`saldo_cuenta` \t\t\t AS `saldo`,\n\t\t\t\t\t`captacion_subproductos`.`descripcion_subproductos` AS `subproducto`,\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`monto`) AS 'suma_sdpm'\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`captacion_cuentas` `captacion_cuentas`\n\t\t\t\t\t\t\t\tINNER JOIN `captacion_subproductos` `captacion_subproductos`\n\t\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_subproducto` = `captacion_subproductos`.\n\t\t\t\t\t\t\t\t`idcaptacion_subproductos`\n\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_sdpm_historico` `captacion_sdpm_historico`\n\t\t\t\t\t\t\t\t\tON `captacion_cuentas`.`numero_cuenta` = `captacion_sdpm_historico`.\n\t\t\t\t\t\t\t\t\t`cuenta`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t(`captacion_cuentas`.`estatus_cuenta` ='10') AND\n\t\t\t\t\t\t\t(`captacion_subproductos`.`metodo_de_abono_de_interes` ='AL_FIN_DE_MES')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` >='{$fecha_de_inicio}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` <='{$fecha_de_termino}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`captacion_cuentas`.`saldo_cuenta`>=" . A_LA_VISTA_MONTO_MINIMO . ")\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`\n\t\t\t\t\t\t\t"; setLog($SQL_Captacion); $rsCAP = $xQL->getDataRecord($SQL_Captacion); if (!$rsCAP) { if (MODO_DEBUG == true) { $txtlog .= $xQL->getMessages(); //date("H:i:s") . "\tERROR (" . mysql_errno() . ") AL EJECUTAR LA CONSULTA"; } } else { $txtlog .= "==========================================================================================\r\n"; //$xT1 = new cTipos(); foreach ($rsCAP as $rwC) { $cuenta = $rwC["numero_cuenta"]; $socio = $rwC["numero_socio"]; $apertura = $rwC["fecha_apertura"]; $sumaSDPM = $rwC["suma_sdpm"]; $dias_de_calc = $dias_del_mes; $promedio = $rwC["saldo_cuenta"]; $modificadorDeInteres = $rwC["algoritmo_modificador_del_interes"]; $modificadorDeTasa = $rwC["algoritmo_de_tasa_incremental"]; $interes = 0; $producto = $rwC["tipo_subproducto"]; //Si la Fecha de Apertura es Menor al Inicio de mes if (strtotime($apertura) > strtotime($fecha_de_inicio)) { $dias_de_calc = restarfechas($fecha_de_termino, $apertura); //Corrige el TIMESTAMP de Interes, la rotacion debe ser de al menos 24 Horas if ($dias_de_calc == 0) { $dias_de_calc = 1; } elseif ($dias_de_calc < 0) { $txtlog .= date("H:i:s") . "\t{$socio}\t{$cuenta}\tEROR_DIAS\t SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n"; $dias_de_calc = 1; $sumaSDPM = $promedio; } } $xCta = new cCuentaALaVista($cuenta); $xCta->init($rwC); $promedio = round($sumaSDPM / $dias_de_calc, 2); $tasa_nueva = $xCta->getTasaAplicable(0, 0, $promedio); $tasa = $tasa_nueva; //OK: Ejecutar Modificador de Tasa eval($modificadorDeTasa); //setLog("$modificadorDeTasa"); $interes = $sumaSDPM * $tasa / EACP_DIAS_INTERES; //OK: Ejecutar Consulta de Modificador de Interes eval($modificadorDeInteres); $interes = round($interes, 2); //$txtlog .= $modificadorDeInteres; if ($interes > 0) { $rsx = setNuevoMvto($socio, $cuenta, $recibo, $fecha_de_corte, $interes, 222, 1, "CALCULO_AUTOMATICO"); if ($rsx == false) { $txtlog .= "ERROR\t{$socio}\t{$cuenta}\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n"; } else { $txtlog .= "OK\t{$socio}\t{$cuenta}\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc} en Rec {$recibo}\r\n"; } $sqlUI = "UPDATE captacion_cuentas\n\t\t \t\t\t\t\t\tSET saldo_cuenta = (saldo_cuenta + {$interes})\n\t\t \t\t\t\t\t\tWHERE numero_cuenta={$cuenta} AND numero_socio={$socio}"; $x = my_query($sqlUI); } else { $txtlog .= "WARN\t{$socio}\t{$cuenta}\tNOINT\t({$interes} / {$tasa_nueva}) Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n"; } } } return $txtlog; }
<body> <?php $socio_inicial = $_GET["on"]; $socio_final = $_GET["off"]; $sql_notificaciones = "SELECT * FROM seguimiento_notificaciones WHERE tipo_credito='pago_unico' \n\tAND estatus_notificacion='pendiente' AND numero_notificacion<3"; $rs = mysql_query($sql_notificaciones); while ($rw = mysql_fetch_array($rs)) { $nombre = getNombreSocio($rw[1]); $domicilio = $rw[15]; if ($domicilio == '0') { $domicilio = "NO EXISTE DOMICILIO DEFINIDO. CAPTURELO O EDITELO"; } //Datos del Credito $sql_cred = "SELECT * FROM creditos_solicitud WHERE numero_solicitud={$rw['2']} AND numero_socio={$rw['1']} LIMIT 0,1"; $dsol = obten_filas($sql_cred); $dias_venc = restarfechas($dsol[15], fechasys()); $interes = cmoney($rw[9]); $moratorio = cmoney($rw[10]); $otros_cargos = cmoney($rw[11]); $capital = cmoney($rw[8]); $total = cmoney($rw[12]); echo getRawHeader(); ?> <p class='bigtitle'>NOTIFICACION DE COBRO NUM. <?php echo $rw[3]; ?> </p> <br /> <div class='numc'> <table width="60%" > <tr>
function setUpdateSaldo() { $estat = false; if ($this->mSucess != false) { $nuevatasa = $this->getTasaAplicable(0, 0, $this->mNuevoSaldo); $fecha = $this->mFechaOperacion; $fechaAnterior = $this->mFechaUltimaOp; $dias_del_mes = date("t", strtotime($fecha)); //Valores iniciados a cero $diastrans = 0; $diastrans = restarfechas($fecha, $this->mFechaUltimaOp); if ($diastrans > $dias_del_mes) { $diastrans = $dias_del_mes; } if ($diastrans < 0) { $diastrans = 0; $this->mMessages .= "ERROR\tError al Procesar el Numero de Dias Transcurridos\r\n"; } $sqlucta = "UPDATE captacion_cuentas SET tasa_otorgada={$nuevatasa}, fecha_afectacion='{$fecha}', "; $sqlucta .= "saldo_cuenta=" . $this->mNuevoSaldo . ", dias_invertidos={$diastrans}\n\t\t\t\tWHERE numero_cuenta=" . $this->mNumeroCuenta . ""; if ($this->mNotUpdateSaldo == false) { $x = my_query($sqlucta); } else { $x["stat"] = false; } $estat = $x["stat"]; if ($estat != false) { $this->mMessages .= "SUCESS\tSe Actualizo el Saldo de la Cuenta " . $this->mNumeroCuenta . ", Sdo. Ant.(" . $this->mSaldoAnterior . "); Sdo Nuevo(" . $this->mNuevoSaldo . ") Tasa {$nuevatasa}\r\n"; } else { $this->mMessages .= "ERROR\tNo se Actualizo la Cuenta(" . $x["info"] . ") Saldo Anterior" . $this->mSaldoAnterior . "; Saldo Nuevo " . $this->mNuevoSaldo . "; Tasa {$nuevatasa}\r\n"; } } else { $this->mMessages .= "ERROR\tNo se Actualizo la Cuenta, Saldo Anterior" . $this->mSaldoAnterior . "; Saldo Nuevo " . $this->mNuevoSaldo . "\r\n"; } return $estat; }
} $fecha_solicitud = fechasys(); $fecha_ministracion = $_POST["elanno1"] . "-" . $_POST["elmes1"] . "-" . $_POST["eldia1"]; $fecha_vencimiento = $_POST["elanno0"] . "-" . $_POST["elmes0"] . "-" . $_POST["eldia0"]; $fecha_u_mvto = $fecha_solicitud; $dias_solicitados = 0; $monto_parcialidad = 0; $tipo_de_calculo_interes = 2; if (PERMITIR_EXTEMPORANEO == true) { $fecha_solicitud = $_POST["elanno98"] . "-" . $_POST["elmes98"] . "-" . $_POST["eldia98"]; } //Si es a Final de Plazo if ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $dias_solicitados = restarfechas($fecha_vencimiento, $fecha_ministracion); } elseif ($periocidad == CREDITO_TIPO_PERIOCIDAD_DIARIO) { $dias_solicitados = restarfechas($fecha_vencimiento, $fecha_ministracion); $numeropagos = $dias_solicitados - $xFecha->getDiasHabilesEnRango($fecha_vencimiento, $fecha_ministracion); } else { $dias_solicitados = $numeropagos * $periocidad; $fecha_vencimiento = sumardias($fecha_ministracion, $dias_solicitados); } $dias_autorizados = 0; $monto_autorizado = 0; $pagos_autorizados = 0; $saldo_actual = 0; $xConv = new cProductoDeCredito($tipoconvenio); $dconv = $xConv->getDatosInArray(); //Datos de los Creditos segun Productos $producto_monto_maximo = $dconv["maximo_otorgable"]; $tipo_autorizacion = $dconv["tipo_autorizacion"]; $docto_autorizacion = $dconv["leyenda_docto_autorizacion"];
} } } //2015-01-05 Agregar Bonificaciones if ($bonificaciones != 0) { $xPlan->addBonificacion($bonificaciones, $fecha_de_pago, $letra, $tipo_monto_extra); } //=================================================================================================================================== $TParcial = $parcialidad_ahorro + $parcialidad_capital + $parcialidad_cargo + $parcialidad_interes + $parcialidad_iva - $bonificaciones; $msgM .= "{$socio}\t{$solicitud}\tPer. {$letra}\t{$dias_normales},{$sumar_dias}\t" . getFMoney($saldo_inicial) . "\t" . getFMoney($saldo_final) . "\t" . getFMoney($parcialidad_capital) . ""; $msgM .= "\t" . getFMoney($parcialidad_interes) . "\t" . getFMoney($parcialidad_iva) . "\t" . getFMoney($parcialidad_cargo) . "\t" . getFMoney($parcialidad_ahorro) . "\t" . getFMoney($TParcial) . "\t{$fecha_de_referencia}\t{$fecha_de_pago}\r\n"; } //end FOR $fecha_final = $fecha_de_pago; $fecha_de_vencimiento = $fecha_final; $dias_netos = restarfechas($fecha_final, $fecha_ministracion); $dias_normales = $dias_netos; $interes_diario = $total_de_intereses / $dias_netos; //=================================================================================================================================== $OProd = $xCred->getOProductoDeCredito(); $OPer = $xCred->getOPeriocidad(); $fecha_de_mora = $xF->setSumarDias($OProd->getDiasTolerados() + 1, $fecha_de_vencimiento); $vencimiento_dinamico = $xF->setSumarDias($OPer->getDiasToleradosEnVencer(), $fecha_de_mora); $arrUpdate = array("plazo_en_dias" => $dias_netos, "dias_autorizados" => $dias_netos, "fecha_vencimiento" => $fecha_de_vencimiento, "monto_parcialidad" => $primera_parcialidad, "contrato_corriente_relacionado" => $cuenta_captacion, "tipo_de_pago" => $FormaDePago, "fecha_ministracion" => $fecha_ministracion, "interes_diario" => $interes_diario, "fecha_mora" => $fecha_de_mora, "fecha_vencimiento_dinamico" => $vencimiento_dinamico, "fecha_de_primer_pago" => $fecha_primer_abono); if ($xCred->getSaldoActual() == $xCred->getMontoAutorizado() or $xCred->getEsAfectable() == false) { $arrUpdate["ultimo_periodo_afectado"] = SYS_CERO; } //Pagos de solo interes if ($xCred->getPagosSinCapital() == true) { $arrUpdate["ultimo_periodo_afectado"] = $ultima_parcialidad; }
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; } }
} /** *composicion del estado laboral por consulta **/ $estado_laboral = 99; //Obtener la informaci�n laboral $xSoc = new cSocio($socio); $xSoc->init($rw); $DLab = $xSoc->getDatosActividadEconomica(); $estado_laboral = $arrELaboral[$DLab["tipo_aeconomica"]]; //corrige valores vacios if (!isset($estado_laboral)) { $estado_laboral = 99; } //corrige la edad en a�os y asigna, si es menor de edad $edad = floor(restarfechas(fechasys(), $rw["fechanacimiento"]) / 365); if ($edad < 18) { $estado_laboral = "07"; } $tr .= "\t<tr>\n\t\t\t\t<td>{$socio}</td>\n\t\t\t\t<td>{$ife}</td>\n\t\t\t\t<td>{$nombre}</td>\n\t\t\t\t<td>{$apellidopaterno}</td>\n\t\t\t\t<td>{$apellidomaterno}</td>\n\t\t\t\t<td>{$genero}</td>\n\t\t\t\t<td>01</td>\n\t\t\t\t<td>412</td>\n\t\t\t\t<td>{$sucursal}</td>\n\t\t\t\t<td>{$fecha_de_alta}</td>\n\t\t\t\t<td>{$estado_civil}</td>\n\t\t\t\t<td>{$regimen_matrimonial}</td>\n\t\t\t\t<td>{$estado_laboral}</td>\n\t\t\t\t<td>{$fecha_nacimiento}</td>\n\t\t\t\t<td>412</td>\n\t\t\t\t<td>{$hijos}</td>\n\t\t\t\t<td> </td>\n\t\t\t\t<td>{$rfc}</td>\n\t\t\t\t<td>{$curp}</td>\n\t\t\t</tr>"; } echo "<table width='100%' >\n\t<tr>\n\t\t<th>Socio</th>\n\t\t<th>IFE</th>\n\t\t<th>Nombre</th>\n\t\t<th>Apellido Paterno</th>\n\t\t<th>Apellido Materno</th>\n\t\t<th>Sexo</th>\n\t\t<th>Idioma</th>\n\t\t<th>Nacionalidad</th>\n\t\t<th>Sucursal</th>\n\t\t<th>Fecha de Alta</th>\n\t\t<th>Estado Civil</th>\n\t\t<th>Regimen Matrimonial</th>\n\t\t<th>Estado Laboral</th>\n\t\t<th>Fecha de Nacimiento</th>\n\t\t<th>Pais de Nacimiento</th>\n\t\t<th>Numero de Hijos</th>\n\t\t<th>Fecha de Deceso</th>\n\t\t<th>R.F.C.</th>\n\t\t<th>C.U.R.P.</th>\n\t</tr>\n\t\t{$tr}\n</table>"; if ($input != OUT_EXCEL) { echo getRawFooter(); ?> </body> <script > <?php ?> function initComponents(){ window.print();
$BySucursal = ""; $sqlCreds = "SELECT\n\t\t\t\t\t`creditos_solicitud`.*,\n\t\t\t\t\t`creditos_tipoconvenio`.*,\n\t\t\t\t\t`creditos_periocidadpagos`.*,\n\t\t\t\t\t`creditos_estatus`.*,\n\t\t\t\t\t`creditos_solicitud`.`tasa_interes` AS `tasa_ordinaria_anual`,\n\t\t\t\t\t`creditos_solicitud`.`tipo_autorizacion` AS `tipo_de_autorizacion`,\n `creditos_solicitud`.`tasa_ahorro` AS `tasa_de_ahorro`\n\t\t\t\tFROM\n\t\t\t\t\t`creditos_tipoconvenio` `creditos_tipoconvenio`\n\t\t\t\t\t\tINNER JOIN `creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\tON `creditos_tipoconvenio`.`idcreditos_tipoconvenio`\n\t\t\t\t\t\t= `creditos_solicitud`.`tipo_convenio`\n\t\t\t\t\t\t\tINNER JOIN `creditos_periocidadpagos`\n\t\t\t\t\t\t\t`creditos_periocidadpagos`\n\t\t\t\t\t\t\tON `creditos_periocidadpagos`.\n\t\t\t\t\t\t\t`idcreditos_periocidadpagos` =\n\t\t\t\t\t\t\t`creditos_solicitud`.`periocidad_de_pago`\n\t\t\t\t\t\t\t\tINNER JOIN `creditos_estatus`\n\t\t\t\t\t\t\t\t`creditos_estatus`\n\t\t\t\t\t\t\t\tON `creditos_estatus`.`idcreditos_estatus` =\n\t\t\t\t\t\t\t\t`creditos_solicitud`.`estatus_actual`\n\t\t\t\tWHERE\n\t\t\t\t\t(`creditos_solicitud`.`saldo_actual` >0.99)\n\t\t\t\t\tAND (`creditos_solicitud`.`estatus_actual` !=50)\n\t\t\t\t\t{$BySucursal}\n\t\t\t\t\t"; $rs = mysql_query($sqlCreds, cnnGeneral()); while ($rw = mysql_fetch_array($rs)) { //socio $socio = $rw["numero_socio"]; $credito = $rw["numero_solicitud"]; $fecha_de_ministracion = $rw["fecha_ministracion"]; $dias = $rw["dias_autorizados"]; $tipo_de_pago = $rw["tipo_de_pago"]; $tipo_de_calculo_int = $rw["tipo_de_calculo_de_interes"]; $monto_ministrado = $rw["monto_ministrado"]; //credito //fecha de ministraci�n //fecha de $dias_transcurridos = restarfechas($fecha_de_migracion, $fecha_de_ministracion); $abonos = 0; $intereses = 0; $moratorios = 0; for ($i = 0; $i <= $dias_transcurrridos; $i++) { $fecha_de_corte = sumardias($fecha_de_ministracion, $i); $isKey = "{$credito}-{$fecha_de_corte}"; $capital = round($arrPagos[$isKey . "-120"], 2); $interes = round($arrPagos[$isKey . "-140"], 2) + round($arrPagos[$isKey . "-142"], 2); $mora = round($arrPagos[$isKey . "-141"], 2); $abonos += $capital; $intereses += $interes; $moratorios += $mora; $saldo = $monto_ministrado - $abonos; $estatus = 10; $sqlIEvent = "INSERT INTO creditos_datos_dinamicos\n\t\t\t\t\t\t\t\t\t\t\t\t(numero_de_credito, numero_de_socio, fecha_de_corte, saldo,\n\t\t\t\t\t\t\t\t\t\t\t\tnumero_de_parcialidad, estatus_del_credito, estatus_de_la_parcialidad,\n\t\t\t\t\t\t\t\t\t\t\t\tfecha_de_mora, fecha_de_vencimiento,\n\n\t\t\t\t\t\t\t\t\t\t\t\tabono_interes_normal,\n\t\t\t\t\t\t\t\t\t\t\t\tabono_interes_moratorio,\n\t\t\t\t\t\t\t\t\t\t\t\tinteres_normal_devengado,\n\t\t\t\t\t\t\t\t\t\t\t\tinteres_moratorio_devengado,\n\n\t\t\t\t\t\t\t\t\t\t\t\tsuma_interes_normal_devengado,\n\t\t\t\t\t\t\t\t\t\t\t\tsuma_interes_normal_pagado,\n\t\t\t\t\t\t\t\t\t\t\t\tsuma_interes_moratorio_devengado,\n\t\t\t\t\t\t\t\t\t\t\t\tsuma_interes_moratorio_pagado\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t\t\t\t\t\t({$credito}, {$socio}, '{$fecha_de_corte}',\n\t\t\t\t\t\t\t\t\t\t\t\t{$saldo}, 1, {$estatus}, 10,\n\t\t\t\t\t\t\t\t\t\t\t\t'2009-3-7', '2009-3-7',\n\t\t\t\t\t\t\t\t\t\t\t\t{$interes}, {$mora}, 0, 0,\n\t\t\t\t\t\t\t\t\t\t\t\t0, 0, 0, 0) ";
$fechaultmvto = $fechaaut; //Fecha de Ultimo Movimiento = Fecha de Autorizacion; if ($idmonto <= TOLERANCIA_SALDOS) { //Cambiar a 0 de saldo autorizado y 50 de estatus $xCred->setCancelado($idautorizacion, $fechaaut); $sucess = false; } /*------------------------------ Obtiene datos mediante sentencias dinamicas */ $estatusactual = 98; /* Determina si el Pago es en una sola Ministracion, genera el IDAD */ if ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $intdev = $idmonto * $tasaot / EACP_DIAS_INTERES; // Interes Diario para Pagos Fijos $idpagos = 1; $fechavcto = $ds_sol["fecha_vencimiento"]; $diasaut = restarfechas($fechavcto, $fecha_ministracion_propuesta); $msg .= "WARN\tLos Dias Autorizados cambian a {$diasaut}, se respeta la fecha de vencimiento ({$fechavcto})\r\n"; $xFRM->addCreditoComandos($idsolicitud); } else { $intdev = $idmonto * $tasaot / EACP_DIAS_INTERES; // Interes Diario a Cero para otros Casos $fechavcto = sumardias($fecha_ministracion_propuesta, $diasaut); $msg .= "WARN\tLa Fecha de Vencimiento es actualizada al " . getFechaLarga($fechavcto) . "; los dias autorizados son de {$diasaut}\r\n"; $msg .= "WARN\tPARA OBTENER LOS DEMAS DOCUMENTOS DEBE GENERAR EL PLAN DE PAGOS\r\n"; } /* ------------------------------ sentencia update -------------------------- */ if ($sucess == true) { $xCred->setAutorizado($idmonto, $idpagos, $periocidad, $TipoDeAutorizacion, $fechaaut, $idautorizacion, $idtipodepago, $fecha_ministracion_propuesta, $idnivelderiesgo, $diasaut, $fechavcto, $estatusactual, $sdoactual, $intdev, $fechaultmvto, $TasaDeInteres); /* si es Credito de Grupos solidarios, Actualiza los Mvtos de Otorgacion */ if ($OConv->getEsProductoDeGrupos() == true) { $sqlusolc = "UPDATE operaciones_mvtos\tSET estatus_mvto = 10\tWHERE\n\t\t\t\tgrupo_asociado={$gpoasoc}\tAND (tipo_operacion=112) AND (estatus_mvto=40)";
function setRepararPlanDePagos() { $msg = ""; $msg .= "============= RECONSTRUYENDO LETRAS SISBANCS \r\n"; //Selecciona todo los pagos segun letra, en una base $arrFechas = array(); $arrMontos = array(); $sqlLetras = "SELECT SQL_CACHE\n\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio`,\n\t\t\t\t\t\t\tMAX(`operaciones_mvtos`.`fecha_afectacion`) AS 'fecha',\n\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\n\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(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2003)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`afectacion_real` >0)\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio`\n\t\t\t\t\t\tORDER 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_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio` "; $rsA = getRecordset($sqlLetras); while ($rw = mysql_fetch_array($rsA)) { $arrFechas[$rw["docto_afectado"] . "-" . $rw["periodo_socio"]] = $rw["fecha"]; $arrMontos[$rw["docto_afectado"] . "-" . $rw["periodo_socio"]] = $rw["monto"]; } $fecha_de_migracion = fechasys(); //DELETE FROM sisbancs_amortizaciones WHERE credito = 0 AND parcialidad = 1 $sql = "SELECT\n\t\t\t\t\t\t\t\t`sisbancs_amortizaciones`.*\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`sisbancs_amortizaciones` `sisbancs_amortizaciones` "; $rs = getRecordset($sql); $contar = 0; while ($rw = mysql_fetch_array($rs)) { $credito = $rw["credito"]; $socio = $rw["credito"]; $parcialidad = $rw["parcialidad"]; $vencimiento = $rw["fecha_de_vencimiento"]; $saldo_vigente = $rw["saldo_vigente"]; $saldo_vencido = 0; $interes_vigente = $rw["interes_vigente"]; $interes_vencido = 0; $interes_moratorio = 0; $dias_en_mora = 0; $estatus = $rw["estatus"]; $fecha_de_abono = $rw["fecha_de_abono"]; $iva_normal = 0; $iva_moratorio = 0; $tasa_normal = 0; $tasa_moratorio = 0; $monto_abonado = 0; $saldo_teorico = 0; $DCredito = array(); //TODO: Actualizar sentencia de obtencion de IVA $msg .= "{$contar}\t{$credito}\t{$parcialidad}\t\t=================================================\r\n"; //Actualizar le fecha de Pago if (isset($arrFechas["{$credito}-{$parcialidad}"])) { $fecha_de_abono = $arrFechas["{$credito}-{$parcialidad}"]; $monto_abonado = $arrMontos["{$credito}-{$parcialidad}"]; //Corrige las idioteces de reestructuras if (strtotime($vencimiento) > strtotime($fecha_de_abono)) { $fecha_de_abono = $vencimiento; $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tERROR_DE_FECHA\tLa fecha de abono(" . getFechaMediana($fecha_de_abono) . ") es menor a la de vencimiento " . getFechaMediana($vencimiento) . " \r\n"; } $saldo_teorico = $saldo_vigente - $monto_abonado; $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tFECHA_DE_ABONO\tLa fecha de Abono Existente es " . getFechaMediana($fecha_de_abono) . " y suma de {$monto_abonado} (saldo teorico {$saldo_teorico})\r\n"; } if (strtotime($vencimiento) < strtotime($fecha_de_migracion)) { $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tFECHA_DE_VCTO\tLa Vencimiento (" . getFechaMediana($vencimiento) . ") es Menor a la Fecha de Migracion\r\n"; $estatus = 2; $saldo_vencido = $saldo_vigente; $saldo_vigente = 0; $interes_vencido = $interes_vigente; $interes_vigente = 0; $xCred = new cCredito($credito, $socio); $xCred->init(); $DCredito = $xCred->getDatosDeCredito(); $tasa_moratorio = $DCredito["tasa_moratorio"]; $dias_morosos = setNoMenorQueCero(restarfechas($fecha_de_migracion, $fecha_de_abono)); $interes_moratorio = $saldo_vencido * $dias_morosos * $tasa_moratorio / EACP_DIAS_INTERES; $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tINTERES_MORATORIO\tEl Interes Moratorio es {$interes_moratorio}, por {$dias_morosos} dias en Mora y Capital {$saldo_vencido}\r\n"; } $iva_normal = ($interes_vigente + $interes_vencido) * 0.15; $iva_moratorio = $interes_moratorio * 0.15; $sqlUD = "UPDATE sisbancs_amortizaciones\n\t\t\t\t\t\t\t\t\t\t\t\t SET fecha_de_abono='{$fecha_de_abono}', saldo_vigente={$saldo_vigente},\n\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_vencido={$saldo_vencido}, interes_vigente={$interes_vigente}, interes_vencido={$interes_vencido},\n\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_interes_vencido=0, interes_moratorio={$interes_moratorio}, estatus={$estatus},\n\t\t\t\t\t\t\t\t\t\t\t\t\tiva_interes_normal={$iva_normal}, iva_interes_moratorio={$iva_moratorio}\n\t\t\t\t\t\t\t\t\t\t\t\t WHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\tcredito={$credito}, parcialidad={$parcialidad} "; my_query($sqlUD); $contar++; } return $msg; }
$en_mora = false; } else { $en_mora = true; } $letras_pagadas = ($saldo_historico - $saldo_actual) / ($saldo_historico / $pagos); $letras_pagadas = round($letras_pagadas, 0); $letras_pendientes = $saldo_actual / ($saldo_historico / $pagos); $letras_pendientes = round($letras_pendientes, 0); $letras_que_debio = round($dias_transcurridos / ($dias_autorizados / $pagos), 0); } else { $FMora = $rw["fecha_vencimiento"]; $FVenc = sumardias($rw["fecha_vencimiento"], DIAS_PAGO_UNICOS); $en_mora = true; } //if ($en_mora == true){ $dias_vencidos = restarfechas($fecha_de_reporte, $FMora); $trs .= "<tr>\r\n\t\t\t\t\t<td>{$socio}</td>\r\n\t\t\t\t\t<td>{$nombre}</td>\r\n\t\t\t\t\t<td>{$credito}</td>\r\n\t\t\t\t\t<td >{$periocidad}</td>\r\n\t\t\t\t\t<td class='mny'>{$pagos}</td>\r\n\t\t\t\t\t<td class='{$nombre_estatus}'>{$nombre_estatus}</td>\r\n\t\t\t\t\t<td>{$fecha_ministracion}</td>\r\n\t\t\t\t\t<td>{$fecha_ultimo_mvto}</td>\r\n\t\t\t\t\t<td>{$FMora}</td>\r\n\t\t\t\t\t<td>{$FVenc}</td>\r\n\r\n\t\t\t\t\t<td class='mny'>{$saldo_historico}</td>\r\n\t\t\t\t\t<td class='mny'>{$saldo_actual}</td>\r\n\t\t\t\t\t<td class='mny'>{$letras_pagadas}</td>\r\n\t\t\t\t\t<td class='mny'>{$letras_pendientes}</td>\r\n\t\t\t\t\t<td class='mny'>{$letras_que_debio}</td>\r\n\t\t\t\t\t<td>{$dias_vencidos}</td>\r\n\t\t\t\t</tr>"; //} } echo "<table width='100%' border='0'>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<th>Codigo</th>\r\n\t\t\t<th>Nombre</th>\r\n\t\t\t<th>#Credito</th>\r\n\t\t\t<th>Periocidad</th>\r\n\t\t\t<th>Num. Pagos</th>\r\n\t\t\t<th>Estatus</th>\r\n\t\t\t<th>Fecha de Ministracion</th>\r\n\t\t\t<th>Fecha de Ultima Op.</th>\r\n\t\t\t<th>Fecha de Mora</th>\r\n\t\t\t<th>Fecha de Vencimiento</th>\r\n\t\t\t<th>Monto Ministrado</th>\r\n\t\t\t<th>Saldo Insoluto</th>\r\n\t\t\t<th>Letras Pagadas</th>\r\n\t\t\t<th>Letras Pendientes</th>\r\n\t\t\t<th>Letras que debio pagar</th>\r\n\t\t\t<th>Dias Vencidos</th>\r\n\t\t</tr>\r\n\r\n\t\t{$trs}\r\n\t</tbody>\r\n</table>"; echo getRawFooter(); ?> </body> <script > <?php ?> function initComponents(){ window.print(); } </script> </html>
function setReestructurarICA($fecha_corte) { $periodo_de_calculo = date("m", strtotime($fecha_corte)); $ejercicio = date("Y", strtotime($fecha_corte)); $fecha_operacion = $fecha_corte; $tipo_operacion = 451; $msg .= "============== REESTRUCTURAR EL ICA \r\n"; /** * llevar a cero los Intereses */ $sqlUICA = "UPDATE creditos_solicitud SET sdo_int_ant=0"; my_query($sqlUICA); /** * Eliminar el ica */ $sqlDEL = "DELETE FROM operaciones_mvtos WHERE tipo_operacion = 451 AND periodo_mensual<={$periodo_de_calculo} AND periodo_anual <= {$ejercicio}"; $myq = my_query($sqlDEL); /** * Agregar el Recibo * */ $NRecibo = setNuevoRecibo(1, 1, $fecha_operacion, 1, 10, "CALCULO_GENERADO_EN_UTIL_835", "NA", "ninguno", "NA", 99, 0); $sqlConICA = "SELECT\n\t\t\t\t\t\t`creditos_solicitud`.*,\n\t\t\t\t\t\t`creditos_tipoconvenio`.*\n\t\t\t\t\tFROM\n\t\t\t\t\t\t`creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\t\tINNER JOIN `creditos_tipoconvenio`\n\t\t\t\t\t\t\t`creditos_tipoconvenio`\n\t\t\t\t\t\t\tON `creditos_solicitud`.`tipo_convenio` =\n\t\t\t\t\t\t\t`creditos_tipoconvenio`.`idcreditos_tipoconvenio`\n\t\t\t\t\tWHERE\n\t\t\t\t\t\t(`creditos_tipoconvenio`.`porcentaje_ica` >0) AND\n\t\t\t\t\t\t(`creditos_solicitud`.`saldo_actual` >0.99) AND\n\n\t\t\t\t\t\t(`creditos_solicitud`.`estatus_actual` !=50) AND\n\t\t\t\t\t\t(`creditos_solicitud`.`estatus_actual` !=98) AND\n\t\t\t\t\t\t(`creditos_solicitud`.`estatus_actual` !=99)\n\n\t\t\t\t\t\t/*AND\n\t\t\t\t\t\t(`creditos_solicitud`.`fecha_vencimiento` >=\n\t\t\t\t\t\t'{$fecha_operacion}')*/\n\t\t\t\t\t\tAND\n\t\t\t\t\t\t(`creditos_solicitud`.`fecha_ministracion` <='{$fecha_operacion}')\n\t\t\t\t\tORDER BY\n\t\t\t\t\t\t`creditos_solicitud`.`fecha_ministracion`\n\t\t\t\t\t"; //echo $sqlConICA; $rs = mysql_query($sqlConICA, cnnGeneral()); while ($rw = mysql_fetch_array($rs)) { $socio = $rw["numero_socio"]; $solicitud = $rw["numero_solicitud"]; $monto_ministrado = $rw["monto_autorizado"]; $tasa_interes = $rw["tasa_interes"]; $dias_autorizados = $rw["dias_autorizados"]; $porcentaje_ica = $rw["porcentaje_ica"]; $fecha_ult_mvto = $rw["fecha_ultimo_mvto"]; $fecha_ministracion = $rw["fecha_ministracion"]; $dias_autorizados = $rw["dias_autorizados"]; $saldo_historico = $monto_ministrado; $iva_incluido = $rw["iva_incluido"]; $tasa_iva = $rw["tasa_iva"]; $factor_interes = 1; if ($iva_incluido == "1") { $factor_interes = 1 / (1 + $tasa_iva); } $dias_transcurridos = restarfechas($fecha_corte, $fecha_ministracion); $ica = $dias_autorizados * $monto_ministrado * ($tasa_interes * $factor_interes) / EACP_DIAS_INTERES * $porcentaje_ica; $interes_generado = $dias_transcurridos * $monto_ministrado * ($tasa_interes * $factor_interes) / EACP_DIAS_INTERES; $ica_a_amortizar = $interes_generado; if ($ica_a_amortizar > $ica) { $ica_a_amortizar = $ica; } //purgar posibles errores if ($interes_generado < 0) { $interes_generado = 0; } //lleva a cero el Ica a Amortizar si ya se amort if ($ica_a_amortizar > 0) { $xn = setNuevoMvto($socio, $solicitud, $NRecibo, $fecha_operacion, $ica_a_amortizar, $tipo_operacion, 1, "REESTRUCTURACION AUTOMATICA HECHA POR {$iduser}"); } else { $ica_a_amortizar = 0; } if ($interes_generado < $ica) { $ica = $ica - $interes_generado; if ($ica < 0) { $ica = 0; } $UICA_sql = "UPDATE creditos_solicitud SET sdo_int_ant = {$ica}\n\t\t\t\t\t\tWHERE numero_solicitud={$solicitud} AND numero_socio={$socio}"; my_query($UICA_sql); } $msg .= date("Y-m-d") . "\t{$socio}\t{$solicitud}\tMonto: {$saldo_historico}, Tasa: {$tasa_interes}, Factor: {$factor_interes}, Tasa ICA {$porcentaje_ica}\r\n"; $msg .= date("Y-m-d") . "\t{$socio}\t{$solicitud}\tI.C.A. {$ica}, Int. Generado: {$interes_generado}, Dias Trans.: {$dias_transcurridos}/{$dias_autorizados}, ICA A AMort: {$ica_a_amortizar}\r\n"; } return $msg; }
$f_vencimiento = $rw[15]; $tasan = $rw[9]; $tasam = $rw[30]; $capital = $saldo; $mletra = $saldo; $dias_vigente = 0; $dias_vencidos = 0; $interes = 0; $interes_moratorio = 0; $otros_cargos = 0; //Cuando el Ultimo Mvto es mayor a la fecha de Vcto if ($f_ultimo_mvto < $f_vencimiento) { $dias_vigente = restarfechas($f_ultimo_mvto, $f_vencimiento); $dias_vencidos = restarfechas($f_vencimiento, fechasys()); } else { $dias_vencidos = restarfechas($f_ultimo_mvto, fechasys()); } $interes = $capital * $dias_vigente * $tasan / EACP_DIAS_INTERES; $interes_moratorio = $capital * $dias_vencidos * ($tasan + $tasam) / EACP_DIAS_INTERES; // $total = $saldo + $interes + $interes_moratorio + $otros_cargos; //Obtiene el Telefono del Socio $sql_150 = "SELECT * FROM socios_vivienda WHERE socio_numero={$socio} AND principal='1'"; $ddomicilio = obten_filas($sql_150); $telefono1 = $ddomicilio[10]; $telefono2 = $ddomicilio[11]; $hora_default = date("H:i"); $fecha_default = fechasys(); $observaciones = "Generado el {$fecha_default} a las {$hora_default} Hrs. por {$oficial}"; if ($dias_vencidos > 1 && $dias_vencidos <= 15) { //Primera Notificacion
if ($permiso === false) { header("location:../404.php?i=999"); } $_SESSION["current_file"] = addslashes($theFile); //<===== FIN_H $iduser = $_SESSION["log_id"]; //===================================================================================================== include_once "../core/entidad.datos.php"; include_once "../core/core.deprecated.inc.php"; include_once "../libs/sql.inc.php"; include_once "../core/core.fechas.inc.php"; include_once "../core/core.config.inc.php"; $oficial = elusuario($iduser); $fecha_inicial = $_GET["on"]; $fecha_final = $_GET["off"]; $dias = restarfechas($fecha_final, $fecha_inicial); if ($dias > 31) { echo JS_CLOSE; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title></title> </head> <link href="../css/reporte.css" rel="stylesheet" type="text/css"> <body onLoad="initComponents();"> <?php echo getRawHeader(); ?>
//$conyuge[0] - $conyuge[1] - Tel(s): $conyuge[2] Ocupación: $conyuge[3] $rwy = $xSocio->getDatosInArray(); $idconyuge = $xSocio->getClaveDePersonaDeConyuge(); if ($conyuge > 0) { $xCon = new cSocio($idconyuge); $xCon->init(); $DConT = $xCon->getTelefonos(); $txtConyuge .= $idconyuge . "-" . $xCon->getNombreCompleto(); $txtConyuge .= " TEL(S): " . $DConT["principal"]; $conyuge_ocup = $xCon->getDatosActividadEconomica(); $txtConyuge .= " OCUPACIÓN: " . $conyuge_ocup["puesto"]; } $genero = eltipo("socios_genero", $rwy[15]); $civil = eltipo("socios_estadocivil", $rwy[14]); $ocupacion = volcartabla("socios_aeconomica", 18, "socio_aeconomica={$idsocio}"); $edad = (int) (restarfechas($nowdate, $rwy[11]) / 365) . " Años"; $dependientes = $rwy["dependientes_economicos"]; $telp = $rwy["telefono_principal"]; $mail = $rwy["correo_electronico"]; $grupo_assoc = $rwy["grupo_solidario"]; //$regimen_mat = $DDom = $xSocio->getDatosDomicilio(99); $eldom = "<tr>\n\t\t\t\t\t\t<th >Calle/Codigo Postal</th>\n\t\t\t\t\t\t<td>" . $DDom["calle"] . "/" . $DDom["codigo_postal"] . "</td>\n\t\t\t\t\t\t<th >Num. Ext./Int.</th>\n\t\t\t\t\t\t<td>" . $DDom["numero_exterior"] . "/" . $DDom["numero_interior"] . "</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th >Colonia</th>\n\t\t\t\t\t\t<td>" . $DDom["colonia"] . "</td>\n\t\t\t\t\t\t<th >Telefono(s)</th>\n\t\t\t\t\t\t<td>" . $DDom["telefono_residencial"] . "/" . $DDom["telefono_movil"] . "</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th >Localidad</th>\n\t\t\t\t\t\t<td>" . $DDom["localidad"] . "</td>\n\t\t\t\t\t\t<th >Municipio/Estado</th>\n\t\t\t\t\t\t<td>" . $DDom["municipio"] . "/" . $DDom["estado"] . "</td>\n\t\t\t\t\t</tr>"; echo "\n\t\t<fieldset>\n\t\t<legend>[ Datos Generales del Solicitante ]</legend>\n\t\t\t<table border='0' width='100%'>\n\t\t\t\t<tr>\n\t\t\t\t\t<th width='15%'>Clave de Persona</th>\n\t\t\t\t\t<td width='35%'>{$rwy['0']}</td>\n\t\t\t\t\t<th width='15%'>Nombre(s)</th>\n\t\t\t\t\t<td width='35%'>{$rwy['1']}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Apellido Paterno</th><td>{$rwy['2']}</td>\n\t\t\t\t\t<th>Apellido Materno</th><td>{$rwy['3']}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>R. F. C.</th>\n\t\t\t\t\t<td>{$rwy['4']}</td>\n\t\t\t\t\t<th>C. U. R. P.</th>\n\t\t\t\t\t<td>{$rwy['5']}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Genero</th>\n\t\t\t\t\t<td>{$genero}</td>\n\t\t\t\t\t<th>Estado Civil</th>\n\t\t\t\t\t<td>{$civil}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Edad</th><td>{$edad}</td>\n\t\t\t\t\t<th>Ocupación</th><td>{$ocupacion}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Teléfono Principal</th>\n\t\t\t\t\t<td>{$telp}</td>\n\t\t\t\t\t<th>Correo Electrónico</th>\n\t\t\t\t\t<td>{$mail}</td>\n\t\t\t\t</tr>\n{$eldom}\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Régimen Matrimonial</th>\n\t\t\t\t\t<td>{$rwy['22']}</td>\n\t\t\t\t\t<th>Conyuge</th>\n\t\t\t\t\t<td>{$txtConyuge}</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t\t</fieldset>"; // datos de la solicitud $perpagos = eltipo("creditos_periocidadpagos", $rwc[10]); //$eldest = eltipo("creditos_destinos", $rwc[19]); $montosol = number_format($rwc[3], 2, '.', ','); $montoletras = convertirletras($rwc[3]); //$descripcion_dest = $rwc[35]; $tasa = $rwc[9] * 100;
// $rs = mysql_query($setSql, cnnGeneral()); while ($rw = mysql_fetch_array($rs)) { $personalidad = $VFigura[$rw["personalidad_juridica"]]; $nombre = $rw["apellidopaterno"] . " " . $rw["apellidomaterno"] . " " . $rw["nombrecompleto"]; $codigo = $rw["codigo"]; $credito = $rw["numero_solicitud"]; $razon_garantia = $rw["razon_garantia"]; $tipo_credito = $VClasificacion[$rw["tipo_credito"]]; $dias_vencidos = 0; $periocidad = $rw["periocidad_de_pago"]; $vencimiento_legal = $rw["fecha_vencimiento_dinamico"]; $MAutorizacion = $VAutorizado[$rw["tipo_de_autorizacion"]]; if ($rw["estatus_actual"] == 20) { //si la fecha de abono es despues de la de vencimiento $dias_vencidos = restarfechas($fecha_final, $vencimiento_legal); } $sqlIngresos = "SELECT\n\t\t\t\t\t\t`creditos_origenflujo`.`descripcion_origenflujo`,\n\t\t\t\t\t\t`creditos_flujoefvo`.`solicitud_flujo`,\n\t\t\t\t\t\tSUM(`creditos_flujoefvo`.`afectacion_neta`) AS 'ingresos'\n\t\t\t\t\tFROM\n\t\t\t\t\t\t`creditos_flujoefvo` `creditos_flujoefvo`\n\t\t\t\t\t\t\tINNER JOIN `creditos_origenflujo` `creditos_origenflujo`\n\t\t\t\t\t\t\tON `creditos_flujoefvo`.`origen_flujo` = `creditos_origenflujo`.\n\t\t\t\t\t\t\t`idcreditos_origenflujo`\n\t\t\t\t\tWHERE\n\t\t\t\t\t\t(`creditos_flujoefvo`.`solicitud_flujo` ={$credito})\n\t\t\t\t\t\tAND\n\t\t\t\t\t\t(`creditos_flujoefvo`.`tipo_flujo` = 1)\n\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t`creditos_flujoefvo`.`solicitud_flujo`,\n\t\t\t\t\t\t`creditos_flujoefvo`.`origen_flujo`\n\t\t\t\t\tORDER BY\n\t\t\t\t\t\t`creditos_flujoefvo`.`afectacion_neta` DESC\n\t\t\t\t\tLIMIT 0,1"; $msg .= date("H:i:s") . "\t{$codigo}\t{$credito}\tSe Inicia el Procesado del Credito \r\n"; $DFlujo = obten_filas($sqlIngresos); $IngresoPrioritario = $DFlujo["descripcion_origenflujo"]; if (!isset($IngresoPrioritario)) { $IngresoPrioritario = "DESCONOCIDO_O_NO_REGISTRADO"; } $cumplioPagoSostenido = ""; if ($rw["estatus_actual"] == 60) { $cumplioPagoSostenido = "SI CUMPLIO"; } $CondicionDePago = $VPeriocidad[$rw["periocidad_de_pago"]]; $FechaDeMinistracion = $rw["fecha_ministracion"]; $MontoOriginal = $rw["monto_autorizado"];
/** * Funcion que asiste en la Ministracion del Credito */ function setMinistrar($recibo_fiscal, $cheque, $monto_cheque = 0, $cuenta_cheques = false, $cheque2 = 0, $cuenta_cheques2 = 0, $observaciones = "", $fecha = false, $recibo = false, $tipo_de_pago = TESORERIA_PAGO_CHEQUE) { $sucess = true; $monto_cheque = $monto_cheque == 0 ? $this->getMontoAutorizado() : $monto_cheque; $cuenta_cheques = $cuenta_cheques == false ? DEFAULT_CUENTA_BANCARIA : $cuenta_cheques; $cheque = setNoMenorQueCero($cheque); $xSocio = new cSocio($this->mNumeroSocio); $xSocio->init(); //Corrige la Inicializacion del credito if (!isset($this->mNumeroSocio) or $this->mNumeroSocio == 1) { $this->init(); } $DIngreso = $xSocio->getDatosDeIngreso_InArray(); $msg = ""; //$tipo_de_pago = TESORERIA_PAGO_CHEQUE; $recibo = setNoMenorQueCero($recibo); $DConvenio = $this->getDatosDeProducto(); $idsolicitud = $this->mNumeroCredito; $solicitud = $this->mNumeroCredito; /* ------------------------------ obtiene el Monto Autorizado ---------------------------------- */ $dsol = $this->getDatosDeCredito(); $montoaut = $this->getMontoAutorizado(); // $dsol["monto_autorizado"]; // Monto Autorizado $fvcred = $dsol["fecha_vencimiento"]; $modpagos = $this->getPeriocidadDePago(); $tasacred = $this->getTasaDeInteres(); $totalop = $montoaut; $tipoaut = $dsol["tipo_autorizacion"]; $socio = $this->mNumeroSocio; $intdi = $dsol["interes_diario"]; $diasa = $dsol["dias_autorizados"]; $tipoconvenio = $dsol["tipo_convenio"]; $elgrupo = $dsol["grupo_asociado"]; $grupo = $elgrupo; $idsocio = $socio; $fecha_propuesta = $dsol["fecha_ministracion"]; $tasa_ordinaria_de_interes = $tasacred; $monto_autorizado_a_ministrar = $dsol["monto_autorizado"]; $grupo = $this->mGrupoAsociado; if ($fecha == false) { $fecha = $this->mFechaOperacion; } $socio = $this->mNumeroSocio; //Valores conservados $fechavcto = $fvcred; $diasaut = $diasa; $intdiario = $intdi; /** * Corrige la opcion de que el Cheque es Igual a Cero */ if ($monto_cheque == 0) { $monto_cheque = $montoaut; } //Corrige el dato de recibo no valido if ($recibo <= 0 and setNoMenorQueCero($this->mReciboDeOperacion) > 0) { $recibo = $this->mReciboDeOperacion; } /* --------------------------------------------------------------------------------------------------------- */ $OConv = $this->getOProductoDeCredito($tipoconvenio); if ($this->mForceMinistracion == false) { // Checa si el credito ya fue Ministrado //Modificar $montomin = $this->getSumMovimiento(OPERACION_CLAVE_MINISTRACION); if ($montomin > 1) { $msg .= "ERROR\tEl credito se ha ministrado de forma parcial / Total, o se ha forzado su edicion; el Monto Ministrado es {$montomin} \r\n"; $sucess = false; } } // verificar si tiene aportaciones sociales if ($this->mForceMinistracion == false) { $aportaciones = $xSocio->getAportacionesSociales(); $cuotas = $DIngreso["parte_social"] + $DIngreso["parte_permanente"]; if ($aportaciones < $cuotas) { $msg .= "ERROR\tNo ha Pagado sus Cuotas Sociales por {$cuotas}, ha pagado {$aportaciones} \r\n"; $sucess = false; } } // verificar si pago su fondo de defuncion. // SI ES DIFERENTE A AUTOMATIZADO if ($this->mForceMinistracion == false) { $fondo_def_ob = $DConvenio["monto_fondo_obligatorio"]; $fondo_def_pag = $xSocio->getFondoDeDefuncion(); if ($fondo_def_pag < $fondo_def_pag) { $msg .= "ERROR\tNo ha Pagado sus Fondo de Defuncion por {$fondo_def_pag}, ha pagado {$fondo_def_pag} \r\n"; $sucess = false; } } // condiciones del credito autorizado por sesion de credito. //si el convenio Aplica Gtos Notariales $aplica_gtos_not = $DConvenio["aplica_gastos_notariales"]; if ($aplica_gtos_not == 1 and $this->mForceMinistracion == false) { $gastos_not_pagados = $this->getPagoDeGastosNotariales(); if ($gastos_not_pagados < TOLERANCIA_SALDOS) { $msg .= "ERROR\tNo ha Pagado sus Gastos Notariales\r\n"; $sucess = false; } } // verificar si tiene garantia liquida $porc_garantia_liquida = $OConv->getTasaDeGarantiaLiquida(); if ($porc_garantia_liquida > 0 and $this->mForceMinistracion == false) { $msg .= "WARN\tLa Garantia Liquida es de {$porc_garantia_liquida} sobre el Monto Autorizado\r\n"; if ($OConv->getEsProductoDeGrupos() == true) { $condicionante_de_garantia_liquida = " (`socios_general`.`grupo_solidario` = {$elgrupo}) "; $msg .= "WARN\tLa Garantia Liquida es valuado por GRUPO \r\n"; } else { $condicionante_de_garantia_liquida = " (`socios_general`.`codigo` = {$idsocio})"; $msg .= "WARN\tLa Garantia Liquida es valuado por SOCIO \r\n"; } $tgtia = $montoaut * $porc_garantia_liquida; $subproducto_de_ahorro_inicial = CAPTACION_PRODUCTO_GARANTIALIQ; $sqlSUMDepInicial = "\n\t\t\t\t\t\t\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\t\t\t\t\t\t\t`socios_general`.`grupo_solidario`,\n\t\t\t\t\t\t\t\t\t\t\t\t\tSUM(`captacion_cuentas`.`saldo_cuenta`) AS 'sumas'\n\t\t\t\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t\t\t\t`socios_general` `socios_general`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_cuentas` `captacion_cuentas`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tON `socios_general`.`codigo` = `captacion_cuentas`.`numero_socio`\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t(`captacion_cuentas`.`tipo_subproducto` ={$subproducto_de_ahorro_inicial})\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t\t\t\t{$condicionante_de_garantia_liquida}\n\t\t\t\t\t\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t\t\t\t\t\t`socios_general`.`grupo_solidario`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`tipo_cuenta` "; $garliq = mifila($sqlSUMDepInicial, "sumas"); if ($garliq < $tgtia - TOLERANCIA_SALDOS) { $msg .= "ERROR\tNo ha depositado el su totalidad la Garantia Liquida, ha Depositado {$garliq} de un total de {$tgtia} \r\n"; $msg .= "WARN\tRecuerde que el DEPOSITO DE LA GARANTIA LIQUIDA se efectua en el Modulo de Captacion \r\n"; $sucess = false; } } //END: verificar Garantia // VERIFICA LA GARANTIA SEGUN TIPO CONVENIO.- La seleccion se hace segun el Numero de Socio y no debe estar entregada // NO APLICA EN GRUPOS SOLIDARIOS $razon_garantias = $DConvenio["razon_garantia"]; if ($razon_garantias > 0 and $this->mForceMinistracion == false) { $monto_garantizado = $xSocio->getGarantiasFisicasDepositadas(); $monto_a_garantizar = $montoaut * $razon_garantias; if ($monto_garantizado < $monto_a_garantizar) { $msg .= "ERROR\tNo ha garantizado el Total del Credito, se debe garantizar {$monto_a_garantizar} y solamente se tiene en resguardo {$monto_garantizado} \r\n"; $sucess = false; } } // SI EL CREDITO ES AUTOMATIZADO if ($modpagos == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $diasaut = restarfechas($fechavcto, $fecha); //$dsol["dias_autorizados"]; // Dias Autorizados. $msg .= "WARN\tLos dias Autorizados se cambian a {$diasaut}\r\n"; //$fechavcto = sumardias($fecha, $diasaut); // Fecha del Sistema + Dias Autorizados $intdiario = $montoaut * $tasacred / EACP_DIAS_INTERES; } else { //Verifica si existe el Plan de Pagos: $sqlck = "SELECT COUNT(tipo_docto) AS 'planes' FROM operaciones_recibos WHERE docto_afectado={$idsolicitud} AND tipo_docto=11"; $plan = $this->getNumeroDePlanDePagos(); if (!isset($plan) or empty($plan)) { $msg .= "ERROR\tNo se ha Generado el PLAN DE PAGOS \r\n"; $sucess = false; } if (strtotime($fecha) != strtotime($fecha_propuesta)) { $msg .= "ERROR\tNo se puede ministrar el Credito({$fecha}), ya que el PLAN DE PAGO de calcula desde la fecha " . getFechaLarga($fecha_propuesta) . ", vuelva a elaborar el PLAN DE PAGOS\r\n"; $sucess = false; } } //VERIFICA EL ICA A PAGAR $razon_interes_anticipado = $DConvenio["porcentaje_ica"]; $iva_incluido = $DConvenio["iva_incluido"]; $tasa_iva = $DConvenio["tasa_iva"]; //RULE: Modificar segun el Tipo de pago if ($razon_interes_anticipado > 0 and $this->mForceMinistracion == false) { // verifica si tiene el Pago de Int Anticipado $sumia = $dsol["sdo_int_ant"]; $mIntDiario = $monto_autorizado_a_ministrar * $tasa_ordinaria_de_interes / EACP_DIAS_INTERES; $mntia = $mIntDiario * $diasa * $razon_interes_anticipado - TOLERANCIA_SALDOS; $MontoICA = $mntia; if ($iva_incluido == '1') { $MontoICA = $MontoICA * (1 / (1 + $tasa_iva)); } if ($sumia < $MontoICA) { $msg .= "ERROR\tNo se ha cubierto el Interes Anticipado, se ha pagado {$sumia} de {$MontoICA} \r\n"; $sucess = false; } else { // } } if ($this->mForceMinistracion == true) { $sucess = true; $msg .= "WARN\tLa Ministracion es FORZADA \r\n"; } /*------------------------------- AFECTACIONES ------------------------------------------------- */ if ($sucess == true) { $monto = $montoaut; $parcialidad = 1; if ($monto != 0) { $CRecibo = new cReciboDeOperacion(RECIBOS_TIPO_MINISTRACION, true, $recibo); //Set a Mvto Contable //$CRecibo->setGenerarPoliza(); $CRecibo->setGenerarTesoreria(); $CRecibo->setGenerarBancos(true); //Agregar recibo si no hay if (setNoMenorQueCero($recibo) <= 0) { $recibo = $CRecibo->setNuevoRecibo($socio, $solicitud, $fecha, $parcialidad, RECIBOS_TIPO_MINISTRACION, $observaciones, $cheque, $tipo_de_pago, $recibo_fiscal, $grupo); //Checar si se agrego el recibo if (setNoMenorQueCero($recibo) > 0) { $this->mMessages .= "OK\tSe Agrego Exitosamente el Recibo {$recibo} de la Cuenta " . $this->mNumeroCredito . " \r\n"; $this->mReciboDeOperacion = $recibo; $this->mSucess = true; } else { $this->mMessages .= "ERROR\tSe Fallo al Agregar el Recibo {$recibo} de la Cuenta " . $this->mNumeroCredito . " \r\n"; $this->mSucess = false; } } $this->mReciboDeOperacion = $recibo; if (setNoMenorQueCero($recibo) > 0) { //Agregar el Movimiento $CRecibo->setNuevoMvto($fecha, $monto, OPERACION_CLAVE_MINISTRACION, $parcialidad, $observaciones, 1, TM_CARGO, $socio, $solicitud); /** @since 2010-11-21 */ $this->addSDPM(0, 0, $fecha, 0, CREDITO_ESTADO_VIGENTE, $fecha, OPERACION_CLAVE_MINISTRACION); //$this->mMessages .= $CRecibo->getMessages(); $this->mSucess = true; } else { $this->mMessages .= "ERROR\tNo Existe Recibo con el cual trabajar ({$recibo}) \r\n"; } $CRecibo->setFinalizarRecibo(true); $this->mMessages .= $CRecibo->getMessages(); } // Actualiza el estatus del credito a Vigente, la fecha de Operacion y la de vencimiento. $arrAct = array("fecha_ministracion" => $fecha, "fecha_ultimo_mvto" => $fecha, "estatus_actual" => CREDITO_ESTADO_VIGENTE, "fecha_vencimiento" => $fechavcto, "plazo_en_dias" => $diasaut, "dias_autorizados" => $diasaut, "interes_diario" => $intdiario, "saldo_actual" => $montoaut); $this->setUpdate($arrAct); // --------------------------------- ENVIA LAS SENTENCIAS SQL---------------------------------------- //verifica la dif entre cheque 1 y el monto a ministrar if ($monto_cheque <= 0) { $monto_cheque = $montoaut; } $difCheque = $montoaut - $monto_cheque; $beneficiario = $xSocio->getNombreCompleto(); $descuento = 0; //Separar la generación del cheque setNuevoCheque($cheque, $cuenta_cheques, $recibo, $beneficiario, $monto_cheque, $fecha, false, $descuento); setUltimoCheque($cuenta_cheques, $cheque); if ($difCheque > 0) { //setPolizaProforma($recibo, 9200, $difCheque, $socio, $idsolicitud, TM_ABONO); setNuevoCheque($cheque2, $cuenta_cheques2, $recibo, $beneficiario, $difCheque, $fecha, false, $descuento); setUltimoCheque($cuenta_cheques2, $cheque2); } //Agregar Avisos de Credito por renovacion if ($this->getTipoDeAutorizacion() == CREDITO_TIPO_AUTORIZACION_RENOVACION) { //$xSoc = $this->getOPersona(); $xSocio->initDatosDeCredito(); $DCreds = $xSocio->getDatosDeCreditos(); $xCred = new cCreditos_solicitud(); foreach ($DCreds as $clave => $valores) { $xCred->setData($valores); if ($xCred->saldo_actual()->v() >= TOLERANCIA_SALDOS) { if ($xCred->numero_solicitud()->v() != $this->getNumeroDeCredito()) { //agregar aviso $xSocio->addMemo(MEMOS_TIPO_NOTA_RENOVACION, "Credito Renovado en la solicitud #" . $this->getNumeroDeCredito(), $xCred->numero_solicitud()->v(), $fecha); $msg .= $xSocio->getMessages(); } } } } //ejecutar alertas por Ministracion de Reglas de Negocios //Ministracion de Credito de la persona {clave_de_persona} {nombre_de_persona} //credito numero {clave_de_credito} con monto {monto_de_credito} y tipo de autorizacion {tipo_de_autorizacion}. $OTipoAut = new cCreditos_tipo_de_autorizacion(); $OTipoAut->setData($OTipoAut->query()->initByID($this->getTipoDeAutorizacion())); $xRegla = new cReglaDeNegocio(); $xRegla->setVariables(array("clave_de_persona" => $xSocio->getCodigo(), "nombre_de_persona" => $xSocio->getNombreCompleto(), "clave_de_credito" => $this->getNumeroDeCredito(), "monto_de_credito" => $this->getMontoAutorizado(), "tipo_de_autorizacion" => $OTipoAut->descripcion_tipo_de_autorizacion()->v(OUT_TXT))); $xRegla->setExecuteActions($xRegla->reglas()->RN_MINISTRAR_CREDITO); } else { $msg .= "ERROR\tNo se efectua operacion alguna\r\n"; } $this->mMessages .= $msg; return $recibo; }
setNuevoMvto($socio, $solicitud, $recibo_pago, $fecha_operacion, $baseM146, OPERACION_CLAVE_PAGO_COM_VARIAS, $parcialidad, $observaciones); setNuevoMvto($socio, $solicitud, $recibo_pago, $fecha_operacion, $baseM151, OPERACION_CLAVE_PAGO_IVA_INTS, $parcialidad, $observaciones); setNuevoMvto($socio, $solicitud, $recibo_pago, $fecha_operacion, $baseM152, OPERACION_CLAVE_PAGO_IVA_OTROS, $parcialidad, $observaciones); setNuevoMvto($socio, $contrato_captacion, $recibo_pago, $fecha_operacion, $baseM220, OPERACION_CLAVE_PAGO_CAPTACION, $parcialidad, $observaciones); if ($baseM220 > 0) { //*************************** insertar SDPM ******************************************** $SQLX = "SELECT * FROM captacion_cuentas WHERE numero_cuenta = {$contrato_captacion} "; $dCap = obten_filas($SQLX); $fecha_ultima = $dCap["fecha_afectacion"]; $saldo_cuenta = $dCap["saldo_cuenta"]; $monto_sdpm = $dCap["ultimo_sdpm"]; $tasa = $dCap["tasa_otorgada"]; $dias_mes = date("j", strtotime($fecha_operacion)); $diastrans = restarfechas($fecha_operacion, $fecha_ultima); if ($diastrans < 0 or $diastrans > $dias_mes) { $diastrans = restarfechas($fecha_operacion, date("Y-m", strtotime($fecha_operacion)) . "-01"); } if ($diastrans > 0) { $monto_sdpm = $saldo_cuenta * $diastrans; } //Guarda los datos del SDPM $ejer = date("Y", strtotime($fecha_operacion)); $peri = date("m", strtotime($fecha_operacion)); $sqlUS = "INSERT INTO captacion_sdpm_historico\n\t\t\t\t\t\t\t(ejercicio, periodo, cuenta, fecha, dias, tasa, monto, recibo)\n\t\t \t\t\t\tVALUES( {$ejer}, {$peri},{$contrato_captacion}, '{$fecha_operacion}',\n\t\t \t\t\t\t{$diastrans}, {$tasa}, {$monto_sdpm}, {$recibo_pago})"; my_query($sqlUS); $msg .= "WARN\tAHORRO\t{$socio}\t{$contrato_captacion}\tAgregando y Actualizando el SDPM por {$monto_sdpm} del {$fecha_ultima} al {$fecha_operacion} agregando al saldo {$baseM220}\r\n"; //Afectar el Saldo de la Cuenta de Captacion $sqlUAh = "UPDATE captacion_cuentas\n SET fecha_afectacion='{$fecha_operacion}',\n saldo_cuenta=(saldo_cuenta +({$baseM220})),\n ultimo_sdpm={$monto_sdpm}\n WHERE numero_cuenta={$contrato_captacion}"; my_query($sqlUAh); } //**************************************************************************************