function jsaVincularAval($tipo, $AvalPersona, $monto, $consanguinidad, $vinculado, $documento, $depende = false)
{
    $xT = new cTipos();
    $xDoc = new cCredito($documento);
    $depende = $xT->cBool($depende);
    $xDoc->init();
    $xDoc->addAval($AvalPersona, $monto, $tipo, $consanguinidad, $depende);
    return $xDoc->getMessages(OUT_HTML);
}
/**
 * Funcion que obtiene el Nombre del socio
 *
 * @param integer $params
 * @return string
 */
function Common_695bad33e1f2af343f99c6a4ceb9d045($params)
{
    $nombre = MSG_NO_PARAM_VALID;
    $xT = new cTipos();
    $socio = $xT->cInt($params);
    $xSoc = new cSocio($socio);
    if ($xSoc->existe($socio) == true) {
        $xSoc->init();
        $nombre = $xSoc->getNombreCompleto(OUT_TXT);
    }
    return $nombre;
}
 function getTelMovil($telefono)
 {
     $xT = new cTipos();
     $tel = $xT->cInt($telefono);
     $tm = strlen($tel);
     if (MODO_DEBUG == true) {
         $this->mMessages .= "WARN\tTelefono {$telefono} longitud {$tm}\r\n";
     }
     switch (EACP_CLAVE_DE_PAIS) {
         case "MX":
             switch ($tm) {
                 case 13:
                     $tel = substr($tel, -10);
                     break;
                 case 12:
                     $tel = null;
                     $this->mValido = false;
                     break;
                 case 10:
                     break;
                 case 7:
                     $tel = null;
                     $this->mValido = false;
                     break;
                 default:
                     $tel = null;
                     $this->mValido = false;
                     break;
             }
             //10 98164 == 7
             //981 10 98164 == 10
             //044 981 10 98164 == 13
             //01 981 10 98164 == 12
             if ($tel != null) {
                 $tel = "52{$tel}";
             }
             break;
     }
     return $tel;
 }
function jsaGetListadoDeAvisos($tipo, $fecha_inicial, $fecha_final, $todas)
{
    $tipo = $tipo == SYS_TODAS ? false : $tipo;
    $xT = new cTipos();
    $xF = new cFecha();
    $xAl = new cAml_alerts();
    $xlistas = new cSQLListas();
    $xBtn = new cHButton();
    $xImg = new cHImg();
    //
    $ByEstado = $xT->cBool($todas) == true ? "" : " AND `estado_en_sistema`= " . SYS_UNO;
    $ByEstado .= setNoMenorQueCero($tipo) <= 0 ? "" : "  AND (`aml_risk_catalog`.`tipo_de_riesgo` ={$tipo}) ";
    $fecha_inicial = $xF->getFechaISO($fecha_inicial);
    $fecha_final = $xF->getFechaISO($fecha_final);
    $sql = $xlistas->getListadoDeAlertas(false, false, false, false, $ByEstado);
    $xT = new cTabla($sql);
    $xT->setWithMetaData();
    $xT->OButton("TR.Dictaminar", "jsModificarEstatus(_REPLACE_ID_)", $xT->ODicIcons()->REPORTE);
    $xT->OButton("TR.Panel", "jsToPanel(_REPLACE_ID_)", $xT->ODicIcons()->EJECUTAR);
    $xT->setKeyField($xAl->getKey());
    $xT->setKeyTable($xAl->get());
    return $xT->Show();
}
function Common_c8581154ac4e27cb0e122d71341dd7d8($strCmd)
{
    $DPar = explode(STD_LITERAL_DIVISOR, $strCmd);
    $xTip = new cTipos();
    //
    $socio = $xTip->cInt($DPar[0]);
    $cuenta = $xTip->cInt($DPar[1]);
    $deposito = $xTip->cFloat($DPar[2]);
    $retiro = $xTip->cFloat($DPar[3]);
    $nota = $xTip->cChar($DPar[4]);
    $numero = $xTip->cInt($DPar[5]);
    $limit = $xTip->cInt($DPar[6]);
    if (isset($_SESSION["recibo_en_proceso"])) {
        $recibo = $_SESSION["recibo_en_proceso"];
        $fecha = fechasys();
        $_SESSION["total_recibo_en_proceso"] += $deposito - $retiro;
        $xRec = new cReciboDeOperacion(200, false, $recibo);
        $xRec->setNumeroDeRecibo($recibo, true);
        $DRec = $xRec->getDatosInArray();
        $cheque = $DRec["cheque_afectador"];
        $tipopago = $DRec["tipo_pago"];
        $recibofiscal = $DRec["recibo_fiscal"];
        if ($deposito > 0 or $retiro > 0) {
            $xC = new cCuentaALaVista($cuenta);
            $grupo = DEFAULT_GRUPO;
            $xC->setSocioTitular($socio);
            $xC->setReciboDeOperacion($recibo);
            if ($deposito > 0) {
                $xC->setDeposito($deposito, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo);
            }
            if ($retiro > 0) {
                $xC->setRetiro($retiro, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo);
            }
        }
        if ($numero == $limit) {
            $xRec->setForceUpdateSaldos();
            $xRec->setFinalizarRecibo(true);
            //$MsgEnd		.= "**** proceso terminado ****";
        }
    }
    //retorna el id del control de origen para neutralizar
    return "-{$numero}";
}
 $mExt = $DExt[1];
 if ($mExt == "csv") {
     $completePath = $prePath . $usrFiles[$i]['name'];
     if (file_exists($completePath) == true) {
         unlink($completePath);
         echo "<p class='aviso'> SE ELIMINO EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     }
     if (move_uploaded_file($usrFiles[$i]['tmp_name'], $completePath)) {
         //echo "<p class='aviso'> SE GUARDO EXITOSAMENTE EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     } else {
         //echo "<p class='aviso'> SE FALLO AL GUARDAR " . $usrFiles[$i]['name'] . "</p>";
     }
     //analizar el Archivo
     $gestor = @fopen($completePath, "r");
     $iReg = 0;
     $cT = new cTipos();
     //inicializa el LOG del proceso
     $aliasFil = getSucursal() . "-carga-batch-de-inversiones-" . fechasys();
     $xLog = new cFileLog($aliasFil, true);
     if ($gestor) {
         while (!feof($gestor)) {
             $bufer = fgets($gestor, 4096);
             //$bufer			= stream_get_line($gestor, "\r\n");
             if (!isset($bufer)) {
                 $msg .= "{$iReg}\t\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n";
             } else {
                 $bufer = trim($bufer);
                 $datos = explode(",", $bufer, 6);
                 $socio = $cT->cInt($datos[0]);
                 $importe = $cT->cFloat($datos[1]);
                 $fechaApertura = $cT->cFecha($datos[2]);
 /**
  * Agrega un Movimiento a la Poliza Contable
  * @param integer $cuenta
  * @param float $cargo
  * @param float $abono
  * @param string $referencia
  * @param string $concepto
  * @param integer $NumMvto
  * @param date $Fecha
  */
 function addMovimiento($cuenta, $cargo = 0, $abono = 0, $referencia = "", $concepto = "", $NumMvto = false, $Fecha = false)
 {
     //if($this->mPolizaIniciada == false){ $this->init(); }
     $xT = new cTipos();
     $xLogg = new cCoreLog();
     $msg = "";
     $ejercicio = $this->mEjercicioPoliza;
     $periodo = $this->mPeriodoPoliza;
     $poliza = $this->mNumeroDePoliza;
     $tipo = $this->mTipoDePoliza;
     $NumMvto = setNoMenorQueCero($NumMvto);
     $this->mNumeroMvto = setNoMenorQueCero($this->mNumeroMvto);
     //$this->getFolioDeMvto();
     if ($NumMvto <= 1) {
         $NumMvto = $this->mNumeroMvto > 1 ? $this->mNumeroMvto + 1 : $this->getFolioDeMvto() + 1;
     }
     $cargo = $xT->cFloat($cargo, 2);
     $abono = $xT->cFloat($abono, 2);
     $xLogg->add("WARN\t----------------------------------------------\r\n", $xLogg->DEVELOPER);
     //Valores de los proximos Movimientos
     $TipoMvto = TM_CARGO;
     $monto = 0;
     $Fecha = $Fecha == false ? $this->mFechaPoliza : $Fecha;
     $concepto = $concepto == "" ? $this->mConceptoPoliza : $concepto;
     $referencia = trim($referencia);
     $diario = $this->mCentroDeCosto == false ? DEFAULT_CONTABLE_DIARIO_MVTOS : $this->mCentroDeCosto;
     $xCCont = new cCuentaContable($cuenta);
     $xCCont->init();
     $cuenta = $xCCont->get();
     if ($cargo > 0) {
         $TipoMvto = TM_CARGO;
         $monto = $cargo;
         $abono = 0;
         $this->mTotalCargos += $monto;
     } else {
         $TipoMvto = TM_ABONO;
         $monto = $abono;
         $cargo = 0;
         $this->mTotalAbonos += $monto;
     }
     //-------------------------------------------------------------------------------------------------------
     if ($monto != 0) {
         //-------------------------------------------------------------------------------------------------------
         $sqli_mvto = "INSERT INTO contable_movimientos(ejercicio, periodo, tipopoliza, numeropoliza, numeromovimiento,\n\t\t\t\t\t\tnumerocuenta, tipomovimiento, referencia, importe, diario, moneda, concepto, fecha, cargo, abono)\n\t\t\t\t\t\t    VALUES({$ejercicio}, {$periodo},\n\t\t\t\t\t\t    {$tipo}, {$poliza},\n\t\t\t\t\t\t    {$NumMvto}, {$cuenta},\n\t\t\t\t\t\t    '{$TipoMvto}', '{$referencia}',\n\t\t\t\t\t\t    {$monto}, {$diario}, 1,\n\t\t\t\t\t\t    '{$concepto}', '{$Fecha}',\n\t\t\t\t\t\t    {$cargo}, {$abono})";
         $rs = my_query($sqli_mvto);
         //setLog($sqli_mvto);
         if ($rs[SYS_ESTADO] == true) {
             $xLogg->add("{$NumMvto}\t{$cuenta}\t{$TipoMvto}\t{$cargo}\t{$abono}\t{$referencia}\r\n", $xLogg->DEVELOPER);
             $xCCont->setAfectarSaldos($TipoMvto, $monto, $periodo, $ejercicio, false);
             //Establecer Numeracion
             $this->mNumeroMvto = $NumMvto;
             $_SESSION[POLIZA_ID_ULTIMAOPERACION] = $NumMvto;
         } else {
             $xLogg->add("ERROR\t{$NumMvto}\tAl intentar insertar registro\r\n", $xLogg->DEVELOPER);
         }
     } else {
         $xLogg->add("ERROR\t{$NumMvto}\tNo existe un saldo que agregar\r\n", $xLogg->DEVELOPER);
     }
     $xLogg->add($xCCont->getMessages(), $xLogg->DEVELOPER);
     $xLogg->add($msg, $xLogg->DEVELOPER);
     $this->mMessages .= $xLogg->getMessages();
     return $xLogg->getMessages();
 }
 $mExt = $DExt[1];
 if ($mExt == "csv") {
     $completePath = $prePath . $usrFiles[$i]['name'];
     if (file_exists($completePath) == true) {
         unlink($completePath);
         echo "<p class='aviso'> SE ELIMINO EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     }
     if (move_uploaded_file($usrFiles[$i]['tmp_name'], $completePath)) {
         //echo "<p class='aviso'> SE GUARDO EXITOSAMENTE EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     } else {
         //echo "<p class='aviso'> SE FALLO AL GUARDAR " . $usrFiles[$i]['name'] . "</p>";
     }
     //analizar el Archivo
     $gestor = @fopen($completePath, "r");
     $iReg = 0;
     $cT = new cTipos();
     //inicializa el LOG del proceso
     $aliasFil = getSucursal() . "-carga -batch-de-creditos-" . fechasys();
     $xLog = new cFileLog($aliasFil, true);
     if ($gestor) {
         while (!feof($gestor)) {
             $bufer = fgets($gestor, 4096);
             //$bufer			= stream_get_line($gestor, "\r\n");
             if (!isset($bufer)) {
                 $msg .= "{$iReg}\t\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n";
             } else {
                 $bufer = trim($bufer);
                 $datos = explode(",", $bufer, 12);
                 $socio = $cT->cInt($datos[0]);
                 $credito = $cT->cInt($datos[1]);
                 $producto = $cT->cInt($datos[2]);
 function init()
 {
     $cT = new cTipos();
     $code = $this->mClaveDeConvenio;
     $sql = "SELECT * FROM creditos_tipoconvenio WHERE `idcreditos_tipoconvenio` = {$code} LIMIT 0,1";
     $this->mArrDatos = obten_filas($sql);
     $this->mTasaAhorro = $cT->cFloat($this->mArrDatos["tasa_ahorro"]);
     $this->mOB = new cCreditos_tipoconvenio();
     $this->mOB->setData($this->mArrDatos);
     $this->mTipoEnSistema = $this->mOB->tipo_en_sistema()->v();
     $this->mTipoDeIntegracion = $this->mOB->tipo_de_integracion()->v();
     $this->initOtrosDatos();
 }
 $DExt = explode(".", substr($usrFiles[$i]['name'], -6));
 $mExt = $DExt[1];
 if ($mExt == "csv") {
     $completePath = $prePath . $usrFiles[$i]['name'];
     if (file_exists($completePath) == true) {
         unlink($completePath);
         echo "<p class='aviso'> SE ELIMINO EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     }
     if (move_uploaded_file($usrFiles[$i]['tmp_name'], $completePath)) {
         echo "<p class='aviso'> SE GUARDO EXITOSAMENTE EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     } else {
         echo "<p class='aviso'> SE FALLO AL GUARDAR " . $usrFiles[$i]['name'] . "</p>";
     }
     //analizar el Archivo
     $gestor = fopen($completePath, "r");
     $xT = new cTipos();
     $iReg = 0;
     $IDEntidad = 0;
     $IDMunicipio = 3;
     $IDLocalidad = 5;
     $IDNombre = 6;
     $IDLatitud = 7;
     $IDLongitud = 8;
     $IDAltitud = 9;
     $cT = new cTipos();
     if ($gestor) {
         /*
          */
         //array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )
         while ($datos = fgetcsv($gestor, 0, ",", "\"")) {
             //CVE_ENT,CVE_MUN,CVE_LOC,NOM_LOC,AMBITO,LATITUD,LONGITUD,ALTITUD,CVE_CARTA
 function setRegenerarSDPM($PFechaInicial, $PFechaFinal, $GenerarInteres = true, $incluirSinSaldo = false, $NumeroCuenta = false)
 {
     //		$PFechaFinal		= "";
     $mBase = 3100;
     $xT = new cTipos();
     $ql = new MQL();
     $BySaldo = $incluirSinSaldo == false ? " AND captacion_cuentas.saldo_cuenta >=" . TOLERANCIA_SALDOS : "";
     $ByCuentaSDPM = $NumeroCuenta == false ? "" : " AND `captacion_sdpm_historico`.`cuenta` = {$NumeroCuenta} ";
     $ByCuentaMvto = $NumeroCuenta == false ? "" : " AND `operaciones_mvtos`.`docto_afectado` = {$NumeroCuenta} ";
     $ByCuentaCta = $NumeroCuenta == false ? "" : " AND captacion_cuentas.numero_cuenta = {$NumeroCuenta} ";
     $msg = "";
     $msg .= "==========================================================================================\r\n";
     $msg .= "==================\tGenerando SDPM desde el {$PFechaInicial} al {$PFechaFinal}\r\n";
     $msg .= "==========================================================================================\r\n";
     $msg .= "Socio\tCuenta\tOPER\tEjercicio\tPeriodo\tFecha\tDias\tMonto\tSaldo\tSDPM\r\n";
     $sqlM = "SELECT \n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion`  AS 'fecha_operacion',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado` AS 'recibo_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado` AS 'docto_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`afectacion_real` AS 'afectacion_real',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`valor_afectacion`,\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`afectacion` AS 'afectacion'\n\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \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\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\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` ={$mBase})\n\t\t\t\t\t\t\t\t\t{$ByCuentaMvto}\n\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion` ASC";
     $rsM = getRecordset($sqlM);
     $arrOps = array();
     //Array de montos de operacion
     $arrRecs = array();
     //Array de Recibos de Operacion
     while ($rwM = mysql_fetch_array($rsM)) {
         //clave cuenta fecha
         $cuenta = $rwM["docto_afectado"];
         $fecha = $rwM["fecha_operacion"];
         if (isset($arrOps[$cuenta . "-" . $fecha])) {
             $arrOps[$cuenta . "-" . $fecha] += $rwM["afectacion_real"] * $rwM["afectacion"];
         } else {
             $arrOps[$cuenta . "-" . $fecha] = $rwM["afectacion_real"] * $rwM["afectacion"];
         }
         $arrRecs[$cuenta . "-" . $fecha] = $rwM["recibo_afectado"];
         //$msg					.= "WARN\t$cuenta\tAgregar " . ($rwM["afectacion_real"] * $rwM["afectacion"] ) . "\r\n";
     }
     //Eliminar periodos anteriores
     $sqlDF = "DELETE FROM captacion_sdpm_historico WHERE (fecha>='{$PFechaInicial}' AND fecha<='{$PFechaFinal}') {$ByCuentaSDPM} ";
     my_query($sqlDF);
     //FECHAS
     $xF = new cFecha(0);
     //
     $xTbl = new cSAFETabla(TCAPTACION_CUENTAS);
     $sqlCX = $xTbl->getQueryInicial() . " WHERE captacion_cuentas.tipo_cuenta = " . CAPTACION_TIPO_VISTA . " {$BySaldo} {$ByCuentaCta} ";
     $rs1 = getRecordset($sqlCX);
     while ($rw1 = mysql_fetch_array($rs1)) {
         $socio = $rw1["numero_socio"];
         $cuenta = $rw1["numero_cuenta"];
         $xCta = new cCuentaALaVista($cuenta, $socio);
         $xCta->init($rw1);
         $DCta = $xCta->getDatosInArray();
         $FApertura = $DCta["fecha_apertura"];
         $dias = $xF->setRestarFechas($PFechaFinal, $FApertura);
         $dias += 1;
         $sucursal = $DCta["sucursal"];
         $FechaAnterior = $FApertura;
         $saldoAnterior = 0;
         $xF2 = new cFecha(1);
         for ($i = 0; $i <= $dias; $i++) {
             $OpFecha = $xF->setSumarDias($i, $FApertura);
             $xF->set($OpFecha);
             $OpFechaFin = $xF->getDiaFinal();
             $OpMonto = isset($arrOps[$cuenta . "-" . $OpFecha]) ? $arrOps[$cuenta . "-" . $OpFecha] : 0;
             $idrecibo = isset($arrRecs[$cuenta . "-" . $OpFecha]) ? $arrRecs[$cuenta . "-" . $OpFecha] : DEFAULT_RECIBO;
             //si la operacion es mayor a cero o es FIN DE MES
             if ($OpMonto != 0 or $OpFecha == $OpFechaFin) {
                 $diasTrans = $xF2->setRestarFechas($OpFecha, $FechaAnterior);
                 $xF2->set($OpFecha);
                 $ejercicio = $xF2->anno();
                 $periodo = $xF2->mes();
                 $sdpd = $saldoAnterior * $diasTrans;
                 $nuevatasa = $xCta->getTasaAplicable(0, 0, $saldoAnterior);
                 //corregir fecha
                 $sqlUSPM = "INSERT INTO captacion_sdpm_historico\n\t\t\t\t\t\t\t\t\t\t(ejercicio, periodo, cuenta, fecha, dias, tasa, monto, recibo, numero_de_socio, sucursal)\n\t    \t\t\t\t\t\t\t\tVALUES( {$ejercicio}, {$periodo}, {$cuenta}, '{$OpFecha}', {$diasTrans}, {$nuevatasa}, {$sdpd}, {$idrecibo}, {$socio}, '{$sucursal}') ";
                 //si es valida la operacion, se actualizan
                 if ($OpFecha >= $PFechaInicial and $OpFecha <= $PFechaFinal) {
                     my_query($sqlUSPM);
                     $msg .= "{$socio}\t{$cuenta}\t+SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n";
                 } else {
                     $msg .= "{$socio}\t{$cuenta}\t=SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n";
                 }
                 $FechaAnterior = $OpFecha;
                 $saldoAnterior += $OpMonto;
             }
         }
     }
     //Agregar Movimientos Finales del MES.
     //FIXME: Corregir incidencias
     //opcional: agregar Interes
     if ($GenerarInteres == true) {
         $xRec = new cReciboDeOperacion(12, false);
         $recibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, 1, $PFechaFinal, 1, 12, "REGENERAR_INTERES_SDPM_{$PFechaFinal}", "NA", "ninguno", "NA", DEFAULT_GRUPO);
         $msg .= "==========================================================================================\r\n";
         $msg .= "==================\tAGREGADO INTERES :: RECIBO {$recibo}\r\n";
         $msg .= "==========================================================================================\r\n";
         $_SESSION["recibo_en_proceso"] = $recibo;
         //sumar sdpm del mes por cuenta
         $sqlSDPM = "SELECT\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`numero_de_socio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`dias`)  AS `dias_transcurridos`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`monto`) AS `sdpm`,\n\t\t\t\t\t\t\t\tROUND( (`captacion_sdpm_historico`.`monto` / `captacion_sdpm_historico`.`dias`), 2) AS `ultimo_saldo`,\n\t\t\t\t\t\t\t\tMAX(`captacion_sdpm_historico`.`fecha`) AS 'UltimaFecha'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico` `captacion_sdpm_historico` \n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` >= '{$PFechaInicial}')\n\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` <= '{$PFechaFinal}')\n\t\t\t\t\t\t\t\t{$ByCuentaSDPM}\n\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`ejercicio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`periodo`\n\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`fecha` DESC ";
         $rsCAP = $ql->getDataRecord($sqlSDPM);
         //setLog($sqlSDPM);
         foreach ($rsCAP as $rwC) {
             $socio = $rwC["numero_de_socio"];
             $cuenta = $rwC["cuenta"];
             $dias_de_calc = $rwC["dias_transcurridos"];
             $sumaSDPM = $rwC["sdpm"];
             $FechaI = $rwC["UltimaFecha"];
             $promedio = $xT->cFloat($sumaSDPM / $dias_de_calc, 2);
             //XXX: Solucionar Tasa de Interes y hacer las rapida la consulta
             $xCta = new cCuentaDeCaptacion($cuenta);
             $xCta->init();
             $subtipo = $xCta->getTipoDeSubproducto();
             $tasa_nueva = obtentasa($promedio, CAPTACION_TIPO_VISTA, 0, $subtipo);
             $interes = $sumaSDPM * $tasa_nueva / EACP_DIAS_INTERES;
             $interes = $xT->cFloat($interes, 2);
             //agregar movimiento
             if ($interes > 0) {
                 setNuevoMvto($socio, $cuenta, $recibo, $FechaI, $interes, 222, 1, "CALCULO_AUTOMATICO_DESDE_{$PFechaInicial}");
                 $msg .= "{$socio}\t{$cuenta}\tAGREGAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n";
             } else {
                 $msg .= "{$socio}\t{$cuenta}\tIGNORAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n";
             }
         }
     }
     return $msg;
 }
include_once "../core/core.error.inc.php";
include_once "../core/core.html.inc.php";
include_once "../core/core.init.inc.php";
include_once "../core/core.db.inc.php";
$theFile = __FILE__;
$permiso = getSIPAKALPermissions($theFile);
if ($permiso === false) {
    header("location:../404.php?i=999");
}
$_SESSION["current_file"] = addslashes($theFile);
//=====================================================================================================
$xHP = new cHPage("TR.VISTA_PREVIA DEL REPORTE_X_HORAS", HP_REPORT);
$mql = new cSQLListas();
$xF = new cFecha();
$query = new MQL();
$xT = new cTipos();
$xLoc = new cLocal();
$xLayout = new cReportes_Layout();
$xHTable = new cHTabla();
$xHNot = new cHNotif();
$estatus = parametro("estado", SYS_TODAS);
$frecuencia = parametro("periocidad", SYS_TODAS);
$producto = parametro("convenio", SYS_TODAS);
$producto = parametro("producto", $producto);
$empresa = parametro("empresa", SYS_TODAS);
$out = parametro("out", SYS_DEFAULT);
$FechaInicial = parametro("on", false);
$FechaInicial = parametro("fecha-1", $FechaInicial);
$FechaInicial = $FechaInicial == false ? FECHA_INICIO_OPERACIONES_SISTEMA : $xF->getFechaISO($FechaInicial);
$FechaFinal = parametro("off", false);
$FechaFinal = parametro("off", $FechaFinal);
 $mExt = $DExt[1];
 if ($mExt == "csv") {
     $completePath = $prePath . $usrFiles[$i]['name'];
     if (file_exists($completePath) == true) {
         unlink($completePath);
         echo "<p class='aviso'> SE ELIMINO EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     }
     if (move_uploaded_file($usrFiles[$i]['tmp_name'], $completePath)) {
         //echo "<p class='aviso'> SE GUARDO EXITOSAMENTE EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     } else {
         //echo "<p class='aviso'> SE FALLO AL GUARDAR " . $usrFiles[$i]['name'] . "</p>";
     }
     //analizar el Archivo
     $gestor = @fopen($completePath, "r");
     $iReg = 0;
     $cT = new cTipos();
     //inicializa el LOG del proceso
     $aliasFil = getSucursal() . "-carga-batch-de-vista-" . fechasys();
     $xLog = new cFileLog($aliasFil, true);
     if ($gestor) {
         while (!feof($gestor)) {
             $bufer = fgets($gestor, 4096);
             //$bufer			= stream_get_line($gestor, "\r\n");
             if (!isset($bufer)) {
                 $msg .= "{$iReg}\t\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n";
             } else {
                 $bufer = trim($bufer);
                 $datos = explode(",", $bufer, 6);
                 //numero de socio //[numero de cuenta] //[FechaDeApertura] //[clave de producto] //saldo //[observaciones]
                 $socio = $cT->cInt($datos[0]);
                 $NumCuenta = $cT->cInt($datos[1]);
 function init($formato = false)
 {
     $xT = new cTipos();
     $fecha = $this->mFecha;
     $this->mCurrentAnno = $xT->cInt(date("Y", strtotime($fecha)), true);
     $this->mCurrentMonth = $xT->cInt(date("n", strtotime($fecha)), true);
     $this->mCurrentDay = $xT->cInt(date("j", strtotime($fecha)), true);
     $this->mDiasDelMes = $xT->cInt(date("t", strtotime($fecha)), true);
     $this->mCurrentWeekday = $xT->cInt(date("N", strtotime($fecha)), true);
     $this->mCurrentNumberWeek = $xT->cInt(date("W", strtotime($fecha)), true);
     $this->mFormat = $formato == false ? $this->mFormat : $formato;
 }
/**
 * Funcion que Guarda el Monto de la Parcialidad
 * @param string $params Indica los parametros a cruzar
 **/
function Common_1fff3ce8ffd3d2dfdee69fd04ba831ac($params)
{
    $stdDiv = STD_LITERAL_DIVISOR;
    $DPar = explode($stdDiv, $params, 2);
    $mFecha = new cFecha();
    //grupo
    $xTip = new cTipos();
    //
    $credito = $xTip->cInt($DPar[0]);
    //
    $pagos = $xTip->cInt($DPar[1]);
    $fecha_de_vencimiento = $xTip->cFecha($DPar[2]);
    $dias_autorizados = 0;
    $pagos_autorizados = 0;
    $convenio = 0;
    $saldo_actual = 0;
    $parcialidad = 0;
    $fecha_de_revision = $mFecha->get();
    $grupo = 0;
    $fecha_de_ministracion = 0;
    $contrato_corriente = 0;
    $sql = "UPDATE creditos_solicitud\n    SET\n        numero_pagos\t\t\t= {$pagos_autorizados},\n        fecha_vencimiento\t\t= '{$fecha_de_vencimiento}',\n        pagos_autorizados\t\t= {$pagos_autorizados},\n        saldo_actual\t\t\t= {$saldo_actual},\n        tipo_convenio\t\t\t= {$convenio},\n        ultimo_periodo_afectado\t\t= {$parcialidad},\n        grupo_asociado\t\t\t= {$grupo},\n        fecha_ministracion\t\t= '{$fecha_de_ministracion}',\n        contrato_corriente_relacionado={$contrato_corriente},\n        monto_parcialidad={$parcialidad},\n        fecha_revision='{$fecha_de_revision}',\n        /* tipo_de_pago= ,\n        tipo_de_calculo_de_interes=0,\n        causa_de_mora=0 */\n    WHERE\n    numero_solicitud={$credito}\n";
}
//$jxc ->process();
echo $xHP->getHeader();
$jsb = new jsBasicForm("frmdocumentos");
//$jxc ->drawJavaScript(false, true);
$ByType = "";
echo $xHP->setBodyinit();
$xFRM = new cHForm("frmsdn", "sdn.upload.frm.php?action=" . SYS_UNO);
$xFRM->setEnc("multipart/form-data");
$xFRM->setTitle($xHP->getTitle());
$arrOps = array("ADR" => $xHP->lang("domicilio") . "(ADD.PIP)", "SDN" => $xHP->lang("persona") . "(SDN.PIP)", "ALT" => $xHP->lang("alias") . "(ALT.PIP)");
$xBtn = new cHButton();
$xTxt = new cHText();
$xTxt2 = new cHText();
$xSel = new cHSelect("idtipoimportacion", $arrOps);
$xF = new cFecha();
$xT = new cTipos();
$msg = "";
if ($action == SYS_CERO) {
    $xFRM->addHElem("<div class='tx4'><label for='f1'>" . $xFRM->lang("archivo") . "</label><input type='file'  name='f1' id='f1'  /></div>");
    $xFRM->addHElem($xSel->get("", "TR.tipo de importacion"));
    //$xFRM->addHElem( $xTxt2->getDeMoneda("idnumeropagina", $xFRM->lang("numero de", "pagina")) );
    $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"] : "";
    $tipoimportacion = isset($DDATA["idtipoimportacion"]) ? $DDATA["idtipoimportacion"] : "SDN";
    $xFil = new cFileImporter();
    $limit = $tipoimportacion == "SDN" ? 12 : 6;
 function setRestore($Fecha = false)
 {
     $gestor = @fopen(PATH_BACKUPS . "safeosms-permissions-" . getSucursal() . "-{$Fecha}.sbk", "r");
     $msg = "";
     $iReg = 0;
     $cT = new cTipos();
     if ($gestor) {
         while (!feof($gestor)) {
             $bufer = fgets($gestor, 4096);
             if (!isset($bufer)) {
                 $msg .= "{$iReg}\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n";
             } else {
                 $bufer = trim($bufer);
                 $datos = explode("|", $bufer, 2);
                 $indice = $cT->cInt($datos[0]);
                 if ($indice != 0) {
                     $perms = html_entity_decode($datos[1]);
                     $sql = "UPDATE general_menul SET menu_rules = \"{$perms}\" WHERE idgeneral_menu = {$indice} ";
                     $msg .= "Cargando el Indice {$indice} con Permisos ({$perms})\r\n";
                     my_query($sql);
                 }
             }
             $iReg++;
         }
     }
     @fclose($gestor);
     $this->mMessages .= $msg;
     return $msg;
 }
 function setUltimoCheque($cheque = 0, $CuentaBancaria = false)
 {
     $this->set($CuentaBancaria);
     $CuentaBancaria = $this->mCuenta;
     $documento = 1;
     $xT = new cTipos();
     $cheque = setNoMenorQueCero($cheque);
     if ($cheque <= 0) {
         //Obtiene el Cheque de un Conteo SQL
         $sql = "SELECT numero_de_documento\r\n\t\t\tFROM bancos_operaciones\r\n\t\t\tWHERE cuenta_bancaria = {$CuentaBancaria}\r\n\t\t\tORDER BY idcontrol ASC, fecha_expedicion ASC\r\n\t\t\tLIMIT 0,1";
         $documento = getFila($sql, "numero_de_documento");
         $documento = $xT->cInt($documento);
         $documento = $documento + 1;
     } else {
         $documento = $xT->cInt($cheque);
     }
     $sqlD = "UPDATE bancos_cuentas SET consecutivo_actual = {$documento}\r\n\t\tWHERE idbancos_cuentas = {$CuentaBancaria}";
     my_query($sqlD);
 }
$totalPendiente = 0;
$fecha_de_corte = $fecha_final;
$xT = new cTipos();
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<DeclaracionInformativaMensualIDE denominacion=\"{$NombreEntidad}\" rfcDeclarante=\"{$RFC_Declarante}\" version=\"1.0\" xsi:noNamespaceSchemaLocation=\"ide_20080818.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n\t<RepresentanteLegal rfc=\"{$RFC_Representante}\">\n\t\t<Nombre>\n\t\t\t<Nombres>{$RepNom}</Nombres>\n\t\t\t<PrimerApellido>{$RepAP}</PrimerApellido>\n\t\t\t</SegundoApellido>{$RepAM}</SegundoApellido>\n\t\t</Nombre>\n\t</RepresentanteLegal>\n\t<Normal ejercicio=\"{$ejercicio}\" periodo=\"{$periodo}\"/>\n\n\t<InstitucionDeCredito>\n";
echo "\n\t\t<ReporteDeRecaudacionYEnteroDiaria fechaDeCorte=\"{$fecha_de_corte}\">\n\t\t\t<RegistroDeDetalle>\n";
$sqlCaracter = "SELECT\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\tSUM(`operaciones_mvtos`.`afectacion_real`) AS `monto`\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\tINNER JOIN `operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\t\tON `eacp_config_bases_de_integracion_miembros`.`miembro` =\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` =7001)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_operacion` >='{$fecha_inicial}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_operacion` <='{$fecha_final}')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`\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` ";
$rsMSoc = mysql_query($sqlCaracter, cnnGeneral());
while ($rx = mysql_fetch_array($rsMSoc)) {
    $socio = $rx["socio_afectado"];
    $xSoc = new cSocio($socio);
    $xSoc->init();
    $DSoc = $xSoc->getDatosInArray();
    $curp = $DSoc["curp"];
    $rfc = $DSoc["rfc"];
    $xT = new cImpuestoIDE();
    $xTi = new cTipos();
    $nombre = $xTi->setNoAcentos($xSoc->getNombreCompleto());
    $domicilio = $xSoc->getDomicilio();
    //Ide Individual a la fecha de Corte
    $IDEPend = $xT->getIDENoPagado($socio, $fecha_final);
    //		$xT				= new cImpuestoIDE();
    //		$xF				= new cFecha(0, $fecha);
    //		$FechaAnterior	= $xF->getFechaMesAnterior();
    //$IDEPerA		= $xSoc->getIDEPeriodoAnterior($fecha_final);//IDE Periodos anteriores
    //Remanente de periodos anteriores se refiere a la suma de Remanentes en los Meses Anteriores
    $RemPerA = 0;
    $IDERet = $xSoc->getIDEPagadoByPeriodo($fecha_final);
    $MontoGrav = $xSoc->getBaseGravadaIDE($fecha_final);
    $IDECalc = $xSoc->getIDECalculado($fecha_final);
    $totalExcedente += $MontoGrav;
    $totalOperaciones++;
 $mExt = trim($DExt[1]);
 if ($mExt == "csv") {
     $completePath = $prePath . $usrFiles[$i]['name'];
     if (file_exists($completePath) == true) {
         unlink($completePath);
         echo "<p class='aviso'> SE ELIMINO EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     }
     if (move_uploaded_file($usrFiles[$i]['tmp_name'], $completePath)) {
         //echo "<p class='aviso'> SE GUARDO EXITOSAMENTE EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     } else {
         //echo "<p class='aviso'> SE FALLO AL GUARDAR " . $usrFiles[$i]['name'] . "</p>";
     }
     //analizar el Archivo
     $gestor = @fopen($completePath, "r");
     $iReg = 0;
     $cT = new cTipos();
     if ($gestor) {
         while (!feof($gestor)) {
             $bufer = fgets($gestor, 4096);
             //$bufer			= stream_get_line($gestor, "\r\n");
             if (!isset($bufer)) {
                 $msg .= "{$iReg}\tLa Linea({$iReg}) no se leyo({$bufer})\r\n";
             } else {
                 //layout : socio , nombre, monto, cuenta
                 $datos = explode(",", trim($bufer), 4);
                 $socio = $cT->cInt($datos[0]);
                 $nombre = isset($datos[1]) ? $cT->cChar(trim($datos[1])) : "";
                 $monto = isset($datos[2]) ? $datos[2] : 0;
                 $cuenta = isset($datos[3]) ? $datos[3] : 0;
                 if ($socio != 0 and $socio != 0) {
                     //
$dSocio = isset($_GET["s"]) ? isset($_GET["s"]) : DEFAULT_SOCIO;
$dCon = isset($_GET["c"]) ? isset($_GET["c"]) : "";
if ($xCaja->getEstatus() == TESORERIA_CAJA_CERRADA) {
    $xHP->goToPageError(200);
}
$xHP->init();
$xFRM = new cHForm("frmmultas", "frmcobrodemultas.php?action=" . MQL_ADD);
if ($action == SYS_NINGUNO) {
    $xFRM->addPersonaBasico();
    $xFRM->ODate("idfechaactual", false, "TR.Fecha de cobro");
    $xFRM->addCobroBasico();
    $xFRM->OText("idconceptomulta", "", "TR.Concepto de Multa");
    $xFRM->OMoneda("idmontomulta", 0, "TR.Monto de Multa", true);
    $xFRM->addGuardar();
} else {
    $xT = new cTipos();
    //===========================================================================
    $idsocio = isset($_POST["idsocio"]) ? $xT->cInt($_POST["idsocio"]) : 0;
    $observaciones = isset($_POST["idconceptomulta"]) ? $xT->cChar($_POST["idconceptomulta"]) : "";
    $monto = isset($_POST["idmontomulta"]) ? $xT->cFloat($_POST["idmontomulta"]) : 0;
    $cheque = isset($_POST["cheque"]) ? $xT->cChar($_POST["cheque"]) : DEFAULT_CHEQUE;
    $comopago = isset($_POST["ctipo_pago"]) ? $xT->cChar($_POST["ctipo_pago"]) : DEFAULT_TIPO_PAGO;
    $foliofiscal = isset($_POST["foliofiscal"]) ? $xT->cChar($_POST["foliofiscal"]) : DEFAULT_RECIBO_FISCAL;
    if (setNoMenorQueCero($idsocio) <= 0) {
        //header("location: frmcobrodemultas.php?msg=FALTAN_DATOS");
        $xFRM->addAvisoRegistroError();
    } else {
        if (setNoMenorQueCero($monto) <= 0) {
            $xFRM->addAvisoRegistroError();
        } else {
            $iddocto = DEFAULT_CREDITO;
 $SIva = 0;
 $STotal = 0;
 $diferencias = 0;
 $arrTipoCred = array("1-3-01-01-05" => CREDITO_TIPO_COMERCIAL, "1-3-01-02-03" => CREDITO_TIPO_CONSUMO, "1-3-01-01-01" => CREDITO_TIPO_COMERCIAL, "1-3-01-01-02" => CREDITO_TIPO_COMERCIAL, "1-3-03-01-05" => CREDITO_TIPO_COMERCIAL, "1-3-03-02-03" => CREDITO_TIPO_CONSUMO, "1-3-03-01-01" => CREDITO_TIPO_COMERCIAL, "1-3-03-01-02" => CREDITO_TIPO_COMERCIAL);
 $arrEstatus = array("1-3-01" => 10, "1-3-03" => 20, "2-1-01" => 99);
 $arrTCuenta = array("2-1-01-01-01" => 1, "2-1-01-01-02" => 2);
 $arrComp = array("normal" => "saldo", "ultimocierre" => "saldo_al_corte");
 $prePath = PATH_BACKUPS;
 $lim = 1;
 $arrUltFechas = array();
 $aCreditos = array();
 $aCaptacion = array();
 $aCompacW = array();
 $aCompacWC = array();
 //Array de cuentas compacw
 $cT = new cTipos();
 $msg .= "SOCIO\tAPUNTE\tSDOSAFE\tSDOCW\tDIFERENCIA\tOBSEVACIONES\r\n";
 $msgD .= "SOCIO\tSDOSAFE\tSDOCW\tDIFERENCIA\tCUENTA1\tSDO1\tCUENTA2\tSDO2\r\n";
 switch ($TipoDeImportacion) {
     case "credito":
         //carga ultimas fechas de saldos
         //Sql Creditos
         $sqlCreds = "SELECT\n\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`numero_socio`,\n\t\t\t\t\t\t\t\t\t\tSUM(`creditos_solicitud`.`saldo_actual`) AS 'saldo',\n\t\t\t\t\t\t\t\t\t\tSUM(`creditos_solicitud`.`saldo_conciliado`) AS 'saldo_al_corte'\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t`creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`estatus_actual` != 50 \n\t\t\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`numero_socio`\n\t\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`numero_socio`,\n\t\t\t\t\t\t\t\t\t\t`creditos_solicitud`.`saldo_actual` ";
         $rsC = mysql_query($sqlCreds, cnnGeneral());
         while ($rwC = mysql_fetch_array($rsC)) {
             $aCreditos[$rwC["numero_socio"]] += $cT->cFloat($rwC[$arrComp[$TipoDeComparacion]], 2);
             //$msg			.= "SAFE\tSocio: " . $rwC["numero_socio"] . " Saldo: " . $rwC["saldo_actual"] . " \r\n";
         }
         @mysql_free_result($rsC);
         break;
     case "ahorro":
 /**
  * @return integer Numero de Operacion
  **/
 function setNuevoMvto($fecha_operacion, $monto, $tipo_operacion, $periodo_de_socio, $observaciones, $signo_afectacion = 1, $mvto_contable = false, $socio = false, $documento = false, $fecha_afectacion = false, $fecha_vencimiento = false, $saldo_anterior = false, $saldo_nuevo = false)
 {
     $sucess = false;
     //inicializa el recibo
     if (!isset($this->mCodigoDeRecibo) or $this->mCodigoDeRecibo == false) {
         //
     }
     //Si no hay valores, obtenerlos del recibo
     if ($documento == false or !isset($documento)) {
         $documento = $this->mDocto;
     }
     if ($socio == false or !isset($socio)) {
         $socio = $this->mSocio;
     }
     //Verificar la Cuenta Bancaria
     if ($this->mCuentaBancaria == false) {
         $this->mCuentaBancaria = DEFAULT_CUENTA_BANCARIA;
     }
     $recibo = $this->mCodigoDeRecibo;
     $fecha_afectacion = $fecha_afectacion == false ? $fecha_operacion : $fecha_afectacion;
     // --------------------------------------- VALOR SQL DEL MVTO.-------------------------------------------------------
     // VALORES FIJOS
     $smf = "idusuario, codigo_eacp, socio_afectado, docto_afectado, recibo_afectado, fecha_operacion, ";
     // PERIODOS
     $smf .= "periodo_contable, periodo_cobranza, periodo_seguimiento, ";
     $smf .= "periodo_anual, periodo_mensual, periodo_semanal, ";
     // AFECTACIONES
     $smf .= "afectacion_cobranza, afectacion_contable, afectacion_estadistica, ";
     $smf .= "afectacion_real, valor_afectacion, ";
     // FECHAS Y TIPOS
     $smf .= "idoperaciones_mvtos, tipo_operacion, estatus_mvto, periodo_socio, ";
     $smf .= "fecha_afectacion, fecha_vcto, ";
     // SALDOS
     $smf .= "saldo_anterior, saldo_actual, detalles, sucursal, tasa_asociada, dias_asociados, grupo_asociado";
     //
     $iduser = $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"];
     $eacp = EACP_CLAVE;
     // PERIODOS
     $percont = EACP_PER_CONTABLE;
     // Periodo Contable
     $percbza = EACP_PER_COBRANZA;
     // Periodo Cobranza.
     $perseg = EACP_PER_SEGUIMIENTO;
     // Period de Seguimiento.
     $permens = date("m", strtotime($fecha_operacion));
     // Periodo mes
     $persem = date("N", strtotime($fecha_operacion));
     // Periodo de dias en la semana.
     $peranual = date("Y", strtotime($fecha_operacion));
     // A�o Natural.
     $persoc = $periodo_de_socio;
     // periodo del Socio.
     $estatus_mvto = $this->mDefMvtoStatus;
     $fecha_vcto = $fecha_vencimiento == false ? $this->mFechaDeVcto : $fecha_vencimiento;
     $saldo_anterior = $saldo_anterior === false ? 0 : $saldo_anterior;
     $saldo_nuevo = $saldo_nuevo === false ? $monto : $saldo_nuevo;
     $sucursal = getSucursal();
     $afect_cbza = $monto;
     $afect_seg = $monto;
     $afect_cont = $monto;
     $afect_esta = $monto;
     $idoperacion = folios(2);
     $tasa = 0;
     $dias = 0;
     $grupo = $this->mGrupoAsociado;
     $viable = true;
     $xT = new cTipos(0);
     if ($this->mGrupoAsociado == false) {
         $grupo = DEFAULT_GRUPO;
     }
     $smv = "{$iduser}, '{$eacp}', {$socio}, {$documento}, {$recibo}, '{$fecha_operacion}',\n\t\t\t\t{$percont}, {$percbza}, {$perseg}, {$peranual}, {$permens}, {$persem},\n\t\t\t\t{$afect_cbza}, {$afect_cont}, {$afect_esta},\n\t\t\t\t{$monto}, {$signo_afectacion},\n\t\t\t\t{$idoperacion}, {$tipo_operacion}, {$estatus_mvto}, {$persoc},\n\t\t\t\t'{$fecha_afectacion}', '{$fecha_vcto}',\n\t\t\t\t{$saldo_anterior}, {$saldo_nuevo}, '{$observaciones}', '{$sucursal}', {$tasa}, {$dias}, {$grupo}\n\t\t\t\t";
     $arrD = array($socio, $documento, $recibo);
     $viable = $xT->getEvalNotNull($arrD);
     if ($viable == false) {
         $this->mMessages .= "ERROR\tVARS\tError al Evaluar alguno de estos Valores Socio {$socio}, Documento {$documento}, Recibo {$recibo}\r\n";
         $this->mMessages .= $xT->getMessages();
     }
     $SQl_comp = "INSERT INTO operaciones_mvtos({$smf}) VALUES ({$smv})\n\t\t\t\t\t\tON DUPLICATE KEY UPDATE idoperaciones_mvtos = " . folios(2) . "\n\t\t\t\t\t";
     if ($monto != 0 and isset($monto) and $this->mAfectar == true and $viable == true) {
         $exec = my_query($SQl_comp);
         if ($exec["stat"] == false) {
             $sucess = false;
             $this->mMessages .= "ERROR\t{$recibo}\tSe Fallo al Agregar la Operacion({$tipo_operacion}) por {$monto} con Numero {$idoperacion}\r\n";
         } else {
             $sucess = true;
             $this->mMessages .= "SUCESS\t{$recibo}\tSe agrego Exitosamente la Operacion({$tipo_operacion}) por {$monto} con Numero {$idoperacion} \r\n";
         }
     } else {
         $this->TxtLog .= "WARNING\tSe simula Agregar el Mvto {$idoperacion} del tipo {$tipo_operacion} por un monto de {$monto} \r\n";
     }
     //Sumar al Recibo el Monto
     $this->mSumaDeRecibo += $monto;
     $this->mNumeroDeMvtos++;
     //
     return $idoperacion;
 }
$xFRM = new cHForm("frm", "contabilidad_import-catalogo-otros.frm.php?action=" . MQL_TEST);
$xFil = new cHFile();
$xChk = new cHCheckBox();
$msg = "";
if ($action == SYS_NINGUNO) {
    $xFRM->OFile("idarchivo");
    $xFRM->addHElem($xChk->get("TR.Afectar Base de Datos", "idaplicar"));
    $xFRM->OText("idcolcuenta", 1, "TR.Columna Cuenta");
    $xFRM->OText("idcolnom", 2, "TR.Columna Nombre");
    $xFRM->OText("idcolnat", 3, "TR.Columna Tipo");
    //$xFRM->OTextArea("idmascara", "$esqueleto", "TR.Formato");
} else {
    //
    $doc1 = isset($_FILES["idarchivo"]) ? $_FILES["idarchivo"] : false;
    $xFi = new cFileImporter();
    $xT = new cTipos();
    $colcuenta = parametro("idcolcuenta");
    $colnombre = parametro("idcolnom");
    $colnat = parametro("idcolnat");
    $catImport = array();
    $aplicar = parametro("idaplicar", false, MQL_BOOL);
    if ($aplicar == true) {
        $action = MQL_ADD;
    }
    //Cedula de Identidad
    $xFi->setCharDelimiter("|");
    $xFi->setLimitCampos(4);
    //$xFi->setToUTF8();
    //var_dump($_FILES["f1"]);
    //$xFi->setExo($esqueleto);
    //var_dump($_FILES);
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td>Preparado por:</td>
			<td><?php echo $oficial; ?></td>
		</tr>
		<tr>
			<td>&nbsp;</td>
			<td></td>
			<td></td>
		</tr>

	</thead>
</table> */
$cvs = "";
$xT = new cTipos();
$xFile = new cFileLog("reporte-patmir-II.del_{$fechaDeInicio}.al_{$fechaFinal}", true);
while ($r = mysql_fetch_array($rs)) {
    //pacceso-socio-cont
    $punto_de_acceso = $r["clave_de_centro"];
    $socio = $r["codigo"];
    $xSoc = new cSocio($socio);
    $xSoc->init();
    $fechaNac = date("Y/m/d", strtotime($r["fechanacimiento"]));
    $tipoDato = "PERSONA";
    $primerApellido = $r["apellidopaterno"];
    $segundoApellido = $r["apellidomaterno"];
    $primerApellido = strlen($primerApellido) == 0 ? $segundoApellido : $primerApellido;
    $segundoApellido = strlen($primerApellido) == 0 ? "" : $segundoApellido;
    $nombres = explode(" ", $r["nombrecompleto"]);
    $primerNombre = $nombres[0];
 /**
  * Funcion que agrega una nueva Cuenta
  * @param $origen					Origen de la cuenta, lavado de dinero
  * @param $subproducto				Subproducto al que pertenece
  * @param $socio
  * @param $observaciones
  * @param $credito
  * @param $mancomunado1
  * @param $mancomunado2
  * @param $grupo
  * @param $fecha_alta
  * @param $tipo_de_cuenta
  * @param $tipo_de_titulo
  * @param $DiasInvertidos
  * @param $tasa
  * @param $CuentaDeIntereses
  * @return unknown_type
  */
 function setNuevaCuenta($origen, $subproducto, $socio, $observaciones = "", $credito = 1, $mancomunado1 = "", $mancomunado2 = "", $grupo = 99, $fecha_alta = false, $tipo_de_cuenta = 20, $tipo_de_titulo = 99, $DiasInvertidos = false, $tasa = false, $CuentaDeIntereses = false, $FechaVencimiento = false)
 {
     $xT = new cTipos(0);
     if ($this->mNumeroCuenta == false) {
         //Asigna una cuenta por estructura
         $cuenta = $xT->cSerial(2, $subproducto) . $xT->cSerial(DIGITOS_DE_CLAVE_DE_SOCIO, $socio) . "01";
         $sqlNCta = "SELECT COUNT(numero_cuenta) AS 'cuentas'\n\t\t\t\t\t\t\t\t\tFROM captacion_cuentas\n\t\t\t\t\t\t\t\t\tWHERE numero_socio={$socio}";
         $datos = obten_filas($sqlNCta);
         if (isset($datos["cuentas"]) or $datos["cuentas"] > 0) {
             $cuenta = $xT->cSerial(2, $subproducto) . $xT->cSerial(DIGITOS_DE_CLAVE_DE_SOCIO, $socio) . ($datos["cuentas"] + 1);
             $this->mMessages .= "WARN\tSe Presume al Numero de cuenta {$cuenta} por que el socio tiene  " . $datos["cuentas"] . " cuentas\r\n";
         }
         $this->mNumeroCuenta = $cuenta;
         unset($datos);
     }
     $idsolicitud = $credito;
     $idgrupo = $grupo;
     $observacion = $observaciones;
     $xF = new cFecha();
     if ($DiasInvertidos == false) {
         $DiasInvertidos = $this->mDiasInvertidos;
     }
     $fechaalta = $fecha_alta == false ? $this->mFechaOperacion : $fecha_alta;
     if ($tasa == false) {
         $tasa = $this->mTasaInteres;
     } else {
         $this->mTasaInteres = $tasa;
     }
     if ($this->mSocioTitular != 0 and isset($this->mSocioTitular) and $this->mSocioTitular != false) {
         $idsocio = $this->mSocioTitular;
     } else {
         if (isset($socio) && $socio != false) {
             $idsocio = $socio;
             $this->mSocioTitular = $socio;
         }
     }
     if ($CuentaDeIntereses == false) {
         $CuentaDeIntereses = CTA_GLOBAL_CORRIENTE;
     }
     $FechaVencimiento = $FechaVencimiento == false ? $xF->setSumarDias($DiasInvertidos, $fechaalta) : $FechaVencimiento;
     $origencuenta = $origen;
     $tipotitulo = $tipo_de_titulo;
     $lacuenta = $this->mNumeroCuenta;
     $sucursal = getSucursal();
     $fechabaja = "2029-12-31";
     $estatus = 10;
     $man1 = $mancomunado1;
     $man2 = $mancomunado2;
     $subpdto = $subproducto;
     $sqlPdto = "SELECT * FROM captacion_subproductos\tWHERE idcaptacion_subproductos={$subpdto}";
     $dPdto = obten_filas($sqlPdto);
     $tipocuenta = $dPdto["tipo_de_cuenta"];
     $contrato = $dPdto["nombre_del_contrato"];
     $iduser = $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"];
     $eacp = EACP_CLAVE;
     //verifica si existe la Cuenta
     $cuentas_existentes = $this->setContarCuenta();
     //
     if ($cuentas_existentes > 0) {
         //sumar otro folio
         $lacuenta++;
         $this->mNumeroCuenta = $lacuenta;
         $cuentas_existentes = $this->setContarCuenta();
         if ($cuentas_existentes > 0) {
             $lacuenta++;
             $this->mNumeroCuenta = $lacuenta;
         }
     }
     // Si es Inversion la Cuenta Estara Inactiva
     if ($tipocuenta == 20) {
         $estatus = 20;
     }
     $sqlNR = "INSERT INTO captacion_cuentas(\n\t\t\t\t\t\tnumero_cuenta, numero_socio, numero_grupo, numero_solicitud, tipo_cuenta,\n\t\t\t\t\t\tfecha_apertura, fecha_afectacion, fecha_baja, estatus_cuenta, saldo_cuenta,\n\t\t\t\t\t\teacp, idusuario, inversion_fecha_vcto, inversion_periodo, tasa_otorgada, dias_invertidos, observacion_cuenta, origen_cuenta,\n\t\t\t\t\t\ttipo_titulo, tipo_subproducto, nombre_mancomunado1, nombre_mancomunado2, minimo_mancomunantes, saldo_conciliado, fecha_conciliada,\n\t\t\t\t\t\tsucursal, ultimo_sdpm, oficial_de_captacion,\n\t\t\t\t\t\tcuenta_de_intereses)\n    \t\t\t\t\tVALUES(\n\t\t\t\t\t\t{$lacuenta}, {$idsocio}, {$idgrupo}, {$idsolicitud}, {$tipocuenta},\n\t\t\t\t\t'{$fechaalta}', '{$fechaalta}', '{$fechabaja}', {$estatus}, 0,\n\t\t\t\t\t'{$eacp}', {$iduser},\n\t\t\t\t\t'{$FechaVencimiento}', 1, {$tasa}, {$DiasInvertidos}, '{$observacion}', {$origencuenta},\n\t\t\t\t\t{$tipotitulo}, {$subpdto}, '{$man1}', '{$man2}', 0, 0, '{$fechaalta}',\n\t\t\t\t\t'{$sucursal}', 0, {$iduser},\n\t\t\t\t\t{$CuentaDeIntereses})";
     $r = my_query($sqlNR);
     if ($r["stat"] == true) {
         $this->mMessages .= "OK\tSe Agrego Existosamente la Cuenta {$lacuenta} del subproducto {$subpdto} \r\n";
         $this->mSucess = true;
         $this->mSocioTitular = $idsocio;
         $this->mGrupoAsociado = $grupo;
         $this->mCreditoAsoc = $idsolicitud;
         $this->mNumeroCuenta = $lacuenta;
         $this->mDiasInvertidos = $DiasInvertidos;
         $this->mFechaVencimiento = $FechaVencimiento;
     } else {
         $this->mMessages .= "ERROR\tal Agregar la Cuenta {$lacuenta} del subproducto {$subpdto}\r\n";
         if (MODO_DEBUG == true) {
             $this->mMessages .= $r["info"];
         }
         $this->mSucess = false;
     }
     return $this->mNumeroCuenta;
 }
 $mExt = $DExt[1];
 if ($mExt == "csv") {
     $completePath = $prePath . $usrFiles[$i]['name'];
     if (file_exists($completePath) == true) {
         unlink($completePath);
         echo "<p class='aviso'> SE ELIMINO EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     }
     if (move_uploaded_file($usrFiles[$i]['tmp_name'], $completePath)) {
         //echo "<p class='aviso'> SE GUARDO EXITOSAMENTE EL ARCHIVO " . $usrFiles[$i]['name'] . "</p>";
     } else {
         //echo "<p class='aviso'> SE FALLO AL GUARDAR " . $usrFiles[$i]['name'] . "</p>";
     }
     //analizar el Archivo
     $gestor = @fopen($completePath, "r");
     $iReg = 0;
     $cT = new cTipos();
     //inicializa el LOG del proceso
     $aliasFil = getSucursal() . "-carga -batch-de-socios-" . fechasys();
     $xLog = new cFileLog($aliasFil, true);
     if ($gestor) {
         while (!feof($gestor)) {
             $bufer = fgets($gestor, 4096);
             //$bufer			= stream_get_line($gestor, "\r\n");
             if (!isset($bufer)) {
                 $msg .= "{$iReg}\t\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n";
             } else {
                 $bufer = trim($bufer);
                 $datos = explode(",", $bufer, 6);
                 $socio = $cT->cInt($datos[0]);
             }
             $iReg++;
//$jxc ->exportFunction('datos_del_pago', array('idsolicitud', 'idparcialidad'), "#iddatos_pago");
//$jxc ->process();
echo $xHP->getHeader();
$jsb = new jsBasicForm("frmdocumentos");
//$jxc ->drawJavaScript(false, true);
$ByType = "";
echo $xHP->setBodyinit();
$xFRM = new cHForm("frmfirmas", "importar.plan_de_pagos.frm.php?credito={$credito}&action=" . SYS_UNO);
$xFRM->setEnc("multipart/form-data");
$xFRM->setTitle($xHP->getTitle());
$xBtn = new cHButton();
$xTxt = new cHText();
$xTxt2 = new cHText();
$xSel = new cHSelect();
$xF = new cFecha();
$xT = new cTipos();
$msg = "";
if ($action == SYS_CERO) {
    $xFRM->addHElem("<div class='tx4'><label for='f1'>" . $xFRM->lang("archivo") . "</label><input type='file'  name='f1' id='f1'  /></div>");
    //$xFRM->addHElem( $xTxt2->getDeMoneda("idnumeropagina", $xFRM->lang("numero de", "pagina")) );
    $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();
//$jxc = new TinyAjax();
//$jxc ->exportFunction('datos_del_pago', array('idsolicitud', 'idparcialidad'), "#iddatos_pago");
//$jxc ->process();
echo $xHP->init();
$jsb = new jsBasicForm("frmdocumentos");
//$jxc ->drawJavaScript(false, true);
$ByType = "";
$xFRM = new cHForm("frmfirmas", "entidades.upload.frm.php?action=" . SYS_UNO);
$xFRM->setEnc("multipart/form-data");
$xFRM->setTitle($xHP->getTitle());
$xBtn = new cHButton();
$xTxt = new cHText();
$xTxt2 = new cHText();
$xSel = new cHSelect();
$xF = new cFecha();
$xT = new cTipos();
$msg = "";
if ($action == SYS_CERO) {
    $xFRM->addHElem("<div class='tx4'><label for='f1'>" . $xFRM->lang("archivo") . "</label><input type='file'  name='f1' id='f1'  /></div>");
    //$xFRM->addHElem( $xTxt2->getDeMoneda("idnumeropagina", $xFRM->lang("numero de", "pagina")) );
    $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();
    $xFil->setCharDelimiter("|");
    //var_dump($_FILES["f1"]);
    if ($xFil->processFile($doc1) == true) {
function JScheckSaldoCuenta($cuenta)
{
    $xT = new cTipos();
    $cuenta = $xT->cInt($cuenta);
    $cuenta = getCuentaCompleta($cuenta);
    $stpeval = "\n\t\tsetEliminarCuenta();\n\t\t";
    $cuenta = cuenta_completa($cuenta);
    $sql_CMvto = "SELECT SUM(importe) AS 'neto' FROM contable_movimientos WHERE numerocuenta = {$cuenta}";
    $sql_CSup = "SELECT COUNT(subcuenta) AS 'ctas' FROM contable_catalogorelacion WHERE cuentasuperior={$cuenta}";
    $subcuentas = mifila($sql_CSup, "ctas");
    $saldo = mifila($sql_CMvto, "neto");
    if ($saldo > 0) {
        $stpeval = "alert(\"     La Cuenta Tiene Movimientos     \\n \" +\n\t\t\t  \"       por un Monto de {$saldo}      \\n \" +\n\t\t\t  \" Las Cuentas con saldo No se eliminan\");\t";
    }
    if ($subcuentas > 0) {
        $stpeval = "alert(\"    La Cuenta Tiene {$subcuentas} Subcuentas     \\n \" +\n\t\t\t  \" Las Cuentas con Subcuentas No se eliminan\");";
    }
    return $stpeval;
}