$xTa->addTH("Direccion");
$xTa->addTH("Telefono Principal");
$xTa->addTH("Apoderado");
$xTa->addTH("Es PEP");
$xTa->addTH("Lista Negra");
$xTa->addTH("Grado de Riesgo");
$xTa->addTH("Servicios");
$xTa->addTH("Monto Otorgado");
$xTa->addTH("Monto Actual");
$xTa->addTH("Perfil Transaccional");
$xTa->addTH("Numero Maximo de Operaciones");
$xTa->addTH("Monto Maximo de Operaciones");
$xTa->endRow();
$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(" ");
 function getSimilaresPorNombre($nombre = "", $apellido1 = "", $apellido2 = "", $soloBusqueda = false)
 {
     if ($nombre == "") {
         $xSoc = $this->getOPersona();
         // new cSocio($this->mClaveDePersona);
         $nombre = $xSoc->getNombre();
         $apellido1 = $xSoc->getApellidoPaterno();
         $apellido2 = $xSoc->getApellidoMaterno();
     }
     $nombre = strtoupper($nombre);
     $apellido1 = strtoupper($apellido1);
     $PersonaDeOrigen = $this->getCodigoDePersona();
     $xPO = $this->getOPersona();
     $NombreDeOrigen = $xPO->getNombreCompleto();
     $snom = substr($nombre, 0, 3);
     $sapp1 = substr($apellido1, 0, 3);
     $apellido2 = strtoupper($apellido2);
     $sapp2 = substr($apellido2, 0, 3);
     $sql = "SELECT * FROM socios_general WHERE (`socios_general`.`nombrecompleto` LIKE '%{$snom}%') ";
     if ($apellido1 != "") {
         $sql = "  AND (`socios_general`.`apellidopaterno` LIKE '%{$sapp1}%') ";
     }
     if ($apellido2 != "") {
         $sql .= " AND (`socios_general`.`apellidomaterno` LIKE '%{$sapp2}%') ";
     }
     $this->mMessages .= "WARN\tBuscando similitudes para {$nombre} {$apellido1} {$apellido2} \r\n";
     $xPer = new cSocios_general();
     $xMql = new MQL();
     $data = $xMql->getDataRecord($sql);
     foreach ($data as $rows) {
         $xPer->setData($rows);
         $PersonaCoincide = $xPer->codigo()->v();
         $PersonaDeDestino = AML_OFICIAL_DE_CUMPLIMIENTO;
         $TipoDeAlerta = 901002;
         $minimo = 90;
         $parecido = 0;
         $mNombre = strtoupper($xPer->nombrecompleto()->v());
         $mApp1 = strtoupper($xPer->apellidopaterno()->v());
         $mApp2 = strtoupper($xPer->apellidomaterno()->v());
         $divisor = 1;
         $parecido_a2 = 0;
         $parecido_a1 = 0;
         similar_text($mNombre, $nombre, $parecido_n);
         similar_text($mApp1, $apellido1, $parecido_a1);
         if ($apellido1 != "") {
             similar_text($mApp1, $apellido1, $parecido_a1);
             $divisor = 2;
             $minimo = 80;
         }
         if ($apellido2 != "") {
             similar_text($mApp2, $apellido2, $parecido_a2);
             $divisor = 3;
             $minimo = 70;
         }
         $parecido = ($parecido_n + $parecido_a1 + $parecido_a2) / $divisor;
         if ($parecido > 51) {
             if ($parecido >= $minimo) {
                 $xAML = new cAML();
                 $xSocP = new cSocio($PersonaCoincide);
                 $xSocP->init();
                 $origenN = $xSocP->getNombreCompleto();
                 $mensaje = "{$NombreDeOrigen} .- Concidencia({$mNombre}|{$mApp1}|{$mApp2}) del {$parecido} con la persona {$origenN} ";
                 if ($xSocP->getEsPersonaSDN() == true) {
                     //aviso inminente
                     $xAML->setForceRegistroRiesgo();
                     $xAML->setForceAlerts();
                     $xAML->sendAlerts($PersonaDeOrigen, $PersonaDeDestino, 901002, $mensaje);
                 } elseif ($xSocP->getEsPersonaPoliticamenteExpuesta() == true) {
                     //enviar a oficial de cumplimiento
                     $xAML->setForceAlerts();
                     $xAML->sendAlerts($PersonaDeOrigen, $PersonaDeDestino, 901010, $mensaje);
                     //registro pep
                 } else {
                     //enviar a oficial de cumplimiento
                     $xAML->setForceAlerts();
                     $xAML->sendAlerts($PersonaDeOrigen, $PersonaDeDestino, 901010, $mensaje);
                     //registro pep
                 }
                 $this->mMessages .= $xSocP->getMessages();
                 $this->mMessages .= $xAML->getMessages();
             } else {
                 $this->mMessages .= "WARN\tEl parecido con {$mNombre} {$mApp1} {$mApp2} es {$parecido} %\r\n";
             }
         }
     }
 }
$_SESSION["current_file"] = addslashes($theFile);
//<=====	FIN_H
//=====================================================================================================
$xInit = new cHPage("", HP_SERVICE);
$txt = "";
$svc = new MQLService("", "");
$ql = new MQL();
$data = isset($_REQUEST["data"]) ? $svc->getDecryptData($_REQUEST["data"]) : null;
$command = isset($_REQUEST["cmd"]) ? $svc->getDecryptData($_REQUEST["cmd"]) : null;
//$context	= (isset($_REQUEST["ctx"])) ? $svc->getDecryptData($_REQUEST["ctx"]) : null;
$cnt = "";
//setLog("$data $command");
switch ($command) {
    case TPERSONAS_GENERALES:
        $xSoc = new cSocios_general();
        $xSoc->setData($xSoc->query()->initByID($data));
        $cnt = $svc->getEncryptData(json_encode($xSoc->query()->getCampos()));
        //setLog(json_encode($xSoc->query()->getCampos()));
        break;
    case TPERSONAS_DIRECCIONES:
        $xDom = new cSocios_vivienda();
        $D = obten_filas("SELECT * FROM socios_vivienda WHERE socio_numero = {$data} ORDER BY fecha_alta DESC LIMIT 0,1");
        $xDom->setData($D);
        //setLog("SELECT * FROM socios_vivienda WHERE socio_numero = $data ORDER BY fecha_alta DESC LIMIT 0,1");
        //$value = mb_check_encoding($value, 'UTF-8') ? $value : utf8_encode($value);
        //$comment = iconv('UTF-8', 'UTF-8//IGNORE', $comment);
        //SELECT column1, CONVERT(column2 USING utf8)
        $query = $xDom->query();
        $query->setToUTF8();
        //setLog(json_encode($query->getCampos()) );
        $cnt = $svc->getEncryptData(json_encode($query->getCampos()));
$messages .= "=========================\t\tINICIANDO EL CIERRE DE RIESGOS ===================\r\n";
$messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t   ====================\r\n";
$messages .= "=======================================================================================\r\n";
if (MODULO_AML_ACTIVADO == true) {
    $mql = new MQL();
    //crear arbol de relaciones
    $xUtils = new cPersonas_utils();
    $xUtils->setCrearArbolRelaciones();
    //Validar perfiles transaccionales
    //Validar Documentos
    //TODO: Agregar cierre de riesgos
    //checar documentos de todos los socios
    $OSoc = new cSocios_general();
    $rs = $OSoc->query()->select()->exec();
    foreach ($rs as $data) {
        $OSoc->setData($data);
        $xAml = new cAMLPersonas($OSoc->codigo()->v());
        $xAml->init();
        //$xAml->setForceAlerts();
        $xAml->setVerificarDocumentosCompletos($fechaop);
        $xAml->setVerificarDocumentosVencidos($fechaop);
        $messages .= $xAml->getMessages(OUT_TXT);
        /*$xAml	= new cAML();
        		$xAml->setForceAlerts(true);
        		$xAml->sendAlerts(getUsuarioActual(), $PersonaDeDestino, $TipoDeAlerta);*/
        //envio de informes
        //TODO: Agregar envio de informes
        //checar perfil transaccional mensual
    }
    //verificar operaciones de 6 meses excedidas de maximo permitido
    $sql2 = "SELECT\n\t`operaciones_recibos`.`fecha_operacion`              AS `fecha`,\n\t`operaciones_recibos`.`numero_socio`                 AS `persona`,\n\tCOUNT(`operaciones_recibos`.`idoperaciones_recibos`) AS `operaciones`,\n\tSUM(`operaciones_recibos`.`total_operacion`)         AS `monto`\n\tFROM\n\t`operaciones_recibos` `operaciones_recibos`\n\tWHERE\n\t(`operaciones_recibos`.`fecha_operacion` = '{$fechaop}')\n\tGROUP BY\n\t`operaciones_recibos`.`numero_socio`";
 /**
  * Inicializa los datos del socio en un array
  * @param $ArrDatos	array	Array heredada
  * @return array			Array Resultante
  */
 function init($ArrDatos = false)
 {
     $D = array();
     if (setNoMenorQueCero($this->mCodigo) <= 0) {
         $this->mSocioIniciado = false;
     } else {
         if ($ArrDatos == false or !is_array($ArrDatos)) {
             $sql = "SELECT * FROM socios_general WHERE codigo=" . $this->mCodigo . " LIMIT 0,1";
             $D = obten_filas($sql);
         } else {
             $D = $ArrDatos;
         }
         if (isset($D["codigo"])) {
             $xSoc = new cSocios_general();
             $xSoc->setData($D);
             /*		fechaentrevista, fechaalta, estatusactual, region, cajalocal,
             				,genero, eacp, observaciones, idusuario
             				 grupo_solidario, personalidad_juridica,
             				regimen_conyugal, sucursal, fecha_de_revision */
             $this->mNombre = $D["nombrecompleto"];
             $this->mApMaterno = $D["apellidomaterno"];
             $this->mApPaterno = $D["apellidopaterno"];
             $this->mTipoDeIngreso = $D["tipoingreso"];
             $this->mEstadoCivil = $D["estadocivil"];
             $this->mGrupoAsociado = $D["grupo_solidario"];
             $this->mCajaLocal = $D["cajalocal"];
             $this->mDependencia = $D["dependencia"];
             $this->mRFC = $D["rfc"];
             $this->mCURP = $D["curp"];
             $this->mPropietario = $D["idusuario"];
             $this->mFechaDeIngreso = $D["fechaalta"];
             $this->mTipoDeIdent = $D["tipo_de_identificacion"];
             $this->mNumeroDeIdent = $D["documento_de_identificacion"];
             $this->mEmail = $D["correo_electronico"];
             $this->mTelefonoP = $D["telefono_principal"];
             $this->mDependientes = $D["dependientes_economicos"];
             $this->mSucursal = $D["sucursal"];
             //Agrega Valores de array pedidos
             $D["fecha_de_nacimiento"] = $D["fechanacimiento"];
             $D["codigo_de_socio"] = $D["codigo"];
             $this->mFechaDeNacimiento = $D["fechanacimiento"];
             $this->mTipoFiguraJu = $D["personalidad_juridica"];
             $this->mLugarDeNacimiento = $D["lugarnacimiento"];
             $this->mTituloPersona = $xSoc->titulo_personal()->v();
             $this->mPaisDeOrigen = strtoupper($xSoc->pais_de_origen()->v(OUT_TXT));
             $this->mGenero = $xSoc->genero()->v();
             $this->mNivelDeRiesgo = $xSoc->nivel_de_riesgo_aml()->v();
             $this->mObservaciones = $xSoc->observaciones()->v(OUT_TXT);
             $this->mEstadoActual = $xSoc->estatusactual()->v();
             //
             $this->mDSocioByArray = $D;
             //return	$D;
             $this->mSocioIniciado = true;
         }
     }
     if ($this->mSocioIniciado == false) {
         $this->mMessages .= "ERROR\tAl Iniciar a la persona : " . $this->mCodigo . "\r\n";
     }
     return $this->mSocioIniciado;
 }
//=====================================================================================================
$xP = new cHPage("Pruebas de Fechas", HP_FORM);
echo $xP->getHeader();
echo $xP->setBodyinit();
//Crear formularios
$xFRM = new cHForm("frmTest", "./test.php");
$xHTxt = new cHText("");
$xHChk = new cHCheckBox();
$xFRM->setTitle("TR.Pruebas HTML");
//$xFRM->addHTML("<p>Esto es un parrafo de prueba</p>");
$xFRM->addHElem($xHChk->get("id1"));
$xFRM->addHElem($xHChk->get("id2"));
$xFRM->addHElem($xHChk->get("id3"));
$xFRM->addHElem($xHChk->get("id4"));
$xSoc = new cSocios_general();
$xSoc->setData($xSoc->query()->initByID(DEFAULT_SOCIO));
var_dump($xSoc->query()->getCampos());
//$xFRM->addAviso( $xSoc->query()->getListaDeCampos() );
$xFRM->OMoneda("ix", 4500, convertirletras("4,455.05"));
$xFRM->OMoneda("ix", 4500, convertirletras("4454.455.05"));
$xFRM->OMoneda("ix", 4500, convertirletras(45000));
//echo $xFRM->get();
$xTabla = new cCreditos_tipoconvenio();
$xFRM = new cHForm("frmcreditos_tipoconvenio", "creditos_tipoconvenio");
$xFRM->addSubmit();
$xEmp = new cEmpresas(100);
$xEmp->init();
if ($xEmp->getOPersona() == null) {
    $xFRM->OText("idper", "SIN PERSONA", "TR.Persona");
} else {
    $xPer = $xEmp->getOPersona()->init();