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); }
$xFRM->addHElem($xSel->getListaDeObjetosEnSistema()->get(true)); $xFRM->addHElem($xTa->get("idmensaje", "", $xHP->lang("mensaje"))); //$xFRM->addCreditBasico(); $xFRM->addSubmit(); } else { //LOS REPORTES DIRECTOS SI SE NOTIFICAN AL OFICIAL $arrValores = array("montoabonado" => MQL_FLOAT, "idusuarioreportado" => MQL_INT, "idmensaje" => MQL_STRING, "fecha_de_evento" => MQL_STRING, "idtipoderiesgo" => MQL_INT, "iddocumento" => MQL_INT, "idsocio" => MQL_INT); $xF = new cFecha(); $VR = getVariablesSanas($_POST, $arrValores); $fecha = $xF->getFechaISO($VR["fecha_de_evento"]); //$fecha = $xF->getInt($fecha); $usuarioreportado = $VR["idusuarioreportado"]; $motivo = $VR["idtipoderiesgo"]; $mensaje = $VR["idmensaje"]; $documento = $VR["iddocumento"]; $tercero = $VR["idsocio"]; $tipo_de_documento = parametro("idobjetodesistema", iDE_RECIBO, MQL_INT); $xAml = new cAML(); $xAml->setReportarUsuario($usuarioreportado, $motivo, $mensaje, $documento, $fecha, $tercero, $tipo_de_documento); $xFRM->addAviso($xAml->getMessages()); $xFRM->addToolbar($xBtn->getIrAlInicio(true)); } echo $xFRM->get(); echo $xHP->setBodyEnd(); $jsb->show(); ?> <!-- HTML content --> <script> </script> <?php $xHP->end();