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; }
for ($i = 1; $i <= $_POST['rowCountAuto2'] + $_POST['rowCountAuto']; $i++) { //Partidas de Itinerario if (isset($_POST['id_itinerario_auto' . $i])) { $nId_itinerario = $_POST['id_itinerario_auto' . $i]; $empresa_auto = $_POST['empresa_auto' . $i]; $tipo_de_auto = $_POST['tipo_de_auto' . $i]; $dias_de_renta_auto = $_POST['dias_de_renta' . $i]; $costo_x_dia_auto = $_POST['costo_x_dia' . $i]; $subtotal_auto = $_POST['subtotal_auto' . $i]; $CViaje->Edit_Itinerario_Viaje_Auto($nId_itinerario, $empresa_auto, $tipo_de_auto, $dias_de_renta_auto, $costo_x_dia_auto, $subtotal_auto); } } //for // Actualiza el campo de observaciones $Csv = new C_SV(); $Csv->Load_Solicitud_tramite($idTramite); $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); // Se envia el mensaje a las 3 partes de la transaccion $mensaje = sprintf("La solicitud <strong>%05s</strong> ha sido <strong>COMPRADA</strong> por <strong>(AGENCIA) %s</strong>.", $idTramite, $usuarioAgencia->Get_dato('nombre')); $tramite->EnviaNotificacion($idTramite, $mensaje, $agencia, $agencia); $tramite->EnviaNotificacion($idTramite, $mensaje, $agencia, $iniciador); } $empleado = new Empleado(); $empleado->Load_datos_por_usuario2($iniciador); $iniciador = $empleado->Get_dato("jefe"); //Se modifica la etapa $aprobador = $_POST['iniciador'];