$xTa->addTD($actividad); //$xTa->addTD( $xOAE->getPuesto(true) ); } $xViv = $xSoc->getODomicilio(); if ($xViv == null) { $xTa->addTD(" "); } else { $xTa->addTD(htmlentities($xViv->getDireccionBasica())); } $tel = setNoMenorQueCero($xSoc->getTelefonoPrincipal()) <= 0 ? "" : $xSoc->getTelefonoPrincipal(); $xTa->addTD($tel); //apoderado $xTa->addTD($xSoc->getNombreDelRepresentanteLegal()); $esPep = $xSoc->getEsPersonaPoliticamenteExpuesta() == false ? "NO" : "SI"; $xTa->addTD($esPep); $esSDN = $xSoc->getEsPersonaSDN() == false ? "NO" : "SI"; $xTa->addTD($esSDN); $griesgo = isset($DRiesgo[$xSoc->getNivelDeRiesgo()]) ? $DRiesgo[$xSoc->getNivelDeRiesgo()] : ""; $xTa->addTD($griesgo); if ($saldoCred > 0) { $xTa->addTD("CREDITO"); $xTa->addTD($xSoc->getOEstats()->getTotalCreditosActivosAutorizado()); $xTa->addTD($saldoCred); } else { $xTa->addTD(" "); $xTa->addTD(" "); $xTa->addTD(" "); } /* `personas_perfil_transaccional`.`clave_de_tipo_de_perfil` AS `tipo`, `personas_perfil_transaccional_tipos`.`nombre_del_perfil` AS `perfil`, `personas_domicilios_paises`.`nombre_oficial` AS `pais`,
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"; } } } }