function setAnalizarTransaccionalidadPorNucleo($recibo = false, $fecha = false, $usuario = false, $alertar = false)
 {
     $xF = new cFecha();
     $xQ = new MQL();
     $usuario = setNoMenorQueCero($usuario);
     $fecha = $xF->getFechaISO($fecha);
     if ($this->mOSocio == null) {
         $this->getOPersona();
     }
     $idnucleo = $this->mOSocio->getIDNucleoDeRiesgo();
     $persona_relacionada = $this->mOSocio->getCodigo();
     $sql1 = "SELECT * FROM personas_operaciones_recursivas WHERE persona ={$idnucleo} AND usuario={$usuario} LIMIT 0,1";
     $DNormal = $xQ->getDataRow($sql1);
     $operaciones = 1;
     $monto = null;
     $aviso = false;
     if (isset($DNormal["operaciones"])) {
         $operaciones = $DNormal["operaciones"];
         $monto = $DNormal["monto"];
         $sql2 = "SELECT\n\t\t\t\t\t`personas_relaciones_recursivas`.`persona`     AS `persona`,\n\t\t\t\t\t`operaciones_recibos`.`idusuario`              AS `usuario`, \n\t\t\t\t\t\t\n\t\t\t\t\tCOUNT(`operaciones_recibos`.`idoperaciones_recibos`) AS `operaciones`,\n\t\t\t\t\tSUM(`operaciones_recibos`.`total_operacion`) AS `monto`\n\t\t\t\tFROM\n\t\t\t\t\t`operaciones_recibos` `operaciones_recibos` \n\t\t\t\t\t\tINNER JOIN `personas_relaciones_recursivas` \n\t\t\t\t\t\t`personas_relaciones_recursivas` \n\t\t\t\t\t\tON `operaciones_recibos`.`numero_socio` = \n\t\t\t\t\t\t`personas_relaciones_recursivas`.`persona`\n\t\t\t\tWHERE\n\t\t\t\t\t(`operaciones_recibos`.`origen_aml` >0)\n\t\t\t\t\tAND (`operaciones_recibos`.`idusuario`={$usuario})\n\t\t\t\t\tAND (`operaciones_recibos`.`fecha_operacion`  = '{$fecha}') \n\t\t\t\t\tAND (`personas_relaciones_recursivas`.`clave_interna` = {$idnucleo})\n\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t`personas_relaciones_recursivas`.`persona`,\n\t\t\t\t\t\t`operaciones_recibos`.`idusuario` ";
         $DEfectuado = $xQ->getDataRow($sql2);
         if (isset($DEfectuado["operaciones"])) {
             //evalua lo operado
             if ($DEfectuado["operaciones"] > $operaciones) {
                 //se pasa en numero
                 $dif = $DEfectuado["operaciones"] - $operaciones;
                 $this->mMessages .= "ERROR\tNUCLEOS\tNumero de Operaciones Excedidas en {$dif} del usuario {$usuario} con el Nucleo {$idnucleo} \r\n";
                 $aviso = true;
             }
             if ($DEfectuado["monto"] > $monto) {
                 //se pasa en numero
                 $dif = $DEfectuado["monto"] - $monto;
                 $this->mMessages .= "ERROR\tNUCLEOS\tMonto de Operaciones Excedidas en {$dif} del usuario {$usuario} con el Nucleo {$idnucleo}\r\n";
                 $aviso = true;
             }
             if ($aviso == true and $alertar == true) {
                 $xAml = new cAML();
                 $xAml->setForceAlerts(true);
                 $xAml->setReportarUsuario($usuario, AML_ID_OPERACIONES_ATOMICAS, $this->mMessages, $recibo, $fecha, $persona_relacionada, iDE_RECIBO);
                 $this->mMessages .= $xAml->getMessages();
             }
         } else {
             $this->mMessages .= "WARN\tNUCLEOS\tNo hay Monto para Evaluar al usuario {$usuario} con el Nucleo {$idnucleo}\r\n";
         }
     } else {
         $this->mMessages .= "WARN\tNUCLEOS\tNo hay parametros para Evaluar al usuario {$usuario} con el Nucleo {$idnucleo}\r\n";
     }
     setLog($this->mMessages);
 }
 function setActualizarNivelDeRiesgo($nivel = SYS_RIESGO_BAJO, $mensaje = "", $fecha = false)
 {
     $xNot = new cNotificaciones();
     $xF = new cFecha();
     $fecha = $xF->getFechaISO($fecha);
     $mensaje = $xNot->cleanString($mensaje);
     //AML.- Agregar aviso de cambio
     if ($nivel >= SYS_RIESGO_ALTO and MODULO_AML_ACTIVADO == true) {
         $xAml = new cAML();
         $xAml->setForceAlerts();
         $xAml->sendAlerts($this->mCodigo, AML_OFICIAL_DE_CUMPLIMIENTO, AML_RISK_INTERNAL_OPERATION, $mensaje, false, $fecha);
         //TODO: Exportar a asociada, falta relaciones exportar relaciones
         $this->getExportarAsociada(TPERSONAS_GENERALES, SVC_REMOTE_HOST);
         $this->getExportarAsociada(TPERSONAS_DIRECCIONES, SVC_REMOTE_HOST);
         $this->getExportarAsociada(TPERSONAS_ACTIVIDAD_ECONOMICA, SVC_REMOTE_HOST);
         $this->mMessages .= $xAml->getMessages();
     }
     //Omitir AML en la actualizacion
     $this->setOmitirAML(true);
     $this->setUpdate(array("nivel_de_riesgo_aml" => $nivel));
     //agregar una Noticiacion a la Persona de Nota
     $this->addMemo(MEMOS_TIPO_HISTORIAL, $mensaje, false, $fecha);
 }