function jsaGetCuotasDeDefuncion($socio)
{
    $cuota_pagada = 0;
    $fecha_a_tolerar = restardias(fechasys(), DIAS_A_ROTAR_FONDO_DE_DEFUNCION);
    $cuota_a_pagar = 100;
    $sql = "SELECT SUM(afectacion_real) AS 'monto',\n\t\t\tMAX(fecha_operacion) AS 'fecha_pago'\n\t\t\tFROM operaciones_mvtos\n\t\t\tWHERE tipo_operacion=902\n\t\t\tAND socio_afectado={$socio}\n\t\t\tAND fecha_operacion>='{$fecha_a_tolerar}'\n\t\t";
    $cuota_pagada = mifila($sql, "monto");
    if ($cuota_pagada < 0) {
        $cuota_pagada = 0;
    }
    $cuota_a_pagar = $cuota_a_pagar - $cuota_pagada;
    //TODO: Terminar
    $tab = new TinyAjaxBehavior();
    $tab->add(TabSetvalue::getBehavior('idmonto', $cuota_a_pagar));
    return $tab->getString();
}
//=====================================================================================================
$xHP = new cHPage();
$xQL = new MQL();
$xLi = new cSQLListas();
ini_set("max_execution_time", 300);
$xHP->init();
?>
<form name="frmdelrecibos" action="frmeliminarrecibos.php" method="post">
<?php 
$FiltroByUser = "******";
$dias_max_recibos = DIAS_PARA_EDITAR_RECIBOS;
if (MODO_DEBUG == true) {
    $FiltroByUser = "";
    $dias_max_recibos = 1;
}
$FechaInicial = restardias(fechasys(), $dias_max_recibos);
$sql = "\n\tSELECT\n\t`operaciones_recibos`.`idoperaciones_recibos`,\n\tCONCAT( `operaciones_recibos`.`idoperaciones_recibos`, '-', \n\tgetFechaMX(`operaciones_recibos`.`fecha_operacion`),\t'-',\n\t`socios_general`.`codigo`, '-',\n\t`socios_general`.`nombrecompleto`, ' ',\n\t`socios_general`.`apellidopaterno`, ' ',\n\t`socios_general`.`apellidomaterno`, '-Monto: ',\n\t`operaciones_recibos`.`total_operacion`) AS 'concepto'\n\tFROM\n\t`socios_general` `socios_general` \n\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos` \n\t\tON `socios_general`.`codigo` = `operaciones_recibos`.`numero_socio`\n\tWHERE\n\t\tfecha_operacion>='{$FechaInicial}' {$FiltroByUser} \n\tORDER BY\n\t\t`operaciones_recibos`.`idoperaciones_recibos`,\n\t\t`operaciones_recibos`.`fecha_operacion`,\n\t\t`socios_general`.`nombrecompleto` ";
?>
<fieldset>
	<legend>Editar / Consultar / Eliminar :: Recibo por Numero</legend>
<table  >
	<tr>
		<td>Numero de Recibo a Modificar</td>
		<td><?php 
$cFJ = new cSelect("idrecibo", "id-recibo", $sql);
$cFJ->setEsSql();
$cFJ->show(false);
?>
</td>
	</tr>
	<tr>
 /**
  * Fondo de Defuncion pagado
  */
 function getFondoDeDefuncion()
 {
     $fecha = fechasys();
     $maximo_de_antiguedad = restardias($fecha, DIAS_A_ROTAR_FONDO_DE_DEFUNCION);
     $sql = "SELECT\n\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`,\n\t\t\t\t\tMAX(`operaciones_mvtos`.`fecha_afectacion`) AS `fecha_de_pago`,\n\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`)  AS `monto_pagado`\n\t\t\t\tFROM\n\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\tWHERE\n\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` = " . $this->mCodigo . ")\n\t\t\t\t\tAND\n\t\t\t\t\t(`operaciones_mvtos`.`tipo_operacion` =902)\n\t\t\t\tGROUP BY `operaciones_mvtos`.`socio_afectado` ";
     $Datos = obten_filas($sql);
     $fecha = $Datos["fecha_de_pago"];
     $monto = setNoMenorQueCero($Datos["monto_pagado"]);
     $this->mMessages .= "El Socio ha Pagado por Defuncion {$monto}, el Ultimo pago fue {$fecha} \r\n";
     if ($monto != 0) {
         //Validar la Rotación
         if (strtotime($fecha) < strtotime($maximo_de_antiguedad)) {
             $this->mMessages .= "El Fondo ha Expirado, el pago fue {$fecha}, Maximo de Antiguedad en {$maximo_de_antiguedad} \r\n";
             $monto = 0;
         }
     }
     return $monto;
 }
 function CompararPlanesDePago()
 {
     $msg = "============================ COMPARANDO PLANES DE PAGO SISBANCS\r\n";
     //Efectua una Comparacion con los Datos del Plan de Pagos
     $sqlSC = "SELECT\n\t\t\t\t\t\t\t\t`creditos_solicitud`.*,\n\t\t\t\t\t\t\t\t`sisbancs_suma_amorizaciones`.*\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\t\t\t\tINNER JOIN `sisbancs_suma_amorizaciones` `sisbancs_suma_amorizaciones`\n\t\t\t\t\t\t\t\t\tON `creditos_solicitud`.`numero_solicitud` =\n\t\t\t\t\t\t\t\t\t`sisbancs_suma_amorizaciones`.`credito`\n\t\t\t\t\t\t\t/* WHERE\n\t\t\t\t\t\t\t\t (`creditos_solicitud`.`saldo_actual` >" . TOLERANCIA_SALDOS . ") */ ";
     $rs = mysql_query($sqlSC, cnnGeneral());
     $contar = 0;
     $NetoDisminuir = 0;
     $NetoCap = 0;
     $NetoLetra = 0;
     //Eliminar Letras cuyo capital es Cero o menor a cero
     $sql = " DELETE FROM sisbancs_amortizaciones WHERE saldo_vigente < 0.99 ";
     $tx = my_query($sql);
     $msg .= "ELIMINANDO LETRAS CUYO CAPITAL ES MENOR A CERO (" . $tx["info"] . ")\r\n";
     while ($rw = mysql_fetch_array($rs)) {
         $credito = $rw["numero_solicitud"];
         $socio = $rw["numero_socio"];
         $saldoActual = $rw["saldo_actual"];
         $saldoSISBANCS = $rw["capital_vigente"];
         $LimitLetras = $rw["pagos_autorizados"];
         $diferencia = $saldoActual - $saldoSISBANCS;
         $PeriocidadDePago = $rw["periocidad_de_pago"];
         //Datos del PLAN DE PAGOS
         $letraInicial = $rw["letra_inicial"];
         $letraFinal = $rw["letra_final"];
         $AEliminar = $diferencia;
         $NetoCap += $saldoActual;
         $NetoLetra += $rw["capital_vigente"];
         $NetoDisminuir += $diferencia;
         //TODO: Verificar la Validez de la Condicion
         if ($diferencia < TOLERANCIA_SALDOS * -1) {
             $msg .= "{$contar}\t{$credito}\tOBJETIVO\tLa Diferencia({$diferencia}) no es tolerable \r\n";
             $AEliminar = $diferencia * -1;
             //
             for ($i = $letraInicial; $i <= $letraFinal; $i++) {
                 $sqLetra = "SELECT\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`sisbancs_amortizaciones`.*\n\t\t\t\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\t\t\t`sisbancs_amortizaciones` `sisbancs_amortizaciones`\n\t\t\t\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\t\t\t(`sisbancs_amortizaciones`.`credito` ={$credito}) AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(`sisbancs_amortizaciones`.`parcialidad` ={$i})";
                 $DLetra = obten_filas($sqLetra);
                 $LMonto = $DLetra["saldo_vigente"];
                 $PercTrunk = 0;
                 //Si eliminar es Mayor a la Letra, y la Letra es Mayor a 0.99
                 if ($AEliminar >= $LMonto and $LMonto > TOLERANCIA_SALDOS and $AEliminar > 0) {
                     //Eliminar la Letra
                     $sqlDL = "DELETE FROM\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`sisbancs_amortizaciones`\n\t\t\t\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\t\t\t(`sisbancs_amortizaciones`.`credito` ={$credito}) AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(`sisbancs_amortizaciones`.`parcialidad` ={$i}) ";
                     $x = my_query($sqlDL);
                     $msg .= "{$contar}\t{$credito}\tELIMINAR\tLetra {$i} (Disminuir {$AEliminar} / Letra {$LMonto})\r\n";
                     $AEliminar -= $LMonto;
                     //Si a eliminar es Menor a la Letra, y la Letra es mayor a 0.99
                 } elseif ($AEliminar < $LMonto and $LMonto > TOLERANCIA_SALDOS and $AEliminar > 0) {
                     //$LMonto		= $LMonto - $AEliminar;
                     $PercTrunk = $AEliminar / $LMonto;
                     $sqlUL = "UPDATE sisbancs_amortizaciones\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSET saldo_vigente=saldo_vigente - (saldo_vigente * {$PercTrunk}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_vencido=saldo_vencido - (saldo_vencido * {$PercTrunk}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinteres_vigente=interes_vigente - (interes_vigente * {$PercTrunk}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinteres_vencido=interes_vencido - (interes_vencido * {$PercTrunk}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_interes_vencido=saldo_interes_vencido - (saldo_interes_vencido * {$PercTrunk}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinteres_moratorio=interes_moratorio - (interes_moratorio * {$PercTrunk}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tiva_interes_normal=iva_interes_normal - (iva_interes_normal * {$PercTrunk}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tiva_interes_moratorio=iva_interes_moratorio - (iva_interes_moratorio * {$PercTrunk})\n\t\t\t\t\t\t\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\t\t\t\tcredito={$credito} AND parcialidad={$i} ";
                     $x = my_query($sqlUL);
                     //(" . $x["info"] . ")
                     $msg .= "{$contar}\t{$credito}\tACTUALIZAR\tLetra {$i} con el Factor {$PercTrunk} ( LETRA:{$LMonto} / ELIMINAR:{$AEliminar})\r\n";
                     //$msg	.= $x["info"];
                     $AEliminar = 0;
                 }
                 if ($AEliminar < TOLERANCIA_SALDOS) {
                     $AEliminar = 0;
                 }
             }
         } elseif ($diferencia > TOLERANCIA_SALDOS) {
             $sqLetra = "SELECT\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`sisbancs_amortizaciones`.*\n\t\t\t\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\t\t\t`sisbancs_amortizaciones` `sisbancs_amortizaciones`\n\t\t\t\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\t\t\t(`sisbancs_amortizaciones`.`credito` = {$credito})\n\t\t\t\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\t\t\t(`sisbancs_amortizaciones`.`parcialidad` = {$letraInicial})";
             $DLetra = obten_filas($sqLetra);
             $fechaIn = restardias($DLetra["fecha_de_vencimiento"], $PeriocidadDePago);
             $nuevaLetra = $letraInicial - 1;
             $msg .= "{$contar}\t{$credito}\tAGREGAR\tEl Plan de Pagos es menor al saldo del Credito, se agrega la letra {$nuevaLetra} por {$diferencia} \r\n";
             $sqlIS = "INSERT INTO sisbancs_amortizaciones(socio, credito, parcialidad, fecha_de_vencimiento,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_vigente, saldo_vencido, interes_vigente, interes_vencido, saldo_interes_vencido, interes_moratorio,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\testatus, iva_interes_normal, iva_interes_moratorio)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tVALUES ({$socio}, {$credito}, {$nuevaLetra}, '{$fechaIn}',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{$diferencia}, 0, 0, 0, 0, 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t1, 0, 0)";
             $x = my_query($sqlIS);
             //$msg	.= $x["info"];
         }
         $contar++;
     }
     $msg .= "\t\t=============\tCAPITAL SAFE\t{$NetoCap}\r\n";
     $msg .= "\t\t=============\tCAPITAL SISBANCS\t{$NetoLetra}\r\n";
     $msg .= "\t\t=============\tDIFERENCIA NETA\t{$NetoDisminuir}\r\n";
     $msg .= "\tFIN\t=================================================================\r\n";
     return $msg;
 }
function get_monto_planeacion_credito($idsocio)
{
    //Cuantos dias se le espera a una socia.- para eliminar un credito 30 DIAS
    $dias_espera = DIAS_ESPERA_CREDITO;
    $antiguedad_planeacion = restardias(fechasys(), $dias_espera);
    $elcred = 0;
    $sql = "SELECT grupo_solidario FROM socios_general WHERE codigo={$idsocio}";
    $gpoasoc = mifila($sql, "grupo_solidario");
    $sqls = "SELECT SUM(afectacion_real) AS 'total' FROM operaciones_mvtos\r\n\t\t\t\t\tWHERE grupo_asociado={$gpoasoc} AND tipo_operacion=112\r\n\t\t\t\t\tAND estatus_mvto=40 AND\r\n\t\t\t\t\tfecha_afectacion >'{$antiguedad_planeacion}'\r\n\t\t\t\t\tGROUP BY grupo_asociado ";
    if ($gpoasoc != 99) {
        $elcred = mifila($sqls, "total");
    }
    return $elcred;
}
function gposolcred($strGreen)
{
    //Cuantos dias se le espera a una socia.- para eliminar un credito 30 DIAS
    $dias_espera = 30;
    $antiguedad_planeacion = restardias(date("Y-m-d"), $dias_espera);
    $elcred = 0;
    $SQL = "SELECT grupo_solidario FROM socios_general WHERE codigo={$strGreen}";
    $gpoasoc = mydat($SQL, "grupo_solidario");
    $sqls = "SELECT SUM(afectacion_real) AS 'total' FROM operaciones_mvtos WHERE grupo_asociado={$gpoasoc} \r\n\t\t\t\t\t\t\t\tAND tipo_operacion=112 AND estatus_mvto=40 \r\n\t\t\t\t\t\t\t\tAND fecha_afectacion > '{$antiguedad_planeacion}'";
    if ($gpoasoc != DEFAULT_GRUPO) {
        $elcred = mydat($sqls, "total");
    }
    return $elcred;
}
 if ($periocidad != CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
     $monto_parcialidad = $monto_solicitado / $numeropagos + $interes_diario * $periocidad;
 }
 //-- socio
 $xSoc = new cSocio($socio);
 $xSoc->init();
 //----- * Reestructura la Fecha de Vcto y los dias Autorizados * ------
 $dsoc = $xSoc->getDatosInArray();
 $grupo_asociado = $dsoc["grupo_solidario"];
 // ------------------ Distinguir si es Grupal, si lo es asociar la ultima planeacion al credito
 if ($xConv->getEsProductoDeGrupos() == true) {
     /**
      * Neutraliza el Recibo de Planeacion por socio
      * Neutraliza las Operaciones de Planeacion por Grupo
      */
     $fecha_esperar_hasta = restardias($fecha_solicitud, DIAS_ESPERA_CREDITO);
     $sqlURec = "UPDATE operaciones_recibos set docto_afectado={$solicitud}\n\t\t\t\t\t\t\t\t\t\tWHERE numero_socio={$socio} AND tipo_docto=14\n\t\t\t\t\t\t\t\t\t\tAND fecha_operacion>='{$fecha_esperar_hasta}' ";
     $sqlUMvto = "UPDATE operaciones_mvtos set docto_afectado={$solicitud} WHERE grupo_asociado={$grupo_asociado}\n\t\t\t\t\t\t\t\t\t\tAND tipo_operacion=112 AND fecha_operacion>='{$fecha_esperar_hasta}'";
     my_query($sqlURec);
     my_query($sqlUMvto);
 }
 $oficial_de_credito = $iduser;
 $oficial_de_seguimiento = $iduser;
 if (USE_OFICIAL_BY_PRODUCTO == true) {
     $oficial_de_credito = $dconv["oficial_seguimiento"];
     $oficial_de_seguimiento = $dconv["oficial_seguimiento"];
 }
 //----------------------------------------------------------------------
 /* @param string $Observaciones
  * @param integer $OficialDeCredito
  * @param mixed $FechaDeSolicitud