function avisoCompra($idTramite, $mensaje) { $cnn = new conexion(); // Buscamos quien debe aprobar esta solicitud $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); $t_dueno = $tramite->Get_dato("t_dueno"); $sql = "SELECT sv_id_agencia, h_id_agencia, t_id_agencia\n\t\t\t\tFROM solicitud_viaje \n\t\t\t\tLEFT JOIN sv_itinerario ON svi_solicitud = sv_id\n\t\t\t\tLEFT JOIN hospedaje ON h_id_itinerario = svi_id\n\t\t\t\tLEFT JOIN traslados ON t_id_itinerario = svi_id\n\t\t\t\tWHERE sv_tramite = " . $idTramite; //error_log('QUERY......'.$sql); $res = @mysql_query($sql); $parametro = ''; //llenado de parametros while ($row = @mysql_fetch_assoc($res)) { $parametro .= validaDatos($row['sv_id_agencia'], $row['h_id_agencia'], $row['t_id_agencia']); /*construccion de sentencia anterior * $validacion.= " OR u_id = ".$row['sv_id_agencia']; * $validacion.= " OR u_id = ".$row['h_id_agencia']; * $validacion.= " OR u_id = ".$row['t_id_agencia']; */ } $sql = "SELECT DISTINCT u_id FROM usuario WHERE 1!=1 {$parametro}"; //error_log('QUERY'.$sql); //error_log('QUERY CON PARAMETROS'.$parametro); $res = @mysql_query($sql); //enviara a laos usuarios correspondientes. while ($row = @mysql_fetch_assoc($res)) { $tramite->EnviaNotificacion($idTramite, $mensaje, $t_dueno, $row['u_id'], "0"); //"0" para no enviar email y "1" para enviarlo } }
$invitacionID = $Solicitud_invitacion->Add_invitacion($motivo, $no_invitados, $monto_solicitud, $monto_pesos_solicitud, $divisa_solicitud_final, $cecos_solicitud, $idTramite, $ciudad_solicitud, $observaciones_solicitud, "", $fechainvit, $inv_lugar, $inv_hubo_exedente); } //Inserción del solicitante for ($i = 1; $i <= $_POST['rowCount']; $i++) { $sNombre = $_POST['nombre' . $i]; $sPuesto = $_POST['puesto' . $i]; $sTipo = $_POST['tipo' . $i]; $sEmpresa = $_POST['empresa' . $i]; $id_detalle_solicitud_invitacion = add_detalle_solicitud_invitacion($invitacionID, $sNombre, $sPuesto, $sEmpresa, $sTipo, $idTramite); } $tramite->Modifica_Etapa($idTramite, SOLICITUD_INVITACION_ETAPA_EN_APROBACION_POR_DIRECTOR, FLUJO_SOLICITUD_INVITACION, $iduser, ""); $duenoActual = new Usuario(); $duenoActual->Load_Usuario_By_ID($delegado); $nombreUsuario = $duenoActual->Get_dato('nombre'); $mensaje = sprintf("La solicitud de Invitación <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en su nombre y requiere de su aprobación.", $idTramite, $nombreUsuario); $tramite->EnviaNotificacion($idTramite, $mensaje, $delegado, $iduser, "1", ""); //"0" para no enviar email y "1" para enviarlo $tramite->actualizaDelegado($idTramite, $delegado); header("Location: ./index.php?docs=docs&type=2&oksave"); } else { //echo "<meta http-equiv='location' content='0; url=http://".$SERVER.$RUTA_R."flujos/solicitudes/index.php?docs=docs&type=2&errsave'>"; header("Location: ./index.php?docs=docs&type=2&errsave"); //die(); } //if row } //if guarda comp if (isset($_GET['new2'])) { //*****************************//COMPROBACION GENERAL//*****************************// require_once "../../functions/RutaAutorizacion.php"; require_once "{$RUTA_A}/functions/utils.php";
$nombreUsuario = $duenoActual->Get_dato('nombre'); $iniciador = $tramite->Get_dato("t_iniciador"); if ($sObser != "") { $notificacion = new Notificacion(); $observaciones = $notificacion->anotaObservacion($delegado, $HObser, $sObser, FLUJO_SOLICITUD, ""); $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $observaciones, $idTramite); $cnn->ejecutar($queryObserv); } else { $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $HObser, $idTramite); $cnn->ejecutar($queryObserv); } $tramite->Modifica_Etapa($idTramite, SOLICITUD_ETAPA_EN_APROBACION_POR_DIRECTOR, FLUJO_SOLICITUD, $iduser, ""); $mensaje = sprintf("La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en su nombre y requiere de su aprobación.", $idTramite, $nombreUsuario); $remitente = $delegado; $destinatario = $iniciador; $tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, "1", ""); //"0" para no enviar email y "1" para enviarlo if ($mobile) { echo "<meta http-equiv='Refresh' content='0; URL=http://" . $SERVER . $RUTA_R . "flujos/solicitudes/index.php?okdirector'>"; } else { echo "<script language='Javascript'> location.href='http://" . $SERVER . $RUTA_R . "flujos/solicitudes/index.php?okdirector';</script>"; } } else { //$iduser=$_POST['iu']; if ($sObser != "") { $notificacion = new Notificacion(); $observaciones = $notificacion->anotaObservacion($iduser, $HObser, $sObser, FLUJO_SOLICITUD, ""); $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $observaciones, $idTramite); $cnn->ejecutar($queryObserv); } else { $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $HObser, $idTramite);
$texto = $_POST['observ_to_emple']; $t_id = $_POST["tramite"]; $u_id = $_POST["iu"]; $cnn = new conexion(); $query = sprintf("insert into observaciones(\n\t\t\t\tob_id,\n\t\t\t\tob_texto,\n\t\t\t\tob_fecha,\n\t\t\t\tob_tramite,\n\t\t\t\tob_usuario\n\t\t\t)values(\n\t\t\t\tdefault,\n\t\t\t\t'%s',\n\t\t\t\tnow(),\n\t\t\t\t%s,\n\t\t\t\t%s\n\t\t\t)", $texto, $t_id, $u_id); $ob_id = $cnn->insertar($query); $tramite = new Tramite(); //Se modifica la etapa $aprobador = $u_id; $ruta_autorizadores = ""; $tramite->Modifica_Etapa($t_id, SOLICITUD_ETAPA_APROBACION, FLUJO_SOLICITUD, $aprobador, $ruta_autorizadores); //Se envia la notificacion al empleado $mensaje = sprintf("La agencia de viajes ha realizado <strong>OBSERVACIONES</strong> sobre la solicitud <strong>%s</strong>.", $t_id); $destinatario = $_POST['id_empleado']; if ($ob_id != "") { $tramite->EnviaNotificacion($t_id, $mensaje, $u_id, $destinatario); } if ((isset($_POST['rowCount']) && $_POST['rowCount'] != 0 || isset($_POST['rowCountHotel']) && $_POST['rowCountHotel'] != 0 || isset($_POST['rowCountAuto']) && $_POST['rowCountAuto'] != 0) && isset($_POST['iniciador']) && $_POST['iniciador'] != "") { $mensaje2 = sprintf("La agencia de viajes ha realizado <strong>COTIZACIONES</strong> sobre la solicitud <strong>%s</strong>.", $t_id); if ($ob_id != "") { $tramite->EnviaNotificacion($t_id, $mensaje2, $u_id, $destinatario); } require_once "{$RUTA_A}/flujos/solicitudes/services/C_SV.php"; $CViaje = new C_SV(); $cnn = new conexion(); // Carga los datos del tramite $observaciones = $_POST['observ']; $idTramite = $_POST['tramite']; $nIniciador = $_POST['iniciador']; $Etapa_del_tramite = $_POST['etapa_del_tramite']; $Anticipo = $_POST['Total'];
$duenoActual01 = new Usuario(); if ($duenoActual01->Load_Usuario_By_ID($t_dueno)) { $dueno_act_nombre = $duenoActual01->Get_dato('nombre'); } else { $agrup_usu = new AgrupacionUsuarios(); $agrup_usu->Load_Grupo_de_Usuario_By_ID($t_dueno); $dueno_act_nombre = $agrup_usu->Get_dato("au_nombre"); } $remitente = $t_dueno; $destinatario = $tramite->Get_dato("t_iniciador"); //$mensaje = sprintf("La Comprobación de Viaje <strong>%05s</strong> ha sido <strong>MODIFICADA</strong> por <strong>%05s</strong>", $idTramite, $dueno_act_nombre); //$tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, 1, ""); if (!$finRuta) { $mensaje = $tramite->crearMensaje($idTramite, COMPROBACION_ETAPA_EN_APROBACION, false, true, $t_delegado); $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_EN_APROBACION, FLUJO_COMPROBACION, $siguienteAprobador, ""); $tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, 1, ""); $mensaje2 = sprintf("La Comprobación de Viaje <strong>%05s</strong> ha sido <strong>AUTORIZADA</strong> por <strong>%05s</strong> y requiere de su autorización", $idTramite, $dueno_act_nombre); $tramite->EnviaNotificacion($idTramite, $mensaje2, $remitente, $siguienteAprobador, 1, ""); } else { $mensaje = sprintf("La Comprobación de Viaje <strong>%05s</strong> ha sido <strong>APROBADA</strong> por completo.", $idTramite); $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_APROBADA, FLUJO_COMPROBACION, $siguienteAprobador, ""); $tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, 1, ""); $tramite->setCierreFecha($idTramite); $queryTramite = sprintf("SELECT * FROM tramites WHERE t_id = {$idTramite}"); $res_Tramite = $cnn->consultar($queryTramite); while ($fila_Tramite = mysql_fetch_assoc($res_Tramite)) { $fCierre = $fila_Tramite['t_fecha_cierre']; } $f = $fCierre = explode("-", $fCierre); $mes = $f[1]; $queryCECO = sprintf("SELECT * FROM comprobaciones WHERE co_mi_tramite = {$idTramite}");
$notificacion = new Notificacion(); $observaciones = $notificacion->anotaObservacion($iduser, $HObser, $observaciones, FLUJO_COMPROBACION_INVITACION, COMPROBACION_ETAPA_EN_APROBACION); $queryInsertaObs=sprintf("UPDATE comprobacion_invitacion SET co_observaciones = '%s' WHERE co_mi_tramite = '%s'", $observaciones, $idTramite); $cnn->ejecutar($queryInsertaObs); } $duenoActual = new Usuario(); $duenoActual->Load_Usuario_By_ID($iduser); $nombreUsuario = $duenoActual->Get_dato('nombre'); $mensaje = sprintf("La Comprobación de Invitación <strong>%05s</strong> ha sido <strong>RECHAZADA</strong> por: <strong>%s</strong>.", $idTramite, $nombreUsuario); $remitente = $iduser; $destinatario = $iniciador; $tramite->Modifica_Dueno($idTramite, COMPROBACION_INVITACION_ETAPA_RECHAZADA_POR_DIRECTOR, FLUJO_COMPROBACION_INVITACION, $t_dueno, $iniciador); //$tramite->Modifica_Etapa($idTramite, COMPROBACION_INVITACION_ETAPA_RECHAZADA_POR_DIRECTOR, FLUJO_COMPROBACION_INVITACION, $iniciador, ""); $tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, "0", ""); //"0" para no enviar email y "1" para enviarlo // Regresa a la pagina de solicitudes de invitaci�n if($mobile){ echo "<meta http-equiv='Refresh' content='0; URL=http://".$SERVER.$RUTA_R."flujos/comprobaciones/index.php?docs=docs&type=4&action=rechazar'>"; }else{ echo ("<script language='Javascript'> location.href='http://".$SERVER.$RUTA_R."flujos/comprobaciones/index.php?docs=docs&type=4&action=rechazar';</script>"); } } else if((isset($_GET['view']) && isset($_GET['id'])) || (isset($_GET['edit_view']) && isset($_GET['id'])) || (isset($_GET['VIEW']) && isset($_GET['ID'])) || (isset($_GET['EDIT_VIEW']) && isset($_GET['ID']))){ if(isset($_GET['id'])){ $idTramite=$_GET['id']; }else{ $idTramite=$_GET['ID']; }
} if ($row['Falta_to'] == 1) { $parametro .= " OR (ut_tipo = 11 AND p_pais_viaje = " . $row['Origen'] . ")"; } if ($row['Falta_td'] == 1) { $parametro .= " OR( ut_tipo = 11 AND p_pais_viaje = " . $row['Destino'] . ")"; } if ($row['Falta_v'] == 1) { $parametro .= " OR( ut_tipo = 5 AND p_pais_viaje = " . $row['Origen_1'] . ") "; } } $sql = "SELECT DISTINCT ut_usuario\n\t\t\t\t\tFROM usuario_tipo\n\t\t\t\t\tJOIN empleado ON idfwk_usuario = ut_usuario\n\t\t\t\t\tJOIN cecos ON cc_id = idcentrocosto\n\t\t\t\t\tJOIN sociedad ON s_id = cc_sociedad_id\n\t\t\t\t\tJOIN pais ON p_id = s_pais\n\t\t\t\t\tWHERE 1!=1\n\t\t\t\t\t{$parametro}"; $res = @mysql_query($sql); $mensaje = "<a href=" . $RUTA_R . "flujos/notificaciones/index.php?id={$idTramite}>La Solicitud de Viaje <strong>{$idTramite}</strong> ha sido <strong>CREADA</strong> por: <strong>" . $_POST['usuario'] . "</strong> y requiere de su Cotización.</a>"; while ($row = @mysql_fetch_assoc($res)) { $tramite->EnviaNotificacion($idTramite, $mensaje, $iduser, $row['ut_usuario'], 1); //"0" para no enviar email y "1" para enviarlo } $tramite->Modifica_Etapa($idTramite, SOLICITUD_ETAPA_APROBACION, FLUJO_SOLICITUD, 0, $string_ruta_autorizacion); //Validacion de ruta de autorización solicitud $sql_ruta = "SELECT t_ruta_esperada \n\t\t\t\t\t\tFROM tramites \n\t\t\t\t\t\tWHERE t_id = '{$idTramite}' \n\t\t\t\t\t\tAND (t_ruta_esperada LIKE '%||%' \n\t\t\t\t\t\t\tOR t_ruta_esperada LIKE '%|0|%' \n\t\t\t\t\t\t\tOR t_ruta_esperada LIKE '%|' \n\t\t\t\t\t\t\tOR t_ruta_esperada LIKE '%|0')"; $res = $cnn->consultar($sql_ruta); $tot = @mysql_num_rows($res); if ($tot == 1) { $mensaje = "<a href=" . $RUTA_R . "flujos/solicitudes/index.php?view=view&id={$idTramite}>La Solicitud de Viaje <strong>{$idTramite}</strong> ha sido <strong>CREADA</strong> y no cuenta con los autorizadores necesarios, favor de comunicarse con el administrador del sistema.</a>"; $tramite->EnviaNotificacion($idTramite, $mensaje, $iduser, $iduser, 1); //"0" para no enviar email y "1" para enviarlo $sql_administradores = "SELECT u_id \n\t\t\t\t\t\tFROM usuario, usuario_tipo \n\t\t\t\t\t\tWHERE u_id = ut_usuario \n\t\t\t\t\t\tAND ut_tipo = 2 "; $res = $cnn->consultar($sql_administradores); $mensaje = "<a href=" . $RUTA_R . "admin/reasignacion/index.php?sol=RI&oculto=0>La Solicitud de Viaje <strong>{$idTramite}</strong> ha sido <strong>CREADA</strong> por: <strong>" . $_POST['usuario'] . "</strong> y no cuenta con los autorizadores necesarios, requiere reasignacion de autorizadores</a>"; while ($row = @mysql_fetch_assoc($res)) {
$mensaje = sprintf("El reembolso de TDC <strong>%05s</strong> ha sido <strong>AUTORIZADO</strong> y asignado a <strong>%s</strong> para su revisión", $idTramite, $usuarioAprobador->Get_dato('nombre')); $tramite->Modifica_Etapa($idTramite, COMPROBACION_TDC_ETAPA_CXP, FLUJO_COMPROBACION_TDC, $aprobadorCxP); } else if($t_flujo==FLUJO_REEMBOLSO_CAJA_CHICA){ $mensaje = sprintf("El reembolso de Caja Chica <strong>%05s</strong> ha sido <strong>AUTORIZADO</strong> y asignado a <strong>%s</strong> para su revisión", $idTramite, $usuarioAprobador->Get_dato('nombre')); $tramite->Modifica_Etapa($idTramite, COMPROBACION_CAJA_CHICA_ETAPA_CXP, FLUJO_REEMBOLSO_CAJA_CHICA, $aprobadorCxP); } $tramite->AgregaSiguienteAutorizador($idTramite, $aprobador); // Manda el mensaje a las 3 partes de la transaccion $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $aprobador); $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $aprobadorCxP); $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $iniciador); } header("Location: ./index.php?action=autorizar"); die(); // // Rechaza el gasto adicional // } else if(isset($_POST["rechazar"])){ // Datos del tramite $idTramite = $_POST["idTramite"];
} $comensales = new Comensales(); for ($i = 1; $i <= $_POST['numInvitados']; $i++) { $sNombre = $_POST['nombre' . $i]; $sPuesto = $_POST['puesto' . $i]; $sTipo = $_POST['tipoinv' . $i]; $sEmpresa = $_POST['empresa' . $i]; $id_detalle_solicitud_invitacion = add_detalle_solicitud_invitacion("0", $sNombre, $sPuesto, $sEmpresa, $sTipo, $idTramite); } $duenoActual = new Usuario(); $duenoActual->Load_Usuario_By_ID($delegado); $nombreUsuario = $duenoActual->Get_dato('nombre'); $mensaje = sprintf("La Comprobación de Invitación <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en su nombre y requiere de su autorización.", $idTramite, $nombreUsuario); $remitente = $delegado; $destinatario = $iduser; $tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, "1", ""); //"0" para no enviar email y "1" para enviarlo $tramite->actualizaDelegado($idTramite, $delegado); // Termina transacción $tramite->insertar("COMMIT"); //echo "<meta http-equiv='Refresh' content='0; URL=http://".$SERVER.$RUTA_R."flujos/comprobaciones/index.php?oksave&docs=docs&type=4'>"; header("Location: ./index.php?oksave&docs=docs&type=4"); } else { //echo "<meta http-equiv='Refresh' content='0; URL=http://".$SERVER.$RUTA_R."flujos/comprobaciones/index.php?errsave'>"; header("Location: ./index.php?errsave"); } } if (isset($_GET['comp_solicitud'])) { require_once "{$RUTA_A}/functions/utils.php"; function forma_comprobacion() {
$rutaautorizacion->generaExcepcion($idTramite, $objetoPresupuesto); $rutaautorizacion->generarRutaAutorizacion($idTramite, $t_delegado); $excepciones = $rutaautorizacion->get_Excepciones($idTramite); $rutaautorizacion->agregaAutorizadoresExcedentes($idTramite, $excepciones); $destinatario = $rutaautorizacion->getAprobador($idTramite, $iduser); $etapa = COMPROBACION_ETAPA_EN_APROBACION; $redirect = "okAut"; } elseif ($modo == 'rechazar') { $etapa = COMPROBACION_ETAPA_RECHAZADA_POR_DIRECTOR; $destinatario = $iniciador; $redirect = "action=rechazar"; } //$tramite->Modifica_Dueno($idTramite, $etapa, FLUJO_COMPROBACION, $t_dueno, $iniciador); $tramite->Modifica_Etapa($idTramite, $etapa, FLUJO_COMPROBACION, $destinatario, "", $t_delegado); $mensaje = $tramite->crearMensaje($idTramite, $etapa); $tramite->EnviaNotificacion($idTramite, $mensaje, $iduser, $destinatario, 1); exit(header("Location: ./index.php?{$redirect}")); } else { ?> <script type="text/javascript" src="../../lib/js/jquery/jquery.blockUI.js"></script> <script type="text/javascript" src="../../lib/js/formatNumber.js"></script> <script type="text/javascript" src="../../lib/js/jqueryui/jquery-ui.min.js"></script> <script type="text/javascript" src="js/backspaceGeneral.js"></script> <script type="text/javascript" src="js/cargaDatos.js"></script> <link rel="stylesheet" type="text/css" href="../../css/table_style.css"/> <style> span{ font-weight: bold; } .tablaDibujada{ border: 1px #CCCCCC solid;
$tramite->limpiarAutorizaciones($idTramite); $aprobador = $t_iniciador; $siguienteEtapa = COMPROBACION_GASTOS_ETAPA_RECHAZADA; $t_ruta_autorizacion = ""; $mail = 0; $redirect = "action=rechazar"; } if ($modo != "reasignar") { // Crear mensaje para el usuario $mensajeUsuario = $tramite->crearMensaje($idTramite, $siguienteEtapa, false, true, $delegado); //error_log("--->>".$mensajeUsuario."<br />"); } //Modificar la Etapa de la Solicitud $tramite->Modifica_Etapa($idTramite, $siguienteEtapa, FLUJO_COMPROBACION_GASTOS, $aprobador, $t_ruta_autorizacion, $delegado); // Enviar Notificacion para Aprobador $tramite->EnviaNotificacion($idTramite, $mensajeAutorizadores, $t_dueno, $aprobador, $mail, ""); // Enviar notificacion a Usuario if (!$finRuta) { $tramite->EnviaNotificacion($idTramite, $mensajeUsuario, $t_dueno, $t_iniciador, $mail, ""); } // Guardamos todos los cambios en la Base de Datos $tramite->ejecutar("COMMIT"); // Regresar a la pantalla de Cmprobaciones de Viaje if ($mobile) { echo "<meta http-equiv='Refresh' content='0; URL=http://" . $SERVER . $RUTA_R . "flujos/comprobaciones/index.php?docs=docs&type=4{$redirect}'>"; } else { // Regresa a la pagina de Comprobaciones de Gastos if ($modo == "autorizar") { echo "<script language='javascript' type='text/javascript'>\r\n\t \t\t\t\tif(confirm('¿Desea imprimir la comprobación actual?')){\r\n\t \t\t\t\twindow.open('generador_pdf_comp_gts.php?id=" . $idTramite . "', 'imprimir');\r\n\t \t\t\t\tlocation.href='./index.php?docs=docs&type=4&action=autorizar';\r\n\t \t\t}else{\r\n\t \t\t\t\tlocation.href='./index.php?docs=docs&type=4&action=autorizar';\r\n\t \t\t} </script>"; } else { exit(header("location: index.php??docs=docs&type=4&{$redirect}"));
} $duenoActual01 = new Usuario(); if ($duenoActual01->Load_Usuario_By_ID($t_dueno)) { $dueno_act_nombre = $duenoActual01->Get_dato('nombre'); } else { $agrup_usu = new AgrupacionUsuarios(); $agrup_usu->Load_Grupo_de_Usuario_By_ID($t_dueno); $dueno_act_nombre = $agrup_usu->Get_dato("au_nombre"); } $remitente = $t_dueno; $destinatario = $tramite->Get_dato("t_iniciador"); // Crear mensaje para el usuario if (!$finRuta) { $mensajeAutorizadores = $tramite->crearMensaje($idTramite, $siguienteEtapa, false, true, $delegado); $mensaje2 = sprintf("La Comprobación de Gastos <strong>%05s</strong> ha sido <strong>AUTORIZADA</strong> por <strong>%05s</strong> y requiere de su autorización", $idTramite, $dueno_act_nombre); $tramite->EnviaNotificacion($idTramite, $mensaje2, $remitente, $aprobador, 1, ""); $t_dueno = $t_dueno; } //Modificar la Etapa de la Solicitud $tramite->Modifica_Etapa($idTramite, $siguienteEtapa, FLUJO_COMPROBACION_GASTOS, $aprobador, $t_ruta_autorizacion, $delegado); if (!$finRuta) { $aprobador = $t_dueno; } // Enviar Notificacion para Aprobador $tramite->EnviaNotificacion($idTramite, $mensajeAutorizadores, $t_dueno, $aprobador, $mail, ""); // Regresar a la pantalla de Cmprobaciones de Viaje if ($mobile) { echo "<meta http-equiv='Refresh' content='0; URL=http://" . $SERVER . $RUTA_R . "flujos/comprobaciones/index.php?docs=docs&type=4{$redirect}'>"; } else { exit(header("location: index.php??docs=docs&type=4&{$redirect}")); }
$cnn = new conexion(); $observacionesCompra = $_POST['observacionesCompra']; $tramiteCompra = $_POST['tramiteCompra']; $usuarioCompra = $_POST['usuarioCompra']; $excede = $_POST['excede']; $observacionesCompra = utf8_decode($observacionesCompra); //Se inserta la observacion que la agencia ha realizado para confirmar la compra $queryCompra = sprintf("INSERT INTO observaciones(\n\t\t\tob_id,\n\t\t\tob_texto,\n\t\t\tob_fecha,\n\t\t\tob_tramite,\n\t\t\tob_usuario\n\t)VALUES(\n\t\t\tdefault,\n\t\t\t'%s',\n\t\t\tnow(),\n\t\t\t%s,\n\t\t\t%s\n\t)", $observacionesCompra, $tramiteCompra, $usuarioCompra); $ob_id = $cnn->insertar($queryCompra); if ($excede != 1) { // Se enviará la notificacion al empleado para avisar que la compra de la compra, asi como tambien la fecha en la cual esta solicitud ha sido comprada $tramite = new Tramite(); $tramite->Load_Tramite($tramiteCompra); $iniciador = $tramite->Get_dato("t_iniciador"); $mensaje = sprintf("La solicitud de viaje <strong>%05s</strong> ha sido <strong>COMPRADA</strong> de manera exitosa por </strong>Agencia.", $tramiteCompra); $tramite->EnviaNotificacion($tramiteCompra, $mensaje, $usuarioCompra, $iniciador, "1", "", 0); //"0" para no enviar email y "1" para enviarlo, el último argumento indicará si se coloca el link de ingreso a la aplicación (1) y (0) si no es requerido. $tramite->Modifica_Etapa($tramiteCompra, SOLICITUD_ETAPA_COMPRADA, FLUJO_SOLICITUD, $iniciador, ""); // Se inserta la fecha de termino $tramite->setCierreFecha($tramiteCompra); } } // Seleccionar las observaciones introducidas por el usuario if (isset($_POST['observTramite'])) { $id_Solicitud = $_POST['observTramite']; $observaciones = ""; //error_log("Id de la solicitud: ".$id_Solicitud); $cnn = new conexion(); $tramite = new Tramite(); $tramite->Load_Tramite($id_Solicitud); $t_dueno = $tramite->Get_dato("t_dueno");
$user_agency = $_POST['usuario']; $solicitud = $_POST['solicitud']; $tipo_traslado = $_POST['tipo']; $id_user = $_SESSION["idusuario"]; $query_terminar_agencias2 = "SELECT sv_tramite FROM solicitud_viaje WHERE sv_id = '{$solicitud}'"; $rst2 = $cnn->consultar($query_terminar_agencias2); $row = @mysql_fetch_assoc($rst); $t_id = $row['sv_tramite']; switch ($agency) { case 1: $query = "UPDATE solicitud_viaje SET sv_compra = '1' WHERE sv_id = '{$id}' AND sv_id_agencia = '{$user_agency}'"; $agencia = "Vuelos"; break; case 2: $query = "UPDATE hospedaje SET h_compra = '1' WHERE h_id = '{$id}' AND h_id_agencia = '{$user_agency}' "; $agencia = "Hospedaje"; break; case 3: $agecia = $tipo_traslado == 0 ? "Traslados de Origen" : "Traslados de Destino"; $query = "UPDATE traslados SET t_compra = '1' WHERE t_id = '{$id}' AND t_id_agencia = '{$user_agency}'"; break; } $cnn->ejecutar($query); $mensaje = sprintf("<a href=" . $RUTA_R . "flujos/solicitudes/index.php?view=view&id=%s>La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>COMPRADA</strong> por la agencia de <strong>{$agencia}</strong>.</a>", $t_id, $t_id); $tramite = new Tramite(); $tramite->Load_Tramite($t_id); $iniciador = $tramite->Get_dato("t_iniciador"); $tramite->EnviaNotificacion($t_id, $mensaje, $id_user, $iniciador, "0"); verificaCamposCompra($solicitud); echo "true"; }
$Res_sql = $cnn->consultar($sql); $IdTramSolc = mysql_result($Res_sql, 0, "co_tramite_solicitud"); //Actualizamos el campo de observaciones if ($sObser != "") { $query = sprintf("UPDATE comprobaciones SET co_observaciones = '%s' WHERE co_tramite = '%s'", $sObser, $idTramite); $cnn->ejecutar($query); } // Devolvemos a 1 el campo t_comprobado del tramite de la solicitud $query = sprintf("UPDATE tramites SET t_comprobado = '0' WHERE t_id = '%s'", $IdTramSolc); $cnn->ejecutar($query); // Envia el tramite a cancelacion $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); $iniciador = $tramite->Get_dato("t_iniciador"); $mensaje = sprintf("<a href=" . $RUTA_R . "flujos/comprobaciones/index.php?view=view&id=%s>La Comprobación de Viaje <strong>%05s</strong> ha sido <strong>DEVUELTA</strong> por <strong>%s</strong>.</a>", $idTramite, $IdTramSolc, $_POST["nu"]); $tramite->EnviaNotificacion($idTramite, $mensaje, $u_id, $iniciador, "0"); // Notese que el mensaje se envia antes que se cambia la etapa $tramite->Modifica_Etapa($idTramite, $etapa, FLUJO_COMPROBACION, $iniciador); // Regresa a la pagina de solicitudes header("Location: ./index.php?action=rechazar"); die; // Muestra la pantalla de Autorización } else { if (isset($_GET['view']) && isset($_GET['id']) || isset($_GET['edit_view']) && isset($_GET['id'])) { $idTramite = $_GET['id']; $idUser = $_SESSION["idusuario"]; $noEmpleado = $_SESSION["empleado"]; // Datos de la comprobacion $query = "SELECT co_id, co_total, DATE_FORMAT(co_fecha_registro,'%d/%m/%Y') AS fecha_registro, \n\t\t\t\tDATE_FORMAT(sv_fecha_viaje,'%d/%m/%Y') AS fecha_viaje,\n\t\t\t\t(SELECT cd_nombre FROM ciudad_destino WHERE cd_id = svi_ciudad_destino) AS ciudad_destino, \n\t\t\t\t(SELECT cd_pais FROM ciudad_destino WHERE cd_id = svi_ciudad_destino) AS paisd, \n\t\t\t\t(SELECT pd_nombre FROM pais_destino WHERE pd_id = paisd) AS pais_destino,\n\t\t\t\t(SELECT et_etapa_nombre FROM etapas WHERE et_etapa_id = t_etapa_actual AND et_flujo_id = t_flujo) AS etapa,\n\t\t\t\tCONCAT(CONVERT(cc_codigo, CHAR(20)), ' - ', cc_nombre) as CECO, IF(co_orden_estadistica=0, '',co_orden_estadistica) as co_orden_estadistica, \n\t\t\t\t(SELECT j_nombre FROM jerarquia, empleado WHERE j_id = jerarquia AND idfwk_usuario = t_iniciador) as jerarquia,\n\t\t\t\t(SELECT u_usuario FROM usuario WHERE u_id = t_iniciador) as solicitante,\n\t\t\t\tco_tramite, co_observaciones, co_tramite_solicitud, t_etiqueta, t_iniciador, t_dueno\n\t\t\t\tFROM comprobaciones\n\t\t\t\tLEFT JOIN tramites ON (co_tramite = t_id)\n\t\t\t\tLEFT JOIN solicitud_viaje ON sv_tramite = co_tramite_solicitud\n\t\t\t\tLEFT JOIN sv_itinerario ON sv_id = svi_solicitud \n\t\t\t\tLEFT JOIN detalle_comprobacion ON co_id = dc_comprobacion\n\t\t\t\tLEFT JOIN cecos ON cc_id = dc_ceco\n\t\t\t\tWHERE co_tramite = '" . $idTramite . "'"; $rst = $cnn->consultar($query); $filaComp = mysql_fetch_assoc($rst);
$exists_file = $_POST['existe_archivo']; $f_salida_s = $viaje != "Solo Ida" ? $_POST['fecha'] : ""; $f_regreso_r = $viaje != "Solo Ida" ? $_POST['fecha_llegada_input'] : ""; $tramite_id = $_POST['tramite']; // Existe el archivo list($result, $archivo_cargado) = cargarReferenciaVuelo($RUTA_A); $archivo = $result == '' ? $adjunto : $archivo_cargado; $f_salida = fecha_to_mysql($f_salida_s); $f_regreso = $viaje != "Solo Ida" ? fecha_to_mysql($f_regreso_r) : ""; // Enviar notificación a las agencias $cotizacion = new Traslado(); $tramite = new Tramite(); $tramite->Load_Tramite($tramite_id); $iniciador = $tramite->Get_dato("t_iniciador"); $mensaje = '<a href="' . $RUTA_R . 'flujos/solicitudes/index.php?view=view&id=' . $tramite_id . '">Se ha realizado la cotización correspondiente al <strong>Boleto de Avión</strong> perteneciente a la solicitud de viaje <strong>' . $tramite_id . '</strong>.</a>'; $tramite->EnviaNotificacion($tramite_id, $mensaje, $user, $iniciador, "0"); $sql = "SELECT IF((sv_vuelo=1 AND sv_id_agencia=0) OR (sv_vuelo=0),1,0) as 'Falta_v', \t \n\t\t\t\t\t IF((sv_vuelo=1 AND sv_id_agencia=0) OR (sv_vuelo=0),(SELECT cd_pais FROM ciudad_destino, sv_itinerario sv WHERE sv.svi_ciudad_origen = cd_id AND sv.svi_solicitud = sv_id ORDER BY svi_fecha_salida ASC LIMIT 1),0) as 'Origen_1', \t \n\t\t\t\t\t IF(h_id_agencia=0,1,0) AS 'Falta_h',\n\t\t\t\t\t IF(t_tipo_traslado = 0 AND t_id_agencia=0,1,0) AS 'Falta_to',\n\t\t\t\t\t IF(t_tipo_traslado = 1 AND t_id_agencia=0,1,0) AS 'Falta_td',\t\t\t\t\t \n\t\t\t\t\t (SELECT cd_pais FROM ciudad_destino WHERE cd_id = svi_ciudad_origen) AS 'Origen',\n\t\t\t\t\t (SELECT cd_pais FROM ciudad_destino WHERE cd_id = svi_ciudad_destino) AS 'Destino'\n\t\t\t\tFROM tramites\n\t\t\t\tJOIN solicitud_viaje ON sv_tramite = t_id\n\t\t\t\tJOIN sv_itinerario ON svi_solicitud = sv_id\n\t\t\t\tLEFT JOIN hospedaje ON h_id_itinerario = svi_id\n\t\t\t\tLEFT JOIN traslados ON t_id_itinerario = svi_id\n\t\t\t\tWHERE sv_tramite = {$tramite_id}\n\t\t\t\tORDER BY svi_fecha_salida"; $res = @mysql_query($sql); $parametro = ''; while ($row = @mysql_fetch_assoc($res)) { if ($row['Falta_h'] == 1) { $parametro .= " OR ut_tipo = 10 AND p_pais_viaje = " . $row['Destino']; } if ($row['Falta_to'] == 1) { $parametro .= " OR ut_tipo = 11 AND p_pais_viaje = " . $row['Origen']; } if ($row['Falta_td'] == 1) { $parametro .= " OR ut_tipo = 11 AND p_pais_viaje = " . $row['Destino']; } } $sql = "SELECT DISTINCT ut_usuario\n\t\t\t\t\tFROM usuario_tipo\n\t\t\t\t\tJOIN empleado ON idfwk_usuario = ut_usuario\n\t\t\t\t\tJOIN cecos ON cc_id = idcentrocosto\n\t\t\t\t\tJOIN sociedad ON s_id = cc_sociedad_id\n\t\t\t\t\tJOIN pais ON p_id = s_pais\n\t\t\t\t\tWHERE ut_usuario != {$user}\n\t\t\t\t\tAND (1!=1 {$parametro})";
$query = sprintf("SELECT co_observaciones FROM comprobaciones WHERE co_mi_tramite='%s'", $tramiteId); $rst = $cnn->consultar($query); $fila = mysql_fetch_assoc($rst); $co_observaciones = $fila['co_observaciones']; $notificacion = new Notificacion(); $observacionesNuevasCodificadas = utf8_decode($ObservacionesNuevas); $observaciones = $notificacion->anotaObservacion($t_dueno, $co_observaciones, $observacionesNuevasCodificadas, FLUJO_COMPROBACION, COMPROBACION_ETAPA_EN_APROBACION); $queryInsertaObs = sprintf("UPDATE comprobaciones SET co_observaciones='%s' WHERE co_mi_tramite='%s'", $observaciones, $tramiteId); $cnn->ejecutar($queryInsertaObs); } //Notificaciones $remitente = $t_dueno; //enviar la notificacion al empleado ----> t_iniciador $destinatario = $tramite->Get_dato("t_iniciador"); $mensaje = sprintf("<strong>Finanzas</strong> ha realizado observaciones a la comprobacion <strong>%05s</strong>", $tramiteId); $tramite->EnviaNotificacion($tramiteId, $mensaje, $remitente, $destinatario, "0", ""); //"0" para no enviar email y "1" para enviarlo //cambio de etapa $tramite->Modifica_Etapa($tramiteId, COMPROBACION_ETAPA_DEVUELTO_CON_OBSERVACIONES, FLUJO_COMPROBACION, $destinatario, ""); } if (isset($_POST['limpiarRegistros'])) { $cnn = new conexion(); $queryLimpieza = sprintf("DELETE FROM total_temp WHERE TRUE;"); $cnn->ejecutar($queryLimpieza); } //Nos regresara el presupuesto que esta destinado a el CECO. if (isset($_POST['cecoPresupuesto'])) { $cnn = new conexion(); $presupuestoDisponible = 0; $cecoPresupuesto = $_POST['cecoPresupuesto']; $queryPresupuesto = sprintf("SELECT SUM(pp_presupuesto_disponible) AS 'pp_presupuesto_disponible' FROM periodo_presupuestal WHERE pp_ceco='%s'", $cecoPresupuesto);
error_log(print_r($_REQUEST, true), 3, dirname(__FILE__) . "/log.log"); } $etapa = isset($_POST['guardarComp']) ? COMPROBACION_ETAPA_APROBACION : COMPROBACION_ETAPA_SIN_ENVIAR; $ruta_autorizacion = new Usuario(); $autorizadores = $ruta_autorizacion->buscaAprobadorParaSolicitud($iduser, FLUJO_COMPROBACION); $string_ruta_autorizacion = $autorizadores[1] . "|" . $autorizadores[0]; $aprobador = $autorizadores[1]; if ($etapa == COMPROBACION_ETAPA_APROBACION) { // Marca la solicitud como comprobada $query = sprintf("UPDATE tramites SET t_comprobado = true WHERE t_id=%s", $idSolicitud); $cnn->insertar($query); $sql = "SELECT co_tramite_solicitud FROM comprobaciones WHERE co_id = {$idComprobacion}"; $Res_sql = $cnn->consultar($sql); $IdTramSolc = mysql_result($Res_sql, 0, "co_tramite_solicitud"); $mensaje = sprintf("<a href=" . $RUTA_R . "flujos/comprobaciones/index.php?view=view&id=%s>La Comprobación de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> y requiere de tu autorización.", $idTramite, $IdTramSolc, $_POST["nu"]); $tramite->EnviaNotificacion($idTramite, $mensaje, $iduser, $aprobador, "1"); //"0" para no enviar email y "1" para enviarlo } $tramite->Modifica_Etapa($idTramite, $etapa, FLUJO_COMPROBACION, $aprobador, $string_ruta_autorizacion); // Termina transacción mysql_query("COMMIT"); header("Location: ./index.php?oksave"); die; } else { mysql_query("ROLLBACK"); header("Location: ./index.php?errorsave"); die; } //if row } else { //if guarda comp
$cnn->ejecutar($queryObserv); } $duenoActual = new Usuario(); $duenoActual->Load_Usuario_By_ID($iniciador); $usuarioNombre = $duenoActual->Get_dato('nombre'); if ($delegado != 0) { $duenoActual->Load_Usuario_By_ID($delegado); $nombreDelegado = $duenoActual->Get_dato('nombre'); $mensaje = sprintf("La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en nombre de: <strong>%s</strong> y requiere de su autorización.", $idTramite, $nombreDelegado, $usuarioNombre); $mensajeemail = sprintf("La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en nombre de: <strong>%s</strong> y requiere de su autorización.", $idTramite, $nombreDelegado, $usuarioNombre); } else { $mensaje = sprintf("La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> y requiere de su autorización.", $idTramite, $usuarioNombre); $mensajeemail = sprintf("La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> y requiere de su autorización.", $idTramite, $usuarioNombre); } $tramite->Modifica_Etapa($idTramite, SOLICITUD_ETAPA_EN_APROBACION, FLUJO_SOLICITUD, $aprobador, ""); $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $aprobador, "1", ""); //"0" para no enviar email y "1" para enviarlo $autorizaCotizacionRechazada = true; } else { if (isset($_POST['envia_a_director'])) { $iniciador = $tramite->Get_dato("t_iniciador"); $delegado = $tramite->Get_dato("t_delegado"); // Actualizar el campoe de observaciones de la solicitud de viaje if ($sObservaciones != "") { $notificacion = new Notificacion(); $observaciones = $notificacion->anotaObservacion($delegado, $HObser, $sObservaciones, FLUJO_SOLICITUD, ""); $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $observaciones, $idTramite); $cnn->ejecutar($queryObserv); } else { $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $HObser, $idTramite); $cnn->ejecutar($queryObserv);