function add($clave_de_persona, $nombre_del_contacto, $clave_de_contacto = false, $dias_de_aviso = "", $periocidad_de_aviso, $nombre_corto = "", $oficial_a_cargo = false, $emails = "", $producto_preferente = DEFAULT_TIPO_CONVENIO, $dias_de_nomina = "", $dias_de_pago = "") { $res = false; $clave_de_contacto = $clave_de_contacto == false ? DEFAULT_SOCIO : $clave_de_contacto; $id = $this->getLastID() + 1; $xSoc = new cSocio($clave_de_persona); $xSoc->init(); $nombre = $xSoc->getNombreCompleto(); $domicilio = $xSoc->getDomicilio(); $DTels = $xSoc->getTelefonos(); $telefono = $DTels["principal"]; $mail = $emails . $xSoc->getCorreoElectronico(); //$dias_de_aviso = ""; //$periocidad_de_aviso = ""; $oficial_a_cargo = $oficial_a_cargo == false ? getUsuarioActual() : $oficial_a_cargo; //$nombre_corto = ""; /* descripcion_dependencia, domicilio_completo, directivo_principal, telefono, fecha_preferente_de_pago, clave_de_persona, clave_de_directivo, ultimo_periodo_enviado, fecha_de_envio, `formato_de_envio` `formato_de_relacion` */ $sql = "INSERT INTO socios_aeconomica_dependencias\n\t\t(idsocios_aeconomica_dependencias, descripcion_dependencia, domicilio_completo,\n\t\tdirectivo_principal, telefono, clave_de_persona, clave_de_directivo, dias_de_avisos, periocidad_de_avisos, \n\t\toficial_que_cierra, nombre_corto, email_de_envio, producto_preferente, dias_de_pago_nomina, dias_de_liquidacion)\n\t\tVALUES ({$id}, '{$nombre}', '{$domicilio}', '{$nombre_del_contacto}', '{$telefono}', {$clave_de_persona}, {$clave_de_contacto}, '{$dias_de_aviso}', '{$periocidad_de_aviso}',\n\t\t {$oficial_a_cargo}, '{$nombre_corto}', '{$emails}', {$producto_preferente}, '{$dias_de_nomina}', '{$dias_de_pago}')"; $cx = my_query($sql); if ($cx[SYS_ESTADO] == true) { $res = $id; $this->mMessages .= "OK\tRegistro de Empresa correcto\r\n"; } else { $this->mMessages .= "ERROR\tRegistro de Empresa fallido\r\n"; } return $id; }
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; }
function setProcesarProgramacion($id, $arrVars = false, $data = false, $fecha = false) { $xF = new cFecha(); $xT = new cTipos(); $xLog = new cCoreLog(); $arrVars = $arrVars == false ? $this->mArrVars : $arrVars; //idprograma, nombre_del_aviso, forma_de_creacion, programacion, destinatarios, microformato, tipo_de_medios, intent_check, intent_command $sql = "SELECT *\tFROM sistema_programacion_de_avisos WHERE idprograma={$id} LIMIT 0,1"; $d = $data == false ? obten_filas($sql) : $data; $mOb = new cSistema_programacion_de_avisos(); $mOb->setData($d); $emails = array(); $tels = array(); $enviar = false; $fecha = $fecha == false ? fechasys() : $fecha; $nombredia = $xF->getDayName(); $diadelmes = date("j", $xF->getInt()); $EnviarNota = true; $EnviarMail = true; $EnviarSMS = false; $xLoc = new cLocal(); //procesar cuerpo del contenido $arrVars["fecha"] = !isset($arrVars["fecha"]) ? $fecha : $arrVars["fecha"]; $arrVars["fecha_dia_siguiente"] = $xF->setSumarDias(1, $fecha); $arrVars["fecha_inicio_de_semana"] = $xF->getFechaDeInicioDeSemana($fecha); $arrVars["fecha_inicio_de_mes"] = $xF->getDiaInicial($fecha); //Dia de la semana inicial $arrVars["hora"] = date("H"); $arrVars["usuario"] = $xLoc->getNombreUsuario(); $arrVars["clave_de_usuario"] = !isset($arrVars["clave_de_usuario"]) ? getUsuarioActual() : $arrVars["clave_de_usuario"]; //interpretar DIA if (strtoupper($mOb->forma_de_creacion()->v()) == SYS_ALERTA_POR_EVENTO) { $enviar = true; } else { //if($mOb->programacion()) $programacion = strtoupper($mOb->programacion()->v()); $periodo = explode(":", $programacion); //INTERPRETAR DIA if ($periodo[0] == "PROGRAMACION_SEMANAL") { if (strpos($nombredia, $programacion) !== false) { $enviar = true; } } else { if ($periodo[0] == "PROGRAMACION_DIARIA") { $enviar = true; } else { if (isset($periodo[1])) { $dias = explode(",", $periodo[1]); foreach ($dias as $dias => $iddia) { $mes = $xF->mes(); $anno = $xF->anno(); if (date("Y-m-d", strtotime("{$anno}-{$mes}-{$iddia}")) == $fecha) { $enviar = true; } } } } } } //1.- extraer emails $destinatarios = explode("|", $mOb->destinatarios()->v()); foreach ($destinatarios as $key => $cnt) { if (trim($cnt) != "") { //1.1 Desfragmentar destinos $DS = explode(":", $cnt); $mdestino = isset($DS[0]) ? strtoupper($DS[0]) : ""; switch ($mdestino) { case "OFICIALES": if (isset($DS[1])) { $oficiales = explode(",", $DS[1]); foreach ($oficiales as $ofc => $ofkey) { $xOf = new cOficial($ofkey); $xOf->init(); $mail = $xOf->getEmail(); $emails[] = $mail; $xLog->add("OK\tOFICIAL\tAgregar mail {$mail} \r\n", $xLog->DEVELOPER); } } break; case "EMPRESAS": if (isset($DS[1])) { $empresas = explode(",", $DS[1]); foreach ($empresas as $emp => $empkey) { $xEmp = new cEmpresas($empkey); $xEmp->init(); //$mail = $xEmp->getEmailsDeEnvio(); //$emails[] = $mail; $emails = array_merge($emails, $xEmp->getEmailsDeEnvio()); $xLog->add("OK\tEMPRESAS\tAgregar mail de la empresa {$empkey} \r\n", $xLog->DEVELOPER); } } break; case "PERSONAS": if (isset($DS[1])) { $personas = explode(",", $DS[1]); foreach ($personas as $ofc => $ofkey) { $xSoc = new cSocio($ofkey); $xSoc->init(); $mail = $xSoc->getCorreoElectronico(); $emails[] = $mail; $xLog->add("OK\tPERSONA\tAgregar mail {$mail} \r\n", $xLog->DEVELOPER); if ($xT->cNumeroTelefonico($xSoc->getTelefonoPrincipal()) != false) { $EnviarSMS = true; $tels[] = $xT->cNumeroTelefonico($xSoc->getTelefonoPrincipal()); } } } break; case "CORREO": if (isset($DS[1])) { $personas = explode(",", $DS[1]); foreach ($personas as $ofc => $ofkey) { if (filter_var($ofkey, FILTER_VALIDATE_EMAIL)) { $emails[] = $ofkey; } $xLog->add("OK\tCORREO\tAgregar mail {$ofkey} \r\n", $xLog->DEVELOPER); } } break; } //1.1.1 Validar oficiales, empresas, personas //if(strpos("OFICIALES:", $needle)) } } $this->mMessages .= $xLog->getMessages(); $texto = $mOb->microformato()->v(); foreach ($arrVars as $variable => $valor) { $texto = str_replace("{" . $variable . "}", $valor, $texto); } if ($enviar == true) { $url = $mOb->intent_command()->v(OUT_TXT); //2 procesado del comando if (trim($url) == "") { $titulo = strtoupper($mOb->nombre_del_aviso()->v()); $xNot = new cNotificaciones(); //enviar mail normal if ($EnviarSMS == true) { foreach ($tels as $pitm => $ptel) { $xNot->sendSMS($ptel, $texto); } } if ($EnviarMail == true) { foreach ($emails as $itm => $pmail) { $xNot->sendMail($titulo, $texto, $pmail); } } } else { //execute command //rpttesoreria/corte_de_caja.rpt.php?on=2014-5-3&off=2014-5-3&cajero=todas&dependencia=todas $smail = ""; $xHO = new cHObject(); foreach ($arrVars as $variable => $valor) { $url = str_replace("{" . $variable . "}", $valor, $url); } foreach ($emails as $id => $rmail) { //$smail .= ($smail == "") ? "email$id=$rmail" : "&email$id=$rmail"; $smail .= "&email{$id}={$rmail}"; } //Iniciar session en contexto &on=$fecha&off=$fecha $xSysUser = new cSystemUser(); $xSysUser->init(); $url = $url . $smail . "&ctx=" . $xSysUser->getCTX(); if (MODO_DEBUG == true) { setLog($url); } $xHO->navigate($url); } } else { $this->mMessages .= "OK\tNo e envia el reporte\r\n"; } setLog($this->mMessages); $this->mObProgAv = $mOb; //return $this->mObProgAv; }