$dci_divisa = $fila['dc_divisa']; $dci_propina = $fila['dc_propinas']; $dci_proveedor = $fila['dc_proveedor']; $p_proveedor = $fila['pro_proveedor']; $dci_concepto = $fila['dc_concepto']; $co_total = $total_comp; $dci_monto_total_pesos = $fila['dci_monto_total_pesos']; $query = "select cp_concepto from cat_conceptosbmw where dc_id = {$dci_concepto}"; $rst = $cnn->consultar($query); $fila = mysql_fetch_assoc($rst); $dci_concepto_nombre = $fila['cp_concepto']; //Carga el nombre de la etapa en que esta la comprobacion de invitacion $etapa = new Etapa(); $etapa->Load_Etapa_by_etapa_y_flujo($comprobacion_etapa, $comprobacion_flujo); $comprobacion_etapa_nombre = $etapa->Get_dato("et_etapa_nombre"); $divisa = $sol_inv->Get_dato("si_divisa"); $total_solicitado = number_format($sol_inv->Get_dato("si_monto"), 2, ".", ","); $monto_pesos = number_format($sol_inv->Get_dato("si_monto_pesos"), 2, ".", ","); // datos del centro de costos $cc = new CentroCosto(); $cc->Load_CeCo($co_cc_clave); $cc_centrocostos = $cc->Get_Dato("cc_centrocostos"); $cc_nombre = $cc->Get_Dato("cc_nombre"); // Datos de la Divisa $Divisa = new Divisa(); $Divisa->Load_data($dci_divisa); $div_nombre = $Divisa->Get_dato("div_nombre"); $pdf->SetFont('consola', 'B', 6.5); $pdf->Ln(7); $pdf->SetX(15); $pdf->Multicell(180, 8, "Información de la comprobación de solicitud de invitación", 'LRT', 'C');
$nIva = $_POST['iva' . $i]; $nTua = $_POST['tua' . $i]; $nOtroImp = $_POST['otros_imp' . $i]; $sSelect_hora_salida = $_POST['hora' . $i]; $HoraSalida = $_POST['horaSalida' . $i]; $apartadoBoleto = $_POST['apartado_boleto' . $i]; $CViaje->Edit_Itinerario_amex($nId_itinerario, $sTipoViaje, $nNumvuelo, $sAerolinea, $nCostoViaje, $nIva, $nTua, $nOtroImp, $sSelect_hora_salida, $HoraSalida, $apartadoBoleto); } } //for // Actualiza el campo de observaciones $Csv = new C_SV(); $Csv->Load_Solicitud_Amex_Tramite($idTramite); $Csv->Modifica_Observaciones($idTramite, $observaciones, FLUJO_AMEX); // Actualiza el valor del anticipo en la tabla de amex $amexID = $Csv->Get_dato("sa_id"); $queryMonto = "SELECT (SUM(sai_monto_vuelo) + SUM(sai_iva) + SUM(sai_tua) + SUM(sai_otrocargo)) AS monto FROM sa_itinerario s WHERE sai_solicitud = {$amexID}"; //error_log($queryMonto); $rstMonto = $cnn->consultar($queryMonto); $monto = mysql_result($rstMonto, 0, "monto"); $queryMontoActualizar = "UPDATE solicitud_amex SET sa_anticipo ='{$monto}' WHERE sa_id = {$amexID}"; //error_log($queryMontoActualizar); $cnn->insertar($queryMontoActualizar); // Envia el tramite a aprobacion $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); $iniciador = $tramite->Get_dato("t_iniciador"); $agencia = $tramite->Get_dato("t_dueno"); $usuarioAgencia = new Usuario(); $usuarioAgencia->Load_Usuario_By_ID($agencia); $usuarioAprobador = new Usuario();
function obtener_ruta_de_autorizacion_de_solicitud_viaje($id_tramite, $zonaGeografica) { $t_ruta_autorizacion = ""; $id_agencia = ""; $id_director_de_area = ""; $id_director_general = ""; $id_controlling = ""; $id_finanzas = ""; $agencia = true; $dir_area = true; $dir_gral = true; $controlling = true; $finanzas = true; //Cargamos la soliciytu de viaje en base al tramite $compInv = new C_SV(); $compInv->Load_Solicitud_tramite($id_tramite); //Se obtiene el ID del usuario de agencia $usuario_aux = new Usuario(); $id_agencia = $usuario_aux->Get_Id_by_Tipo("4"); //El 4 es el ID del tipo agencia actualmente 16/abr/2012 //El primer autorizador es el "Gerente de area", //osea el responsable del centro de costos de la comprobacion de invitacion. $cc_id = $compInv->Get_dato("sv_ceco_paga"); $cc = new CentroCosto(); $cc->Load_CeCo($cc_id); $id_gerente_de_area = $cc->Get_Dato("cc_responsable"); /* //Se checa si el usuario es de "BMW Financial Services". $tramite = new Tramite(); $tramite->Load_Tramite($id_tramite); $id_iniciador = $tramite->Get_dato("t_iniciador"); $usuario = new Usuario(); $usuario->Load_Usuario_By_ID($id_iniciador); $usu_empresa = $usuario->Get_dato("u_empresa"); if($usu_empresa == "2"){ $dir_gral = true; }else{ //Se checa si existe un invitado de tipo "Gobierno". $comensales = new Comensales(); $comensales_array = $comensales->Load_comensales_by_tramite($id_tramite); $no_invitados = count($comensales_array); for($i=0;$i<$no_invitados;$i++){ if($comensales_array[$i]['dci_tipo_invitado'] == "Gobierno"){ $dir_gral = true; break; } } if($dir_gral == true){ }else{ //Se checa si el monto solicitado por persona es mayor a 50 EUR. $si_monto_pesos = $sol_inv->Get_dato("si_monto_pesos"); $divisa = new Divisa(); $divisa->Load_data("3"); //div_id de EUR = 3 $tasa_eur = $divisa->Get_dato("div_tasa"); $monto_x_persona = $si_monto_pesos/$tasa_eur/$no_invitados; if($monto_x_persona > 50){ $dir_gral = true; } } } */ $usuario = new Usuario(); //El segundo autorizador es el "Director de area". if ($dir_area == true) { $id_director_de_area = $cc->Get_Dato("cc_director_de_area"); } //El tercer autorizador es el "Director general". if ($dir_gral == true) { $usuario->Load_Usuario_By_Clave(1); // por el campo director_general obtenemos su idfwk_usuario $id_director_general = $usuario->Get_dato("idfwk_usuario"); } $agrup_usu = new AgrupacionUsuarios(); //El cuarto autorizador es el "Controlling". if ($controlling == true) { $agrup_usu->Load_Grupo_de_Usuario_By_Nombre('Controlling'); $id_controlling = $agrup_usu->Get_dato("au_id"); } //El quinto autorizador es el "Finanzas". if ($finanzas == true) { $agrup_usu->Load_Grupo_de_Usuario_By_Nombre('Finanzas'); $id_finanzas = $agrup_usu->Get_dato("au_id"); } //Se arma la ruta de autorizacion //La nueva ruta consiste en tomar el tipo de region que se ha seleccionado en el itinerario creado $t_ruta_autorizacion = $id_agencia . "|" . $id_gerente_de_area; //Si es de tipo Nacional if ($zonaGeografica == "Nacional") { //La nueva ruta de autorizacion sera: Gerente Area->Director de Area->Controlling->Finanzas if ($dir_area == true && $id_director_de_area != "") { if (existe_substr($t_ruta_autorizacion, $id_director_de_area, "|") == false) { $t_ruta_autorizacion .= "|" . $id_director_de_area; } } if ($controlling == true && $id_controlling != "") { if (existe_substr($t_ruta_autorizacion, $id_controlling, "|") == false) { $t_ruta_autorizacion .= "|" . $id_controlling; } } if ($finanzas == true && $id_finanzas != "") { if (existe_substr($t_ruta_autorizacion, $id_finanzas, "|") == false) { $t_ruta_autorizacion .= "|" . $id_finanzas; } } //si es de tipo Continental y/o Intercontinental } else { if ($zonaGeografica == "Continental" || $zonaGeografica == "Intercontinental") { //La Ruta de autorizacion sera la ruta base Gerente Area->Director de Area->Director General->Controlling->Finanzas if ($dir_area == true && $id_director_de_area != "") { if (existe_substr($t_ruta_autorizacion, $id_director_de_area, "|") == false) { $t_ruta_autorizacion .= "|" . $id_director_de_area; } } if ($dir_gral == true && $id_director_general != "") { if (existe_substr($t_ruta_autorizacion, $id_director_general, "|") == false) { $t_ruta_autorizacion .= "|" . $id_director_general; } } if ($controlling == true && $id_controlling != "") { if (existe_substr($t_ruta_autorizacion, $id_controlling, "|") == false) { $t_ruta_autorizacion .= "|" . $id_controlling; } } if ($finanzas == true && $id_finanzas != "") { if (existe_substr($t_ruta_autorizacion, $id_finanzas, "|") == false) { $t_ruta_autorizacion .= "|" . $id_finanzas; } } } } //error_log($t_ruta_autorizacion.$zonaGeografica); return $t_ruta_autorizacion; }
// Regresa a la pagina de solicitudes header("Location: ./index.php?action=autorizar"); // // Rechaza la solicitud (ANTICIPO_ETAPA_RECHAZADA) // } else { if (isset($_POST['rechazar']) && isset($_POST['idT']) && $_POST['idT'] != "") { // Datos del tramite $sObser = $_POST['observ']; $idTramite = $_POST['idT']; // Actualiza el campo de observaciones $Csv = new C_SV(); $Csv->Load_Solicitud_Amex_Tramite($idTramite); $Csv->Modifica_Observaciones($idTramite, $sObser, FLUJO_AMEX); // Regresa el monto apartado al ceco $idceco = $Csv->Get_dato("sa_ceco_paga"); $monto = $Csv->Get_dato("sa_anticipo"); $fecha = $Csv->Get_dato("sa_fecha_viaje"); $Cc = new CentroCosto(); $Cc->regresa_monto($idceco, $monto, $fecha); // Envia el tramite a cancelacion $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'));