$xT = new cFileImporter();
foreach ($rs as $rows) {
    $xDSoc->setData($rows);
    $codigo_de_socio = $xDSoc->codigo()->v();
    $xSoc = new cSocio($codigo_de_socio);
    $xSoc->init($rows);
    $xSoc->getOEstats()->initDatosDeCredito();
    $saldoCred = setNoMenorQueCero($xSoc->getCreditosComprometidos());
    if ($saldoCred > 0) {
        $xTa->initRow();
        $xTa->addTD($xSoc->getSucursal());
        $xTa->addTD(htmlentities($xSoc->getNombreCompleto()));
        $xTa->addTD($xF->getFechaMX($xSoc->getFechaDeNacimiento()));
        $xTa->addTD("MEXICANA");
        $xTa->addTD($xSoc->getRFC());
        $xOAE = $xSoc->getOActividadEconomica();
        if ($xOAE == null) {
            $xTa->addTD(" ");
            $xTa->addTD(" ");
        } else {
            $idclave = $xOAE->getClaveDeActividad();
            $actividad = isset($DActividades[$idclave]) ? htmlentities($DActividades[$idclave]) : "";
            $actividad = strtoupper($xT->cleanString($actividad));
            $actividad = $actividad == "DESCONOCIDO_MIGRADO" ? "" : $actividad;
            $xTa->addTD($actividad);
            //$xTa->addTD( $xOAE->getPuesto(true) );
        }
        $xViv = $xSoc->getODomicilio();
        if ($xViv == null) {
            $xTa->addTD(" ");
        } else {
 function addRelacion($numero_de_socio = FALLBACK_CLAVE_DE_PERSONA, $tipo_de_relacion = DEFAULT_TIPO_RELACION, $consanguinidad = DEFAULT_TIPO_CONSANGUINIDAD, $depende = 0, $observaciones = "", $monto_relacionado = 0, $porcentaje_relacionado = 1, $fecha_de_alta = false, $documento = false)
 {
     $xSocRel = new cSocio($numero_de_socio);
     $xSocRel->init();
     $DSocR = $xSocRel->getDatosInArray();
     $documento = $documento == false ? DEFAULT_CREDITO : $documento;
     $nombres = $xSocRel->getNombre();
     $apellido_paterno = $xSocRel->getApellidoPaterno();
     $apellido_materno = $xSocRel->getApellidoMaterno();
     $domicilio = $xSocRel->getDomicilio();
     $DTel = $xSocRel->getTelefonos();
     $telefono_fijo = isset($DTel[1]) ? $DTel[1] : 0;
     $telefono_movil = isset($DTel[2]) ? $DTel[2] : 0;
     $fecha_de_nacimiento = $xSocRel->getFechaDeNacimiento();
     $curp = $xSocRel->getCURP();
     $DOcup = $xSocRel->getOActividadEconomica();
     $monto_relacionado = setNoMenorQueCero($monto_relacionado);
     // ( !isset($monto_relacionado) OR $monto_relacionado === false ) ? 0 : $monto_relacionado;
     $ocupacion = $DOcup == null ? "DESCONOCIDO" : $DOcup->getPuesto();
     $socio_relacionado = $this->mPersona;
     $sucursal = getSucursal();
     $eacp = EACP_CLAVE;
     $fecha_de_alta = $fecha_de_alta == false ? fechasys() : $fecha_de_alta;
     $iduser = getUsuarioActual();
     $estatus = 10;
     $depende = setNoMenorQueCero($depende);
     $this->mClaveDePersona = $numero_de_socio;
     //Sentencia Sql
     $sql = "INSERT INTO socios_relaciones(socio_relacionado, credito_relacionado, tipo_relacion,\n\t\tnumero_socio, nombres, apellido_paterno, apellido_materno, domicilio_completo,\n\t\ttelefono_residencia, telefono_movil, fecha_nacimiento, monto_relacionado,\n\t\tporcentaje_relacionado, fecha_alta, curp, observaciones, idusuario,\n\t\tconsanguinidad, estatus, dependiente, codigo, ocupacion, sucursal, eacp)\n\t\tVALUES ({$socio_relacionado}, {$documento}, {$tipo_de_relacion}, {$numero_de_socio}, '{$nombres}', '{$apellido_paterno}', '{$apellido_materno}',\n\t\t'{$domicilio}', '{$telefono_fijo}', '{$telefono_movil}', '{$fecha_de_nacimiento}', '{$monto_relacionado}', {$porcentaje_relacionado},\n\t\t'{$fecha_de_alta}', '{$curp}', '{$observaciones}', {$iduser}, {$consanguinidad},\n\t\t{$estatus}, {$depende}, {$socio_relacionado}, '{$ocupacion}', '{$sucursal}', '{$eacp}')\n\t\t";
     //agregar relacion inversa
     // Envio Sql
     $res = my_query($sql);
     $sucess = $res[SYS_ESTADO];
     if ($sucess == true) {
         //agregar modificaciones de Grupo
         switch ($tipo_de_relacion) {
             case GRUPO_CLAVE_INTEGRANTE:
                 $xPer = new cSocio($numero_de_socio);
                 $xPer->setUpdate(array("grupo_solidario" => "{$socio_relacionado}"));
                 break;
             case GRUPO_CLAVE_PRESIDENTA:
                 $xGr = new cGrupo($socio_relacionado);
                 $xGr->setUpdate(array("representante_numerosocio" => "{$numero_de_socio}", "representante_nombrecompleto" => "{$apellido_paterno} {$apellido_materno} {$nombres}"));
                 $xPer = new cSocio($numero_de_socio);
                 $xPer->setUpdate(array("grupo_solidario" => "{$socio_relacionado}"));
                 break;
             case GRUPO_CLAVE_VOCAL:
                 $xGr = new cGrupo($socio_relacionado);
                 $xGr->setUpdate(array("vocalvigilancia_numerosocio" => "{$numero_de_socio}", "vocalvigilancia_nombrecompleto" => "{$apellido_paterno} {$apellido_materno} {$nombres}"));
                 $xPer = new cSocio($numero_de_socio);
                 $xPer->setUpdate(array("grupo_solidario" => "{$socio_relacionado}"));
                 break;
         }
         //Agregar relación Inversa
     } else {
         $this->mMessages .= "ERROR\tError al guardar la relacion\r\n";
     }
     return $sucess;
 }
 function init($arrData = false, $credito = false, $dataPagos = false)
 {
     $fecha = $this->mFechaDeCorte;
     $credito = $credito == false ? $this->mClaveDeCredito : $credito;
     $xCred = new cCredito($credito);
     $xCred->init($arrData);
     $xCred->initPagosEfectuados($dataPagos, $fecha);
     //setLog($dataPagos);
     $xSoc = new cSocio($xCred->getClaveDePersona());
     $xSoc->init();
     $this->mInfoLinea[1] = $this->getText($this->getClaveDeOtorgante());
     $this->mInfoLinea[2] = $this->getText($this->getNombreOtorgante());
     $this->mInfoLinea[3] = $this->getFechaDeReporte();
     $this->mInfoLinea[4] = $this->getText($xSoc->getApellidoPaterno());
     $this->mInfoLinea[5] = $this->getText($xSoc->getApellidoMaterno());
     $this->mInfoLinea[6] = "";
     $nombres = explode(" ", $xSoc->getNombre(), 2);
     $this->mInfoLinea[7] = isset($nombres[SYS_CERO]) ? $this->getText($nombres[SYS_CERO]) : "";
     $this->mInfoLinea[8] = isset($nombres[SYS_UNO]) ? $this->getText($nombres[SYS_UNO]) : "";
     $this->mInfoLinea[9] = $this->getDate($xSoc->getFechaDeNacimiento());
     $this->mInfoLinea[10] = $this->getText($xSoc->getRFC());
     $this->mInfoLinea[11] = isset($this->mTituloPersonal[$xSoc->getTipoGenero()]) ? $this->mTituloPersonal[$xSoc->getTipoGenero()] : "";
     //Hiber Tadeo
     $this->mInfoLinea[12] = $this->getEstadoCivil($xSoc->getEstadoCivil());
     $this->mInfoLinea[13] = $this->mEquivGenero[$xSoc->getTipoGenero()];
     //TODO: terminar defuncion/muerte de la persona
     $this->mInfoLinea[14] = "";
     $this->mInfoLinea[15] = "";
     $xDom = $xSoc->getODomicilio();
     if ($xDom == null) {
         for ($i = 16; $i <= 23; $i++) {
             $this->mInfoLinea[$i] = "";
         }
     } else {
         $this->mInfoLinea[16] = $this->getText($xDom->getCalleConNumero());
         $this->mInfoLinea[17] = "";
         $this->mInfoLinea[18] = $this->getText($xDom->getColonia());
         $this->mInfoLinea[19] = $this->getText($xDom->getMunicipio());
         $this->mInfoLinea[20] = $this->getText($xDom->getCiudad());
         $this->mInfoLinea[21] = $this->getText($xDom->getClaveDeEstadoEnSIC());
         $this->mInfoLinea[22] = $this->getText($xDom->getCodigoPostal());
         $xTel = $xSoc->getTelefonoPrincipal();
         //Hiber Tadeo
         $this->mInfoLinea[23] = $xTel == 0 ? "" : $xTel;
         //Hiber Tadeo
     }
     $xAE = $xSoc->getOActividadEconomica();
     if ($xAE == null) {
         $this->mInfoLinea[24] = $this->getText($xSoc->getRFC(true));
         //Para Finsureste debe de ser este RFC del cliente
         $this->mInfoLinea[33] = 0;
     } else {
         $this->mInfoLinea[24] = $this->getText($xSoc->getRFC(true));
         //Para Finsureste debe de ser este RFC del cliente//$this->getText($xAE->getNombreEmpresa());
         $this->mInfoLinea[33] = $this->getText($xDom->getCalleConNumero());
         //Para Finsureste debe de ser direccion del cliente //Hiber Tadeo Aca es direccion
     }
     //direccion 2
     $this->mInfoLinea[25] = "";
     $this->mInfoLinea[26] = $this->getText($xDom->getColonia());
     //Para Finsureste
     $this->mInfoLinea[27] = $this->getText($xDom->getMunicipio());
     //Para Finsureste
     $this->mInfoLinea[28] = $this->getText($xDom->getCiudad());
     //Para Finsureste
     $this->mInfoLinea[29] = $this->getText($xDom->getClaveDeEstadoEnSIC());
     //Para Finsureste
     $this->mInfoLinea[30] = $this->getText($xDom->getCodigoPostal());
     //Para Finsureste
     $this->mInfoLinea[31] = $xTel == 0 ? "" : $xTel;
     //Hiber Tadeo  //Para Finsureste
     $this->mInfoLinea[32] = "";
     $this->mInfoLinea[34] = $this->getClaveDeOtorgante();
     $this->mInfoLinea[35] = $this->getText($this->getNombreOtorgante());
     $this->mInfoLinea[36] = $xCred->getNumeroDeCredito();
     $this->mInfoLinea[38] = $this->getTipoDeCuenta($xCred->getTipoDePago());
     //datos del convenio
     $DConv = $xCred->getOProductoDeCredito();
     $this->mInfoLinea[37] = $this->getTipoDeResponsabilidad($DConv->getTipoDeIntegracion());
     $this->mInfoLinea[39] = $DConv->getTipoDeContratoCR();
     //"PL";//$DConv->getTipoDeContratoCR(); //Hiber Tadeo CL=LINEA DE CREDITO PL=PRESTAMO PERSONAL
     $this->mInfoLinea[40] = AML_CLAVE_MONEDA_LOCAL;
     //TODO: mejorar
     $this->mInfoLinea[41] = $xCred->getPagosAutorizados();
     if ($xCred->getTipoEnSistema() == CREDITO_PRODUCTO_NOMINA) {
         //TODO: Parchar con el de TADEO
         $this->mInfoLinea[42] = "P";
     } else {
         $this->mInfoLinea[42] = $this->mEquivFrecPagos[$xCred->getPeriocidadDePago()];
     }
     $this->mInfoLinea[43] = $this->getDate($xCred->getFechaDeMinistracion());
     $this->mInfoLinea[44] = $this->getMonto($xCred->getMontoDeParcialidad());
     $this->mInfoLinea[45] = $this->getDate($xCred->getFechaUltimoDePago());
     $this->mInfoLinea[46] = $this->getDate($xCred->getFechaDeMinistracion());
     $this->mInfoLinea[47] = "";
     //$this->getDate("2029-12-31" );
     if ($xCred->getSaldoActual($fecha) <= TOLERANCIA_SALDOS) {
         $this->mInfoLinea[47] = $this->getDate($xCred->getFechaUltimoDePago());
     }
     $this->mInfoLinea[48] = $this->getFechaDeReporte();
     $DCapacidad = $xSoc->getOCapacidadDePago();
     $this->mInfoLinea[49] = $this->getMonto($DCapacidad->getMontoDeCreditoMaximo());
     $this->mInfoLinea[50] = $this->getMonto($xCred->getSaldoIntegrado($fecha));
     //$xCred->getSaldoActual();
     $this->mInfoLinea[51] = $this->getMonto($DCapacidad->getLimiteDeCredito());
     $this->mInfoLinea[52] = $this->getMonto($xCred->getSaldoVencido());
     //53 numero de pagos vencidos
     $this->mInfoLinea[53] = 0;
     //54 forma mop
     $this->mInfoLinea[54] = $xCred->getMOP($fecha);
     // ($this->mOut == OUT_CSV) ? "01" : "'01";
     //55 clave de observacion, segun catalogo
     $this->mInfoLinea[55] = "";
     //56 clave de otorgante anterior
     //57 nombre otorgante anterior
     $this->mInfoLinea[56] = "";
     $this->mInfoLinea[57] = "";
     $this->mInfoLinea[58] = "";
     //Numero de cuenta anterior en caso de cartera tranferida
     $this->mInfoLinea[59] = $xCred->getFechaDePrimerAtraso() == null ? "" : $this->getDate($xCred->getFechaDePrimerAtraso());
     //TODO: Fecha de Primera atraso
     $this->mInfoLinea[60] = $this->getMonto($xCred->getSaldoActual($fecha));
     //Saldo Insoluto del Principal
     $this->mInfoLinea[61] = $this->getMonto($xCred->getMontoUltimoPago());
     // $xCred->getMontoDeParcialidad();//0; //TODO: Monto de Ultimo pago
     if (MODO_DEBUG == true) {
         $this->mMessages .= $xCred->getMessages(OUT_TXT);
     }
 }
 function getListadoDeAvales($credito)
 {
     //TODO: Terminar
     $mSQL = new cSQLListas();
     $mql = new MQL();
     $sql = $mSQL->getListadoDeAvales($credito, $this->mPersona);
     $rs = $mql->getDataRecord($sql);
     //setLog($sql);
     $forma = 8001;
     $firma = 8002;
     $friesgo = 5001;
     $cficha = "";
     $cfirmas = "";
     $criesgo = "";
     $clista = "";
     //$xAval		= new cSocios_relaciones();
     foreach ($rs as $rows) {
         $persona = $rows["numero_socio"];
         $idrelacion = $rows["num"];
         $xSoc = new cSocio($persona);
         $xRel = new cPersonasRelaciones($idrelacion, $persona);
         $xRel->init();
         if ($xSoc->init() == true) {
             $avalDom = $xSoc->getODomicilio();
             $avalEc = $xSoc->getOActividadEconomica();
             $vars = array("aval_nombre_completo" => $xSoc->getNombreCompleto(), "aval_domicilio_localidad" => "", "aval_direccion_calle_y_numero" => "", "aval_direccion_estado" => "", "aval_direccion_completa" => "", "aval_ocupacion" => "", "aval_fecha_de_nacimiento" => $xSoc->getFechaDeNacimiento(), "aval_id_fiscal" => $xSoc->getRFC(), "aval_lugar_de_nacimiento" => $xSoc->getLugarDeNacimiento(), "aval_empresa_de_trabajo" => "", "aval_estado_civil" => $xSoc->getEstadoCivil(), "aval_tipo_de_relacion" => $xRel->getNombreRelacion(), "aval_tipo_de_parentesco" => $xRel->getNombreParentesco(), "aval_porcentaje_relacionado" => $xRel->getPorcientorelacionado() * 100);
             if ($avalDom != null) {
                 $vars["aval_direccion_completa"] = $xSoc->getDomicilio();
                 $vars["aval_domicilio_localidad"] = $xSoc->getODomicilio()->getCiudad();
                 $vars["aval_direccion_calle_y_numero"] = $xSoc->getODomicilio()->getCalleConNumero();
                 $vars["aval_direccion_estado"] = $xSoc->getODomicilio()->getEstado(OUT_TXT);
             }
             if ($avalEc != null) {
                 $vars["aval_ocupacion"] = $xSoc->getOActividadEconomica()->getPuesto();
                 $vars["aval_empresa_de_trabajo"] = $xSoc->getOActividadEconomica()->getNombreEmpresa();
             }
             $texto_ficha = contrato($forma, "texto_del_contrato");
             $texto_firma = contrato($firma, "texto_del_contrato");
             $texto_aut = contrato($friesgo, "texto_del_contrato");
             $vars = array_merge($vars, $this->mBasicVars);
             foreach ($vars as $key => $value) {
                 $texto_ficha = str_replace($key, $value, $texto_ficha);
                 $texto_firma = str_replace($key, $value, $texto_firma);
                 $texto_aut = str_replace($key, $value, $texto_aut);
             }
             $cficha .= $texto_ficha;
             $cfirmas .= $texto_firma;
             $criesgo .= $texto_aut;
             $clista .= $xSoc->getNombreCompleto(OUT_TXT) . ": " . $xSoc->getDomicilio() . "; ";
             //setLog($texto_ficha);
         }
         //setLog($xSoc->getMessages());
     }
     $this->mFichasAvales = $cficha;
     $this->mFirmasAvales = $cfirmas;
     $this->mFichaRiesgoAv = $criesgo;
     $this->mLAvalesConDir = $clista;
 }
     $tmovil = parametro("telefono");
     $principal = true;
     $regimen = parametro("idregimendevivienda", DEFAULT_PERSONAS_REGIMEN_VIV);
     $tdomicilio = parametro("idtipodevivienda", DEFAULT_PERSONAS_TIPO_VIV);
     $tiempo = parametro("idtiempo", DEFAULT_TIEMPO);
     $localidad = parametro("idnombrelocalidad", $xLoc->DomicilioLocalidad());
     $estado = parametro("idnombremunicipio", $xLoc->DomicilioMunicipio());
     $colonia = parametro("idnombrecolonia", $xLoc->DomicilioColonia());
     //if(PERSONAS_VIVIENDA_MANUAL == false ){
     $idlocalidad = parametro("idlocalidad", $xLoc->DomicilioLocalidadClave());
     //}
     $pais = parametro("idpais", EACP_CLAVE_DE_PAIS);
     $xSoc->addVivienda($calle, $nexterior, $cpostal, $ninterior, $referencia, $tresidencial, $tmovil, $principal, $regimen, $tdomicilio, $tiempo, $colonia, $tipo_acceso, "", $idlocalidad, $pais, "", $estado, $municipio, $localidad);
     $xSoc->init();
 }
 if ($xSoc->getOActividadEconomica() == null) {
     //Agregar datos economicos
     $tipo_ae = parametro("idactividad", FALLBACK_ACTIVIDAD_ECONOMICA);
     $sector_ae = parametro("idsectoreconomico", FALLBACK_SECTOR_ECONOMICO);
     $nombre_ae = parametro("idrazonsocial");
     $domicilio_ae = parametro("iddomiciliodeactividad");
     $localidad_ae = parametro("idlocalidad", $xLoc->DomicilioLocalidad());
     $municipio_ae = parametro("idmunicipio", $xLoc->DomicilioMunicipio());
     $estado_ae = parametro("idestado", $xLoc->DomicilioEstado());
     $telefono_ae = parametro("idtelefono");
     $extension_ae = parametro("idextension");
     $numero_empleado = parametro("idnumeroempleado");
     $antiguedad_ae = parametro("idantiguedad", DEFAULT_TIEMPO);
     $departamento_ae = parametro("iddepartamento");
     $montoper_ae = parametro("ingreso", 0, MQL_FLOAT);
     $dependencia_ae = parametro("iddependencia", FALLBACK_CLAVE_EMPRESA);