$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(" ");
            $xTa->addTD(" ");
$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`";
    $rs1 = $mql->getDataRecord($sql2);
 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";
             }
         }
     }
 }
 function getImportarDesdeAsociada($tipo)
 {
     $result = true;
     $svc = new MQLService("", "");
     $cmd = $svc->getEncryptData($tipo);
     $xTu = new cSystemUser(TASK_USR, false);
     $xTu->init();
     $ctx = $xTu->getCTX();
     $data = $svc->getEncryptData($this->mCodigo);
     $host = SVC_ASOCIADA_HOST;
     switch ($tipo) {
         case TPERSONAS_GENERALES:
             $dpersona = $svc->getService($host . "svc/exportar.svc.php?ctx={$ctx}&data={$data}&cmd={$cmd}");
             if (is_array($dpersona)) {
                 $xSoc = new cSocios_general($dpersona);
                 if (setNoMenorQueCero($xSoc->codigo()->v()) > 0) {
                     $xSoc->query()->insert()->save();
                     $result = true;
                 }
             }
             break;
         case TPERSONAS_DIRECCIONES:
             $ddomicilio = $svc->getService($host . "svc/exportar.svc.php?ctx={$ctx}&data={$data}&cmd={$cmd}");
             if (is_array($ddomicilio)) {
                 $xDom = new cSocios_vivienda($ddomicilio);
                 if (setNoMenorQueCero($xDom->idsocios_vivienda()->v())) {
                     $xDom->query()->insert()->save();
                     $result = true;
                 }
             }
             break;
         case TPERSONAS_ACTIVIDAD_ECONOMICA:
             $dtrabajo = $svc->getService($host . "svc/exportar.svc.php?ctx={$ctx}&data={$data}&cmd={$cmd}");
             if (is_array($dtrabajo)) {
                 $xTrab = new cSocios_aeconomica($dtrabajo);
                 if (setNoMenorQueCero($xTrab->idsocios_aeconomica()->v())) {
                     $xTrab->query()->insert()->save();
                     $result = true;
                 }
             }
             break;
         case TCATALOGOS_EMPRESAS:
             $dempresa = $svc->getService($host . "svc/exportar.svc.php?ctx={$ctx}&data={$data}&cmd={$cmd}");
             if (is_array($dempresa)) {
                 $xEmp = new cSocios_aeconomica_dependencias($dempresa);
                 if (setNoMenorQueCero($xEmp->idsocios_aeconomica_dependencias()->v())) {
                     $xEmp->query()->insert()->save();
                     $result = true;
                 }
             }
             break;
     }
     return $result;
 }