function sendAlerts($PersonaDeOrigen, $PersonaDeDestino, $TipoDeAlerta, $mensaje = "", $documento = false, $fecha = false, $hora = false, $valorDeterminado = 0, $tipo_de_docto = false, $tercero_relacionado = DEFAULT_SOCIO) { $hora = setNoMenorQueCero($hora) <= 0 ? date("Hi") : $hora; $fecha = $fecha == false ? fechasys() : $fecha; $documento = $documento == false ? DEFAULT_RECIBO : $documento; $tipo_de_docto = $tipo_de_docto == false ? $this->mTipoDeDocto : $tipo_de_docto; $this->mTipoDeDocto = $tipo_de_docto; $resultado = true; $xRsk = new cAml_risk_catalog(); $xSuc = new cSucursal(); $xSuc->init(); $idnumerico = $xSuc->getClaveNumerica(); $xRsk->setData($xRsk->query()->initByID($TipoDeAlerta)); $riesgo = $xRsk->valor_ponderado()->v(); $nombreRies = $xRsk->descripcion()->v(); $claseRies = $xRsk->tipo_de_riesgo()->v(); $valorDeterminado = $valorDeterminado == 0 ? $xRsk->valor_ponderado()->v() : $valorDeterminado; $xF = new cFecha(); $fecha = $xF->getInt($fecha); $xAl = new cAml_alerts(); $xAl->estado_en_sistema(SYS_UNO); $xAl->fecha_de_checking(SYS_CERO); $xAl->fecha_de_origen($fecha); $xAl->fecha_de_registro($xF->getInt(fechasys())); $xAl->hora_de_proceso($hora); $xAl->documento_relacionado($documento); $xAl->medio_de_envio(AML_ALERT_MAIL); $xAl->mensaje($mensaje); $xAl->riesgo_calificado($valorDeterminado); $xAl->tipo_de_aviso($TipoDeAlerta); $xAl->sucursal($idnumerico); //Verificar $xAl->entidad(EACP_CLAVE_CASFIN); //Actualizar $xAl->usuario(getUsuarioActual()); $xAl->persona_de_destino($PersonaDeDestino); $xAl->persona_de_origen($PersonaDeOrigen); $xAl->tipo_de_documento($tipo_de_docto); $xAl->tercero_relacionado($tercero_relacionado); $id_de_alerta = $xAl->query()->getLastID(); $xAl->clave_de_control($id_de_alerta); $ql = $xAl->query()->insert(); $res = $ql->save(); if (setNoMenorQueCero($res) <= 0) { $this->mMessages .= "ERROR\tAl guardar registro ({$idnumerico})\r\n"; if (MODO_DEBUG == true) { $this->mMessages .= $ql->getMessages(OUT_TXT); } $resultado = false; } //$xCatRiesgo = new cAml_risk_catalog(); //$xCatRiesgo->setData( $xCatRiesgo->query()->initByID($TipoDeAlerta) ); // $xCatRiesgos = new cAml_risk_catalog(); $xCatRiesgos->setData($xCatRiesgos->query()->initByID($TipoDeAlerta)); $nombre_riesgo = $xCatRiesgos->descripcion()->v(); //Enviar SMS $xMail = new cNotificaciones(); //obtener los datos del usuario $xVUser = new cVistaUsuarios(); $xD = $xVUser->query()->initByID($PersonaDeDestino); $xVUser->setData($xD); $userP = $xVUser->codigo_de_persona()->v(); $mailD = false; $telD = false; $xSoc = new cSocio($userP); if ($xSoc->existe($userP) == true) { $xSoc->init(); $mailD = $xSoc->getCorreoElectronico(); $telD = $xSoc->getTelefonoPrincipal(); } else { $this->mMessages .= "ERROR\tNo existe la persona de envio {$userP}\r\n"; } //Array de valores $arrV = array(); $fechacorta = $xF->getFechaCorta($xF->getFechaByInt($fecha)); $arrV["variable_documento_codigo"] = $documento; $arrV["variable_docto_fecha"] = $fechacorta; $arrV["variable_docto_hora"] = $hora; $arrV["variable_nivel_de_riesgo"] = $riesgo; $arrV["variable_tipo_de_riesgo"] = $nombreRies; $arrV["variable_clasificacion_de_riesgo"] = $claseRies; $arrV["variable_codigo_de_alerta"] = $id_de_alerta; $arrV["variable_mensaje_de_alerta"] = $mensaje; $arrV["variable_url_del_sistema"] = SAFE_HOST_URL; //Enviar Mail $xFmt = new cFormato(800); $xFmt->setUsuario($PersonaDeDestino); $xFmt->setPersona($PersonaDeOrigen); $xFmt->setProcesarVars($arrV); $txtMail = $xFmt->get(); if ($valorDeterminado > 51 or $this->mForceAvisos == true) { $xMail->setTitulo(AML_TITULO_DE_ALERTA); $this->mMessages .= $xMail->send($txtMail, $mailD, $telD, $PersonaDeDestino, "{$fechacorta}-{$claseRies}-{$mensaje}", "aml.{$mailD}"); if ($this->mForceRegRiesgo == true) { //Agregar el riesgo $xAlert = new cAMLAlertas($id_de_alerta); $regFecha = $xF->getFechaByInt($fecha); $xAlert->setConfirmaAlerta($mensaje, $regFecha); $this->mMessages .= $xAlert->getMessages(); //$xPAML = new cAMLPersonas($PersonaDeOrigen); //$xPAML->setAgregarPerfilDeRiesgo($TipoDeAlerta, $fecha, $valorDeterminado, $documento, $tipo_de_docto, $PersonaDeDestino, $hora, $tercero_relacionado, $mensaje ); //$this->mMessages .= $xPAML->getMessages(); } } return $resultado; }
$persona = parametro("idsocio", $persona, MQL_INT); $credito = parametro("credito", DEFAULT_CREDITO, MQL_INT); $credito = parametro("idsolicitud", $credito, MQL_INT); $credito = parametro("solicitud", $credito, MQL_INT); $cuenta = parametro("cuenta", DEFAULT_CUENTA_CORRIENTE, MQL_INT); $cuenta = parametro("idcuenta", $cuenta, MQL_INT); $jscallback = parametro("callback"); $tiny = parametro("tiny"); $form = parametro("form"); $action = parametro("action", SYS_NINGUNO); $xHP->init(); /* ----------------- -----------------------*/ $clave = parametro("clave_de_control", null, MQL_INT); $xTabla = new cAml_risk_catalog(); if ($clave != null) { $xTabla->setData($xTabla->query()->initByID($clave)); } $xTabla->setData($_REQUEST); $clave = parametro("id", null, MQL_INT); $xSel = new cHSelect(); if ($clave == null) { $step = MQL_ADD; $clave = $xTabla->query()->getLastID() + 1; } else { $step = MQL_MOD; if ($clave != null) { $xTabla->setData($xTabla->query()->initByID($clave)); } } $xFRM = new cHForm("frmaml_risk_catalog", "catalogo.riesgos.editar.frm.php?action={$step}"); $xFRM->addSubmit();
/** * Efectua operaciones de finalizacion del recibo * @param boolean $UpdateSaldo Marca si Actualiza el Saldo del Credito */ function setFinalizarRecibo($UpdateSaldo = false, $tesoreria_cargada = false) { //generar Poliza a demanda $finalizado = true; //tranferencia.egresos cheque if (MODULO_CAJA_ACTIVADO == false) { $tesoreria_cargada = true; /* Forzar AML si Tesoreria esta Desactivado */ } /** * Modificacion de la condicion de socio por afectar al recibo en SI? */ if ($UpdateSaldo == true) { if ($this->mSumaDeRecibo == 0 or $this->mForceUpdateSaldos == true or !isset($this->mSumaDeRecibo) or $this->mSumaDeRecibo == false or $this->mSumaDeRecibo == '') { $sqlSUM = "SELECT\n\t\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real` * `operaciones_mvtos`.`valor_afectacion`) \tAS 'monto',\n\t\t\t\t\t\t\t\tCOUNT(`operaciones_mvtos`.`idoperaciones_mvtos`)\t\t\t\t\t\t\t\t\t\tAS 'numero',\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado`,\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`operaciones_mvtos`.`recibo_afectado` =" . $this->mCodigoDeRecibo . ")\n\n\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado` "; $TDRec = obten_filas($sqlSUM); $this->mSumaDeRecibo = $TDRec["monto"]; $this->mNumeroDeMvtos = $TDRec["numero"]; $this->mMessages .= "SUCESSACT\tMonto Actualizado a " . $this->mSumaDeRecibo . " y # Operaciones " . $this->mNumeroDeMvtos . "\r\n"; } if (!isset($this->mSumaDeRecibo)) { $this->mSumaDeRecibo = 0; } $sql = "UPDATE operaciones_recibos SET total_operacion=" . $this->mSumaDeRecibo . "\n \t\t\t\tWHERE\tidoperaciones_recibos= " . $this->mCodigoDeRecibo . "\t"; $xRs = my_query($sql); } if ($this->mSetGenerarPoliza == true) { //PolizaPorRecibo($this->mCodigoDeRecibo, GENERAR_POLIZAS_AL_CIERRE); } $this->mTotalRecibo = $this->mSumaDeRecibo; //-- AML if (MODULO_AML_ACTIVADO == true and $this->isPagable() == true and $tesoreria_cargada == true) { $xAml = new cAMLPersonas($this->mSocio); $xAml->init(); $xAml->setForceAlerts(); $xAmlO = new cAMLOperaciones(); $this->init(); if ($xAml->getEsPersonaVigilada() == true) { $tipo_de_pago_aml = $this->mTipoDePago; if (setNoMenorQueCero($this->mTipoOrigenAML) > 0) { $xRisK = new cPersonas_perfil_transaccional_tipos(); $xRisK->query()->initByID($this->mTipoOrigenAML); $tipo_de_pago_aml = strtolower($xRisK->tipo_de_exhibicion()->v(OUT_TXT)); $this->mMessages .= "WARN\tCambiar el perfil de pago de " . $this->mTipoDePago . " a {$tipo_de_pago_aml} \r\n"; } $res = $xAmlO->analizarOperacion($this->mSocio, 0, $this->mMoneda, $tipo_de_pago_aml, $this->getFechaDeRecibo(), $this->getCodigoDeRecibo(), $this->mTipoOrigenAML); if ($res == false) { $this->mMessages .= "OK\tAML Normal \r\n"; if (MODO_DEBUG == true) { $this->mMessages .= $xAmlO->getMessages(OUT_TXT); } } else { //REPORTAR $xAv = new cAML(); if ($xAmlO->getTipoDeReporte() == AML_REPORTE_INMEDIATO) { $xAv->setForceRegistroRiesgo(); $this->mMessages .= "WARN\tAML de Aviso Inmediato\r\n"; } $xAv->sendAlerts($this->mSocio, AML_OFICIAL_DE_CUMPLIMIENTO, $xAmlO->getTipoDeAlerta(), $xAmlO->getMessageAlert(), $this->mCodigoDeRecibo, $this->mFechaDeOperacion); } $this->mMessages .= $xAmlO->getMessages(OUT_TXT); //validar perfil transaccional $xAml->setVerificarPerfilTransaccional(); } //Validar si es person riesgosa $xSoc = $xAml->getOPersona(); if ($xSoc->getEsPersonaSDN() == true) { //REPORTAR operaciones con alto riesgo $idriesgo = AML_ID_OPERACIONES_PERSONAS_ALTO_RIESGO; //operaciones con criminales $xRiesgo = new cAml_risk_catalog(); $xRiesgo->setData($xRiesgo->query()->initByID($idriesgo)); $xAv = new cAML(); $xAv->setForceRegistroRiesgo(); $xAv->sendAlerts($this->mSocio, AML_OFICIAL_DE_CUMPLIMIENTO, $idriesgo, "ERROR\tOperaciones con persona ALTAMENTE RIESGOSA Recibo " . $this->mCodigoDeRecibo, $this->mCodigoDeRecibo, $this->getFechaDeRecibo()); $this->mMessages .= $xAv->getMessages(OUT_TXT); } if ($xSoc->getEsPersonaPoliticamenteExpuesta() == true) { //REPORTAR operaciones con PEPs $idriesgo = AML_ID_OPERACIONES_PERSONAS_PEP; //operaciones con criminales $xRiesgo = new cAml_risk_catalog(); $xRiesgo->setData($xRiesgo->query()->initByID($idriesgo)); $xAv = new cAML(); $xAv->sendAlerts($this->mSocio, AML_OFICIAL_DE_CUMPLIMIENTO, $idriesgo, "ERROR\tOperaciones con PEPS Recibo " . $this->mCodigoDeRecibo, $this->mCodigoDeRecibo, $this->getFechaDeRecibo()); $this->mMessages .= $xAv->getMessages(OUT_TXT); } if ($xSoc->getEsPersonaRiesgosa() == true) { //REPORTAR operaciones con PEPs $idriesgo = 101005; //operaciones con criminales $xRiesgo = new cAml_risk_catalog(); $xRiesgo->setData($xRiesgo->query()->initByID($idriesgo)); $xAv = new cAML(); $xAv->sendAlerts($this->mSocio, AML_OFICIAL_DE_CUMPLIMIENTO, $idriesgo, "ERROR\tOperaciones con Personas de Alto Riesgo.- Recibo " . $this->mCodigoDeRecibo, $this->mCodigoDeRecibo, $this->getFechaDeRecibo()); $this->mMessages .= $xAv->getMessages(OUT_TXT); } //Operaciones de una exhibicion 500 y USD if ($this->mMoneda != AML_CLAVE_MONEDA_LOCAL) { $idriesgo = AML_CLAVE_RIESGO_OPS_INDIVIDUALES; $xRiesgo = new cAml_risk_catalog(); $xMon = new cMonedas($this->mMoneda); $xRiesgo->setData($xRiesgo->query()->initByID($idriesgo)); $unidades = $xMon->getEnDolares($this->getUnidadesOriginales()); if ($unidades >= $xRiesgo->unidades_ponderadas()->v()) { $xAv = new cAML(); $xAv->setForceRegistroRiesgo(); $xAv->sendAlerts($this->mSocio, AML_OFICIAL_DE_CUMPLIMIENTO, $idriesgo, "Operaciones({$unidades}) excedidas de 500 USD en el recibo " . $this->mCodigoDeRecibo . " Moneda " . $this->mMoneda, $this->mCodigoDeRecibo, $this->getFechaDeRecibo()); $this->mMessages .= $xAv->getMessages(OUT_TXT); } else { $this->mMessages .= "OK\tNo hay modificacion para la Moneda " . $this->mMoneda . " por {$unidades} \r\n"; } } // Agregar Relevantes por 10000USD if ($this->isEfectivo() == true) { $idriesgo = AML_CLAVE_RIESGO_OPS_RELEVANTES; $xRiesgo = new cAml_risk_catalog(); $xMon = new cMonedas($this->mMoneda); $mmonto = $this->mMoneda == AML_CLAVE_MONEDA_LOCAL ? $this->getTotal() : $this->getUnidadesOriginales(); $xRiesgo->setData($xRiesgo->query()->initByID($idriesgo)); $unidades = $xMon->getEnDolares($mmonto); if ($unidades >= $xRiesgo->unidades_ponderadas()->v()) { $xAv = new cAML(); $xAv->setForceRegistroRiesgo(); $xAv->sendAlerts($this->mSocio, AML_OFICIAL_DE_CUMPLIMIENTO, $idriesgo, "Operaciones Relevantes por {$unidades} USD en el recibo " . $this->mCodigoDeRecibo . " Moneda " . $this->mMoneda, $this->mCodigoDeRecibo, $this->getFechaDeRecibo()); $this->mMessages .= $xAv->getMessages(OUT_TXT); } else { $this->mMessages .= "OK\tNo hay modificacion para la Moneda " . $this->mMoneda . " por {$unidades} \r\n"; } } if ($xAml->getEsPersonaVigilada() == true) { //Operaciones Internas Preocupantes por Usuario $xAml->setAnalizarTransaccionalidadPorNucleo($this->mCodigoDeRecibo, $this->mFechaDeOperacion, $this->mUsuario, true); } $this->mMessages .= $xAml->getMessages(OUT_TXT); } return $finalizado; }
$filtro2 = ""; $xHP->setNoDefaultCSS(); echo $xHP->getHeader(true); //HTML Object END echo '<body onmouseup="SetMouseDown(false);" ><div id="onGrid">'; //Define your grid $_SESSION["grid"]->SetDatabaseConnection(MY_DB_IN, USR_DB, PWD_DB); //Propiedades del GRID $mGridTitulo = $xHP->getTitle(); $mGridKeyField = $xTabla->getKey(); //Nombre del Campo Unico $mGridKeyEdit = true; //Es editable el Campo $mGridTable = $xTabla->get(); //Nombre de la tabla $mGridSQL = $xTabla->query()->getListaDeCampos(); // "*"; //$xTabla->query()->getCampos(); $mGridWhere = ""; $mGridProp = array("clave_de_control" => "Clave,true,11", "descripcion" => "descripcion,true,150", "tipo_de_riesgo" => "tipo,true,11", "valor_ponderado" => "valor,true,37", "unidades_ponderadas" => "unidades,true,37", "unidad_de_medida" => "medida,true,10", "forma_de_reportar" => "Reporte,false,4", "frecuencia_de_chequeo" => "chequeo,false,4"); $mGridSQL = "clave_de_control,descripcion,tipo_de_riesgo,valor_ponderado,unidades_ponderadas,unidad_de_medida,forma_de_reportar,frecuencia_de_chequeo"; //=========================================================================================================== $_SESSION["grid"]->SetSqlSelect($mGridSQL, $mGridTable, $mGridWhere); $_SESSION["grid"]->SetUniqueDatabaseColumn($mGridKeyField, $mGridKeyEdit); $_SESSION["grid"]->SetTitleName($mGridTitulo); $_SESSION["grid"]->SetEditModeAdd(false); //$_SESSION["grid"]->SetEditModeDelete(false); $_SESSION["grid"]->SetPlugin("tipo_de_riesgo", "select", array("sql" => "SELECT * FROM aml_risk_types")); //=========================================================================================================== foreach ($mGridProp as $key => $value) { $mVals = explode(",", $value, 10); if (isset($mVals[0])) {