Beispiel #1
0
 public function ModificaEtapaDelegados($t_id, $etapa, $flujo, $dueno, $ruta, $iduser, $delegado)
 {
     $tramite = new Tramite();
     $existeDelegado = $this->existenciaDelegado($iduser, $delegado);
     $tramite->Load_Tramite($t_id);
     $iniciador = $tramite->Get_dato("t_iniciador");
     if ($existeDelegado) {
         $etapatramite = $this->obtenerEtapaDelegados($flujo);
         $tramite->Modifica_Etapa($t_id, $etapatramite, $flujo, $iniciador, "");
     } else {
         $tramite->Modifica_Etapa($t_id, $etapa, $flujo, $dueno, $ruta);
         $ruta_autorizacion = new RutaAutorizacion();
         $ruta_autorizacion->generaRutaAutorizacionSolicitudInvitacion($tramite_editar, $iduser);
         $aprobador = $ruta_autorizacion->getSiguienteAprobador($t_id, $iduser);
         return $aprobador;
     }
 }
            $sDestino = $_POST['destino' . $i];
            $sSelect_hora_salida = $_POST['hora' . $i];
            if ($sOrigen != "" && $sOrigen != NULL) {
                if ($CViaje->Add_Itinerario_sa($sOrigen, $sDestino, $sFechaSalida, $sFechaLlegada, $sSelect_hora_salida, $sTipoViaje) <= 0) {
                    $CViaje->insertar("ROLL BACK");
                    echo "Error al Registrar el Itinerario";
                    exit;
                }
            }
        }
        //for
        // Envia el tramite a aprobacion
        $usuarioAprobador = new Usuario();
        $usuarioAprobador->Load_Usuario_By_ID($aprobador);
        $mensaje = sprintf("La solicitud Amex <strong>%05s</strong> ha sido <strong>CREADA</strong> y asignada a <strong>%s</strong> para su revisi&oacute;n", $idTramite, $usuarioAprobador->Get_dato('nombre'));
        $tramite->Modifica_Etapa($idTramite, ANTICIPO_AMEX_ETAPA_AGENCIA, FLUJO_AMEX, $aprobador);
        $tramite->EnviaMensaje($idTramite, $mensaje);
        // Termina transacción
        $tramite->insertar("COMMIT");
        // Regresa a la pagina del index
        header("Location: ./index.php?oksave");
    } else {
        header("Location: ./index.php?errsave");
        die;
    }
    //if row
}
//if guarda comp
if (isset($_GET['new2'])) {
    //*****************************//COMPROBACION GENERAL//*****************************//
    $UsuOb = new Usuario();
	$ruta_autorizacion = new RutaAutorizacion();
	$ruta_autorizacion->generRutaAutorizacionComprobacionInvitacion($idTramite, $iduser);
	$aprobador = $ruta_autorizacion->getAprobador($idTramite, $iduser);
	
	// Envia el tramite a aprobacion
	$duenoActual = new Usuario();
	$duenoActual->Load_Usuario_By_ID($iduser);
	$nombreUsuario = $duenoActual->Get_dato('nombre');
	
	$duenoActual->Load_Usuario_By_ID($t_delegado);
	$nombreDelegado = $duenoActual->Get_dato('nombre');
	$mensaje = sprintf("La Comprobaci&oacute;n de Invitaci&oacute;n <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en nombre de: <strong>%s</strong> y requiere de su autorizaci&oacute;n.", $idTramite, $nombreDelegado, $nombreUsuario);
	
	$remitente = $iduser;
	$destinatario = $aprobador;
	$tramite->Modifica_Etapa($idTramite, COMPROBACION_INVITACION_ETAPA_APROBACION, FLUJO_COMPROBACION_INVITACION, $aprobador, "");
	$tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, "1", ""); //"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=autorizar'>";
	}else{
		echo ("<script language='Javascript'> location.href='http://".$SERVER.$RUTA_R."flujos/comprobaciones/index.php?docs=docs&type=4&action=autorizar';</script>");
	}
}

// Rechazo de la comprobaci�n por el Director
else if(isset($_POST['rechazar_ci']) && isset($_POST['idT']) && $_POST['idT']!=""){
	$idTramite = $_POST['idT'];
	$iduser = $_POST['iu'];
	$observaciones = $_POST['observ_up'];
     $rutaAutorizacion = new RutaAutorizacion();
     /**
      * Validacion y guardado de excepcion de presupuesto
      **/
     $rutaAutorizadores = $rutaAutorizacion->generarRutaAutorizacion($idTramite, $_SESSION['idrepresentante']);
     // Obtener Autorizador
     $aprobador = $rutaAutorizacion->getSiguienteAprobador($idTramite, $iniciador);
     // Creamos el texto de las observaciones que serán enviadas
     if ($observaciones != '') {
         $observaciones = $notificacion->anotaObservacion($iniciador, $historialObservaciones, $observaciones, FLUJO_SOLICITUD_GASTOS, SOLICITUD_GASTOS_ETAPA_SIN_ENVIAR, $_SESSION['idrepresentante']);
     } else {
         $observaciones = '';
     }
     // Actualizar las observaciones de la solicitud de gastos
     $solicitud->actualizaObservaciones($observaciones, '', $idTramite);
     $tramite->Modifica_Etapa($idTramite, SOLICITUD_GASTOS_ETAPA_APROBACION, FLUJO_SOLICITUD_GASTOS, $aprobador, $rutaAutorizadores, $_SESSION['idrepresentante']);
     // Definición del mensaje
     $mensaje = $tramite->crearMensaje($idTramite, SOLICITUD_GASTOS_ETAPA_APROBACION, true, false, $_SESSION['idrepresentante']);
     $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $aprobador, 1, "");
     // "0" para no enviar email y "1" para enviarlo
 } else {
     $guardadoPrevio = true;
     // Actualizar las observaciones de la solicitud de gastos
     $solicitud->actualizaObservaciones($historialObservaciones, $observaciones, $idTramite);
     $tramite->Modifica_Etapa($idTramite, SOLICITUD_GASTOS_ETAPA_SIN_ENVIAR, FLUJO_SOLICITUD_GASTOS, $iniciador, "");
 }
 // Guardamos todos los cambios en la Base de Datos
 $tramite->ejecutar("COMMIT");
 if ($guardadoPrevio) {
     header("Location: ./index.php?docs=docs&type=2&oksaveP");
 } else {
					$num_rows=mysql_num_rows($rst);
					$fila=mysql_fetch_assoc($rst);
					$idProv=$fila['pro_id'];
					if ($num_rows>0)
						$idProv=$fila['pro_id'];
					else
						$idProv=0;
					//************Detalle Comprobación
					$resp = 0;
					Add_detalle($co_id,$cCargo,$cConc,$cRef,$cP_RFC,$cAmt,$cImp,$cImpVal,$cTotal,$forma_gasto,$montoexc,$ivaexc,$idProv,$kilometraje,$cDate,$ivaR,$isrR,$cDate,$cExch,$cComensales,$cRate,$tipo,$cFlagFactura,$cFolio,$resp,$ceco);
					
			}//for	
		$sObser = "";
        $Tramite = new Tramite();
        $Tramite -> Load_Tramite($comprobacion);
        $Tramite -> Modifica_Etapa(3);
        $Tramite->Nex_Set($comprobacion,$sObser,$jefeEmpleado,"Comprobacion");
        $observaciones=$_POST['observaciones'];
	    if($observaciones==""){
			header("Location: ./index.php?errsave");
		}else{
            $Tramite->save_observaciones($observaciones,$comprobacion,$autor);
  		}
		header("Location: ./index.php?oksave");
		}else{
		header("Location: ./index.php?errjefe");
		die();
		}//if jefe
		
	}else{	
	header("Location: ./index.php");
     }
     // Obtiene la parte preaprobada en la solicitud
     $totalComprobado = 0;
     $svc_detalle_monto_concepto = 0;
     // Detalle Comprobación
     Add_detalle($idComprobacion, $cCargo, $cConc, $cRef, $cP_RFC, $cAmt, $cImp, $cImpVal, $cTotal, $svc_detalle_monto_concepto, $forma_gasto, $montoexc, $ivaexc, $idProv, $kilometraje, $cDate, $ivaR, $isrR, $cDate, $cExch, $cComensales, $cRate, $tipo, $cFlagFactura, $cFolio, $cRespPart = "9771", $cRespPart = "");
 }
 //for
 // Avanza el tramite al siguiente pago
 $Tramite = new Tramite();
 if ($tTotal > $total_anticipo) {
     // Envia el tramite a aprobacion
     $usuarioAprobador = new Usuario();
     $usuarioAprobador->Load_Usuario_By_ID($aprobador);
     $mensaje = sprintf("La comprobación <strong>%05s</strong> ha sido <strong>CREADA</strong> y asignada a <strong>%s</strong> para su aprobación", $idTramite, $usuarioAprobador->Get_dato('nombre'));
     $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_APROBACION, FLUJO_COMPROBACION, $aprobador, $ruta_autorizadores);
     $tramite->EnviaMensaje($idTramite, $mensaje);
 } else {
     // Cuando se envia un tramite directo a CxP se asume que todos los conceptos
     // estan ya aprobados.
     $sql = "UPDATE detalle_comprobacion SET dc_total_aprobado = dc_total WHERE dc_comprobacion = " . $idComprobacion;
     //error_log($sql);
     $cnn->insertar($sql);
     // Envia el tramite directo a CxP
     $usuarioAprobador = new Usuario();
     $usuarioAprobador->Load_Usuario_By_ID($aprobador);
     $mensaje = sprintf("La comprobación <strong>%05s</strong> ha sido <strong>CREADA</strong> y asignada a <strong>%s</strong> para su revisión", $idTramite, $usuarioAprobador->Get_dato('nombre'));
     $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_CXP, FLUJO_COMPROBACION, $aprobador);
     $tramite->EnviaMensaje($idTramite, $mensaje);
 }
 // Marca la solicitud como comprobada
 $ruta_autorizacion->generaExcepcion($idTramite, $objetoPresupuesto);
 if ($existeDelegado) {
     $duenoActual = new Usuario();
     $duenoActual->Load_Usuario_By_ID($delegado);
     $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&oacute;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, "");
Beispiel #8
0
         $tramite->Modifica_Etapa($t_id, SOLICITUD_ETAPA_APROBACION, FLUJO_SOLICITUD, $aprobador, $ruta_autorizadores);
     }
     header("Location: ./index.php?id=" . $t_id);
 } else {
     if (isset($_POST['comprar'])) {
         $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
        $presupuesto = new Presupuesto();
        $objetoPresupuesto = $presupuesto->validarPresupuesto($idTramite);
        $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;
			}
 if ($modo == "rechazar") {
     $finRuta = true;
     $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>";
    $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");
    $_arreglo = array();
    if ($t_dueno == 3000) {
Beispiel #12
0
                if ($texto != "") {
                    $query = sprintf("INSERT INTO observaciones(ob_id,ob_texto,ob_fecha,ob_tramite,ob_usuario)\n\t\t\t\t\t\t\tVALUES(default,'%s',now(),%s,%s)", $texto, $t_id, $u_id);
                    $ob_id = $cnn->insertar($query);
                }
                @mysql_query("BEGIN");
                $tramite = new Tramite();
                $rutauatorizacion = $tramite->GetRutaAutorizacion($t_id);
                $ruta_autorizadores = $rutauatorizacion[0] . "|" . $rutauatorizacion[1] . "|" . $rutauatorizacion[2];
                $aprobador = $rutauatorizacion[1];
                if ($aprobador == '') {
                    @mysql_query("ROLLBACK");
                    header("Location: ./index.php?errsave=n");
                }
                //Se modifica la etapa
                $tramite = new Tramite();
                $tramite->Modifica_Etapa($t_id, SOLICITUD_ETAPA_APROBACION, FLUJO_SOLICITUD, $aprobador);
                $tramite->Modifica_Autorizaciones($t_id, 0, 0);
                $duenoActual = new Usuario();
                $duenoActual->Load_Usuario_By_ID($u_id);
                $mensaje = sprintf("<a href=" . $RUTA_R . "flujos/solicitudes/index.php?view=view&id=%s>La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>Aceptada</strong> por: <strong>%s</strong> y requiere de su aprobaci&oacute;n.</a>", $t_id, $t_id, $duenoActual->Get_dato('nombre'));
                $tramite = new Tramite();
                $tramite->EnviaNotificacion($t_id, $mensaje, $u_id, $aprobador, "1");
                @mysql_query("COMMIT");
                header("Location: ./index.php?action=comprar");
            }
        }
    }
}
// Muestra la pantalla de Autorizacion
if (isset($_GET['id']) && $_GET['id'] != "" && isset($_GET['view']) || isset($_GET['edit_view']) && isset($_GET['id'])) {
    $cnn = new conexion();
    
    // Envia el tramite a cancelacion
    $tramite = new Tramite();
    $tramite->Load_Tramite($idTramite);    
    $iniciador      = $tramite->Get_dato("t_iniciador");
    $aprobador      = $tramite->Get_dato("t_dueno");
    $t_etapa_actual = $tramite->Get_dato("t_etapa_actual"); 
    $t_flujo        = $tramite->Get_dato("t_flujo");    
    
    $usuarioAprobador = new Usuario();
    $usuarioAprobador->Load_Usuario_By_ID($aprobador);   
    $mensaje = sprintf("La comprobaci&oacute;n <strong>%05s</strong> ha sido <strong>RECHAZADA</strong> por <strong>%s</strong>.",
                            $idTramite, $usuarioAprobador->Get_dato('nombre'));
    $tramite->EnviaMensaje($idTramite, $mensaje); // Notese que el mensaje se envia antes que se cambia la etapa 
    if($t_flujo==FLUJO_COMPROBACION){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_RECHAZADA, FLUJO_COMPROBACION, $iniciador);
                       
    } else if($t_flujo==FLUJO_COMPROBACION_TDC){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_TDC_ETAPA_RECHAZADA, FLUJO_COMPROBACION_TDC, $iniciador);
        
    } else if($t_flujo==FLUJO_REEMBOLSO_CAJA_CHICA){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_CAJA_CHICA_ETAPA_RECHAZADA, FLUJO_REEMBOLSO_CAJA_CHICA, $iniciador);
    }       
                               
	header("Location: ./index.php?action=rechazar");
}  
?>

<link rel="stylesheet" type="text/css" href="../../css/jquery.autocomplete.css"/>
<link rel="stylesheet" type="text/css" href="../../css/date_input.css"/>
<link rel="stylesheet" type="text/css" href="../../css/table_style.css"/>
     $tramite = new Tramite();
     $tramite->Load_Tramite($idTramite);
     $iniciador = $tramite->Get_dato("t_iniciador");
     $aprobador = $tramite->Get_dato("t_dueno");
     $usuarioAprobador = new Usuario();
     $usuarioAprobador->Load_Usuario_By_ID($aprobador);
     // Busca el usuario agencia para que le podamos notificar
     $Us = new Usuario();
     $agencia = $Us->buscaAgenciaViajesParaSolicitud($idceco);
     $mensaje = sprintf("La solicitud <strong>AMEX %05s</strong> ha sido <strong>CANCELADA</strong> por <strong>%s</strong>.", $idTramite, $usuarioAprobador->Get_dato('nombre'));
     // Manda el mensaje a las 3 partes de la transaccion
     $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $aprobador);
     $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $agencia);
     $tramite->EnviaNotificacion($idTramite, $mensaje, $iniciador, $iniciador);
     //$tramite->EnviaMensaje($idTramite, $mensaje); // Notese que el mensaje se envia antes que se cambia la etapa
     $tramite->Modifica_Etapa($idTramite, ANTICIPO_AMEX_ETAPA_RECHAZADA, FLUJO_AMEX, $iniciador);
     // Regresa a la pagina de solicitudes
     header("Location: ./index.php?action=rechazar");
     //
     //     Muestra la pantalla de Autorizacion
     //
 } else {
     if (isset($_GET['id']) && $_GET['id'] != "" && isset($_GET['view']) || isset($_GET['edit_view'])) {
         $empleado = $_SESSION["idusuario"];
         $cnn = new conexion();
         $aux = array();
         $query = "SELECT t_flujo from tramites where t_id={$_GET['id']} ";
         $rst = $cnn->consultar($query);
         $datos = mysql_fetch_assoc($rst);
         if ($datos["t_flujo"] == FLUJO_AMEX) {
             require_once "solicitud_view_edit_amex.php";
            $fila = mysql_fetch_assoc($rst);
            $idProv = $fila['pro_id'];
            if ($num_rows > 0) {
                $idProv = $fila['pro_id'];
            } else {
                $idProv = 0;
            }
            //************Detalle Comprobación
            Add_detalle($idComprobacion, $cCargo, $cConc, $cRef, $cP_RFC, $cAmt, $cImp, $cImpVal, $cTotal, 0, $forma_gasto, $montoexc, $ivaexc, $idProv, $kilometraje, $cDate, $ivaR, $isrR, $cDate, $cExch, $cComensales, $cRate, $tipo, $cFlagFactura, $cFolio, $cRespPart = "9771", $cRespPart = "");
        }
        //for
        // Envia el tramite a aprobacion
        $usuarioAprobador = new Usuario();
        $usuarioAprobador->Load_Usuario_By_ID($aprobador);
        $mensaje = sprintf("El reembolso de Caja Chica <strong>%05s</strong> ha sido <strong>CREADO</strong> y asignado a <strong>%s</strong> para su aprobaci&oacute;n", $idTramite, $usuarioAprobador->Get_dato('nombre'));
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_CAJA_CHICA_ETAPA_APROBACION, FLUJO_REEMBOLSO_CAJA_CHICA, $aprobador, $ruta_autorizadores);
        $tramite->EnviaMensaje($idTramite, $mensaje);
        // Termina transacción
        $tramite->insertar("COMMIT");
        header("Location: ./index.php?oksave");
    } else {
        header("Location: ./index.php?errsave");
        die;
    }
    //if row
}
//if guarda comp
//*****************************//COMPROBACION DE VIAJE//*****************************//
if (isset($_GET['new3'])) {
    function forma_comprobacion()
    {
 }
 $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&oacute;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&oacute;n de Viaje <strong>%05s</strong> ha sido <strong>AUTORIZADA</strong> por <strong>%05s</strong> y requiere de su autorizaci&oacute;n", $idTramite, $dueno_act_nombre);
     $tramite->EnviaNotificacion($idTramite, $mensaje2, $remitente, $siguienteAprobador, 1, "");
 } else {
     $mensaje = sprintf("La Comprobaci&oacute;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];
     }
     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&oacute;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)) {
         $tramite->EnviaNotificacion($idTramite, $mensaje, $iduser, $row['u_id'], 1);
         //"0" para no enviar email y "1" para enviarlo
     }
Beispiel #18
0
 if ($perfil == GERENTE_FINANZAS) {
     $validador = "Gerente";
 } else {
     $validador = "Supervisor";
 }
 // Tramites para aprobar
 //error_log("-------------->>>>>>>>>>>>>>>tramites a aprobar: ".$tramites_aceptados);
 if ($tramites_aceptados != 0) {
     $tramites_a_aprobar = explode('|', $tramites_aceptados);
     $no_tramites_a_aprobar = count($tramites_a_aprobar);
     for ($i = 0; $i < (int) $no_tramites_a_aprobar; $i++) {
         if ($tramites_a_aprobar[$i] != "") {
             //error_log($tramites_a_aprobar[$i]);
             $idT = $tramites_a_aprobar[$i];
             $t_dueno = $rutaAuto->getDueno($idT);
             $tramite->Modifica_Etapa($idT, COMPROBACION_ETAPA_APROBADA_POR_SF, FLUJO_COMPROBACION, "2000", "");
             //Envia notificacion al Supervisor/Gerente de Finanzas de la solicitud de invitaci�n ----------------------------------
             $mensaje = sprintf("La Comprobaci&oacute;n de Viaje <strong>%05s</strong> ha sido <strong>APROBADA</strong> por el %s de Finanzas.", $idT, $validador);
             //error_log($mensaje);
             $remitente = $t_dueno;
             $destinatario = "2000";
             $tramite->EnviaNotificacion($idT, $mensaje, $remitente, $destinatario, "0", "");
             //false para no enviar email
         }
     }
 }
 // Tramites a rechazar
 //error_log("-------------->>>>>>>>>>>>>>>tramites a rechazar: ".$tramites_rechazados);
 if ($tramites_rechazados != 0) {
     $tramites_a_rechazar = explode('|', $tramites_rechazados);
     $no_tramites_a_rechazar = count($tramites_a_rechazar);
    $rst = $cnn->consultar($query);
    while ($fila = mysql_fetch_assoc($rst)) {
        $sv_ceco_paga = $fila['sv_ceco_paga'];
    }
    $queryResp = sprintf("SELECT cc_responsable FROM cat_cecos WHERE cc_id=%s", $sv_ceco_paga);
    $rstResp = $cnn->consultar($queryResp);
    while ($fila = mysql_fetch_assoc($rstResp)) {
        $cc_responsable = $fila['cc_responsable'];
    }
    $GerenteArea = new Empleado();
    $GerenteArea->Load_id_empleado($cc_responsable);
    $destinatario = $GerenteArea->Get_dato('idempleado');
    //construimos la segunda ruta de autorizacion
    $rutaAutorizacion = new RutaAutorizacion();
    $aprobadornuevo = $rutaAutorizacion->generaRutaSegundaAutorizacion($destinatario, $tramiteId);
    $tramite->Modifica_Etapa($tramiteId, SOLICITUD_ETAPA_SEGUNDA_APROBACION, FLUJO_SOLICITUD, $aprobadornuevo, "");
    $usuarioCreador = new Usuario();
    $usuarioCreador->Load_Usuario_By_ID($tramite->Get_dato("t_iniciador"));
    $mensaje = sprintf("El monto que la agencia de viajes ha registrado para la compra del boleto de avi&oacute;n de la solicitud de viaje <strong>%05s</strong> creada por:<strong>%s</strong> excede el l&iacute;mite de tolerancia  y requiere de tu autorizaci&oacute;n.", $tramiteId, $usuarioCreador->Get_dato('nombre'));
    $remitente = $tramite->Get_dato("t_dueno");
    //se le enviara al Gerente de area
    $tramite->EnviaNotificacion($tramiteId, $mensaje, $remitente, $destinatario, "0", "");
    //"0" para no enviar email y "1" para enviarlo
    //queda pendiente las notificaciones de la segunda ruta.
}
//funcion que nos regresara el numero de CECO al cual esta asignado el usuario ( creacion de una solicitud viaje)
if (isset($_POST['idEmpleado'])) {
    $idEmpleado = (int) $_POST['idEmpleado'];
    $cecoEmpleado = 0;
    $cnn = new conexion();
    $query = sprintf("SELECT cc_centrocostos from cat_cecos where cc_id = (select idcentrocosto from empleado where idempleado = %s)", $idEmpleado);
                $HObser = "";
                $observaciones_solicitud = $notificacion->anotaObservacion($delegado, $HObser, $observaciones_solicitud, FLUJO_SOLICITUD_INVITACION, SOLICITUD_INVITACION_ETAPA_APROBACION);
            } else {
                $observaciones_solicitud = $HObser;
            }
            $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&oacute;n <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en su nombre y requiere de su aprobaci&oacute;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
}
     //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&oacute;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);
         $solicitante = $filaComp['solicitante'];
         $jerarquia = $filaComp['jerarquia'];
    
    // Obtiene el nombre del usuario CxP que le corresponde a esta comprobacion
    $u = new Usuario();            
    $aprobador = $u->buscaAprobadorCxPParaComprobacion($cc_id_comprobacion);
    
    // Envia el tramite directo a CxP
    $usuarioAprobador = new Usuario();
    $usuarioAprobador->Load_Usuario_By_ID($aprobador);
    $mensaje = sprintf("El gasto adicional de la comprobaci&oacute;n <strong>%05s</strong> ha sido <strong>RECHAZADO</strong> y asignada a <strong>%s</strong> para su revisi&oacute;n",
                                $idTramite, $usuarioAprobador->Get_dato('nombre'));
    
    // Envia el tramite a la etapa correcta basado en el flujo
    $tramite = new Tramite();
    $tramite->EnviaMensaje($idTramite, $mensaje);    
    if($t_flujo==FLUJO_COMPROBACION){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_CXP, FLUJO_COMPROBACION, $aprobador);                           
    } else if($t_flujo==FLUJO_COMPROBACION_TDC){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_TDC_ETAPA_CXP, FLUJO_COMPROBACION_TDC, $aprobador);            
    } else if($t_flujo==FLUJO_REEMBOLSO_CAJA_CHICA){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_CAJA_CHICA_ETAPA_CXP, FLUJO_REEMBOLSO_CAJA_CHICA, $aprobador);
    }                                    
        
    header("Location: ./index.php?action=rechazar");
    die();
}  
?>

<link rel="stylesheet" type="text/css" href="../../css/jquery.autocomplete.css"/>
<link rel="stylesheet" type="text/css" href="../../css/date_input.css"/>
<link rel="stylesheet" type="text/css" href="../../css/table_style.css"/>
        $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);
    $rstPresupuesto = $cnn->consultar($queryPresupuesto);
    while ($fila = mysql_fetch_array($rstPresupuesto)) {
        $presupuestoDisponible = $fila["pp_presupuesto_disponible"];
        $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&oacute;n de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> y requiere de tu autorizaci&oacute;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
    /*=================== Nueva comprobación ===================*/
    if (isset($_GET['new'])) {
        function forma_comprobacion()
         //query que eliminara el itinerario al cual este ligado a una  solicitud de viaje
         $query_elimina_itinerario = "DELETE FROM sv_itinerario WHERE svi_id =" . $id_svi . "";
         $cnn->ejecutar($query_elimina_itinerario);
     }
     //query que eliminara la solicitud de viaje con la que este ligado a el tramite seleccionado
     $query_elimina_sv = "DELETE FROM solicitud_viaje WHERE sv_id=" . $id_sv . "";
     $cnn->ejecutar($query_elimina_sv);
     $sql = "DELETE FROM excepciones \n\t\t\t\t\tWHERE ex_solicitud = " . $id_sv;
     $cnn->ejecutar($sql);
     //query que eliminara los conceptos de el tramite seleccionado
     $query_elimina_obsv = "DELETE FROM sv_conceptos_detalle WHERE svc_detalle_tramite=" . $tramiteID . "";
     $cnn->ejecutar($query_elimina_obsv);
     //*****************************************************************************
     //Actualizar tramite
     $idTramite = $tramiteID;
     $tramite->Modifica_Etapa($idTramite, SOLICITUD_ETAPA_SIN_ENVIAR, FLUJO_SOLICITUD, "106", "");
     $query = sprintf("update tramites set t_fecha_ultima_modificacion = now() where t_id ='%s'", $tramiteID);
     $cnn->ejecutar($query);
 } else {
     $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, SOLICITUD_ETAPA_SIN_ENVIAR, FLUJO_SOLICITUD, $sMotivo, $delegado);
     if ($idTramite <= 0) {
         $CViaje->insertar("ROLL BACK");
         header("Location: ./index.php?errsave");
     }
 }
 if (isset($_POST['observ']) && $_POST['observ'] != "") {
     $sObservaciones = $_POST['observ'];
 } else {
     $sObservaciones = "";
 }
 if (isset($_POST['Accion']) == 'true') {