function jsaGetComisionPorApertura($idcredito)
{
    $xCred = new cCredito($idcredito);
    $xCred->init();
    $tasa = $xCred->getOProductoDeCredito()->getTasaComisionApertura();
    return round($xCred->getMontoAutorizado() * $tasa, 2);
}
function jsaGuardarCastigo($credito, $fecha, $razones)
{
    $xCred = new cCredito($credito);
    $xCred->init();
    $xCred->setCastigado($razones, $fecha);
    return $xCred->getMessages();
}
function jsaAmortizarLetras($persona, $credito, $letra, $amortizable)
{
    $NLetra = $letra + 1;
    $xCred = new cCredito($credito);
    $xCred->init();
    if ($xCred->isAFinalDePlazo() == false) {
        $xPlan = new cPlanDePagos();
        $xPlan->initByCredito($credito);
        $msg = "";
        $DPlan = $xPlan->getLetrasInArray(OPERACION_CLAVE_PLAN_CAPITAL, $NLetra);
        $amortizable = setNoMenorQueCero($amortizable);
        for ($ixletra = $NLetra; $ixletra <= $xCred->getPagosAutorizados(); $ixletra++) {
            if (isset($DPlan[$ixletra])) {
                $monto = setNoMenorQueCero($DPlan[$ixletra]);
                if ($amortizable > 0) {
                    if ($amortizable >= $monto) {
                        //cancelar
                        $xPlan->setNeutralizarParcialidad($ixletra);
                    } else {
                        $xPlan->setActualizarParcialidad($ixletra, $monto - $amortizable, false, false);
                    }
                }
                $msg .= "WARN\t  {$ixletra} --- {$amortizable} {$monto};\r\n";
                $amortizable -= $monto;
            }
        }
        $msg .= $xPlan->getMessages();
        if (MODO_DEBUG == true) {
            setLog($msg);
        }
    }
}
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);
}
 function initPorCredito($idcredito, $dataCredito = false)
 {
     $xCred = new cCredito($idcredito);
     $xCred->init($dataCredito);
     $xF = new cFecha();
     if ($xCred->getTipoEnSistema() == CREDITO_PRODUCTO_NOMINA) {
         //cargar datos de la empresa
         $idemp = $xCred->getClaveDeEmpresa();
         $periocidad = $xCred->getPeriocidadDePago();
         $this->setPeriocidadDePago($periocidad);
         $this->mTipoCreditoSis = $xCred->getTipoEnSistema();
         $this->mClaveDePlan = setNoMenorQueCero($xCred->getNumeroDePlanDePagos());
         if ($this->mClaveDePlan > 0) {
             //TODO: validar fecha de primer pago en calculos automaticos
             $this->mFechaPrimerPago = $xCred->getFechaPrimeraParc();
         } else {
             $this->mFechaPrimerPago = $this->getFechaDePago($xCred->getFechaDeMinistracion(), 1);
         }
         if ($xCred->getFechaPrimeraParc() == $this->mFechaFail or $xF->getInt($xCred->getFechaPrimeraParc()) <= $xF->getInt($xCred->getFechaDeMinistracion())) {
             $this->mFechaPrimerPago = $this->getFechaDePago($xCred->getFechaDeMinistracion(), 1);
         }
         $xEmp = new cEmpresas($idemp);
         $xEmp->init();
         $DDias = $xEmp->getDiasDeNomina($periocidad);
         $this->mDiaDeAbono1 = isset($DDias[0]) ? setNoMenorQueCero($DDias[0]) : $this->mDiaDeAbono1;
         $this->mDiaDeAbono2 = isset($DDias[1]) ? setNoMenorQueCero($DDias[1]) : $this->mDiaDeAbono2;
         $this->mDiaDeAbono3 = isset($DDias[2]) ? setNoMenorQueCero($DDias[2]) : $this->mDiaDeAbono3;
     } else {
         $this->mFechaPrimerPago = $this->getFechaDePago($xCred->getFechaDeMinistracion(), 1);
     }
 }
function jsaGetDatosDelCredito($credito, $socio)
{
    $cred = new cCredito($credito, $socio);
    $cred->initCredito();
    $DC = $cred->getDatosDeCredito();
    $tab = new TinyAjaxBehavior();
    $tab->add(TabSetValue::getBehavior('idMonto', $DC["saldo_actual"]));
    $tab->add(TabSetValue::getBehavior('idIntereses', $DC["interes_normal_devengado"]));
    $tab->add(TabSetValue::getBehavior('idTasa', $DC["tasa_interes"]));
    return $tab->getString();
}
function jsaGuardarReestructura($credito, $monto, $pagos, $periocidad, $tasa, $observaciones, $producto, $tipopago)
{
    $tasa = $tasa / 100;
    $xCred = new cCredito($credito);
    $xCred->init();
    $xCred->setReconvenido($monto, 0, $tasa, $periocidad, $pagos, $observaciones, false, false, $tipopago, $producto);
    $xF = new cFileLog();
    $xF->setWrite($xCred->getMessages());
    $xF->setClose();
    return $xCred->getMessages(OUT_HTML) . $xF->getLinkDownload("Descarga de Log");
}
function jsaSetUltimoCheque($persona, $credito, $cuenta_bancaria)
{
    $xBanc = new cCuentaBancaria($cuenta_bancaria);
    $cheque = $xBanc->getUltimoCheque();
    $xCred = new cCredito($credito);
    $xCred->init();
    $montocheque = $xCred->getMontoAutorizado();
    $tab = new TinyAjaxBehavior();
    $tab->add(TabSetValue::getBehavior("idnumerocheque", $cheque));
    $tab->add(TabSetValue::getBehavior("idmontocheque", $montocheque));
    $tab->add(TabSetValue::getBehavior("idmontooriginal", $montocheque));
    return $tab->getString();
}
function jsaGetLetras($idcredito)
{
    $idcred = setNoMenorQueCero($idcredito);
    $xF = new cFecha();
    if ($idcred > DEFAULT_CREDITO) {
        $xCred = new cCredito($idcred);
        $xCred->init();
        if ($xCred->getEsAfectable() == false or $xCred->getSaldoActual() <= 0) {
            if (MODO_CORRECION == true) {
                $xTxt = new cHText();
                $xTxt->setDivClass("");
                return $xTxt->getNumero("idparcialidad", $xCred->getPeriodoActual() + 1, "TR.Numero de Parcialidad");
            } else {
                return $xCred->getMessages();
            }
        } else {
            if ($xCred->getPeriocidadDePago() == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
                //
                $xTxt = new cHText();
                $xTxt->setDivClass("");
                return $xTxt->getNumero("idparcialidad", $xCred->getPeriodoActual() + 1, "TR.Numero de Parcialidad");
            } else {
                $plan = $xCred->getNumeroDePlanDePagos();
                if ($plan != false) {
                    $xPlan = new cPlanDePagos($plan);
                    $xPlan->init();
                    $parcs = $xPlan->getParcsPendientes();
                    //$txt		= "";
                    $arrD = array();
                    foreach ($parcs as $p) {
                        //setLog( $p[SYS_NUMERO]. " " . $xF->getFechaDDMM($p[SYS_FECHA]) . " ". getFMoney($p[SYS_TOTAL]));
                        if (setNoMenorQueCero($p[SYS_TOTAL]) > 0) {
                            $arrD[$p[SYS_NUMERO]] = $p[SYS_NUMERO] . " " . $xF->getFechaDDMM($p[SYS_FECHA]) . " " . getFMoney($p[SYS_TOTAL]);
                        }
                    }
                    $xSel = new cHSelect();
                    $xSel->addOptions($arrD);
                    $xSel->setEnclose(false);
                    return $xSel->get("idparcialidad", "TR.Numero de Parcialidad", $xCred->getPeriodoActual() + 1);
                } else {
                    if (MODO_CORRECION == true) {
                        $xTxt = new cHText();
                        $xTxt->setDivClass("");
                        return $xTxt->getNumero("idparcialidad", $xCred->getPeriodoActual() + 1, "TR.Numero de Parcialidad");
                    }
                }
            }
        }
    }
}
function jsaGetLetras($idcredito, $idfecha)
{
    $xCred = new cCredito($idcredito);
    $xCred->init();
    //$xPlas	= $xCred->getPlanDePago();
    $xF = new cFecha();
    $idfecha = $xF->getFechaISO($idfecha);
    $xQL = new MQL();
    //$xQL->setRawQuery("SET @fecha_de_corte:='$idfecha';");
    my_query("SET @fecha_de_corte:='{$idfecha}';");
    $sql = "SELECT\r\n\t`letras`.`socio_afectado` AS `persona`,\r\n\t`letras`.`docto_afectado` AS `credito`,\r\n\t`letras`.`periodo_socio`  AS `parcialidad`,\r\n\t`letras`.`fecha_de_pago`,\r\n\r\n\t`letras`.`capital`,\r\n\t`letras`.`interes`,\r\n\t`letras`.`iva`,\r\n\t`letras`.`ahorro`,\r\n\t`letras`.`otros`,\r\n\t`letras`.`letra`,\t\r\n\t\r\n\t(`creditos_solicitud`.`tasa_moratorio`*100) AS `tasa_de_mora`,\r\n\t(`creditos_solicitud`.`tasa_interes`*100)   AS `tasa_de_interes` ,\r\n\tDATEDIFF(getFechaDeCorte(), fecha_de_pago) AS 'dias',\r\n\t ((letras.capital * DATEDIFF(getFechaDeCorte(), fecha_de_pago) * (`creditos_solicitud`.`tasa_moratorio` + `creditos_solicitud`.`tasa_interes`))/getDivisorDeInteres()) AS 'mora'\r\n\tFROM\r\n\t\t`creditos_solicitud` `creditos_solicitud` \r\n\t\t\tINNER JOIN `letras` `letras` \r\n\t\t\tON `creditos_solicitud`.`numero_solicitud` = `letras`.`docto_afectado`\r\n\t\r\n\t WHERE capital >0 AND docto_afectado={$idcredito} AND fecha_de_pago <= getFechaDeCorte()";
    $xT = new cTabla($sql);
    $xT->setFootSum(array(4 => "capital", 5 => "interes", 6 => "iva", 7 => "ahorro", 8 => "otros", 9 => "letra", 13 => "mora"));
    return $xT->Show();
}
function jsaGuardarDatosBanco($credito, $banco, $cuenta, $clabe)
{
    $xCred = new cCredito($credito);
    $xCred->init();
    $Cat = $xCred->OCatOtrosDatos();
    $datobanco = "";
    $xBan = new cBancos_entidades();
    $xBan->setData($xBan->query()->initByID($banco));
    $datobanco = $xBan->idbancos_entidades()->v() . " | " . $xBan->nombre_de_la_entidad()->v();
    $xCred->setOtrosDatos($Cat->DEPOSITO_BANCO, strtoupper($datobanco));
    $xCred->setOtrosDatos($Cat->DEPOSITO_CTA_BANCARIA, $cuenta);
    $xCred->setOtrosDatos($Cat->DEPOSITO_CLABE_BANCARIA, $clabe);
    return $xCred->getMessages(OUT_HTML);
}
function jsaSetPagarCredito($credito, $fecha, $observaciones)
{
    $msg = "";
    $xLng = new cLang();
    $xCred = new cCredito($credito);
    $xCred->init();
    $xdat = new cFecha(0);
    $fecha = $xdat->getFechaISO($fecha);
    //$xCred->setResetPersonaAsociada($fecha, $observaciones);
    //return $xLng->get(MSG_READY_SAVE);
    $xCred->setAbonoCapital($xCred->getSaldoActual(), $xCred->getPeriodoActual(), DEFAULT_CHEQUE, TESORERIA_COBRO_NINGUNO, DEFAULT_RECIBO_FISCAL, $observaciones, DEFAULT_GRUPO, $fecha);
    return $xCred->getMessages(OUT_HTML);
}
$persona = parametro("persona", DEFAULT_SOCIO, MQL_INT);
$persona = parametro("socio", $persona, MQL_INT);
$persona = parametro("idsocio", $persona, MQL_INT);
$credito = parametro("credito", DEFAULT_CREDITO, MQL_INT);
$credito = parametro("idsolicitud", $credito, MQL_INT);
$credito = parametro("solicitud", $credito, MQL_INT);
$cuenta = parametro("cuenta", DEFAULT_CUENTA_CORRIENTE, MQL_INT);
$cuenta = parametro("idcuenta", $cuenta, MQL_INT);
$jscallback = parametro("callback");
$tiny = parametro("tiny");
$form = parametro("form");
$action = parametro("action", SYS_NINGUNO);
$xHP->init();
$xFRM = new cHForm("frmseguimiento_llamadas", "llamadas.frm.php");
if ($credito > DEFAULT_CREDITO) {
    $xCred = new cCredito($credito);
    $xCred->init();
    $xFRM->addHTML($xCred->getFicha(true, "", false, true));
    /* -----------------  -----------------------*/
    $clave = parametro("idseguimiento_llamadas", null, MQL_INT);
    $xTabla = new cSeguimiento_llamadas();
    if ($clave != null) {
        $xTabla->setData($xTabla->query()->initByID($clave));
    }
    $xTabla->setData($_REQUEST);
    $clave = parametro("id", null, MQL_INT);
    $xSel = new cHSelect();
    if ($clave == null) {
        $step = MQL_ADD;
        $clave = $xTabla->query()->getLastID() + 1;
        $xTabla->idseguimiento_llamadas($clave);
}
$_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 "../core/core.fechas.inc.php";
include_once "../libs/sql.inc.php";
include_once "../core/core.config.inc.php";
// Variables
$idsolicitud = $_GET["s"];
//numero de credito que no existe
$idsocio = $_GET["i"];
if (!$idsolicitud or !$idsocio) {
    echo VJS_REGRESAR;
} else {
    /* verifica solicitud */
    $tiporel = $_POST["relacion"];
    $numerosoc = $_POST["idsocio"];
    $montorel = $_POST["montorel"];
    $consanguinidad = $_POST["consan"];
    $depende = $_POST["depende"];
    $observa = $_POST["observaciones"];
    $estatus = 10;
    // ESTATUS ACTUAL = 10 ACTIVO
    $xCred = new cCredito($idsolicitud, $idsocio);
    $xCred->init();
    $xCred->addAval($numerosoc, $montorel, $tiporel, $consanguinidad, $depende, $observa);
    header("location: frmcreditosavales.php?i=" . $idsocio . "&s=" . $idsolicitud);
}
if ($idsolicitud <= 0 or $monto_cheque1 <= 0) {
    echo JS_CLOSE;
} else {
    $xCred = new cCredito($idsolicitud, $idsocio);
    $xCred->init();
    if ($xCred->getEstadoActual() == CREDITO_ESTADO_AUTORIZADO or $monto_cheque1 <= 0) {
        $recibo = $xCred->setMinistrar($recibo_fiscal, $cheque, $monto_cheque1, $cuenta_cheques, $cheque2, $cuenta_cheques2, $observaciones, $fecha);
        if (setNoMenorQueCero($recibo) > 0) {
            $xFRM->addHTML($xCred->getFichaDeSocio());
            $xFRM->addHTML($xCred->getFicha());
            $xFRM->OButton("TR.RECIBO DE MINISTRACION", "jsImprimirReciboMinistracion()", $xFRM->ic()->REPORTE, "id4");
            $xFRM->addToolbar($xBtn->getIrAlInicio(true));
            $uPagare = "elUrl='" . $xCred->getOProductoDeCredito()->getPathPagare($idsolicitud) . "';";
            $uContrato = "esUrl='" . $xCred->getPathDelContrato() . "';";
            if ($creditodescontado >= DEFAULT_CREDITO) {
                $xDCred = new cCredito($creditodescontado);
                $xDCred->init();
                $saldodesc = $xDCred->getSaldoActual($fecha);
                if ($saldodesc < $montocreditodesc) {
                    $montocreditodesc = $saldodesc;
                    $montocomision = $montocomision + ($montocreditodesc - $saldodesc);
                }
                $idrecibocap = $xDCred->setAbonoCapital($montocreditodesc, SYS_UNO, $cheque, TESORERIA_COBRO_DESCTO, $recibo_fiscal, $observaciones);
                if (setNoMenorQueCero($idrecibocap) > 0) {
                    $xRecCapt = new cReciboDeOperacion(false, false, $idrecibocap);
                    $xRecCapt->init();
                    if ($xRecCapt->setFinalizarRecibo(true) == true) {
                        $xFRM->OButton("TR.Recibo de Abono", "jsImprimirReciboCapital()", "imprimir");
                        $xFRM->addHTML($xRecCapt->getJsPrint(true, "jsImprimirReciboCapital"));
                        //finalizar tesoreria
                        $xRecCapt->setFinalizarTesoreria(array("cuenta" => $cuenta_cheques, "cheque" => $cheque));
$Dep = new cEmpresas($empresa);
$Dep->init();
$nempresa = $Dep->getNombre();
$TCobros = 0;
$rs = getRecordset($sql);
$ppn = 1;
$contar = 1;
while ($rw = mysql_fetch_array($rs)) {
    //cargar datos de la parcialidad
    $numero_de_socio = $rw["persona"];
    $cSoc = new cSocio($numero_de_socio);
    $cSoc->init();
    $DSoc = $cSoc->getDatosInArray();
    $ficha_socio = $cSoc->getFicha();
    $numero_credito = $rw["credito"];
    $xCred = new cCredito($numero_credito, $numero_de_socio);
    $xCred->init();
    $DCred = $xCred->getDatosInArray();
    $svar_info_cred = $xCred->getShortDescription();
    $variable_lugar = "";
    $monto_inicial = 0;
    $monto_inicial_letras = 0;
    $numero_dias = 0;
    $variable_fecha_vencimiento = "";
    $nombre_mancomunados = "";
    $variable_tasa_otorgada = "";
    $monto_parcialidad = $rw["monto"];
    $TCobros += $monto_parcialidad;
    $numero_parcialidad = setNoMenorQueCero($rw["letra"]) == 0 ? 1 : $rw["letra"];
    $numero_de_pagos = $rw["pagos"];
    //$DCred[""];
 CreditoMaximo
 SaldoActual
 LimiteCredito
 SaldoVencido
 NumeroPagosVencidos
 PagoActual
 HistoricoPagos
 ClavePrevencion
 TotalPagosReportados
 ClaveAnteriorOtorgante
 NombreAnteriorOtorgante
 NumeroCuentaAnterior	
 */
 //obtener parametros extras en una array
 //su valor es del producto
 $xCred = new cCredito($idcredito, $rw["numero_socio"]);
 $xCred->init($rw);
 if (isset($DPagos[$idcredito])) {
     $xCred->initPagosEfectuados($DPagos[$idcredito], $FechaFinal);
     ///$xLog->add("OK\t$icnt\tDatos del credito $idpersona|$idcredito SI existen \r\n", $xLog->DEVELOPER);
 } else {
     $xLog->add("WARN\t{$idpersona}-{$idcredito}\t{$sucres}\t{$icnt}\tDatos de Pago del credito {$idpersona}|{$idcredito} no existen \r\n", $xLog->DEVELOPER);
 }
 $ClaveActualOtorgante = $xCR->getClaveDeOtorgante();
 // ENTIDAD_CLAVE_SIC;
 $NombreOtorgante = $xCR->getNombreOtorgante();
 $CuentaActual = $rw["numero_solicitud"];
 $xTConv = new cProductoDeCredito($rw["tipo_convenio"]);
 $xTConv->init();
 $DTConv = $xTConv->getOtrosParametrosInArray();
 $TipoDeResponsabilidad = isset($DTConv["SIC_TIPO_DE_RESPONSABILIDAD"]) ? $DTConv["SIC_TIPO_DE_RESPONSABILIDAD"] : "I";
function jsGetCreditosByCriteria($convenio, $estatus, $periocidad, $oficial)
{
    $ByConvenio = "";
    $ByEstatus = "";
    $ByPeriocidad = "";
    $ByOficial = "";
    $ByInclude = "";
    if ($estatus != "todas") {
        $ByEstatus = " AND\n\t\t(`creditos_solicitud`.`estatus_actual` = {$estatus}) ";
    }
    if ($oficial != "todas") {
        $ByOficial = "\tAND\n\t(`creditos_solicitud`.`oficial_credito` = {$oficial})";
    }
    if ($convenio != "todas") {
        $ByConvenio = "\t AND\n\t(`creditos_solicitud`.`tipo_convenio` ={$convenio}) ";
    }
    if ($periocidad != "todas") {
        $ByPeriocidad = " AND (`creditos_solicitud`.`periocidad_de_pago` ={$periocidad})";
    }
    $sqlCred = "SELECT\n\t`socios_general`.`codigo`,\n\tCONCAT(\n\t\t`socios_general`.`apellidopaterno`, ' ',\n\t\t`socios_general`.`apellidomaterno`, ' ',\n\t\t`socios_general`.`nombrecompleto`\n\t\t)\tAS 'nombre',\n\t`creditos_solicitud`.`grupo_asociado`,\n\t`creditos_solicitud`.`contrato_corriente_relacionado`,\n\n\t`creditos_solicitud`.`numero_solicitud`,\n\t`creditos_solicitud`.`tipo_convenio`,\n\t`creditos_solicitud`.`fecha_ministracion`,\n\t`creditos_solicitud`.`fecha_vencimiento`,\n\t`creditos_solicitud`.`pagos_autorizados`,\n\t`creditos_solicitud`.`saldo_actual`,\n\t`creditos_solicitud`.`monto_parcialidad` ,\n\t`creditos_solicitud`.`ultimo_periodo_afectado`,\n\t`creditos_solicitud`.`tasa_ahorro`,\n\t`creditos_solicitud`.`periocidad_de_pago`\nFROM\n\t`socios_general` `socios_general`\n\t\tINNER JOIN `creditos_solicitud` `creditos_solicitud`\n\t\tON `socios_general`.`codigo` = `creditos_solicitud`.`numero_socio`\nWHERE\n\t(`creditos_solicitud`.`saldo_actual` >=" . TOLERANCIA_SALDOS . ")\n\t{$ByEstatus}\n\t{$ByInclude}\n\t{$ByPeriocidad}\n\t{$ByConvenio}\n\t{$ByOficial}\n\t";
    $rs = mysql_query($sqlCred, cnnGeneral());
    $tds = "";
    $xTbl = "";
    $ix = 0;
    $SqlConv = "SELECT\n\t\t\t\t\t\t\t`creditos_tipoconvenio`.`idcreditos_tipoconvenio`,\n\t\t\t\t\t\t\t`creditos_tipoconvenio`.`descripcion_tipoconvenio`\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`creditos_tipoconvenio` `creditos_tipoconvenio`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t(`creditos_tipoconvenio`.`idcreditos_tipoconvenio` !=99) ";
    $SConvenio = new cSelect("c-{$ix}-conv", "i-{$ix}-conv", $SqlConv);
    $SConvenio->setEsSql();
    while ($rw = mysql_fetch_array($rs)) {
        //Informacion del credito
        $socio = $rw["codigo"];
        $nombre = htmlentities($rw["nombre"]);
        $credito = $rw["numero_solicitud"];
        $grupo = $rw["grupo_asociado"];
        $contrato = $rw["contrato_corriente_relacionado"];
        $convenio = $rw["tipo_convenio"];
        $ministrado = $rw["fecha_ministracion"];
        $vencimiento = $rw["fecha_vencimiento"];
        $pagos = $rw["pagos_autorizados"];
        $saldo = $rw["saldo_actual"];
        $parcialidad = $rw["monto_parcialidad"];
        $periodo = $rw["ultimo_periodo_afectado"];
        $tasa_ahorro = $rw["tasa_ahorro"];
        $vperiocidad = $rw["periocidad_de_pago"];
        $Cred = new cCredito($credito, $socio);
        //opciones Especiales
        $CtrlGroup = "hidden";
        $CtrlAhorro = "text";
        $CtrlPeriocidad = "text";
        //Convenio
        $SConvenio->setOptionSelect($convenio);
        $SConvenio->addEvent("onchange", "markMe", $ix);
        $iConv = $SConvenio->show();
        $DConv = $Cred->getDatosDeProducto($convenio);
        $clase_grupal = $DConv["tipo_de_integracion"];
        $OConv = $Cred->getOProductoDeCredito($convenio);
        //Variaciones de los controles
        if ($OConv->getEsProductoDeGrupos() == true) {
            $CtrlGroup = "text";
        }
        if ($tasa_ahorro == 0) {
            $CtrlAhorro = "hidden";
        }
        if ($vperiocidad == 360) {
            $CtrlPeriocidad = "hidden";
        }
        $tds .= "<tr>\n\t\t\t\t\t\t<td><input type='hidden' id='i-{$ix}-soc' name='c-{$ix}-soc' value='{$socio}' />{$socio}</td>\n\t\t\t\t\t\t<td>{$nombre}</td>\n\t\t\t\t\t\t<td><input type='hidden' id='i-{$ix}-cred' name='c-{$ix}-cred' value='{$credito}' />{$credito}</td>\n\t\t\t\t\t\t<td><input type='{$CtrlGroup}' id='i-{$ix}-grup' name='c-{$ix}-grup' value='{$grupo}' size='3' class='mny' onchange=\"markMe({$ix})\" /></td>\n\t\t\t\t\t\t<td><input type='{$CtrlAhorro}' id='i-{$ix}-capt' name='c-{$ix}-capt' value='{$contrato}' size='10' class='mny' onchange=\"markMe({$ix})\" /></td>\n\t\t\t\t\t\t<td>{$iConv}</td>\n\t\t\t\t\t\t<td><input type='text' id='i-{$ix}-fminis' name='c-{$ix}-fminis' value='{$ministrado}' size='10' onchange=\"markMe({$ix})\" /></td>\n\t\t\t\t\t\t<td><input type='text' id='i-{$ix}-fvenc' name='c-{$ix}-fvenc' value='{$vencimiento}' size='10' onchange=\"markMe({$ix})\" /></td>\n\t\t\t\t\t\t<td><input type='{$CtrlPeriocidad}' id='i-{$ix}-pagos' name='c-{$ix}-pagos' value='{$pagos}' size='3' class='mny' /></td>\n\t\t\t\t\t\t<td><input type='text' id='i-{$ix}-saldo' name='c-{$ix}-saldo' value='{$saldo}' size='12' class='mny' onchange=\"markMe({$ix})\" /></td>\n\t\t\t\t\t\t<td><input type='text' id='i-{$ix}-parc' name='c-{$ix}-parc' value='{$parcialidad}' size='10' class='mny' onchange=\"markMe({$ix})\" /></td>\n\t\t\t\t\t\t<td><input type='{$CtrlPeriocidad}' id='i-{$ix}-per' name='c-{$ix}-per' value='{$periodo}' size='3' class='mny' onchange=\"markMe({$ix})\" /></td>\n\t\t\t\t\t\t<th><input type=\"checkbox\"  id=\"chk-{$ix}\" /></th>\n\t\t\t\t\t</tr>";
        $ix++;
    }
    $xTbl = "<table width='100%'>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Socio</th>\n\t\t\t\t\t<th>Nombre</th>\n\t\t\t\t\t<th>Num.<br/>Solicitud</th>\n\t\t\t\t\t<th>Grupo</th>\n\t\t\t\t\t<th>Contrato<br />de Ahorro</th>\n\t\t\t\t\t<th>Convenio</th>\n\t\t\t\t\t<th>Ministracion</th>\n\t\t\t\t\t<th>Vencimiento</th>\n\t\t\t\t\t<th>Pagos</th>\n\t\t\t\t\t<th>Saldo</th>\n\t\t\t\t\t<th>Parcialidad</th>\n\t\t\t\t\t<th>#Letra</th>\n\t\t\t\t\t<th></th>\n\t\t\t\t</tr>\n\t\t\t\t<tbody>\n\t\t\t\t\t{$tds}\n\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t\t<input type='hidden' name='cCount' id='idCount' value = '{$ix}' />";
    return $xTbl;
}
     $dias_solicitados = $xFecha->setRestarFechas($fecha_vencimiento, $fecha_ministracion);
     $numeropagos = $dias_solicitados - $xFecha->getDiasHabilesEnRango($fecha_vencimiento, $fecha_ministracion);
 } else {
     $dias_solicitados = $numeropagos * $periocidad;
     $fecha_vencimiento = $xFecha->setSumarDias($dias_solicitados, $fecha_ministracion);
 }
 $xConv = new cProductoDeCredito($tipoconvenio);
 $xConv->init();
 if (USE_OFICIAL_BY_PRODUCTO == true) {
     $oficial_de_seguimiento = $xConv->getOficialDeSeguimiento();
 }
 if ($esrenovado == true) {
     $TipoDeAutorizacion = CREDITO_AUTORIZACION_RENOVADO;
     $msg .= "WARN\tCredito marcado como Renovado \r\n";
 }
 $xCred = new cCredito();
 $result = $xCred->add($tipoconvenio, $persona, $contrato_corriente, $monto_solicitado, $periocidad, $numeropagos, $dias_solicitados, $rubro_destino, false, $grupo_asociado, $amp_destino, $observaciones, $oficial_de_credito, $fecha_solicitud, $tipo_de_pago, INTERES_POR_SALDO_INSOLUTO, false, $fecha_ministracion, $xSoc->getClaveDeEmpresa(), $TipoDeAutorizacion);
 if ($result == false) {
     $xFRM->addToolbar($xBtn->getRegresar("solicitud_de_credito.frm.php", true));
     $xFRM->addAviso($xHP->lang(MSG_ERROR_SAVE));
     $xFL = new cFileLog();
     $xFL->setWrite($xCred->getMessages(OUT_TXT));
     $xFL->setWrite($xSoc->getMessages());
     $xFL->setClose();
     $xFRM->addToolbar($xFL->getLinkDownload("Log de eventos", ""));
     $xFRM->addAviso($xCred->getMessages());
 } else {
     $xCred->init();
     $credito = $xCred->getNumeroDeCredito();
     //Si es Automatizado
     $xCat = new cCreditosOtrosDatos();
     }
 }
 if (setNoMenorQueCero($ingresos) > 0 and setNoMenorQueCero($persona) > 0) {
     $addAct = $xSoc->addActividadEconomica($nombreempresa, $ingresos, "", DEFAULT_TIEMPO, FALLBACK_CLAVE_EMPRESA, $calle . "/" . $nexterior, $nombrelocalidad, $nombremunicipio, $nombre_estado, $tmovil, 0, 0, "", $idactividad, FALLBACK_SECTOR_ECONOMICO, $sucursal, "0", $cpostal, $idlocalidad);
     if ($addAct == false) {
         $msg .= "ERROR\tError al agregar la Actividad Economica \r\n";
     }
 }
 if (setNoMenorQueCero($origen_relacion) > 0 and setNoMenorQueCero($persona) > 0) {
     $documentorelacionado = parametro("iddocumentorelacionado", 0, MQL_INT);
     $personarelacionado = parametro("idpersonarelacionado", 0, MQL_INT);
     $idtipoderelacion = parametro("idtipoderelacion", 0, MQL_INT);
     $dependiente = parametro("dependiente", false, MQL_BOOL);
     $idtipodeparentesco = parametro("idtipodeparentesco", DEFAULT_TIPO_CONSANGUINIDAD, MQL_INT);
     if ($origen_relacion == iDE_CREDITO) {
         $xCred = new cCredito($documentorelacionado);
         $xCred->init();
         $MontoAvalado = $xCred->getMontoAutorizado();
         $addAval = $xCred->addAval($persona, $MontoAvalado, $idtipoderelacion, $idtipodeparentesco, $dependiente, $idobservaciones);
         $msg .= $xCred->getMessages();
     }
     //captacion
     //persona
     if ($origen_relacion == iDE_SOCIO) {
         if ($personarelacionado > 0) {
             $xPer = new cSocio($personarelacionado);
             if ($xPer->init() == true) {
                 $addRel = $xPer->addRelacion($persona, $idtipoderelacion, $idtipodeparentesco, $dependiente, $idobservaciones);
             }
             $msg .= $xPer->getMessages();
         } else {
$oficial = elusuario($iduser);
//ini_set("display_errors", "on");
$xHP->init();
?>
<style>
body {	padding-top:1in;
		padding-bottom:1in;
		padding-left:1in;
		padding-right:1in;
		
	}
</style>
<!-- -->
<?php 
$xFecha = new cFecha();
$xCred = new cCredito($idsolicitud);
$xCred->initCredito();
$acreditante = $xCred->getClaveDePersona();
$xFMT = new cFormato($formato);
$xFMT->setCredito($idsolicitud);
$xFMT->setProcesarVars();
echo $xFMT->get();
$mSQL = new cSQLListas();
$mql = new MQL();
$sql = $mSQL->getListadoDeAvales($idsolicitud, $acreditante);
$rs = $mql->getDataRecord($sql);
//setLog($sql);
$forma = 5002;
//$xAval		= new cSocios_relaciones();
foreach ($rs as $rows) {
    echo "<br class='nuevapagina' />";
 function calcular($fecha_inicial = false, $PrimerPago = false, $SegundoPago = false, $TercerPago = false)
 {
     $xCred = new cCredito($this->mClaveDeCredito);
     $xCred->init();
     $xF = new cFecha();
     $msg = "";
     $FORMA_DE_PAGO = $xCred->getFormaDePago();
     $PAGOS_AUTORIZADOS = $xCred->getPagosAutorizados();
     $PERIOCIDAD_DE_PAGO = $xCred->getPeriocidadDePago();
     $MONTO_AUTORIZADO = $xCred->getMontoAutorizado();
     $SALDO_ACTUAL = $xCred->getSaldoActual();
     $INTERES_PAGADO = $xCred->getInteresNormalPagado();
     $MORA_PAGADO = $xCred->getInteresMoratorioPagado();
     $xCred->initPagosEfectuados();
     $CAPITAL_PAGADO = setNoMenorQueCero($MONTO_AUTORIZADO - $SALDO_ACTUAL);
     $SALDO_DE_PLAN = $xCred->getMontoAutorizado();
     $TASA_NORMAL = $xCred->getTasaDeInteres();
     $TASA_MORA = $xCred->getTasaDeMora();
     $TASA_IVA = $xCred->getTasaIVA();
     $DIVISOR_DE_INTS = EACP_DIAS_INTERES;
     $FECHA_DE_PAGO = $xCred->getFechaPrimeraParc();
     $FECHA_INICIAL = $xCred->getFechaDeMinistracion();
     $opciondia_1 = $PrimerPago;
     $opciondia_2 = $SegundoPago;
     $opciondia_3 = $TercerPago;
     //sanitiza la fecha de pago
     if ($FECHA_DE_PAGO == false) {
         $FECHA_DE_PAGO = $xF->setSumarDias($PERIOCIDAD_DE_PAGO, $FECHA_INICIAL);
     }
     if (($PERIOCIDAD_DE_PAGO > CREDITO_TIPO_PERIOCIDAD_CATORCENAL or $PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_CATORCENAL) and ($opciondia_1 == false or $opciondia_2 == false or $opciondia_3 == false)) {
         if ($PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_QUINCENAL) {
             $opciondia_1 = $opciondia_1 == false ? PQ_DIA_PRIMERA_QUINCENA : $opciondia_1;
             $opciondia_2 = $opciondia_2 == false ? PQ_DIA_SEGUNDA_QUINCENA : $opciondia_2;
         } elseif ($PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_DECENAL) {
             $opciondia_1 = $opciondia_1 == false ? 10 : $opciondia_1;
             $opciondia_2 = $opciondia_2 == false ? 20 : $opciondia_2;
             $opciondia_3 = $opciondia_3 == false ? 30 : $opciondia_3;
         } else {
             $opciondia_1 = $opciondia_1 == false ? PM_DIA_DE_PAGO : $opciondia_1;
         }
     }
     //pagos decenales entre el mes
     $arrPagos = array();
     //obtener los dias de pago en el mes por tipo de pago
     $dia_de_pago = $xCred->getFechaDeMinistracion();
     for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) {
         $letra = $i;
         switch ($PERIOCIDAD_DE_PAGO) {
             case CREDITO_TIPO_PERIOCIDAD_DIARIO:
                 $dia_de_pago = $xF->getDiaHabil($xF->setSumarDias(1, $dia_de_pago));
                 $arrPagos[$letra][SYS_FECHA] = $dia_de_pago;
                 $msg .= "OK\t{$letra}\tDIARIO\tFecha de pago a {$dia_de_pago}\r\n";
                 break;
             case CREDITO_TIPO_PERIOCIDAD_SEMANAL:
                 break;
             case CREDITO_TIPO_PERIOCIDAD_DECENAL:
                 break;
             case CREDITO_TIPO_PERIOCIDAD_CATORCENAL:
                 //dias naturales, cada dos semanas?
                 break;
             case CREDITO_TIPO_PERIOCIDAD_QUINCENAL:
                 $dia_de_pago = $xF->setSumarDias(CREDITO_TIPO_PERIOCIDAD_QUINCENAL, $dia_de_pago);
                 $dia_de_pago = $xF->getDiaAbonoQuincenal($opciondia_1, $opciondia_2, $dia_de_pago);
                 $arrPagos[$letra][SYS_FECHA] = $dia_de_pago;
                 $msg .= "OK\t{$letra}\tQUINCENAL\tFecha de pago a {$dia_de_pago}, opcion {$opciondia_1}, {$opciondia_2}\r\n";
                 break;
             case CREDITO_TIPO_PERIOCIDAD_MENSUAL:
                 $dia_de_pago = date("Y-m-", $xF->getInt($dia_de_pago)) . $opciondia_1;
                 $dia_de_pago = $xF->setSumarMeses(1, $dia_de_pago);
                 $dia_de_pago = $xF->getDiaHabil($dia_de_pago);
                 $arrPagos[$letra][SYS_FECHA] = $dia_de_pago;
                 $msg .= "OK\t{$letra}\tMENSUAL\tFecha de pago a {$dia_de_pago}, opcion {$opciondia_1}\r\n";
                 break;
             case CREDITO_TIPO_PERIOCIDAD_BIMESTRAL:
                 break;
             case CREDITO_TIPO_PERIOCIDAD_TRIMESTRAL:
                 break;
         }
     }
     //$FORMULA_INT			= new cFormula("interes_normal");
     //dias de pago
     //si es empresa, tomar la fecha de la empresa semanal, quincenal, mensual, decenal
     //Iniciar los Pagos Actuales
     //$this->initParcsPendientes();
     $DatosDePagados = $xCred->getListadoDePagos();
     /* interes capital impuestos */
     switch ($FORMA_DE_PAGO) {
         case CREDITO_TIPO_PAGO_PERIODICO:
             //parcialidad interes + capital
             break;
         case CREDITO_TIPO_PAGO_FLAT_PARCIAL:
             for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) {
                 $letra = $i;
                 $letraAnterior = setNoMenorQueCero($letra - 1);
                 $PagoAnterior = isset($DatosDePagados[$letra]) ? $DatosDePagados[$letra] : array();
                 $capital_pagado = isset($DPago[SYS_CAPITAL]) ? $DPago[SYS_CAPITAL] : 0;
                 $SALDO_DE_PLAN = $SALDO_DE_PLAN - $capital_pagado;
                 $interes_normal = $MONTO_AUTORIZADO * $PERIOCIDAD_DE_PAGO * $TASA_NORMAL / $DIVISOR_DE_INTS;
                 $capital = $MONTO_AUTORIZADO / $PAGOS_AUTORIZADOS;
                 $capital = setNoMenorQueCero($capital - $capital_pagado);
                 $interes_pagado = isset($DPago[SYS_INTERES_NORMAL]) ? $DPago[SYS_INTERES_NORMAL] : 0;
                 $interes_normal = setNoMenorQueCero($interes_normal - $interes_pagado);
                 $arrPagos[$letra][SYS_INTERES_NORMAL] = $interes_normal;
                 if ($letra == $PAGOS_AUTORIZADOS) {
                     if ($SALDO_DE_PLAN > 0) {
                         $arrPagos[$letra][SYS_CAPITAL] = $SALDO_DE_PLAN;
                         $msg .= "WARN\t{$letra}\tCapital a ultimo pago {$SALDO_DE_PLAN} \r\n";
                     }
                 }
                 //determinar proxima fecha de pago
                 $msg .= "OK\t{$letra}\tInteres Normal en {$interes_normal}, Pagado {$interes_pagado} \r\n";
             }
             break;
         case CREDITO_TIPO_PAGO_INTERES_PERIODICO:
             for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) {
                 $letra = $i;
                 $letraAnterior = setNoMenorQueCero($letra - 1);
                 $DAnterior = isset($DatosDePagados[$letraAnterior]) ? $DatosDePagados[$letraAnterior] : array();
                 $capital_pagado = isset($DAnterior[SYS_CAPITAL]) ? $DAnterior[SYS_CAPITAL] : 0;
                 $SALDO_DE_PLAN = $SALDO_DE_PLAN - $capital_pagado;
                 $DPago = isset($DatosDePagados[$letra]) ? $DatosDePagados[$letra] : array();
                 $interes_pagado = isset($DPago[SYS_INTERES_NORMAL]) ? $DPago[SYS_INTERES_NORMAL] : 0;
                 //datos del pago anterior
                 $DLetraAnterior = isset($arrPagos[$letraAnterior]) ? $arrPagos[$letraAnterior] : array();
                 $DLetra = isset($arrPagos[$letra]) ? $arrPagos[$letra] : array();
                 $FechaAnterior = isset($DLetraAnterior[SYS_FECHA]) ? $DLetraAnterior[SYS_FECHA] : $xCred->getFechaDeMinistracion();
                 $FechaActual = isset($DLetra[SYS_FECHA]) ? $DLetra[SYS_FECHA] : false;
                 $DIAS_TRANSCURRIDOS = $xF->setRestarFechas($FechaActual, $FechaAnterior);
                 //INTERES NORMAL
                 $interes_normal = $SALDO_DE_PLAN * $DIAS_TRANSCURRIDOS * $TASA_NORMAL / $DIVISOR_DE_INTS;
                 $interes_normal = setNoMenorQueCero($interes_normal - $interes_pagado);
                 $arrPagos[$letra][SYS_INTERES_NORMAL] = $interes_normal;
                 if ($capital_pagado > 0) {
                     $msg .= "WARN\t{$letra}\tCapital en pago {$letraAnterior} de {$capital_pagado} \r\n";
                 }
                 if ($letra == $PAGOS_AUTORIZADOS) {
                     if ($SALDO_DE_PLAN > 0) {
                         $arrPagos[$letra][SYS_CAPITAL] = $SALDO_DE_PLAN;
                         $msg .= "WARN\t{$letra}\tCapital a ultimo pago {$SALDO_DE_PLAN} \r\n";
                     }
                 }
                 $msg .= "OK\t{$letra}\tInteres Normal en {$interes_normal}, Pagado {$interes_pagado}, Dias {$DIAS_TRANSCURRIDOS},Fecha : Actual {$FechaActual} Anterior {$FechaAnterior}\r\n";
             }
             break;
         case CREDITO_TIPO_PAGO_INTERES_COMERCIAL:
             for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) {
                 $letra = $i;
                 $letraAnterior = setNoMenorQueCero($letra - 1);
                 $DAnterior = isset($DatosDePagados[$letraAnterior]) ? $DatosDePagados[$letraAnterior] : array();
                 $capital_pagado = isset($DAnterior[SYS_CAPITAL]) ? $DAnterior[SYS_CAPITAL] : 0;
                 $SALDO_DE_PLAN = $SALDO_DE_PLAN - $capital_pagado;
                 $DPago = isset($DatosDePagados[$letra]) ? $DatosDePagados[$letra] : array();
                 $interes_pagado = isset($DPago[SYS_INTERES_NORMAL]) ? $DPago[SYS_INTERES_NORMAL] : 0;
                 //INTERES NORMAL
                 $interes_normal = $SALDO_DE_PLAN * $PERIOCIDAD_DE_PAGO * $TASA_NORMAL / $DIVISOR_DE_INTS;
                 $interes_normal = setNoMenorQueCero($interes_normal - $interes_pagado);
                 $arrPagos[$letra][SYS_INTERES_NORMAL] = $interes_normal;
                 if ($capital_pagado > 0) {
                     $msg .= "WARN\t{$letra}\tCapital en pago {$letraAnterior} de {$capital_pagado} \r\n";
                 }
                 if ($letra == $PAGOS_AUTORIZADOS) {
                     if ($SALDO_DE_PLAN > 0) {
                         $arrPagos[$letra][SYS_CAPITAL] = $SALDO_DE_PLAN;
                         $msg .= "WARN\t{$letra}\tCapital a ultimo pago {$SALDO_DE_PLAN} \r\n";
                     }
                 }
                 $msg .= "OK\t{$letra}\tInteres Normal en {$interes_normal}, Pagado {$interes_pagado} \r\n";
             }
             break;
     }
     $NumeroPlan = $this->mNumeroDePlan;
     //$this->setEliminar();
     //eliminar plan de pagos
     foreach ($arrPagos as $periodo) {
     }
     $this->mMessages .= $msg;
     return $msg;
 }
 function setRevertir()
 {
     $sucess = true;
     $arrValuesRev = array("-1" => "1", "1" => "-1", "0" => "0");
     if ($this->mInit == false) {
         $this->init();
     }
     $rw = $this->mArrayData;
     $codigo = $rw["idoperaciones_mvtos"];
     $docto = $rw["docto_afectado"];
     $socio = $rw["socio_afectado"];
     $preservar_mvto = $rw["preservar_movimiento"];
     $CodeRevertir = $rw["formula_de_cancelacion"];
     $monto = $rw["afectacion_real"];
     $afectacion = $rw["valor_afectacion"];
     $recibo = $rw["recibo_afectado"];
     $colocacion = array();
     $captacion = array();
     //selecciona un comportamiento segun el Origen del Recibo
     switch ($this->mAplicadoA) {
         case "colocacion":
             //cargar datos del credito
             $Credito = new cCredito($docto, $socio);
             $Credito->initCredito();
             $colocacion = $Credito->getDatosDeCredito();
             break;
         case "captacion":
             //cargar datos de la cuenta
             $Cuenta = new cCuentaALaVista($docto);
             $Cuenta->initCuentaByCodigo();
             $captacion = $Cuenta->getDatosInArray();
             break;
         case "mixto":
             //cargar datos de la cuenta y del credito
             $Credito = new cCredito($docto, $socio);
             $Credito->initCredito();
             $colocacion = $Credito->getDatosDeCredito();
             $Cuenta = new cCuentaALaVista($docto);
             $Cuenta->initCuentaByCodigo();
             $captacion = $Cuenta->getDatosInArray();
             $this->mMessages .= "WARN\tEL Recibo es Mixto, se carga tanto Captacion como Colocacion\r\n";
             break;
         default:
             $this->mMessages .= "ERROR\tEL Recibo es " . $this->mAplicadoA . ", NO SE CARGA CODIGO\r\n";
             break;
     }
     eval($CodeRevertir);
     if ($preservar_mvto == '1') {
         $SQL_DM = "UPDATE operaciones_mvtos\n\t\t\t\t\t\tSET afectacion_estadistica=afectacion_real,\n\t\t\t\t\t\tafectacion_real = 0, afectacion_contable=0,\n\t\t\t\t\t\tafectacion_cobranza=0, valor_afectacion=0,\n\t\t\t\t\t\testatus_mvto = 99,\n\t\t\t\t\t\tdocto_neutralizador = " . DEFAULT_RECIBO . ",\n\t\t\t\t\t\trecibo_afectado\t= " . DEFAULT_RECIBO . "\n\t\t\t\t\t\tWHERE idoperaciones_mvtos = {$codigo}\n\t\t\t\t\t\t";
         $this->mMessages .= "Actualizando el Movimiento {$codigo}\r\n";
     } else {
         $SQL_DM = "DELETE FROM operaciones_mvtos\n\t\t\t\t\t\tWHERE idoperaciones_mvtos = {$codigo}";
         $this->mMessages .= "Eliminado el Movimiento {$codigo}\r\n";
     }
     my_query($SQL_DM);
 }
$id = !isset($_GET["pa"]) ? false : $_GET["pa"];
//Numero de Socio
$f15 = !isset($_GET["f15"]) ? false : $_GET["f15"];
$f14 = !isset($_GET["f14"]) ? false : $_GET["f14"];
$f16 = !isset($_GET["f16"]) ? false : $_GET["f16"];
$f18 = !isset($_GET["f18"]) ? false : $_GET["f18"];
//Mostrar Movimiento Especifico
$TOperacion = !isset($_GET["f19"]) ? false : $_GET["f19"];
//Codigo de Tipo de Operacion.- Mvto Especifico
$fecha_inicial = $_GET["on"];
$fecha_final = $_GET["off"];
$xHP->init("initComponents()");
$xRPT = new cReportes($xHP->getTitle());
echo $xHP->getEncabezado();
echo $xRPT->getEncabezado();
$cCred = new cCredito($idsolicitud);
$cCred->init();
//TODO: Modificar
echo $cCred->getFicha(true, "", true, true);
$sql = "SELECT\n\t`creditos_sdpm_historico`.`idcreditos_sdpm_historico` AS `control`,\n\t`creditos_sdpm_historico`.`numero_de_socio`,\n\t`creditos_sdpm_historico`.`numero_de_credito`,\n\t`creditos_sdpm_historico`.`fecha_anterior`,\n\t`creditos_sdpm_historico`.`fecha_actual`,\n\t`creditos_sdpm_historico`.`dias_transcurridos`,\n\t`creditos_sdpm_historico`.`monto_calculado`,\n\t`creditos_sdpm_historico`.`saldo`,\n\t`creditos_sdpm_historico`.`estatus`,\n\t`creditos_sdpm_historico`.`interes_normal`\nFROM\n\t`creditos_sdpm_historico` `creditos_sdpm_historico` \nWHERE\n\t(`creditos_sdpm_historico`.`numero_de_credito` ={$idsolicitud})\nORDER BY\n\t`creditos_sdpm_historico`.`fecha_anterior` ASC\n\t/*`creditos_sdpm_historico`.`fecha_actual` DESC */";
$cTbl = new cTabla($sql);
$cTbl->setTdClassByType();
$cTbl->setWidth();
$cTbl->Show("", false);
$TSum = $cTbl->getFieldsSum();
echo " <table width='100%'>\n\t\t<tr>\n\t\t<td />\n\t\t<td />\n\t\t<td />\n\t\t<td />\n\t\t\n\t\t<th class='mny'>" . getFMoney($TSum["dias_transcurridos"]) . "</th>\n\t\t<th class='mny'>" . getFMoney($TSum["monto_calculado"]) . "</th>\n\t\t<th class='mny'>" . getFMoney($TSum["saldo"]) . "</th>\n\t\t<td />\n\t\t<th class='mny'>" . getFMoney($TSum["interes_normal"]) . "</th>\n\t\t</tr>\n\t\t</table ";
echo $xHP->getPieDePagina();
?>
</body>
<script  >
<?php 
$iduser = $_SESSION["log_id"];
//=====================================================================================================
$xHP = new cHPage("TR.Solicitud de de Credito", HP_REPORT);
$xLoc = new cLocal();
$xList = new cSQLListas();
$oficial = elusuario($iduser);
echo $xHP->getHeader(true);
echo $xHP->setBodyinit("javascript:window.print()");
echo getRawHeader();
$sqlDic = new cSQLListas();
$idsolicitud = isset($_GET["solicitud"]) ? $_GET["solicitud"] : DEFAULT_CREDITO;
$entidad = EACP_NAME;
if ($idsolicitud == DEFAULT_CREDITO) {
    echo JS_CLOSE;
} else {
    $xCred = new cCredito($idsolicitud);
    $xCred->init();
    $siavales = isset($_GET["avales"]) ? $_GET["avales"] : SYS_NINGUNO;
    $sigarantias = isset($_GET["garantias"]) ? $_GET["garantias"] : SYS_NINGUNO;
    $sipatrimonio = isset($_GET["patrimonio"]) ? $_GET["patrimonio"] : SYS_NINGUNO;
    $siflujo = isset($_GET["flujo"]) ? $_GET["flujo"] : SYS_NINGUNO;
    $sihistorial = isset($_GET["historial"]) ? $_GET["historial"] : SYS_NINGUNO;
    $nowdate = fechasys();
    $rwc = $xCred->getDatosDeCredito();
    $fecha_de_solicitud = $rwc["fecha_solicitud"];
    // datos generales del socio
    $idsocio = $xCred->getClaveDePersona();
    // Numero de Socio
    $xSocio = new cSocio($idsocio);
    $xSocio->init();
    $mynom = $xSocio->getNombreCompleto();
    $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();
        $xPlan = new cPlanDePagos();
        //eliminar credito
        $xCred = new cCredito($credito);
        $xCred->init();
        $fecha_operacion = $xCred->getFechaDeMinistracion();
        if ($xCred->getNumeroDePlanDePagos() != false) {
            $xPlan->init($xCred->getNumeroDePlanDePagos());
            $xPlan->setEliminar();
        }
        $xPlan->initByCredito($credito);
        $xPlan->setClaveDeCredito($credito);
        $xPlan->setClaveDePersona($xCred->getClaveDePersona());
        $idrecibo = $xPlan->add($observaciones, $fecha_operacion);
        $xPlan->init($idrecibo);
        foreach ($data as $valores => $cont) {
            //periodo 	fecha 	saldo_inicial 	intereses 	impuesto 	capital 	pago_total 	saldo_final
            //0		1	2		3		4		5		6		7
            //Periodo,Fecha de Pago,Saldo inicial,Intereses,Impuesto,Pago a Capital,Pago Total,Saldo final
//=====================================================================================================
$xHP = new cHPage("Vista previa", HP_REPORT);
$oficial = elusuario($iduser);
$credito = isset($_REQUEST["credito"]) ? $_REQUEST["credito"] : false;
echo $xHP->getHeader();
echo $xHP->setBodyinit("importHTML()");
?>
<style media="all">
	#idMvtosEsp, input[type=button], input[type=submit], .button, .boton, button, nav { display: none; }
	
</style>
<!-- -->
<?php 
echo getRawHeader();
if ($credito != false) {
    $xCred = new cCredito($credito);
    $xCred->init();
    echo $xCred->getFichaDeSocio();
    echo $xCred->getFicha();
}
echo "<div id=\"iPhantom\"></div>";
echo getRawFooter();
?>
</body>
<script  >
function importHTML(){
	var h	= (typeof opener.serializeHTML != "undefined" ) ? opener.serializeHTML : opener.document.body.innerHTML;
	
	document.getElementById("iPhantom").innerHTML = h;
	//document.getElementById("iPhantom").( opener.document.body.innerText);;
	iFrms = document.forms.length - 1;
function jsaVincularEmpresa($credito, $observaciones, $empresa)
{
    $msg = "";
    $xCred = new cCredito($credito);
    $xCred->init();
    $xdat = new cFecha(0);
    $fecha = $xdat->get();
    // FechaISO($fecha);
    $xCred->init();
    $socio = $xCred->getClaveDePersona();
    $xSoc = new cSocio($socio);
    $xSoc->init();
    $xCred->setCambioProducto(CREDITO_PRODUCTO_NOMINA);
    $xCred->setResetPersonaAsociada($fecha, $observaciones, $empresa);
    //Agregar operacion de desvinculacion
    $xRe = new cReciboDeOperacion(RECIBOS_TIPO_ESTADISTICO, false, DEFAULT_RECIBO);
    $xRe->init();
    $xRe->setNuevoMvto($fecha, $xCred->getSaldoActual(), OPERACION_CLAVE_VINCULACION, $xCred->getPeriodoActual(), "", 1, false, $socio, $credito, $fecha);
    $xRe->setFinalizarRecibo();
    $msg .= $xSoc->getMessages(OUT_TXT);
    $msg .= $xCred->getMessages(OUT_TXT);
    $msg .= $xRe->getMessages(OUT_TXT);
    $xF = new cFileLog();
    $xF->setWrite($msg);
    $xF->setClose();
    return $xF->getLinkDownload("Descarga de Log");
}
 $datos = explode(",", $bufer, 12);
 $socio = $cT->cInt($datos[0]);
 $credito = $cT->cInt($datos[1]);
 $producto = $cT->cInt($datos[2]);
 $monto = $cT->cFloat($datos[3]);
 $ministracion = $cT->cFecha($datos[4]);
 $vencimiento = $cT->cFecha($datos[5]);
 $pagos = $cT->cInt($datos[6]);
 $periocidad = $cT->cInt($datos[7]);
 $saldo = $cT->cFloat($datos[8]);
 $UltimaOperacion = $cT->cFecha($datos[9]);
 $ContratoCorriente = $cT->cInt($datos[10]);
 if ($socio == 0) {
     $msg .= "{$iReg}\t\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n";
 } else {
     $xCred = new cCredito();
     //Crear Contrato corriente si el producto tiene ahorro
     $DConv = $xCred->getDatosDeProducto($producto);
     $tasaAhorro = $cT->cFloat($DConv["tasa_ahorro"]);
     if ($ContratoCorriente == 0 and $tasaAhorro > 0) {
         $xCapta = new cCuentaALaVista(false);
         $ContratoCorriente = $xCapta->setNuevaCuenta(99, DEFAULT_SUBPRODUCTO_CAPTACION, $socio, "CUENTA POR IMPORTACION", $credito);
         $msg .= "{$iReg}\t{$socio}\t{$credito}\tAgregando una Cuenta Corriente {$ContratoCorriente} NUEVO\r\n";
     }
     //Agregar
     $ok = $xCred->add($producto, $socio, $ContratoCorriente, $monto, $periocidad, $pagos, 0, CREDITO_DEFAULT_DESTINO, $credito, DEFAULT_GRUPO, "", "CREDITO IMPORTADO #{$iReg}", DEFAULT_USER, $ministracion);
     if ($ok == true) {
         ///Inicializar
         //autorizar
         $xCred->setAutorizado($monto, $pagos, $periocidad, CREDITO_TIPO_AUTORIZACION_AUTOMATICA, $ministracion, "CREDITO IMPORTADO #{$iReg}", false, $ministracion, 2, false, $vencimiento, CREDITO_ESTADO_AUTORIZADO, $monto, 0, $UltimaOperacion);
         $xCred->init();
$_SESSION["current_file"] = addslashes($theFile);
//<=====	FIN_H
$iduser = $_SESSION["log_id"];
//=====================================================================================================
$xHP = new cHPage("TR.Plan_de_Pagos", HP_REPORT);
$xF = new cFecha();
$ql = new MQL();
$oficial = elusuario($iduser);
$idrecibo = parametro("idrecibo", false, MQL_INT);
$idrecibo = parametro("recibo", $idrecibo, MQL_INT);
$idsolicitud = parametro("is", false, MQL_INT);
$idsolicitud = parametro("credito", $idsolicitud, MQL_INT);
$ShowAvales = parametro("p", false, MQL_BOOL);
if ($idrecibo == false) {
    if ($idsolicitud != false) {
        $xCred = new cCredito($idsolicitud);
        $xCred->init();
        $idrecibo = $xCred->getNumeroDePlanDePagos();
        if (setNoMenorQueCero($idrecibo) > 0) {
        } else {
            exit(JS_CLOSE);
        }
    } else {
        exit(JS_CLOSE);
    }
}
$xHP->setTitle($xHP->getTitle() . " # {$idrecibo}");
echo $xHP->getHeader(true);
echo $xHP->setBodyinit("window.print()");
echo $xHP->getEncabezado();
$PlanBody = $xHP->h1() . "<hr />";