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 } }
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; } }
public function validarPresupuesto($idTramite) { $tramites = new Tramite(); $tramites->Load_Tramite($idTramite); $flujoTramite = $tramites->Get_dato('t_flujo'); switch ($flujoTramite) { case FLUJO_SOLICITUD: $campos = 'sv_ceco_paga AS idCeco, sv_total AS total'; $tabla = 'solicitud_viaje'; $condicion = sprintf('sv_tramite = %s', $idTramite); break; case FLUJO_SOLICITUD_GASTOS: $campos = 'sg_ceco AS idCeco, sg_monto_pesos AS total'; $tabla = 'solicitud_gastos'; $condicion = sprintf('sg_tramite = %s', $idTramite); break; case FLUJO_COMPROBACION: $campos = 'co_cc_clave AS idCeco, co_total AS total'; $tabla = 'comprobaciones'; $condicion = sprintf('co_mi_tramite = %s', $idTramite); break; case FLUJO_COMPROBACION_GASTOS: $campos = 'co_cc_clave AS idCeco, co_total AS total'; $tabla = 'comprobacion_gastos'; $condicion = sprintf('co_mi_tramite = %s', $idTramite); break; } $queryCeco = sprintf("SELECT %s FROM %s WHERE %s", $campos, $tabla, $condicion); $rst = parent::consultar($queryCeco); $cc_id = mysql_result($rst, 0, "idCeco"); $total = mysql_result($rst, 0, "total"); // Obtener presupuesto $presupuestoCECO = $this->obtenerPresupuestoporCeco($cc_id, date("m")); $presupuestoDisponible = $presupuestoCECO['pp_presupuesto_disponible']; $excedePresupuesto = $presupuestoDisponible < $total ? true : false; $diferenciaPresupuesto = (double) $presupuestoDisponible - (double) $total; $presupuesto = array('excedePresupuesto' => $excedePresupuesto, 'diferenciaPresupuesto' => $diferenciaPresupuesto, 'presupuestoDisponible' => $presupuestoDisponible); return json_encode($presupuesto); }
<td valign="top"><div align="right">Observaciones:</div></td> <td colspan="3" rowspan="1" class="alignLeft" valign="top"> <textarea name="observ" cols="80" rows="5" id="observ"></textarea> </td> <td > </td> </tr> <?}?> <tr><td colspan="5"></td></tr> <tr> <td colspan="5"><br /> <div align="center"> <?php $idTramite = $_GET['id']; $tramites = new Tramite(); $tramites->Load_Tramite($idTramite); $t_iniciador = $tramites->Get_dato("t_iniciador"); $t_dueno = $tramites->Get_dato("t_dueno"); $t_ruta_autorizacion = $tramites->Get_dato("t_ruta_autorizacion"); $iduser = $_SESSION["idusuario"]; $encontrado = encuentraAutorizador($t_ruta_autorizacion, $iduser); $privilegios = 0; if (isset($_SESSION['iddelegado'])) { $query = sprintf("SELECT privilegios FROM usuarios_asignados WHERE id_asignador = '%s' AND id_delegado = '%s'", $_SESSION["idusuario"], $_SESSION['iddelegado']); $rst = $cnn->consultar($query); $fila = mysql_fetch_assoc($rst); $privilegios = $fila["privilegios"]; //error_log($query); } if (isset($_GET['view']) && $t_etapa == SOLICITUD_INVITACION_ETAPA_EN_APROBACION_POR_DIRECTOR && !isset($_SESSION['iddelegado'])) { ?> <input type="submit" value=" Aprobar" id="aprobar_si" name="aprobar_si" style="background:url(../../images/ok.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;" />
$rows = $_POST['total_rows']; $observaciones = $_POST['campo_observaciones']; $historialObservaciones = $_POST["campo_historial"]; $cecoNuevo = $_POST['centro_de_costos_new']; $cecoOriginal = $_POST['centro_de_costos_old']; $divisaEuro = $_POST["valorDivisaEUR"]; $divisaDolar = $_POST["valorDivisaUSD"]; if ($observaciones != "") { $notificacion = new Notificacion(); $observaciones = $notificacion->anotaObservacion($idusuario, $historialObservaciones, $observaciones, FLUJO_COMPROBACION, COMPROBACION_ETAPA_EN_APROBACION); $sql = "UPDATE comprobaciones \n\t\t\t\t\tSET co_observaciones = '{$observaciones}' \n\t\t\t\t\tWHERE co_mi_tramite = '{$idTramite}'"; $cnn->ejecutar($sql); } $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); $t_ruta_autorizacion = $tramite->Get_dato("t_ruta_autorizacion"); $t_delegado = $tramite->Get_dato("t_delegado"); $t_dueno = $tramite->Get_dato("t_dueno"); $t_iniciador = $tramite->Get_dato("t_iniciador"); $rutaAutorizacion = new RutaAutorizacion(); //print_r($_REQUEST); if ($modo == "autorizar") { $finRuta = false; //$siguienteAprobador = $rutaAutorizacion->AutorizarFinanzas($idTramite, $cecoNuevo , 1); $siguienteAprobador = $rutaAutorizacion->getSiguienteAprobador($idTramite, $t_dueno); if ($siguienteAprobador == "") { $finRuta = true; $siguienteAprobador = $t_iniciador; } $duenoActual01 = new Usuario(); if ($duenoActual01->Load_Usuario_By_ID($t_dueno)) {
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']; $ruta_autorizadores = ""; if ($exedeParametrosDeTolerancia == true) {
} else { $id_empresa = $U->Get_dato("u_empresa"); $Empresa->Load_Empresa($id_empresa); $_SESSION["idusuario"] = $U->Get_dato("u_id"); $_SESSION["usuario"] = $U->Get_dato("u_paterno") . " " . $U->Get_dato("u_materno") . " " . $U->Get_dato("u_nombre"); $_SESSION["empresa"] = $id_empresa; $_SESSION["nombreempresa"] = $Empresa->Get_dato("e_codigo") . " - " . $Empresa->Get_dato("e_nombre"); if ($U->find_tipos($U->Get_dato("u_id")) && $notification_by_email == 0) { header("Location: accesotipo.php"); } else { if ($U->find_delegaciones($U->Get_dato("u_id")) && $notification_by_email == 0) { header("Location: ./flujos/delegacion/delegaciones.php"); } else { if ($hidTramite != null && $notification_by_email != 0) { $tramite_aux->Load_Tramite($hidTramite); $t_flujo = $tramite_aux->Get_dato("t_flujo"); $etapa_tramite = $tramite_aux->Get_dato("t_etapa_actual"); error_log("Flujo del tramite: " . $t_flujo); error_log("Etapa del tramite: " . $etapa_tramite); if ($t_flujo == "") { header("Location: inicial.php?error"); } // Perfil de Agencia para Solicitudes de Viaje if ($t_flujo == FLUJO_SOLICITUD && $etapa_tramite == SOLICITUD_ETAPA_AGENCIA) { $_SESSION["perfil"] = "4"; } else { if ($t_flujo == FLUJO_SOLICITUD && $etapa_tramite == SOLICITUD_ETAPA_EN_APROBACION) { $_SESSION["perfil"] = "1"; } else { $_SESSION["perfil"] = "1"; }
public function getNombreAutorizadores($tramiteId) { $ruta_del = array(); $usuarioAprobador = new Usuario(); $tramite = new Tramite(); $tramite->Load_Tramite($tramiteId); $tramite_ruta = $tramite->Get_dato("t_ruta_autorizacion"); //error_log("--->>> Ruta de Autorizacion: ".$tramite_ruta." <<<---"); //Obtener los nombres de los Autorizadores $token = strtok($tramite_ruta, "|"); $autorizadores = ""; $encontrado = false; if ($token != false) { if ($usuarioAprobador->Load_Usuario_By_ID($token)) { $usuarioAprobador->Load_Usuario_By_ID($token); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno"); } else { $agrup_usu = new AgrupacionUsuarios(); $agrup_usu->Load_Grupo_de_Usuario_By_ID($token); $nombre_autorizadores = $agrup_usu->Get_dato("au_nombre"); } $encontrado = strpos($token, "*"); if ($encontrado) { $ruta_del = explode("*", $token); $usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= "<font color='#0000CA'>" . $nombre_autorizadores . "</font> AUTORIZO EN NOMBRE DE: "; $usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]); $nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= $nombre_autorizadores1; } else { $autorizadores .= $nombre_autorizadores; } $token = strtok("|"); while ($token != false) { $autorizadores .= ", "; if ($usuarioAprobador->Load_Usuario_By_ID($token)) { $usuarioAprobador->Load_Usuario_By_ID($token); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno"); } else { $agrup_usu = new AgrupacionUsuarios(); $agrup_usu->Load_Grupo_de_Usuario_By_ID($token); $nombre_autorizadores = $agrup_usu->Get_dato("au_nombre"); } $encontrado = strpos($token, "*"); if ($encontrado) { $ruta_del = explode("*", $token); $usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= "<font color='#0000CA'>" . $nombre_autorizadores . "</font> AUTORIZO EN NOMBRE DE: "; $usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]); $nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre") . " " . $usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= $nombre_autorizadores1; } else { $autorizadores .= $nombre_autorizadores; } $token = strtok("|"); } } return $autorizadores; }
function getNombreAutorizadoresReporte($tramiteId, $ruta=true){ $ruta_del = array(); $usuarioAprobador = new Usuario(); $tramite = new Tramite(); $tramite->Load_Tramite($tramiteId); $tramite_ruta = ($ruta) ? $tramite->Get_dato("t_ruta_autorizacion") : $tramite->Get_dato("t_autorizaciones"); //Obtener los nombres de los Autorizadores $token = strtok($tramite_ruta,"|"); $autorizadores = ""; $encontrado = false; if($token != false){ if($usuarioAprobador->Load_Usuario_By_ID($token)){ $usuarioAprobador->Load_Usuario_By_ID($token); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno"); }else{ $agrup_usu = new AgrupacionUsuarios(); $agrup_usu->Load_Grupo_de_Usuario_By_ID($token); $nombre_autorizadores = $agrup_usu->Get_dato("au_nombre"); } $encontrado = strpos($token, "*"); if($encontrado){ $ruta_del = explode("*", $token); $usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= " ".$nombre_autorizadores." AUTORIZO EN NOMBRE DE: "; $usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]); $nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= $nombre_autorizadores1; }else{ $autorizadores .= $nombre_autorizadores; } $token = strtok("|"); while($token != false){ $autorizadores .= ", "; if($usuarioAprobador->Load_Usuario_By_ID($token)){ $usuarioAprobador->Load_Usuario_By_ID($token); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno"); }else{ $agrup_usu = new AgrupacionUsuarios(); $agrup_usu->Load_Grupo_de_Usuario_By_ID($token); $nombre_autorizadores = $agrup_usu->Get_dato("au_nombre"); } $encontrado = strpos($token, "*"); if($encontrado){ $ruta_del = explode("*", $token); $usuarioAprobador->Load_Usuario_By_ID($ruta_del[0]); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= " ".$nombre_autorizadores."AUTORIZO EN NOMBRE DE: "; $usuarioAprobador->Load_Usuario_By_ID($ruta_del[1]); $nombre_autorizadores1 = $usuarioAprobador->Get_dato("u_nombre")." ".$usuarioAprobador->Get_dato("u_paterno"); $autorizadores .= $nombre_autorizadores1; }else{ $autorizadores .= $nombre_autorizadores; } $token = strtok("|"); } } return $autorizadores; }
$I = new Interfaz("Solicitud de Gastos", true); require_once "solicitud_viaje_new.php"; $I->Footer(); } } else { if (isset($_GET['view']) || isset($_GET['VIEW'])) { /*Se obtiene la etapa de la solicitud, si la etapa es igual a "Devuelta" entonces se "Muestra la Solicitud para su edicion",ven caso de ser diferente a "Devuelta" se muestra solo la "Consulta de la Solicitud".*/ if (isset($_GET['view'])) { $t_id = $_GET['id']; } if (isset($_GET['VIEW'])) { $t_id = $_GET['ID']; } $tramite = new Tramite(); $tramite->Load_Tramite($t_id); $id_etapa = $tramite->Get_dato("t_etapa_actual"); if ($id_etapa == SOLICITUD_ETAPA_RECHAZADA) { $I = new Interfaz("Solicitud de Gastos", true); require_once "solicitud_viaje_new.php"; $I->Footer(); } else { $I = new Interfaz("Solicitud de Viaje", true); include "solicitud_view.php"; $I->Footer(); } } else { if (isset($_GET['edit_view'])) { $I = new Interfaz("Solicitud de Viaje", true); require_once "solicitud_view.php"; $I->Footer(); } else {
$co_tipo = $comp_inv->Get_dato("co_tipo"); $motivo = $comp_inv->Get_dato("co_motivo"); $ciudad = $comp_inv->Get_dato("co_ciudad"); $co_tramite = $comp_inv->Get_dato("co_tramite"); $co_cc_clave = $comp_inv->Get_dato("co_cc_clave"); $subtotal_comp = number_format($comp_inv->Get_dato("co_subtotal"), 2, ".", ","); $iva_comp = number_format($comp_inv->Get_dato("co_iva"), 2, ".", ","); $total_comp = number_format($comp_inv->Get_dato("co_total"), 2, ".", ","); $co_total_aprobado = number_format($comp_inv->Get_dato("co_total_aprobado"), 2, ".", ","); $co_pendiente = number_format($comp_inv->Get_dato("co_total") - $comp_inv->Get_dato("co_total_aprobado"), 2, ".", ","); $observaciones = $comp_inv->Get_dato("co_observaciones"); $co_num_invitados = $comp_inv->Get_dato("co_num_invitado"); $co_lugar = $comp_inv->Get_dato("co_lugar"); $co_fecha_invitacion = cambiarFormatoFecha($comp_inv->Get_dato("co_fecha_invitacion")); $co_hubo_excedente = $comp_inv->Get_dato("co_hubo_exedente"); $referencia = $tramite->Get_dato("t_etiqueta"); $t_owner = $tramite->Get_dato("t_dueno"); $t_iniciador = $tramite->Get_dato("t_iniciador"); $comprobacion_etapa = $tramite->Get_dato("t_etapa_actual"); $comprobacion_flujo = $tramite->Get_dato("t_flujo"); $t_delegado = $tramite->Get_dato("t_delegado"); $sql = "SELECT nombre FROM empleado WHERE idfwk_usuario = " . $t_delegado; $rst = $cnn->consultar($sql); $fila = mysql_fetch_assoc($rst); $t_delegado = $fila['nombre']; $usu = new Usuario(); $usu->Load_Usuario_By_ID($t_iniciador); $nombreEmpleado = $usu->Get_dato("nombre"); $query = "SELECT FORMAT(dc_monto,2) AS dc_monto, FORMAT(dc_iva,2) AS dc_iva, FORMAt(dc_propinas,2) AS dc_propinas, dc_divisa, dc_proveedor, pro_proveedor, pro_rfc,\n\t\t\tFORMAT(dci_monto_total_pesos,2) AS dci_monto_total_pesos, dc_concepto\n\t\t\tFROM detalle_comprobacion_invitacion AS dci \n\t\t\tLEFT JOIN proveedores AS p on p.pro_id = dci.dc_proveedor \n\t\t\tWHERE dc_comprobacion = {$idComprobacion}"; $rst = $cnn->consultar($query); $fila = mysql_fetch_assoc($rst);
?> </html> <?php } if (isset($_POST['autorizar_cotizacion']) && isset($_POST['idT']) && $_POST['idT'] != "" && isset($_POST['iu']) && $_POST['iu'] != "") { $idTramite = $_POST['idT']; $sObser = $_POST['observ_to_emple']; $sv_total = str_replace(',', '', $_POST['totalSolicitud']); $delegado = $_POST['delegado']; $HObser = $_POST['campo_historial']; $cnn = new conexion(); $delegados = new Delegados(); $ruta_autorizacion = new RutaAutorizacion(); $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); $t_dueno = $tramite->Get_dato("t_dueno"); $t_delegado = $tramite->Get_dato("t_delegado"); //error_log("Delegado: ".$delegado); //Datos usuario if ($delegado == 0) { $iduser = $_POST['iu']; $delegado = 0; } else { $iduser = $delegado; $delegado = $_POST['iu']; } $existeDelegado = $delegados->existenciaDelegado($iduser, $delegado); /* * Actualizamos el campo de t_delegado, pues si es el delegado quien aprueba la cotización entonces hay que guardar su ID. */ $tramite->actualizaDelegado($idTramite, $delegado);
function forma_comprobacion() { $tipoUsuario = $_SESSION["perfil"]; ?> <!-- Inicia forma para comprobación --> <script language="JavaScript" src="js/backspaceGeneral.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery-1.3.2.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.date_input.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.tablesorter.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.autocomplete.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.bgiframe.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.tableEditor.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.fadeSliderToggle.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.blockUI.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/formatNumber.js" type="text/javascript"></script> <script language="JavaScript" type ="text/javascript" src="../../lib/js/jquery/jquery.jdpicker.js"></script> <script language="JavaScript" type ="text/javascript" src="../../lib/js/jquery/jquery.jdpicker2.js"></script> <script language="JavaScript" src="../solicitudes/js/solicitud_viaje.js" type="text/javascript"></script> <script language="JavaScript" src="js/communication_ajax.js" type="text/javascript"></script> <link rel="stylesheet" href="../../css/jdpicker.css" type="text/css" media="screen" /> <link rel="stylesheet" href="../../css/jdpicker2.css" type="text/css" media="screen" /> <script language="JavaScript" type="text/javascript"> //variables var doc; var arreglovalores=new Array(); var arregloestatus=new Array(); var arreglodescripcion=new Array(); doc = $(document); doc.ready(inicializarEventos);//cuando el documento esté listo function inicializarEventos(){ var frm=document.invitacion_comp; // Bloqueamos la pantalla $.blockUI({ message: '<h1>Espere un momento...</h1>', css:{ border: 'none', padding: '15px', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px', opacity: .5, color: '#fff' } }); var tramite_id=gup("edit2"); //alert(tramite_id); fillform(tramite_id); $("#tramite_id").val(tramite_id); //genera la lista de sugerencia: nombre proveedor $("#proveedor").autocomplete("catalogo_proveedores.php", { minChars:1, matchSubset:1, matchContains:1, cacheLength:10, onItemSelect:seleccionaItem2, onFindValue:buscaRFC, formatItem:arreglaItem, maxItemsToShow:5, autoFill:false, extraParams:{tip:1} });//fin autocomplete //genera la lista de sugerencia: rfc proveedor $("#rfc").autocomplete("catalogo_proveedores.php", { minChars:1, matchSubset:1, matchContains:1, cacheLength:10, onItemSelect:seleccionaItem, onFindValue:buscaProveedor, formatItem:arreglaItem, maxItemsToShow:5, autoFill:false, extraParams:{tip:2} });//fin autocomplete // Se usa para controlar el div de agregar proveedor $(".fadeNext").click(function(){ $(this).next().fadeSliderToggle(); return false; }); $("#fecha").jdPicker({ date_format:"dd/mm/YYYY", //date_min:"<?php echo date("d/m/Y"); ?> ", month_names: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], short_month_names: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], short_day_names: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"] }); if(navigator.appName!='Netscape'){ document.getElementById('msg_div').style.width="800px"; document.getElementById('msg_div').style.height="300px"; document.getElementById('msg_div').style.top="25%"; document.getElementById('msg_div').style.left="18.5%"; } $('#fecha').keydown(function(e){ ignoraEventKey(e); }); $("input").bind("keydown", function(e){ if(!isAlphaNumeric(e)) return false; }); //bloqueo de teclas en caracteres extraños para proveedor $("#new_proveedor").bind("keydown", function(e){ if(!isAlphaNumericRFC(e)) return false; }); $("#new_p_rfc").bind("keydown", function(e){ if(!isAlphaNumericRFC(e)) return false; }); $("#rfc").bind("keydown", function(e){ if(!isAlphaNumericRFC(e)) return false; }); /* * Impedimos que salga de la pantalla al teclear el backspace en algún botón */ $('#agregarInv').focus(function() { confirmaRegreso('agregarInv'); }); $('#add_rem_prv').focus(function() { confirmaRegreso('add_rem_prv'); }); $('#agregar').focus(function() { confirmaRegreso('agregar'); }); $('#guardarCompprevedit').focus(function() { confirmaRegreso('guardarCompprevedit'); }); $('#guardarCompedit').focus(function() { confirmaRegreso('guardarCompedit'); }); $('#fact_chk').focus(function() { confirmaRegreso('fact_chk'); }); $('#cambia_table').focus(function() { confirmaRegreso('cambia_table'); }); $('#enviaDirector').focus(function() { confirmaRegreso('enviaDirector'); }); }//fin ready ó inicializarEventos function gup(name){ var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp ( regexS ); var tmpURL = window.location.href; var results = regex.exec( tmpURL ); if( results == null ) return""; else return results[1]; } /*--------------Begin Fillform------------------------------------------------------------------------------*/ function fillform(id_solicitud){ var frm=document.invitacion_comp; var etapa = 0; var tipo_comp = 0; var Cecos = 0; var divisa = 0; var rfcFactura = ""; var dc_rfc = ""; var dc_folio_factura = ""; $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "comprobacionSI="+id_solicitud, dataType: "json", timeout: 10000, success: function(json){ // Etapa de la Comprobación etapa = json[0].t_etapa_actual; $("#etapa").val(etapa); // Cargar ID del Tramite $("#solicitud_de_invitacion").val(json[0].co_tramite); // Cargar Ciudad de la Solicitud de Invitación $("#ciudad_data").html(json[0].si_ciudad); $("#co_ciudad_data").val(json[0].si_ciudad); // Cargar el lugar de Invitación $("#lugar_inv").val(json[0].co_lugar); // Cargar Fecha de Factura $("#fecha").val(json[0].dc_factura); // Cargar Fecha de Invitación $("#invitacion_dato").html(json[0].si_fecha_invitacion); $("#fechainvitacion").val(json[0].si_fecha_invitacion_bd); // Cargar Monto de la Comprobación $("#monto").val(json[0].dc_monto); // Cargar IVA de la Comprobación $("#impuesto").val(json[0].dc_iva); // Cargar Propinas de la Comprobación $("#propina_dato").val(json[0].dc_propinas); // Carga de Observaciones if(etapa == 4 || etapa == 5 || etapa == 10 || json[0].t_autorizaciones_historial != ""){ $("#historial_observaciones").val(json[0].co_observaciones); } $("#observ").val(json[0].co_observaciones_edicion); /* Almacenamos el tipo de comprobación para cuando este se haya completado, * enviemos el dato como parametro */ tipo_comp = json[0].co_tipo; /* * Guardamos el CECO en una variable */ Cecos = json[0].cc_centrocostos; /* * Guardamos la Divisa de la Comprobación */ divisa = json[0].dc_divisa; /* * Guardamos el RFC de la Comprobación */ rfcFactura = json[0].pro_proveedor; $("#rfcComprobacion").val(rfcFactura); if(rfcFactura != ""){ dc_rfc = json[0].dc_rfc; dc_folio_factura = json[0].dc_folio_factura; } }, complete: function(json){ // Traer el compentario de la Comprobación $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "tram_coment="+id_solicitud, timeout: 10000, success: function(jsonComentarios){ // Carga de los comentarios de la Comprobación $("#comentarios").val(jsonComentarios); }, complete: function(jsonComentarios){ // Carga Tipo de Comprobación var combo = document.invitacion_comp.tipo; var cantidad = combo.length; for (var i = 1; i < cantidad; i++) { var toks=combo[i].value; if (toks==tipo_comp){ combo[i].selected = true; if(tipo_comp=="amex"){ //En este ajax se obtiene el id del cargo que se guardo en el previo $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "id_de_comp="+id_solicitud, timeout: 10000, success: function(jsontipo){ if(jsontipo != 0){ $("#select_tipo_tarjeta").val(1); //Se guarda el id del cargo amex seleccionado en un campo oculto en el formulario para despues seleccionarlo $("#id_cargo_amex_seleccionado").val(jsontipo); //La seleccion de un cargo de la lista de cargos se realiza en la funcion "LlenarCombo2" } }, complete: function(jsontipo){ verificar_tipo_tarjeta(); }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); } } }); tipo_de_comprobacion(tipo_comp); } break; } } // Carga el CECO de la Comprobación /* Seleccionar CECO */ if(Cecos != null){ seleccionar(Cecos); } // Carga la divisa de la Comprobación var combo = frm.moneda; var cantidad = combo.length; for (var i = 1; i < cantidad; i++) { var toks=combo[i].value; if (toks == divisa) { combo[i].selected = true; break; } } // Verificamos si la Comprobación se registro con un RFC if(rfcFactura != ""){ $("input[name=fact_chk]").attr("checked",true); $("#fact_chk1").val("on"); $("#iva_label").fadeIn(); $("#impuesto").fadeIn(); $("#datosProveedor").fadeIn(); $("#proveedor").val(rfcFactura); $("#rfc").val(dc_rfc); $("#d_folio").val(dc_folio_factura); cargarInvitados(id_solicitud, "cargaInicial"); }else{ $("input[name=fact_chk]").attr("fact_chk",false); $("#proveedor").val(""); $("#rfc").val(""); $("#d_folio").val(""); cargarInvitados(id_solicitud, "cargaInicial"); } // Inhabilita los campos cuando sea la etapa Devuelto con Observaciones verificaEtapaTramite(); }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); } } }); }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); } } }); if($("#delegado").val != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } } /*--------------end Fillform----------------------------------------------------------------------------------*/ function verificaEtapaTramite(){ var etapa = $("#etapa").val(); if(etapa != 5){ // Habilitar botón de Envio de Solicitud $("#guardarCompprevedit").removeAttr("disabled"); // Habilitar Solicitud de Invitación, Tipo de Comprobación y CECOS $("#solicitud_de_invitacion").removeAttr("disabled"); $("#tipo").removeAttr("disabled"); $("#centro_de_costos").removeAttr("disabled"); // Habilitar listas de Tipo de Tarjeta y Lista de Cargos $("#solicitud_de_invitacion").removeAttr("disabled"); $("#select_tipo_tarjeta").removeAttr("disabled"); $("#select_tarjeta_cargo").removeAttr("disabled"); }else{ // Deshabilitar botón de Guardado Previo $("#guardarCompprevedit").attr("disabled", "disabled"); // Desactivar Solicitud de Invitación, Tipo de Comprobación y CECOS $("#solicitud_de_invitacion").attr("disabled", "disabled"); $("#tipo").attr("disabled", "disabled"); $("#centro_de_costos").attr("disabled", "disabled"); // Desactivar las listas Tipo de Tarjeta y Lista de Cargos $("#select_tipo_tarjeta").attr("disabled", "disabled"); $("#select_tarjeta_cargo").attr("disabled", "disabled"); } $.unblockUI(); } function clean_comprobacion(){ $("#monto").val(0); $("#monto_pesosDisabled").val(0); $("#monto_pesos").val(0); $("#propina_dato").val(0); $("totalDisabled").val("0"); $("total").val("0"); $("#observ").val(""); $("input[name=fact_chk]").attr("checked",false); $("#impuesto").fadeOut(); $("#datosProveedor").fadeOut(); document.getElementById("moneda").removeAttribute("disabled"); document.getElementById("impuesto").value = 0; $("#proveedor").val(""); $("#rfc").val(""); $("#d_folio").val(""); $("#numInvitadosDisabled").val("0"); $("#numInvitados").val("0"); $("#impuesto").val(""); $("#moneda").val("-1"); $("#lugar_inv").val(""); $("#invitacion_dato").html(""); document.getElementById("fechainvitacion").value = ""; VaciarTabla(); getTotal(); //recalculaMontos(); } function enviar_formulario(){ document.invitacion_comp.submit(); } //solicitar confirmación de previo function solicitarConfirmPrevio(){ var frm=document.invitacion_comp; if(confirm("¿Desea guardar esta Comprobación como previo?")){ if($("#tipo").val() == -1){ alert("Seleccione el tipo de comprobación que desea Guardar."); return false; }else if($("#centro_de_costos").val() == -1){ alert("Seleccione un Centro de Costos."); return false; }else{ frm.submit(); } }else{ return false; } } //Solicitar confirmación de guardado function solicitarConfirmarGuardado(){ var frm=document.invitacion_comp; var etapa = $("#etapa").val(); if(confirm("¿Desea enviar la Comprobación?")){ if(etapa == 5){ // Etapa Devuelto con observaciones // Habilitar Solicitud de Invitacipon, Tipo de Comprobación y CECOS $("#solicitud_de_invitacion").removeAttr("disabled"); $("#tipo").removeAttr("disabled"); $("#centro_de_costos").removeAttr("disabled"); // Habilitar listas de Tipo de Tarjeta y Lista de Cargos $("#solicitud_de_invitacion").removeAttr("disabled"); $("#select_tipo_tarjeta").removeAttr("disabled"); $("#select_tarjeta_cargo").removeAttr("disabled"); } return true; }else{ return false; } } function guardaComprobacionprev(){ var frm=document.invitacion_comp; if(parseInt($("#solicitud_de_invitacion").val())>-1) { $("#guardarCompprevedit").removeAttr("disabled"); } else { $("#guardarCompprevedit").attr("disabled", "disabled"); } } function buscaProveedor(li) { var rfc_pro = $("#rfc").val(); var url = "services/catalogo_proveedores.php"; $.post(url,{nombre:rfc_pro,tip:1},function(data){ $("#proveedor").val(data); $("#load_div").html(""); }); }//fin buscaProveedor function buscaRFC(li) { var name_pro = $("#proveedor").val(); var url = "services/catalogo_proveedores.php"; $.post(url,{nombre:name_pro,tip:2},function(data){ $("#rfc").val(data); $("#load_div").html(""); }); }//fin buscaRFC function seleccionaItem(li) { buscaProveedor(li); }//fin seleccionaItem function seleccionaItem2(li) { buscaRFC(li); }//fin seleccionaItem function arreglaItem(row) { //da el formato a la lista return row[0]; }//fin arreglaItem function tipo_de_comprobacion(valor){ var frm=document.invitacion_comp; if(frm.tipo.value == "amex"){ $("#seccion_amex").slideDown(500); $("#seccion_amex").css("display", "block"); $("#seccion_amex").addClass("visible"); }else{ //ocultar "seccion_amex" if($("#seccion_amex").hasClass("visible")){ $("#seccion_amex").slideUp(500); $("#seccion_amex").removeClass("visible"); $("#fact_chk").removeAttr("disabled"); } } if(valor == "reembolso_para_empleado"){ $("#g_reembolso").html($("#monto_pesos").val().replace(/,/g,"")+" MXN"); $("#t_reembolso").val($("#monto_pesos").val()); $("#g_amex_comprobado").html("0.00 MXN"); $("#t_amex_comprobado").val(0); $("#g_comprobado").html($("#monto_pesos").val().replace(/,/g,"")+" MXN"); $("#t_comprobado").val($("#monto_pesos").val()); }else if(valor == "amex"){ $("#g_amex_comprobado").html($("#monto_pesos").val().replace(/,/g,"")+" MXN"); $("#t_amex_comprobado").val($("#monto_pesos").val()); $("#g_reembolso").html("0.00 MXN"); $("#t_reembolso").val(0); $("#g_comprobado").html($("#monto_pesos").val().replace(/,/g,"")+" MXN"); $("#t_comprobado").val($("#monto_pesos").val()); }else if(valor == "-1"){ $("#g_amex_comprobado").html("0.00 MXN"); $("#t_amex_comprobado").val(0); $("#g_reembolso").html("0.00 MXN"); $("#t_reembolso").val(0); $("#g_comprobado").html("0.00 MXN"); $("#t_comprobado").val(0); } limpiar_cuadro_amex(); } function verificar_tipo_tarjeta(){ var frm= document.invitacion_comp; var tipo_tarjeta=frm.select_tipo_tarjeta.value; var etapa = $("#etapa").val(); var cargoAMEX = $("#id_cargo_amex_seleccionado").val(); var noemple=<?php if (isset($_SESSION['iddelegado'])) { $iduser = $_SESSION['iddelegado']; } else { $iduser = $_SESSION["idusuario"]; } echo $iduser; ?> ; var noTarjetaEmpleado = 0; if(tipo_tarjeta != "" && tipo_tarjeta != "-1"){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "tipo_tarjeta="+tipo_tarjeta+"&usuario="+noemple, dataType: "html", timeout: 10000, success: function(dato){ if(dato==""){ $("#no_tarjeta_credito").html("Datos no Encontrados"); $("#select_tarjeta_cargo").empty(); $("#select_tarjeta_cargo").append('<option value="-1">Sin Datos</option>'); }else{ $("#no_tarjeta_credito").html(dato); noTarjetaEmpleado = dato; } }, complete: function(dato){ if(etapa == 5){ // Etapa Devuelto con Observaciones solo cargará el cargo que se asocio a la Comprobación cargoAmex(cargoAMEX); }else{ obtenercargos(noTarjetaEmpleado); } }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); } } }); }else{ limpiar_cuadro_amex(); } } function limpiar_cuadro_amex(){ var frm= document.invitacion_comp; arreglovalores.splice(0,arreglovalores.length); arregloestatus.splice(0,arregloestatus.length); arreglodescripcion.splice(0,arreglodescripcion.length); LimpiarCombo(frm.select_tarjeta_cargo); $("#fecha_cargo").html(""); $("#establecimiento_cargo").html(""); $("#monto_cargo").html(""); $("#rfc_cargo").html(""); $("#moneda_local").html(""); $("#amex_pesos").html(""); $("#amex_dolar").html(""); $("#moneda_fact_val").val(""); $("#fecha_cargo_val").val(""); $("#establecimiento_cargo_val").val(""); $("#monto_cargo_val").val(""); $("#amex_pesos_val").val(""); $("#amex_dolar_val").val(""); $("#rfc_cargo_val").val(""); $("#moneda_local_val").val(""); $("#no_tarjeta_credito").html(""); $("#select_tipo_tarjeta").val("-1"); } function deshabilitar_tipo(){ var etapa = $("#etapa").val(); var elemento = $("#tipo option:selected").val(); if(etapa == 5){ document.getElementById("tipo").setAttribute("disabled","disabled"); $("#dato002").val(elemento); $("#dato002").attr("name", "tipo"); $("#dato002").attr("id", "tipo"); } } function obtenercargos(valor){ var frm=document.invitacion_comp; var tramite = $("#tramiteID").val(); LimpiarCombo(frm.select_tarjeta_cargo); if(valor != ""){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "no_tarjeta="+valor+"&comprobacion="+tramite, dataType: "json", timeout: 10000, success: function(json){ if(json==null){ $("#select_tarjeta_cargo").append(new Option("Sin Datos")); }else{ arreglovalores.splice(0,arreglovalores.length); arregloestatus.splice(0,arregloestatus.length); arreglodescripcion.splice(0,arreglodescripcion.length); LlenarCombo(json, frm.select_tarjeta_cargo); LlenarCombo2(arreglovalores,arreglodescripcion,arregloestatus,frm.select_tarjeta_cargo); } }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); } } }); } } function LimpiarCombo(combo){ while(combo.length > 0){ combo.remove(combo.length-1); } } function LlenarCombo(json, combo){ combo.options[0] = new Option('Selecciona un item', ''); for(var i=0;i<json.length;i++){ var str=json[i]; var str1=str.slice(str.search(":")+1); var str2=str.substr(0,str.search(":")); //combo.options[combo.length] = new Option(str1,str2); arreglovalores[arreglovalores.length]=str1; arreglodescripcion[arreglodescripcion.length]=str2; if(arregloestatus[arregloestatus.length]!=false) arregloestatus[arregloestatus.length]=true; } } function LlenarCombo2(arregloval,arreglodesc,arreglosts,combo){ var frm=document.invitacion_comp; LimpiarCombo(combo); combo.options[0]=new Option('Selecciona un item', ''); for(var i=0;i<arregloval.length;i++){ if(arreglosts[i]==true){ combo.options[combo.length] = new Option(arregloval[i],arreglodesc[i]); //alert(combo.options[i+1].value); if(combo.options[i+1].value == frm.id_cargo_amex_seleccionado.value){ combo.options[i+1].selected = true; cargar_detalles(); } } } } function cambiarestatusamex(valor,estatus){ for(var i=0;i<arreglovalores.length;i++){ if(arreglovalores[i]==valor){ arregloestatus[i]=estatus; } } } //Función para rellenar combos. function cargar_detalles(){ var frm=document.invitacion_comp; var cargo_localizar=frm.select_tarjeta_cargo.value; $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "no_cargo="+cargo_localizar, dataType: "json", success: function(json){ if(json==""){ //$("#no_corporacion").html("Datos no Encontrados"); $("#fecha_cargo").html("Datos no Encontrados"); $("#establecimiento_cargo").html("Datos no Encontrados"); $("#monto_cargo").html("Datos no Encontrados"); $("#rfc_cargo").html("NA"); $("#moneda_local").html("Datos no Encontrados"); $("#amex_pesos").html("Datos no Encontrados"); $("#amex_dolar").html("Datos no Encontrados"); //$("#no_corporacion_val").val(""); $("#moneda_fact_val").val(""); $("#fecha_cargo_val").val(""); $("#establecimiento_cargo_val").val(""); $("#monto_cargo_val").val(""); $("#amex_pesos_val").val(""); $("#amex_dolar_val").val(""); $("#rfc_cargo_val").val(""); $("#moneda_local_val").val(""); }else{ $("#rfc_cargo").html(json[0].rfc_establecimiento); $("#rfc_cargo_val").val(json[0].rfc_establecimiento); //$("#no_corporacion").html(json[0].corporacion); $("#fecha_cargo").html(json[0].fecha_cargo); $("#establecimiento_cargo").html(json[0].concepto); $("#monto_cargo").html(number_format(json[0].monto,2,".",",")+" "+json[0].moneda_local); //$("#amex_pesos").html("$"+json[0].monto); $("#amex_dolar").html(number_format(json[0].montoAmex,2,".",",")+" "+json[0].monedaAmex); $("#amex_dolar_val").val(json[0].montoAmex); //$("#rfc_cargo").html(json[0].rfc_establecimiento); $("#moneda_local").html(json[0].moneda_local); //$("#no_corporacion_val").val(json[0].corporacion); $("#moneda_fact_val").val(json[0].monedaAmex); $("#fecha_cargo_val").val(json[0].fecha_cargo); $("#establecimiento_cargo_val").val(json[0].concepto); $("#monto_cargo_val").val(json[0].monto); //$("#amex_pesos_val").val(json[0].monto); $("#moneda_local_val").val(json[0].moneda_local); var tipo_cambio = parseFloat(json[0].montoAmex/json[0].monto); $("#tipo_cambio").val(tipo_cambio.toFixed(2)); $("#div_tipo_cambio").html(tipo_cambio.toFixed(5)); if(json[0].conversion_pesos != "" || json[0].conversion_pesos != null){ $("#amex_pesos").html(number_format(json[0].conversion_pesos,2,".",",")); $("#amex_pesos_val").val(json[0].conversion_pesos); }else{ $("#amex_pesos").html("0"); $("#amex_pesos_val").val("0"); } if($("#rfcComprobacion").val() != "" && json[0].rfc_establecimiento != ""){ $("#fact_chk").attr("checked",true); $("#fact_chk").attr("disabled",true); verDatosProveedor(); }else if(json[0].rfc_establecimiento == "" || json[0].rfc_establecimiento == null){ $("#fact_chk").attr("checked",false); $("#fact_chk").removeAttr("disabled"); verDatosProveedor(); }else{ $("#fact_chk").attr("checked",true); $("#fact_chk").attr("disabled",true); verDatosProveedor(); } } } }); } // Muestra el div y el campo de IVA function muestraIva(){ var divisa = $("#moneda").val(); if (divisa == "MXN"){ $("#div_iva").css("display", "block"); $("#impuesto").css("display", "block"); $("#impuesto").val($("#monto").val()*.16); $("#totalDisabled").val( parseFloat($("#monto").val()) + parseFloat($("#impuesto").val()) ); $("#total").val( parseFloat($("#monto").val()) + parseFloat($("#impuesto").val()) ); }else if(!$("#fact_chk").is(":checked")){ $("#div_iva").css("display", "none"); $("#impuesto").css("display", "none"); $("#impuesto").val(0); $("#totalDisabled").val( parseFloat($("#monto").val())); $("#total").val( parseFloat($("#monto").val())); } calculaTotalDolares(); } function calculaTotalDolares(){ var divisa = $("#moneda option:selected").text(); var monto = parseFloat($("#monto").val().replace(/,/g,"")); var iva = ($("#impuesto").val() =="")? 0 : parseFloat($("#impuesto").val().replace(/,/g,"")); var propina = ($("#propina_dato").val() == "") ? 0 : parseFloat($("#propina_dato").val().replace(/,/g,"")); var total = parseFloat(iva)+parseFloat(monto)+parseFloat(propina); total = total.toFixed(2); $("#total").val(number_format(total,2,".",",")); var montoPesos = 0.00; $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "convierteDivisa="+total+"&divisa="+divisa, dataType: "json", timeout: 10000, success: function(json){ montoPesos = json; }, complete: function(json){ $("#monto_pesos").val(number_format(montoPesos,2,".",",")); } }); } function obtener_tasa_USD(){ var cargo_val = parseFloat($("#monto_cargo_val").val()); var dolar = parseFloat($("#valorDivisaUSD").val()); var euro = parseFloat($("#valorDivisaEUR").val()); if($("#moneda_fact_val").val() == "MXN"){ var monto_dolar = (cargo_val / dolar); var redondea_dolar = Math.round(monto_dolar * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales $("#amex_dolar").html(number_format(redondea_dolar,2,".",",")+" USD"); $("#amex_dolar_val").val(redondea_dolar); $("#amex_pesos").html(number_format(cargo_val,2,".",",")+" MXN"); $("#amex_pesos_val").val(cargo_val); }else if($("#moneda_fact_val").val() == "EUR"){ var monto_pesos = (cargo_val * euro); var monto_dolar = (monto_pesos / dolar); var redondea_dolar = Math.round(monto_dolar * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales $("#amex_dolar").html(number_format(redondea_dolar,2,".",",")+" USD"); $("#amex_dolar_val").val(redondea_dolar); $("#amex_pesos").html(number_format(cargo_val,2,".",",")+" MXN"); $("#amex_pesos_val").val(cargo_val); }else{ var monto_dolar = (cargo_val * dolar); var redondea_dolar = Math.round(monto_dolar * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales $("#amex_dolar").html(number_format(cargo_val,2,".",",")+" USD"); $("#amex_dolar_val").val(cargo_val); $("#amex_pesos").html(number_format(redondea_dolar,2,".",",")+" MXN"); $("#amex_pesos_val").val(redondea_dolar); } } // Convierte una fecha del formato "2011-02-27 00:00:00" al formato "27/02/2011" function fecha_to_mysql(strFecha){ var toks1=strFecha.split(" "); var toks=toks1[0].split("-"); var strFechaN = toks[2]+"/"+toks[1]+"/"+toks[0]; return strFechaN; } function fecha_to_mysql_normal(strFecha){ var toks1=strFecha.split(" "); var toks=toks1[0].split("-"); var strFechaN = toks[0]+"/"+toks[1]+"/"+toks[2]; return strFechaN; } /***************************************************************************/ //VARIABLE GLOBAL var textoAnterior = ''; //ESTA FUNCIÓN DEFINE LAS REGLAS DEL JUEGO function cumpleReglas(simpleTexto){ //la pasamos por una poderosa expresión regular //var expresion = new RegExp("^(|([0-9]{1,2}(\\.([0-9]{1,2})?)?))$"); var expresion = new RegExp("^(|([0-9]{1,30}(\\.([0-9]{1,2})?)?))$"); //si pasa la prueba, es válida if(expresion.test(simpleTexto)) return true; return false; }//end function checaReglas //ESTA FUNCIÓN REVISA QUE TODO LO QUE SE ESCRIBA ESTÉ EN ORDEN function revisaCadena(textItem){ //si comienza con un punto, le agregamos un cero if(textItem.value.substring(0,1) == '.') textItem.value = '0' + textItem.value; //si no cumples las reglas, no te dejo escribir if(!cumpleReglas(textItem.value)) textItem.value = textoAnterior; else //todo en orden textoAnterior = textItem.value; }//end function revisaCadena /***************************************************************************/ function NumCheck(e, field) { key = e.keyCode ? e.keyCode : e.which ; valor = field.value+String.fromCharCode(key); // backspace if (key == 8) return true ; // 0-9 if ((key > 47 && key < 58)) { if (valor == "") return true ; //regexp = /.[0-9]{2}$/ regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ; return (regexp.test(valor)) ; } // . if (key == 46) { if (valor == "") return false ; //regexp = /^[0-9]+$/ ; regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ; return regexp.test(valor) ; } // other key return false ; } //validación campos numericos function validaNum(valor){ cTecla=(document.all)?valor.keyCode:valor.which; if(cTecla==8) return true; if(cTecla==37) return true; if(cTecla==39) return true; patron=/^([0-9.]{1,2})?$/; cTecla= String.fromCharCode(cTecla); return patron.test(cTecla); } function validaNum2(valor){ cTecla=(document.all)?valor.keyCode:valor.which; if(cTecla==8) return true; if(cTecla==37) return "ok"; if(cTecla==39) return "ok"; return true; } function format_input(valor){ valor = valor.replace(/,/g,""); //valor = number_format(valor,0,".",",") valor = number_format_sin_redondeo(valor); return valor; } function getTotal(){ var frm=document.invitacion_comp; var propinaDato = frm.propina_dato.value; propinaDato = propinaDato.replace(/,/g,""); var montoValue = frm.monto.value; montoValue = montoValue.replace(/,/g,""); var impuestoValue = frm.impuesto.value; impuestoValue = impuestoValue.replace(/,/g,""); if (impuestoValue == 0 || impuestoValue == ""){ if(propinaDato == "" || propinaDato == 0){ if(montoValue == "" || montoValue == 0){ frm.totalDisabled.value=0; frm.total.value=0; } else { //total var tot = parseFloat(montoValue); frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } } else { if(montoValue == "" || montoValue == 0){ var tot = parseFloat(propinaDato); frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } else { //total var tot = parseFloat(montoValue)+parseFloat(propinaDato); frm.totalDisabled.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales frm.total.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } } } else { if(propinaDato == "" || propinaDato == 0){ if(montoValue == "" || montoValue == 0){ var tot = parseFloat(impuestoValue); frm.totalDisabled.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales frm.total.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } else { //total var tot = parseFloat(montoValue) + parseFloat(impuestoValue); frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } } else { if(montoValue == "" || montoValue == 0){ var tot = parseFloat(propinaDato) + parseFloat(impuestoValue); frm.totalDisabled.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales frm.total.value =Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } else { //total var tot = parseFloat(montoValue)+parseFloat(propinaDato) + parseFloat(impuestoValue); frm.totalDisabled.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2); frm.total.value = Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } } } frm.totalDisabled.value = number_format(frm.total.value,2,".",","); frm.total.value = number_format(frm.total.value,2,".",","); } function evaluaMonto(monto){ $("#capaWarning").html(""); var mensajeExcedePoliticas = undefined; //Variables de las cajas de Texto var divEuro = parseFloat($("#valorDivisaEUR").val()); //var monto = parseFloat($("#tpesos").val()); var num_invitados = parseFloat($("#numInvitados").val()); //Variable para guardar var monto2 = 0; monto2 = ((monto / divEuro) / num_invitados ); if(monto2 > 50 && mensajeExcedePoliticas == undefined){ mensajeExcedePoliticas = "<strong>Esta rebasando la política del concepto. <br>El monto máximo es de 50.00 Euros por persona.</strong>"; conceptoExcedePoliticas = true; } else { conceptoExcedePoliticas = false; } if(conceptoExcedePoliticas){ $("#capaWarning").html(mensajeExcedePoliticas); $("#obsjus").html("Agregar justificación detallada del motivo del excedente<span class='style1'>*</span>:"); //$("#comment").html("Comentarios <span class='style1'>*</span>: "); document.getElementById("banderavalida").value = 1; } else { $("#obsjus").html("Observaciones: "); //$("#comment").html("Comentarios: "); document.getElementById("banderavalida").value = 0; } } function recalculaMontos(){ var total = parseFloat(($("#total").val()).replace(/,/g,"")); var totalAnticipo = 0; var divisas = $("#moneda").val(); var etapa = $("#etapa").val(); var tipo = ""; var tasaNueva = 1; if(divisas != 1){ //Si la divisa es diferente a MXN //Se obtiene las tasas de las divisas var tasa = "<? $query = sprintf('SELECT DIV_ID,DIV_TASA FROM divisa'); $var = mysql_query($query); $aux=""; while ($arr = mysql_fetch_assoc($var)) { $aux.=$arr['DIV_ID'].":".$arr['DIV_TASA'].":"; } echo $aux;?>"; var tasa2 = tasa.split(":"); //Se obtiene la tasa de la divisa seleccionada for(var i=0;i<=tasa2.length;i=i+2){ if(tasa2[i] == divisas){ tasaNueva = tasa2[i+1]; } } } document.getElementById("tasa").value = tasaNueva; var redondear = 0; var frm=document.invitacion_comp; var totalTotal = total * parseFloat(tasaNueva); var redondear = Math.round(totalTotal * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales //document.invitacion_comp.total.value = Math.round(totalTotal * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales document.invitacion_comp.monto_pesosDisabled.value = number_format(redondear,2,".",","); document.invitacion_comp.monto_pesos.value = number_format(redondear,2,".",","); if(etapa != 5){ tipo = document.invitacion_comp.tipo.value; }else{ tipo = $("#tipo").val(); } if(tipo == "reembolso_para_empleado"){ $("#g_reembolso").html(number_format(redondear,2,".",",")+" MXN"); $("#t_reembolso").val(redondear); $("#g_amex_comprobado").html("0.00 MXN"); $("#t_amex_comprobado").val(0); $("#g_comprobado").html(number_format(redondear,2,".",",")+" MXN"); $("#t_comprobado").val(redondear); }else if(tipo == "amex"){ $("#g_amex_comprobado").html(number_format(redondear,2,".",",")+" MXN"); $("#t_amex_comprobado").val(redondear); $("#g_reembolso").html("0.00 MXN"); $("#t_reembolso").val(0); $("#g_comprobado").html(number_format(redondear,2,".",",")+" MXN"); $("#t_comprobado").val(redondear); }else if(tipo == "-1"){ $("#g_amex_comprobado").html("0.00 MXN"); $("#t_amex_comprobado").val(0); $("#g_reembolso").html("0.00 MXN"); $("#t_reembolso").val(0); $("#g_comprobado").html("0.00 MXN"); $("#t_comprobado").val(0); } evaluaMonto(totalTotal); } function getTotal2(){ var frm=document.invitacion_comp; if(frm.propina_dato.value=="") frm.propina_dato.value=0; frm.select_impuesto.value=0; if(frm.impuesto.value!="" && frm.impuesto.value>0 ) frm.totalDisabled.value=parseFloat(frm.impuesto.value)+parseFloat(frm.monto.value)+parseFloat(frm.propina_dato.value); frm.total.value=parseFloat(frm.impuesto.value)+parseFloat(frm.monto.value)+parseFloat(frm.propina_dato.value); } //IVA function valor($combo){ var frm=document.invitacion_comp; if(frm.monto.value=="" || frm.monto.value==0) { frm.monto.value=0; frm.impuesto.value=0; frm.totalDisabled.value=0; frm.total.value=0; if(frm.select_impuesto.value==0) { frm.impuesto.value=0; frm.impuesto.disabled=true; frm.totalDisabled.value=parseFloat(frm.monto.value); frm.total.value=parseFloat(frm.monto.value); } else { //frm.impuesto.disabled=false; //impuesto Total = frm.total.value; Iva = ((frm.select_impuesto.options[frm.select_impuesto.selectedIndex].value / 100)+1); var imp = Total / Iva; //SubTotal frm.impuesto.disabled=false; frm.monto.value=Math.round(imp * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales //Iva MontoIva = (Iva - 1) * imp; var tot=MontoIva; frm.impuesto.value=Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } } else { if(frm.select_impuesto.value==0) { frm.impuesto.value=0; frm.impuesto.disabled=true; frm.totalDisabled.value=parseFloat(frm.monto.value); frm.total.value=parseFloat(frm.monto.value); } else { //impuesto var imp=(frm.select_impuesto.options[frm.select_impuesto.selectedIndex].value*0.01)*(frm.monto.value); frm.impuesto.disabled=false; frm.impuesto.value=Math.round(imp * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales //total var tot=parseFloat(frm.impuesto.value)+parseFloat(frm.monto.value); frm.totalDisabled.value=Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales frm.total.value=Math.round(tot * Math.pow(10, 2)) / Math.pow(10, 2);//redondea a 2 decimales } } }//fin valor //Checar fechas function checafecha(strFecha, diasmax){ var toks=strFecha.split("/"); strFechaN=toks[2]+"/"+toks[1]+"/"+toks[0]; var fecha = new Date(); fecha.setTime(Date.parse(strFechaN)); var today=new Date(); var agedays = Math.floor((today - fecha) / 24 / 60 / 60 / 1000); if(agedays>diasmax){ var hoystr=<?php echo "\"" . date("d/m/Y") . "\";"; ?> document.invitacion_comp.fecha.value=hoystr; return false; }else{ return true; } } //FIN checar fechas function limpiarCamposDeProveedor(valor){ if(valor){ $("#new_proveedor").val(""); $("#new_p_rfc").val(""); $("#new_p_addr").val(""); }else{ $("#proveedor").val(""); $("#rfc").val(""); $("#d_folio").val(""); } } // Ver los datos del proveedor function verDatosProveedor(){ var frm=document.invitacion_comp; if(frm.fact_chk.checked){ $("#iva_label").css("display", "block"); $("#impuesto").css("display", "block"); $("#datosProveedor").css("display", "block"); frm.moneda.selectedIndex = 1; activaIva(); getTotal(); recalculaMontos(); $("#fact_chk1").val("on"); }else{ $("#iva_label").css("display", "none"); $("#impuesto").css("display", "none"); $("#datosProveedor").css("display", "none"); activaIva(); getTotal(); recalculaMontos(); limpiarCamposDeProveedor(0); } // Bandera para indicar que se ha concluido la carga de la página $("#cargaEdicion").val(0); } //FIN ver los datos del proveedor //Activar campo IVA function activaIva(){ var cargaPagina = $("#cargaEdicion").val(); var proveedor_amex = ($("#fact_chk").is(':checked'))?true:false; var moneda = $("#moneda option:selected").val(); if(moneda == 1 || proveedor_amex){ var monto = $("#monto").val().replace(/,/g,""); $("#iva_label").css("display", "block"); $("#impuesto").css("display", "block"); if(cargaPagina != 1){ $("#impuesto").val(monto * .16); } getTotal(); recalculaMontos(); }else if(!$("#fact_chk").is(":checked")){ $("#iva_label").css("display", "none"); $("#impuesto").css("display", "none"); $("#impuesto").val(0); getTotal(); recalculaMontos(); } } //FIN de activar campo IVA //Divisa function cambiaTasa(divisa){ var frm=document.invitacion_comp; if(divisa != ""){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "divisa="+divisa+"&divisa2='1'", dataType: "json", success: function(json){ if(json==null){ }else{ document.getElementById("tasa").value = json[0]; } } }); } } function seleccionar_centro_de_costos(valor){ var frm=document.invitacion_comp; //centro_de_costos; document.getElementById("tipo").removeAttribute("disabled"); document.getElementById("centro_de_costos").removeAttribute("disabled"); if (frm.solicitud_de_invitacion.selectedIndex ==0 || frm.solicitud_de_invitacion.value=="-1"){ document.getElementById("tipo").setAttribute("disabled","disabled"); document.getElementById("centro_de_costos").setAttribute("disabled","disabled"); } if(valor != "" && valor != "-1"){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "t_id4="+valor, dataType: "json", success: function(json){ if(json==null){ }else{ seleccionar(json[0]); } } }); } } //Seleccionar elemento de un combo function seleccionar(elemento) { var etapa = "<?php $tramite = $_GET['edit2']; $FTramite = new Tramite(); $FTramite->Load_Tramite($tramite); $tEtapa = $FTramite->Get_dato("t_etapa_actual"); //error_log("Ettttttttttttttapa: ".$tEtapa); echo $tEtapa; ?> "; var combo = document.invitacion_comp.centro_de_costos; var cantidad = combo.length; for (var i = 1; i < cantidad; i++) { var toks=combo[i].text.split("-"); if (toks[0] == elemento) { combo[i].selected = true; break; } } if(etapa == 5){ document.getElementById("centro_de_costos").setAttribute("disabled","disabled"); $("#devuelto").val(elemento); $("#devuelto").attr("name", "centro_de_costos"); $("#devuelto").attr("id", "centro_de_costos"); } } //Cargar invitados en la tabla function cargarInvitados(valor, carga){ var frm=document.invitacion_comp; if(valor != "" && valor!="-1"){ if(carga === "cargaSeleccionLista"){ $.blockUI({ message: '<h1>Espere un momento...</h1>', css:{ border: 'none', padding: '15px', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px', opacity: .5, color: '#fff' } }); } $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "t_id2="+valor, dataType: "json", timeout: 10000, success: function(json){ if(json==null){ VaciarTabla(); document.getElementById("numInvitadosDisabled").value = 0; document.getElementById("numInvitados").value = 0; }else{ VaciarTabla(); LlenarTabla(json, frm.invitado_table); } }, complete: function(json){ activaIva(); getTotal(); recalculaMontos(); if(carga === "cargaSeleccionLista"){ $.unblockUI(); } }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); } } }); } } function cargarCiudad(valor){ if(valor!="" && valor!="-1"){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "sol_ciud="+valor, success: function(json){ if(json==null){ $("#ciudad_data").html("Datos no encontrados"); }else{ $("#ciudad_data").html(json); $("#co_ciudad_data").val(json); } } }); } } function cargarLugar(valor){ var tramite = <?php $tramiteComp = $_GET['edit2']; echo $tramiteComp; ?> ; if(valor!="" && valor!="-1"){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "tramSolicitud="+tramite, success: function(json){ if(json == null){ document.getElementById("lugar_inv").value = "NULL"; } else { document.getElementById("lugar_inv").value = json; } } }); } } function inhabilita_campos(elemento){ var etapa = $("#etapa").val(); if(etapa == 5){ document.getElementById("solicitud_de_invitacion").setAttribute("disabled","disabled"); $("#dato001").val(elemento); $("#dato001").attr("name", "solicitud_de_invitacion"); $("#dato001").attr("id", "solicitud_de_invitacion"); } } function cargarFecha(valor){ var finvitacion = ""; var finvitacionbd = ""; if(valor!="" && valor!="-1"){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "tramiteid="+valor, success: function(json){ if(json==null){ $("#invitacion_dato").html("Datos no encontrados"); } else { finvitacion = fecha_to_mysql_normal(json); $("#invitacion_dato").html(finvitacion); finvitacionbd = fecha_to_mysql(json); document.getElementById("fechainvitacion").value = finvitacionbd; inhabilita_campos(valor); } } }); } } function cargarMontoPesos(valor){ if(valor!=""){ $.ajax({ type: "POST", url: "services/Ajax_comprobacion.php", data: "idsolic="+valor, success: function(json){ if(json == null){ document.getElementById("monto_pesosDisabled").value = "0"; document.getElementById("monto_pesos").value = "NULL"; } else { document.getElementById("monto_pesosDisabled").value = number_format(json,0,".",","); document.getElementById("monto_pesos").value = number_format(json,0,".",","); } } }); } } function cambiaTitulo(){ var divEuro = parseFloat($("#valorDivisaEUR").val()); var total = parseFloat(($("#monto_pesos").val()).replace(/,/g,"")); var invitados = parseFloat($("#numInvitados").val()); //Variable para guardar var monto2 = 0; monto2 = ((total / divEuro) / invitados ); if(monto2 > 50){ mensajeExcedePoliticas = "<strong>Esta rebasando la política del concepto. <br>El monto máximo es de 50.00 Euros por persona.</strong>"; conceptoExcedePoliticas = true; } else { conceptoExcedePoliticas = false; } if(conceptoExcedePoliticas){ $("#capaWarning").html(mensajeExcedePoliticas); $("#obsjus").html("Agregar justificación detallada del motivo del excedente<span class='style1'>*</span>:"); document.getElementById("banderavalida").value = 1; } else { $("#obsjus").html("Observaciones:"); $("#capaWarning").html(""); document.getElementById("banderavalida").value = 0; } } function LlenarTabla(json, tabla){ var frm=document.invitacion_comp; for(var i=0;i<json.length;i++){ var toks=json[i].split(":"); //Creamos la nueva fila y sus respectivas columnas var nuevaFila='<tr>'; nuevaFila+="<td>"+"<div id='renglonI"+(i+1)+"' name='renglonI"+(i+1)+"'>"+(i+1)+"</div>"+"<input type='hidden' name='row2"+(i+1)+"' id='row2"+(i+1)+"' value='"+(i+1)+"' readonly='readonly' /></td>"; nuevaFila+="<td><input type='hidden' name='nombre"+(i+1)+"' id='nombre"+(i+1)+"' value='"+toks[0]+"' readonly='readonly' />"+toks[0]+"</td>"; nuevaFila+="<td><input type='hidden' name='puesto"+(i+1)+"' id='puesto"+(i+1)+"' value='"+toks[1]+"' readonly='readonly' />"+toks[1]+"</td>"; nuevaFila+="<td><input type='hidden' name='empresa"+(i+1)+"' id='empresa"+(i+1)+"' value='"+toks[2]+"' readonly='readonly' />"+toks[2]+"</td>"; nuevaFila+="<td ><input type='hidden' name='tipoinv"+(i+1)+"' id='tipoinv"+(i+1)+"' value='"+toks[3]+"' readonly='readonly' />"+toks[3]+"</td>"; nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aquí para Eliminar' name='"+(i+1)+"del' id='"+(i+1)+"del' onmousedown='eliminarInvitado(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>"; nuevaFila+= '</tr>'; frm.rowCount2.value=parseInt(frm.rowCount2.value)+parseInt(1); $("#invitado_table").append(nuevaFila); } document.getElementById("numInvitadosDisabled").value = json.length; document.getElementById("numInvitados").value = json.length; } function VaciarTabla() { var TABLE = document.getElementById("invitado_table"); for(var i=TABLE.rows.length-1;i>=1;i--){ TABLE.deleteRow(i); } } //Agregar nuevo invitado function agregarNuevoInvitado(){ if(document.getElementById("agregarInv").value == "Agregar Invitado"){ document.getElementById("agregarInv").value = "Guardar"; document.getElementById("agregarInvitado").style.display = ""; //document.getElementById("registrar_comp").setAttribute("disabled","disabled"); }else{ //en caso de que se oprima el boton Guardar document.getElementById("agregarInv").value = "Agregar Invitado"; document.getElementById("agregarInvitado").style.display = "none"; insertarInvitadoTabla(); //document.getElementById("registrar_comp").removeAttribute("disabled"); } } // FIN Agregar nuevo invitado // Agregar partida function insertarInvitadoTabla(){ var nuevaFila='<tr>'; var frm=document.invitacion_comp; var invitados=parseFloat($("#numInvitados").val()); id=parseInt($("#invitado_table").find("tr:last").find("div").eq(0).html()); if($("#nombre_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); document.getElementById("agregarInv").click(); $("#nombre_invitado").focus(); }else if($("#puesto_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); document.getElementById("agregarInv").click(); $("#puesto_invitado").focus(); }else if($("#empresa_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); document.getElementById("agregarInv").click(); $("#empresa_invitado").focus(); }else if($("#tipo_invitado").val()==-1){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); document.getElementById("agregarInv").click(); $("#tipo_invitado").focus(); }else{ if(isNaN(id)){ id=1; }else{ id+=parseInt(1); } nuevaFila+="<td>"+"<div id='renglonI"+id+"' name='renglonI"+id+"'>"+id+"</div>"+"<input type='hidden' name='row2"+id+"' id='row2"+id+"' value='"+id+"' readonly='readonly' /></td>"; nuevaFila+="<td><input type='hidden' name='nombre"+id+"' id='nombre"+id+"' value='"+$("#nombre_invitado").val()+"' readonly='readonly' />"+$("#nombre_invitado").val()+"</td>"; nuevaFila+="<td><input type='hidden' name='puesto"+id+"' id='puesto"+id+"' value='"+$("#puesto_invitado").val()+"' readonly='readonly' />"+$("#puesto_invitado").val()+"</td>"; nuevaFila+="<td><input type='hidden' name='empresa"+id+"' id='empresa"+id+"' value='"+$("#empresa_invitado").val()+"' readonly='readonly' />"+$("#empresa_invitado").val()+"</td>"; nuevaFila+="<td ><input type='hidden' name='tipoinv"+id+"' id='tipoinv"+id+"' value='"+$("#tipo_invitado").val()+"' readonly='readonly' />"+$("#tipo_invitado").val()+"</td>"; nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aquí para Eliminar' name='"+id+"del' id='"+id+"del' onmousedown='eliminarInvitado(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>"; nuevaFila+= '</tr>'; $("#invitado_table").append(nuevaFila); invitados=invitados+1; $("#numInvitadosDisabled").val(invitados); $("#numInvitados").val(invitados); frm.rowCount2.value=parseInt(frm.rowCount2.value)+parseInt(1); $("#nombre_invitado").val(""); $("#puesto_invitado").val(""); $("#empresa_invitado").val(""); $("#tipo_invitado").val("-1"); // Verificamos que el monto no exceda con el npumero de invitados que resten. evaluaMonto($("#monto_pesos").val().replace(/,/g,"")); } } // FIN Agregar partida // Guardar comprobacion function guardaComprobacion(){ var frm=document.invitacion_comp; if(parseInt(frm.no_Comprobaciones_parciales.value)>=1){ if($("#delegado").val() != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } }else{ if($("#delegado").val() != 0){ $("#enviaDirector").attr("disabled", "disabled"); }else{ $("#guardarCompedit").attr("disabled", "disabled"); } } } // FIN Guardar comprobacion // Verificar tipo de invitado function verificar_tipo_invitado(){ if($("#tipo_invitado").val()=="BMW"){ $("#empresa_invitado").val("BMW DE MEXICO SA DE CV."); $("#empresa_invitado").attr("disabled", "disable"); }else{ $("#empresa_invitado").val(""); $("#empresa_invitado").removeAttr("disabled"); } } //Borrar invitado function eliminarInvitado(id){ var no_partidas = parseInt($("#invitado_table>tbody>tr").length); // Quitamos el registro de Invitado borrarRenglon4(id, "invitado_table", "rowCount2", 0,"renglonI", "edit", "del", ""); $("#numInvitadosDisabled").val(parseInt(no_partidas - 1)); $("#numInvitados").val(parseInt(no_partidas - 1)); $("#rowCount2").val(parseInt(no_partidas - 1)); evaluaMonto($("#monto_pesos").val().replace(/,/g,"")); }// Borrar invitado // FIN Borrar partida function cambiaNombreBtn(obj){ if(obj.value==' Agregar Nuevo Proveedor'){ limpiarCamposDeProveedor(1); $("#msg_div").removeAttr('style'); $('#add_rem_prv').attr("style","background:url(../../images/reject.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;"); obj.value=' Cerrar Panel de Nuevo Proveedor' ; }else{ limpiarCamposDeProveedor(1); $("#msg_div").removeAttr('style'); $('#add_rem_prv').attr("style","background:url(../../images/add.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;"); obj.value=' Agregar Nuevo Proveedor' ; } } //Agrega Nuevo Proveedor al catálogo function nuevoProveedor(nombreProveedor,rfcProveedor,dirFiscal){ if(nombreProveedor == "" ){ alert("Debe ingresar la Razón Social del proveedor."); $("#new_proveedor").focus(); return false; }else if(rfcProveedor == ""){ alert("Debe ingresar el RFC del proveedor."); $("#new_p_rfc").focus(); return false; }else if(dirFiscal == ""){ alert("Debe ingresar el Domicilio Fiscal del proveedor."); $("#new_p_addr").focus(); return false; }else{ if(!valida_formatoRFC(rfcProveedor)){ $("#new_p_rfc").focus(); return false; }else{ $.ajax({ url: 'services/catalogo_proveedores.php', type: "POST", data: "submit=&nameprov="+nombreProveedor+"&rfcprov="+rfcProveedor+"&dirf="+dirFiscal, success: function(datos){ if (datos==""){ $("#proveedor").val(""); $("#rfc").val(""); $('#new_proveedor').val(""); $('#new_p_rfc').val(""); $('#new_p_addr').val(""); $("#proveedor").focus(); }else{ alert(datos); $("#new_proveedor").focus(); } } });//fin ajax return false; } }//fin if rfc } //fin nuevoProveedor function validaInvitados(){ var numInv = parseInt($("#numInvitados").val()); if(numInv < 2){ alert("Favor de ingresar por lo menos dos invitados."); return false; }else{ return true; } } //Verificar estructura de RFC function valida_formatoRFC(campo){ var resultado = campo.match(/[A-Z]{3,4}[0-9]{6}((([A-Z]|[a-z]|[0-9]){3}))/); var resultado2 = campo.match(/^[a-zA-Z]{4,4}[0-9]{6,6}[a-zA-Z0-9]*$/) ; if(resultado == null && resultado2 == null){ alert("El RFC que intenta ingresar es incorrecto. Favor de verificarlo."); return false; }else{ return true; } } //VALIDA TODOS LOS CAMPOS Y PARAMETROS marca function validarcampos(){ var frm= document.invitacion_comp; // Desactivar las listas Tipo de Tarjeta y Lista de Cargos en el caso // que la Comprobación sea Devuelta con Observaciones por Finanzas if($("#etapaComprobacion").val() == 5){ $("#select_tipo_tarjeta").removeAttr("disabled"); $("#select_tarjeta_cargo").removeAttr("disabled"); } var sol_inv=$("#solicitud_de_invitacion").val(); var tipo_comp=$("#tipo option:selected").val(); var cc_costos=$("#centro_de_costos").val(); if(validaInvitados() && solicitarConfirmarGuardado()){ if(parseInt(sol_inv)==-1){ alert("Debe seleccionar una solicitud de invitacion para comprobar. Favor de llenar los datos faltantes."); return false; }else if(parseInt(tipo_comp)==-1){ alert("Debe seleccionar un tipo de comprobación. Favor de llenar los datos faltantes."); return false; }else{ if(tipo_comp=="amex"){ var lugar_amex=$("#lugar_inv").val(); var proveedor_amex=($("#fact_chk").is(':checked'))?true:false; var monto_amex=$("#monto").val(); var monto_pesos_amex=($("#monto_pesos").val()).replace(/,/g,""); var moneda_amex=$("#moneda").val(); var total_comp = ($("#total").val()).replace(/,/g,""); var monto_amex_comp = ($("#amex_dolar_val").val()).replace(/,/g,""); total_comp = parseFloat(total_comp); monto_amex_comp = parseFloat(monto_amex_comp); //var dat_fact= checafecha(frm.fecha.value, 60); var dat_fact= true; var total_amex=$("#total").val(); var observaciones_amex=$("#banderavalida").val(); //alert(parseFloat(frm.total.value)+"-"+parseFloat(frm.monto_cargo_val.value)); var aux_fecha_cargo = frm.fecha_cargo_val.value.split(" "); aux_fecha_cargo = aux_fecha_cargo[0]; aux_fecha_cargo = aux_fecha_cargo.split("-").reverse().join("/"); if(frm.select_tipo_tarjeta.value==-1){ //tipo de tarjeta alert("Debe seleccionar un tipo de cargo para comprobar. Favor de llenar los datos faltantes."); return false; }else if(frm.select_tarjeta_cargo.value==-1 || frm.select_tarjeta_cargo.value==""){ //lista de cargos alert("Debe seleccionar un cargo para comprobar. Favor de llenar los datos faltantes."); return false; }else{ if(lugar_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#lugar_inv").focus(); return false; }else if(proveedor_amex){ // Verfificar parte de la edición if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if(frm.impuesto.value==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); frm.impuesto.focus(); return false; }else if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){ alert("El IVA introducido es inválido. Favor de verificarlo."); frm.impuesto.focus(); return false; }else if($("#d_folio").val()==""){ alert("Debe ingresar un folio de factura. Favor de llenar los datos faltantes."); $("#d_folio").focus(); return false; }else if((frm.rfc.value.length < 12) || (frm.rfc.value.length > 13)){ alert("El RFC que intenta ingresar es incorrecto. Favor de verificarlo."); frm.rfc.focus(); return false; }else if(frm.proveedor.value==""){ alert("Los datos del proveedor estan incompletos. Favor de llenar los datos faltantes."); frm.rfc.focus(); return false; }else if(!valida_formatoRFC($("#rfc").val()) || (frm.rfc_cargo_val.value.toUpperCase() != frm.rfc.value && ($("#rfc_cargo_val").val()).length > 1)){ alert("El RFC ingresado difiere del RFC registrado al cargo."); frm.rfc.focus(); return false; }else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){ alert("La moneda de facturación difiere de la divisa ingresada."); return false; }else if(total_comp != monto_amex_comp){ alert("El monto ingresado difiere del Total Amex."); return false; }else if(observaciones_amex == 1 && $("#observ").val() == "" ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; }else if(!validaProveedor($("#rfc").val(),$("#proveedor").val())){ return false; } }else if(!proveedor_amex){ if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if(parseFloat(monto_amex)<=0){ alert("El monto introducido no es válido. Favor de verificarlo."); $("#monto").focus(); return false; }else if(monto_pesos_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if(parseFloat(monto_pesos_amex)<=0){ alert("El monto en pesos introducido no es válido. Favor de verificarlo."); $("#monto").focus(); return false; }else if(moneda_amex==-1){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#moneda").focus(); return false; }else if(moneda_amex == 1){ if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){ alert("El IVA introducido es inválido. Favor de verificarlo."); frm.impuesto.focus(); return false; }else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){ alert("La moneda de facturación difiere de la divisa ingresada."); return false; }else if(total_comp != monto_amex_comp){ alert("El monto ingresado difiere del Total Amex."); return false; }else if(observaciones_amex==1 && $("#observ").val().length == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; } }else if(dat_fact==false){ alert("Tu comprobante excede el plazo permitido de 60 dias."); return false; }else if(total_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#total").focus(); return false; }else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){ alert("La moneda de facturación difiere de la divisa ingresada."); return false; }else if(total_comp != monto_amex_comp){ alert("El monto ingresado difiere del Total Amex."); return false; }else if(observaciones_amex==1 && $("#observ").val().length == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; }else{ return true; } }else{ if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if(parseFloat(monto_amex)<=0){ alert("El monto introducido no es válido. Favor de verificarlo."); $("#monto").focus(); return false; }else if(monto_pesos_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if(parseFloat(monto_pesos_amex)<=0){ alert("El monto en pesos introducido no es válido. Favor de verificarlo."); $("#monto").focus(); return false; }else if(moneda_amex==-1){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#moneda").focus(); return false; }else if(moneda_amex == 1){ if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){ alert("El IVA introducido es inválido. Favor de verificarlo."); frm.impuesto.focus(); return false; }else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){ alert("La moneda de facturación difiere de la divisa ingresada."); return false; }else if(total_comp != monto_amex_comp){ alert("El monto ingresado difiere del Total Amex."); return false; }else if(observaciones_amex==1 && $("#observ").val().length == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; } }else if(dat_fact==false){ alert("Tu comprobante excede el plazo permitido de 60 dias."); return false; }else if(total_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#total").focus(); return false; }else if(($("#moneda option:selected").text()) != ($("#moneda_fact_val").val())){ alert("La moneda de facturación difiere de la divisa ingresada."); return false; }else if(total_comp != monto_amex_comp){ alert("El monto ingresado difiere del Total Amex."); return false; }else if(observaciones_amex==1 && $("#observ").val().length == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; }else{ return true; } } } }else if(tipo_comp == "reembolso_para_empleado"){ var lugar_reembolso=$("#lugar_inv").val(); var proveedor_reembolso=($("#fact_chk").is(':checked'))?true:false; var monto_amex=$("#monto").val(); var moneda_amex=$("#moneda").val(); //var dat_fact= checafecha(frm.fecha.value, 60); var dat_fact= true; var total_amex=$("#total").val(); var observaciones_amex=$("#banderavalida").val(); if(lugar_reembolso==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#lugar_inv").focus(); return false; }else if(proveedor_reembolso){ if(monto_amex == "" || monto_amex == "0.00" || monto_amex == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if (frm.impuesto.value==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); frm.impuesto.focus(); return false; }else if (parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){ alert("El IVA introducido es inválido. Favor de verificarlo."); frm.impuesto.focus(); return false; } else if($("#d_folio").val()==""){ alert("Debe ingresar un folio de factura. Favor de llenar los datos faltantes."); $("#d_folio").focus(); return false; }else if((frm.rfc.value.length<12)||(frm.rfc.value.length>13)){ alert("El RFC que intenta ingresar es incorrecto. Favor de verificarlo e intente nuevamente."); frm.rfc.focus(); return false; }else if(frm.proveedor.value==""){ alert("Los datos del proveedor estan incompletos. Favor de llenar los datos faltantes."); frm.rfc.focus(); return false; }else if(!validaProveedor($("#rfc").val(), $("#proveedor").val())){ return false; } }else if(monto_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if(parseFloat(monto_amex)<=0){ alert("El monto introducido no es válido. Favor de verificarlo."); $("#monto").focus(); return false; }else if(monto_pesos_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#monto").focus(); return false; }else if(parseFloat(monto_pesos_amex)<=0){ alert("El monto en pesos introducido no es válido. Favor de verificarlo."); $("#monto").focus(); return false; }else if(moneda_amex==-1){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#moneda").focus(); return false; }else if(moneda_amex == 1){ if(parseFloat((frm.impuesto.value).replace(/,/g,"")) < 0 || frm.impuesto.value == ""){ alert("El IVA introducido es inválido. Favor de verificarlo."); frm.impuesto.focus(); return false; }else if(observaciones_amex == 1 && $("#observ").val() == "" ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; } }else if(dat_fact==false){ alert("Tu comprobante excede el plazo permitido de 60 dias."); return false; }else if(total_amex==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#total").focus(); return false; }else if(parseFloat(total_amex)<=0){ alert("El Total introducido no es válido. Favor de verificarlo."); $("#total").focus(); return false; }else if(observaciones_amex==1 && $("#observ").val() == "" ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; }else{ return true; } } } }else{ return false; } } // FIN de Validar campos function cambiaMotivo(){ var frm=document.invitacion_comp; if(frm.solicitud_de_invitacion.value!="-1" && frm.solicitud_de_invitacion.value!="n"){ var tramite=frm.solicitud_de_invitacion.options[frm.solicitud_de_invitacion.selectedIndex].value; frm.motive.value=$("#solicitud_de_invitacion option:selected").text(); //frm.typedoc.value="1|"+tramite; //getSaldoAnticipo(tramite); }else{ frm.motive.value=""; //frm.typedoc.value=""; //$("#g_saldo").html(""); } } function cargar_solicitud(valor){ guardaComprobacionprev(); clean_comprobacion(); cambiaMotivo(); seleccionar_centro_de_costos(valor); cargarInvitados(valor, "cargaSeleccionLista"); cargarCiudad(valor); cargarLugar(valor); cargarFecha(valor); //cargarMontoPesos(valor); cambiaTitulo(); } function cambiar_divisa(valor){ $("#divisa_sol").val(valor); } function validaZeroIzquierda(monto,campo){ if( monto.substring(monto.length-1,monto.length) === "." || monto.substring(monto.length-2,monto.length) === ".0" ){ $("#"+campo).val(monto); }else if(monto == 0 || monto == "" || monto == "NaN"){ $("#"+campo).val(0); }else{ $("#"+campo).val(parseFloat(monto)); } } </script> <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" /> <style type="text/css"> .style1 { color: #FF0000 } .fader { opacity: 0; display: none; } .trans { background-color: #D7D7D7; color: #0000FF; position: absolute; vertical-align: middle; width: 690px; height: 200px; padding: 65px; font-size: 15px; font-weight: bold; top: 26%; left: 18%; } .boton { background: #666666; color: #FFFFFF; border-color: #CCCCCC; } </style> <form action="comprobacion_invitacion.php?save" method="post" name="invitacion_comp" id="invitacion_comp"> <table width="785" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; text-align: left;" onmouseover="cambiaTitulo();" onblur="cambiaTitulo();" onmouseout="cambiaTitulo();"> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <? $cnn = new conexion(); if(isset($_SESSION['iddelegado'])){ $iduser = $_SESSION['iddelegado']; }else{ $iduser = $_SESSION["idusuario"]; } //$idusuario=$_SESSION["idusuario"]; $query = sprintf("SELECT DISTINCT si.si_id AS id, si.si_tramite AS t, t.t_etiqueta AS e FROM solicitud_invitacion AS si INNER JOIN tramites AS t ON si.si_tramite = t.t_id INNER JOIN usuario AS u ON t.t_iniciador = '%s' LEFT JOIN comprobacion_invitacion ON co_tramite = si_tramite WHERE t.t_comprobado = '0' AND t.t_etapa_actual = '3' AND co_mi_tramite = '%s'", $iduser, $_GET["edit2"]); /*$query = sprintf("select distinct si.si_id as 'id', si.si_tramite as 't', t.t_etiqueta as 'e' from solicitud_invitacion as si inner join tramites as t on si.si_tramite = t.t_id inner join usuario as u on t.t_iniciador = $idusuario where t.t_comprobado = 0 and t.t_etapa_actual = 3 or t_etapa_actual=4");*/ //error_log($query); $rst = $cnn->consultar($query); $fila = mysql_num_rows($rst); ?> <td colspan="3">Solicitud de invitación<span class="style1">*</span>: <select name="solicitud_de_invitacion" id="solicitud_de_invitacion" onchange="cargar_solicitud(this.value);"> <option id="-1" value="-1">Seleccione...</option> <?php if ($fila > 0) { while ($fila = mysql_fetch_assoc($rst)) { echo "<option id=" . $fila["id"] . " value=" . $fila["t"] . ">" . $fila["t"] . " - " . $fila["e"] . "</option>"; } } else { echo "<option id='-1' value='-1'>No hay Solicitudes Pendientes</option>"; } ?> </select> <input type="hidden" id="dato001" name="dato001" size="5" readonly="readonly" value="0" /> </td> <td colspan="3">Tipo de comprobación<span class="style1">*</span>: <select name="tipo" id="tipo" onChange="tipo_de_comprobacion(value);" disabled="disabled"> <option id="-1" value="-1">Seleccione...</option> <?php if ($tipoUsuario != 3) { ?> <option name="amex" id="amex" value="amex">Amex</option> <?php } ?> <option name="reembolso_para_empleado" id="reembolso_para_empleado" value="reembolso_para_empleado">Reembolso</option> </select> <input type="hidden" id="dato002" name="dato002" size="5" readonly="readonly" value="" /> </td> <? $cnn = new conexion(); $iduser=$_SESSION["idusuario"]; $query = sprintf("SELECT CC.CC_ID AS 'ID', CC.CC_CENTROCOSTOS AS 'CC', CC.CC_NOMBRE AS 'NOMBRE' FROM cat_cecos AS CC WHERE cc_estatus = '1' AND cc_empresa_id = '".$_SESSION["empresa"]."' ORDER BY CC.CC_CENTROCOSTOS"); $rst = $cnn->consultar($query); $fila = mysql_num_rows($rst); ?> <td colspan="3">Centro de costos<span class="style1">*</span>: <select name="centro_de_costos" id="centro_de_costos" onchange="" disabled="disabled"> <option id="-1" value="-1">Seleccione...</option> <?php if ($fila > 0) { while ($fila = mysql_fetch_assoc($rst)) { echo "<option id=" . $fila["ID"] . " value=" . $fila["CC"] . ">" . $fila["CC"] . "-" . $fila["NOMBRE"] . "</option>"; } } else { echo "<option id='n' value='n'>No hay centro de costos</option>"; } ?> </select> </td> <td><input type="hidden" id="devuelto" name="devuelto" readonly="readonly" value="0" /></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> </table> <br /> <!-- Seccion Amex --> <!--<div id="seccion_amex" align="right" style="display: none;" onmouseover="obtener_tasa_USD();" onblur="obtener_tasa_USD();" onmouseout="obtener_tasa_USD();">--> <div id="seccion_amex" align="right" style="display: none;" > <table width="785" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; text-align: left;"> <tr> <td colspan="3"><h3 align="center">Amex</h3></td> </tr> <tr> <td> </td> <td colspan="3">Tipo de cargo: <select name="select_tipo_tarjeta" id="select_tipo_tarjeta" onchange="verificar_tipo_tarjeta();"> <option id="-1" value="-1">Seleccione...</option> <option id="1" value="1">Amex corporativa gastos</option> <!-- option id="2" value="2">Amex corporativa Gasolina</option --> </select> </td> </tr> <tr> <td> </td> <td colspan="3">Tarjeta de Crédito: <div name="no_tarjeta_credito" id="no_tarjeta_credito" style="width: 70%"></div> </td> </tr> <tr> <td> </td> <!--<td colspan="3">Lista de Cargos: <select name="select_tarjeta_cargo" id="select_tarjeta_cargo" onchange="cargar_detalles();obtener_tasa_USD();" onmouseover="obtener_tasa_USD();" onblur="obtener_tasa_USD();" onmouseout="obtener_tasa_USD();">--> <td colspan="3">Lista de Cargos: <select name="select_tarjeta_cargo" id="select_tarjeta_cargo" onchange="cargar_detalles();"> </select> </td> </tr> <tr> <td colspan="3"><h3 align="center">Detalle del cargo</h3></td> </tr> <tr> <td> </td> <td width="50%">Establecimiento: <input type="hidden" id="establecimiento_cargo_val" name="establecimiento_cargo_val" value="0" readonly="readonly" /> <div id="establecimiento_cargo" name="establecimiento_cargo" align="left"></div> </td> <td width="50%">Total Factura: <input type="hidden" id="monto_cargo_val" name="monto_cargo_val" value="0" readonly="readonly" /> <div id="monto_cargo" name="monto_cargo" align="left"></div> <input type="hidden" id="moneda_fact_val" name="moneda_fact_val" readonly="readonly" /> </td> <td> </td> </tr> <tr> <td> </td> <td width="50%">Fecha: <input type="hidden" id="fecha_cargo_val" name="fecha_cargo_val" value="0" readonly="readonly" /> <div id="fecha_cargo" name="fecha_cargo"></div> </td> <td width="50%">Total Amex: <input type="hidden" id="amex_dolar_val" name="amex_dolar_val" value="0" readonly="readonly" /> <div id="amex_dolar" name="amex_dolar" align="left"></div> </td> <td> </td> </tr> <tr> <td> </td> <td width="50%">RFC: <input type="hidden" id="rfc_cargo_val" name="rfc_cargo_val" value="0" readonly="readonly" /><div id="rfc_cargo" name="rfc_cargo" align="left"></div></td> <td width="50%">Total MXN: <input type="hidden" id="amex_pesos_val" name="amex_pesos_val" value="0" readonly="readonly" /><div id="amex_pesos" name="amex_pesos" align="left"></div></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td colspan="4" width="50%">Tipo de cambio: <input type="hidden" id="tipo_cambio" name="tipo_cambio" value="0.00" readonly="readonly" /><div id="div_tipo_cambio" name="div_tipo_cambio" align="left"></div></td> <td> </td> </tr> <tr> <td> </td> <td width="50%"> </td> <td> </td> <td> </td> </tr> </table> <br /> </div> <!-- FIN Seccion Amex --> <!-- Conceptos a comprobar --> <table width="785" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; text-align: left;" onmouseover="cambiaTitulo();" onblur="cambiaTitulo();" onmouseout="cambiaTitulo();"> <tr> <td colspan="2"></td> </tr> <tr> <td width="2"> </td> <td colspan="12"><h3 align="center">Conceptos a comprobar</h3></td> <td width="2"> </td> </tr> <tr> <td width="2"> </td> <td ><div id="ciudad_label">Ciudad: </div></td> <td colspan="3" align="left"> <div id="ciudad_data" name="ciudad_data"></div> <input type="hidden" id="co_ciudad_data" name="co_ciudad_data" value="" readonly="readonly"/> </td> <td > </td> <td align="left" colspan="2"> <table> <tr> <td align="left"><div id="fecha_inv">Fecha de invitación: </div></td> <td align="left"><div id="invitacion_dato" name="invitacion_dato" align="left"></div><input type="hidden" name="fechainvitacion" id="fechainvitacion"/></td> </tr> </table> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="1" width="2"> </td> <td colspan="12"> <table> <tr> <td>Lugar invitación/Restaurante<span class="style1">*</span>: <input type="text" name="lugar_inv" id="lugar_inv" /></td> </tr> </table> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="2">Proveedor Nacional: <input type="checkbox" name="fact_chk" id="fact_chk" onclick="verDatosProveedor();" /></td> <td colspan="2"><a href="http://www.oanda.com/lang/es/currency/converter/" target="_black">Realiza la conversión a tu divisa</a></td> <td> </td> <td colspan="7"> <table> <tr> <td><div align="left">Fecha Comprobante<span class="style1">*</span>: </div></td> <td><div align="left"><input name="fecha" id="fecha" value="<?php echo date('d/m/Y'); ?> " size="10" onfocus="return checafecha(document.invitacion_comp.fecha.value, 60);" /></div></td> </tr> </table> </td> <td> </td> </tr> <tr> <td width="2" height="26"> </td> <td width="70"><div align="left">Subtotal/Monto<span class="style1">*</span>: </div></td> <!--<td width="83"><div align="left"><input name="monto" id="monto" value="0" size="10" onkeyup="getTotal();recalculaMontos(); this.value = format_input(this.value);" onchange="getTotal();recalculaMontos();" onkeypress="return validaNum(event)" size="10" autocomplete="off" /></div></td>--> <!--<td width="83"><div align="left"><input name="monto" id="monto" value="0" size="10" onkeyup="getTotal();recalculaMontos();" onchange="getTotal();recalculaMontos();" onkeydown="" onkeypress="return NumCheck(event, this);" size="10" autocomplete="off" /></div></td>--> <td width="83"><div align="left"><input name="monto" id="monto" value="0" size="10" onkeyup="revisaCadena(this); getTotal();recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onchange="getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onkeydown="validaZeroIzquierda(this.value,this.id);" onkeypress="validaZeroIzquierda(this.value,this.id);" size="10" autocomplete="off" /></div></td> <td width="55" colspan="2"> <table> <tr> <td><div align="left">Divisa<span class="style1">*</span>:</div></td> <td><div align="left"> <select name="moneda" id="moneda" onchange="cambiaTasa(this.value);recalculaMontos();cambiar_divisa(this.value);activaIva();"> <option value="-1">Seleccione...</option> <option value="1">MXN</option> <option value="2">USD</option> <option value="3">EUR</option> </select> </div></td> </tr> </table> <input type="hidden" name="tasa" id="tasa" value="1" /> </td> <td width="4"> </td> <td width="150"> </td> <td width="4"> </td> <td colspan="5" rowspan="8" style="vertical-align: top"> </td> <td width="4"> </td> </tr> <tr> <td width="2"> </td> <td width="70"><div align="left" id="iva_label" style ="display:none;">IVA<span class="style1">*</span>: </div></td> <!--<td width="83"><div align="left"><input name="impuesto" id="impuesto" value="0" size="10" onkeyup="getTotal();recalculaMontos(); this.value = format_input(this.value);" onchange="getTotal();recalculaMontos();" onkeypress="return validaNum(event);" autocomplete="off" style="display:none;"/></div></td> <td width="55" colspan="2"><input type="hidden" name="bandera_iva" id="bandera_iva" size="15" /></td>--> <!--<td width="83"><div align="left"><input name="impuesto" id="impuesto" value="0" size="10" onkeyup="getTotal();recalculaMontos();" onchange="getTotal();recalculaMontos();" onkeydown="" onkeypress="return NumCheck(event, this);" autocomplete="off" style="display:none;"/></div></td> <td width="55" colspan="2"><input type="hidden" name="bandera_iva" id="bandera_iva" size="15" /></td>--> <td width="83"><div align="left"><input name="impuesto" id="impuesto" size="10" onkeyup="revisaCadena(this); getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onchange="getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onkeydown="validaZeroIzquierda(this.value,this.id);" onkeypress="validaZeroIzquierda(this.value,this.id);" autocomplete="off" style="display:none;"/></div></td> <td width="55" colspan="2"><input type="hidden" name="bandera_iva" id="bandera_iva" size="15" /></td> <td width="4"> </td> <td colspan="1" rowspan="3"> <div align="left" id="datosProveedor" style="display: none;"> <div align="left" id="div_folio"> Folio Factura<span class="style1">*</span>: </div> <div align="left"> <input name="d_folio" id="d_folio" size="15" onkeypress="return validaNum(event)" /> </div> <div id="rfc_prov_busq_div" align="left"> RFC<span class="style1">*</span>: </div> <div align="left"> <input name="rfc" type="text" id="rfc" value="" size="30" maxlength="13" onkeyup="this.value = this.value.toUpperCase();"/> </div> <div align="left"> Razón Social<span class="style1">*</span>: </div> <div align="left"> <input name="proveedor" type="text" id="proveedor" value="" size="30" disabled/> </div> <br /> <input type="button" class="fadeNext" style='background: url(../../images/add.png); background-position: left; background-repeat: no-repeat; background-color: #E1E4EC;' name="add_rem_prv" id="add_rem_prv" onclick="cambiaNombreBtn(this);" value=" Agregar Nuevo Proveedor" /><div class="fader" align="right"> <table width="295" border="0" align="center" cellspacing="1" style="border: 1px #CCCCCC solid; margin: auto; margin-top: 5px; padding-left: 5px; text-align: left;"> <tr> <td><div align="left"> <h3>Agregar nuevo proveedor</h3> </div></td> </tr> <tr> <td><div align="left"> <em><strong>Razón Social<span class="style1">*</span>: </strong></em> </div> <div align="left"> <input name="new_proveedor" type="text" id="new_proveedor" value="" size="45" /> </div></td> </tr> <tr> <td><div align="left"> <em><strong>RFC<span class="style1">*</span>: </strong></em> </div> <div align="left"> <input name="new_p_rfc" type="text" id="new_p_rfc" value="" size="30" maxlength="13" onkeyup="this.value = this.value.toUpperCase();" onblur="valida_formatoRFC(this.value);" /> </div></td> </tr> <tr> <td><div align="left"> <em><strong>Domicilio Fiscal<span class="style1">*</span>:</strong></em> </div> <input name="new_p_addr" id="new_p_addr" value="" size="45" /></td> </tr> <tr> <td> <div align="left"> <input type="button" name="agregar" value=" Agregar" onclick="nuevoProveedor(new_proveedor.value,new_p_rfc.value,new_p_addr.value);" style='background: url(../../images/add.png); background-position: left; background-repeat: no-repeat; background-color: #E1E4EC;' /> </div> </td> </tr> </table> </div> </div> </td> <td colspan="1"> </td> <td > </td> </tr> <tr> <td width="2"> </td> <td width="70"><div name="propina" id="propina" align="left">Propina<span class="style1"></span>: </div></td> <!--<td width="83"><div align="left"><input name="propina_dato" value="0" id="propina_dato" size="10" onkeyup="getTotal();recalculaMontos(); this.value = format_input(this.value);" onchange="getTotal();recalculaMontos();" onkeypress="return validaNum(event);" /></div></td>--> <!--<td width="83"><div align="left"><input name="propina_dato" value="0" id="propina_dato" size="10" onkeyup="getTotal();recalculaMontos();" onchange="getTotal();recalculaMontos();" onkeydown="" onkeypress="return NumCheck(event, this);" /></div></td>--> <td width="83"><div align="left"><input name="propina_dato" value="0" id="propina_dato" size="10" onkeyup="revisaCadena(this); getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onchange="getTotal(); recalculaMontos(); validaZeroIzquierda(this.value,this.id);" onkeydown="validaZeroIzquierda(this.value,this.id);" onkeypress="validaZeroIzquierda(this.value,this.id);" /></div></td> <td width="55"> </td> <td width="83" colspan="1"> </td> <td width="4"> </td> <td colspan="1"> </td> <td colspan="1"> </td> </tr> <tr> <td width="2"> </td> <td width="70"><div align="left">Total<span class="style1">*</span>: </div></td> <td ><div align="left"><input type="text" name="totalDisabled" id="totalDisabled" value="0.00" size="10" disabled="disabled" /> <input type="hidden" name="total" id="total" value="0.00" size="10" readonly="readonly" /></div></td> <td colspan="3" align="center">Monto Total en pesos: <input type="text" name="monto_pesosDisabled" id="monto_pesosDisabled" value="0.00" size="12" disabled="disabled"/> <input type="hidden" name="monto_pesos" id="monto_pesos" value="0.00" size="12" readonly="readonly"/> MXN</td> <td > </td> <td > </td> </tr> <tr> <td width="2"> </td> <td colspan="6"><div id="capaWarning"></div><input type="hidden" name="banderavalida" id="banderavalida" readonly="readonly" /></td> <td width="2"> </td> <td colspan="5"> </td> </tr> <tr> <td width="2"> </td> <td colspan="2" valign="top"><div id="comment" align="right">Comentarios: </div></td> <td colspan="10"><textarea maxlength="36" name="comentarios" id="comentarios" cols="80" rows="5"></textarea></td> <td > </td> </tr> <tr> <td width="2"> </td> <td colspan="6"> </td> <td width="2"> </td> <td colspan="5"> </td> </tr> <tr> <td width="2"> </td> <td colspan="6"> <h3>Personas que asistieron:</h3> <table id="invitado_table" class="tablesorter" cellspacing="1"> <thead> <tr> <th width="5%">No.</th> <th width="35%">Nombre</th> <th width="25%">Puesto</th> <th width="20%">Empresa</th> <th width="15%">Tipo de Invitado</th> <th width="5%">Eliminar</th> </tr> </thead> <tbody> <!-- cuerpo tabla--> </tbody> </table> </td> <td colspan="5" rowspan="2"> <div name="agregarInvitado" id="agregarInvitado" align="left" style="display: none;"> Agregar un Invitado<br /> Nombre:<span class="style1">*</span><br> <input name="nombre_invitado" type="text" id="nombre_invitado" size="50" maxlength="100" /><br> Puesto: <span class="style1">*</span><br> <input name="puesto_invitado" type="text" id="puesto_invitado" size="50" maxlength="100" /><br> Tipo de Invitado: <span class="style1">*</span><br> <select name="tipo_invitado" id="tipo_invitado" onchange="verificar_tipo_invitado();"> <option value="-1">Seleccione...</option> <option value="BMW">Empleado BMW de México</option> <option value="Externo">Externo</option> <option value="Gobierno">Gobierno</option> </select><br> Empresa: <span class="style1">*</span><br> <input name="empresa_invitado" type="text" id="empresa_invitado" size="50" maxlength="100" disabled="disable" /> </div></td> <td colspan="1" rowspan="2"> </td> </tr> <tr> <td> </td> <td colspan="4"><div id="asistentes" align="left">Total de Asistentes: <input type="text" name="numInvitadosDisabled" id="numInvitadosDisabled" value="0" size="2" disabled="disabled" /> <input type="hidden" name="numInvitados" id="numInvitados" value="0" size="2" readonly="readonly" /><br></div></td> <td colspan="2" align="center" valign="middle"><input type="button" id="agregarInv" name="agregarInv" value="Agregar Invitado" onclick="agregarNuevoInvitado();" /></td> </tr> <tr> <td width="2"> <br> <br> <br> <br> <br> </td> <td colspan="6"><div align="center" class="style1" id="load_div"></div> </td> <td width="2"> </td> <td > </td> </tr> </table> <!-- FIN Conceptos a comprobar --> <div id="msg_div" align="center"></div> <br /> <!--FIN DE: function forma_comprobacion() --> <?php }
<?php if (isset($_REQUEST["modo"])) { require_once "../../lib/php/constantes.php"; require_once "../../functions/utils.php"; require_once "../../Connections/fwk_db.php"; $cnn = new conexion(); $modo = $_REQUEST["modo"]; $idTramite = $_POST['idT']; $iduser = $_POST['iu']; $observaciones = $_POST['observ']; $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); $t_dueno = $tramite->Get_dato('t_dueno'); $t_delegado = $tramite->Get_dato('t_delegado'); $iniciador = $tramite->Get_dato('t_iniciador'); if ($observaciones != "") { $query = sprintf("SELECT co_observaciones FROM comprobaciones WHERE co_mi_tramite = '%s'", $idTramite); $rst = $cnn->consultar($query); $fila = mysql_fetch_assoc($rst); $HObser = $fila['co_observaciones']; $notificacion = new Notificacion(); $observaciones = $notificacion->anotaObservacion($t_dueno, $HObser, $observaciones, FLUJO_COMPROBACION, COMPROBACION_ETAPA_EN_APROBACION); $queryInsertaObs = sprintf("UPDATE comprobaciones SET co_observaciones = '%s' WHERE co_mi_tramite = '%s'", $observaciones, $idTramite); $cnn->ejecutar($queryInsertaObs); } if ($modo == 'aprobar') { $rutaautorizacion = new RutaAutorizacion(); /** * Validacion y guardado de excepcion de presupuesto **/
$cecoOriginal = $_POST['centro_de_costos_old']; $divisaEuro = $_POST["valorDivisaEUR"]; $divisaDolar = $_POST["valorDivisaUSD"]; $tramite = new Tramite(); $rutaAutorizacion = new RutaAutorizacion(); $notificacion = new Notificacion(); $comprobaciones = new ComprobacionGastos(); $detalleComprobacion = new DetalleComprobacionGastos(); $concepto = new Concepto(); $usuario = new Usuario(); // Iniciar transaccion en caso de que existir un error $tramite->ejecutar("SET AUTOCOMMIT = 0"); $tramite->ejecutar("BEGIN"); // Informacion del Tramite $tramite->Load_Tramite($idTramite); $t_ruta_autorizacion = $tramite->Get_dato("t_ruta_autorizacion"); $t_delegado = $tramite->Get_dato("t_delegado"); $t_dueno = $tramite->Get_dato("t_dueno"); $t_iniciador = $tramite->Get_dato("t_iniciador"); // Guardado de Observaciones if ($observaciones != "") { $notificacion = new Notificacion(); $observaciones = $notificacion->anotaObservacion($t_dueno, $historialObservaciones, $observaciones, FLUJO_COMPROBACION_GASTOS, COMPROBACION_ETAPA_EN_APROBACION); $comprobaciones->actualizaObservaciones($observaciones, "", $idTramite); } //Informacion de la Comprobacion $comprobaciones->cargaComprobacionGastosporTramite($idTramite); // Obtener ID de la Comprobacion de Gastos $co_id = $comprobaciones->Get_dato('co_id'); // Definicion de mensajes Autorizadores/Usuario $mensajeAutorizadores = $tramite->crearMensaje($idTramite, COMPROBACION_GASTOS_ETAPA_APROBACION, true, true, $delegado);
$query = sprintf("SELECT sv_observaciones AS observacion, t_etapa_actual AS etapa FROM solicitud_viaje \n\t\t\tJOIN tramites ON t_id = sv_tramite WHERE sv_tramite = '%s'", $id_Solicitud); } //error_log($query); $rst = $cnn->consultar($query); while ($fila = mysql_fetch_assoc($rst)) { $_arreglo[] = array('observacion' => utf8_encode($fila['observacion']), 'etapa' => $fila['etapa']); } echo json_encode($_arreglo); } //obtener la etapa actual de la solicitud cuando este en edicion if (isset($_POST['etapaRechazo'])) { $idTramiteR = $_POST['etapaRechazo']; $etapaR = 0; $tramiteR = new Tramite(); $tramiteR->Load_Tramite($idTramiteR); $etapaR = $tramiteR->Get_dato('t_etapa_actual'); //error_log("etapa :/".$etapaR); echo $etapaR; } //Total de la solicitud Caso: Rechazada / Guardado previo. if (isset($_POST['totalBD'])) { $idTramiteEdit = $_POST['totalBD']; $totSolicitudEdit = 0; $cnn = new conexion(); $queryTotalSol = sprintf("SELECT sv_total FROM solicitud_viaje WHERE sv_tramite='%s'", $idTramiteEdit); $rstTotal = $cnn->consultar($queryTotalSol); while ($fila = mysql_fetch_array($rstTotal)) { $totSolicitudEdit = $fila['sv_total']; } echo $totSolicitudEdit; }
$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')); // 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");
$cnn = new conexion(); $query = sprintf("SELECT ut_id, ut_usuario, ut_tipo, tu_id, tu_nombre\n\t\tFROM usuario_tipo AS ut\n\t\tINNER JOIN cat_tipo_usuario AS ctu\n\t\tON ut_tipo = ctu.tu_id\n\t\tWHERE ut_usuario = '%s' AND tu_id = '4'", $idUser); $rst = $cnn->consultar($query); $usuariofinanzas = @mysql_result($rst, 0, "tu_id"); $usuariofinanzas == "4" ? $es_finanzas = 1 : ($es_finanzas = 0); // Permite ver el detalle de una comprobacion sin edicion if (isset($_GET["view"])) { if (!isset($_GET["id"])) { $I = new Interfaz("Comprobaciones", true); require_once "comprobacion_view.php"; $I->Footer(); } else { $Tramite = new Tramite(); $idTramite = $_GET['id']; $Tramite->Load_Tramite($idTramite); $t_flujo = $Tramite->Get_dato("t_flujo"); $t_etapa_actual = $Tramite->Get_dato("t_etapa_actual"); switch ($t_etapa_actual) { // TODO: Se tienen que indexar por flujo case COMPROBACION_ETAPA_APROBACION: $I = new Interfaz("Comprobaciones", true); require_once "comprobacion_view.php"; $I->Footer(); break; case COMPROBACION_ETAPA_APROBADA: $I = new Interfaz("Comprobaciones", true); require_once "comprobacion_view.php"; $I->Footer(); break; case COMPROBACION_ETAPA_SIN_ENVIAR || 4: $_GET['new'] = 'new';
$adjunto = $_POST['archivo']; $origen_sol = $_POST['p_origen']; $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']; }
$tramite = new Tramite(); $tramite->Load_Tramite($tramiteId); $iniciador = $tramite->Get_dato("t_iniciador"); $tramite->Modifica_Etapa($tramiteId, SOLICITUD_ETAPA_COMPRADA, FLUJO_SOLICITUD, $iniciador, ""); } if (isset($_POST['tramiteCId'])) { $cnn = new conexion(); $tramiteId = $_POST['tramiteCId']; $tramite = new Tramite(); $tramite->Load_Tramite($tramiteId); $sv_ceco_paga = 0; $cc_responsable = 0; $Gerente_area = 0; //Notificacion para empleado $mensaje = sprintf("El monto que la agencia de viajes ha registrado para la compra del boleto de avión de la solicitud de viaje <strong>%05s</strong> excede el límite de tolerancia, se enviará nuevamente a aprobación", $tramiteId); $remitente = $tramite->Get_dato("t_dueno"); //enviar la notificacion al empleado ----> t_iniciador $destinatario = $tramite->Get_dato("t_iniciador"); $tramite->EnviaNotificacion($tramiteId, $mensaje, $remitente, $destinatario, "0", ""); //"0" para no enviar email y "1" para enviarlo //Notificacion al gerente de area //obtenemos el id del usuario al que pertenece ese Director de area $query = sprintf("SELECT sv_ceco_paga FROM solicitud_viaje WHERE sv_tramite=%s", $tramiteId); $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'];
// Rechaza la solicitud de manera definitiva } else if(isset($_POST["rechazar"])){ // Datos del tramite $idTramite = $_POST["idTramite"]; $observaciones = $_POST["observaciones"]; // Actualiza el campo de observaciones $Csv=new C_SV(); $Csv->Load_Solicitud_tramite($idTramite); $Csv->Modifica_Observaciones($idTramite, $observaciones, FLUJO_COMPROBACION); // 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ó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);
/** * Enter description here... * * @param unknown_type $tramite */ public function Notificar($tramite, $comentario = "Ninguna", $TipoSolicitud, $etapaComp = "", $coTipo = "") { //Se agrego $etapaComp para las comprobaciones ya autorizadas. //session_start(); $cad_iniciador = ""; $cad_grupo = ""; $cad_usuario = ""; $U = new Usuario(); file_put_contents("setsion.txt", $_SESSION["idusuario"]); $U->Load_usuario($_SESSION["idusuario"]); //echo $_SESSION["idusuario"]." dso"; $NameUser = $U->Get_dato("u_nombre") . " " . $U->Get_dato("u_paterno") . " " . $U->Get_dato("u_materno"); $T = new Tramite(); $F = new Flujo(); $C = new Comprobacion(); //$E = new Etapa(); $T->Load_Tramite($tramite); //$F->Load($T->Get_dato("t_flujo")); //$E->Load_Etapa($T->Get_dato("t_etapa_actual")); //$nombre_tramite=$F->Get_dato("f_nombre"); $cad_grupo = "La " . $TipoSolicitud . " No. <strong>" . sprintf("%05s", $tramite) . "</strong>"; $cad_iniciador = $cad_grupo; $cad_usuario = $cad_grupo; $etapa = ""; if ($T->Get_dato("t_cerrado") == 1) { //SI EL TRAMITE SE CERRO if ($T->Get_dato("t_cancelado") == 0) { $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y <strong>Cerrada Correctamente</strong> "; $etapa = "AUTORIZADA"; $cad_usuario = ""; $cad_grupo = ""; } else { $etapa = "CANCELADA"; $cad_iniciador .= " ha sido <strong>Cancelada</strong> por <strong>{$NameUser}</strong> "; $cad_grupo = ""; $cad_usuario = ""; } } else { //PASA A UNA ETAPA DETERMINADA //$et_ant=$this->etapa_anterior($T->Get_dato("t_etapa_actual")); if ($T->Get_dato("t_etapa_actual") == 2) { //SE ACABA DE CAPTURAR $cad_usuario .= " ha sido <strong>Generada</strong>"; $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente"; $etapa = "GENERADA"; } elseif ($T->Get_dato("t_etapa_actual") == 3 && $etapaComp == "") { $cad_usuario .= " ha sido <strong>Generada</strong>"; $cad_iniciador .= " ha sido <strong>Generada</strong> Correctamente"; $etapa = "GENERADA"; } elseif ($T->Get_dato("t_etapa_actual") == 3 && isset($etapaComp) && !empty($etapaComp)) { $cad_usuario .= " ha sido <strong>Generada</strong>"; $cad_iniciador .= " ha sido <strong> Aprobada </strong> por <strong>{$NameUser}</strong> y pasa a la siguiente etapa para su aprobación"; $etapa = "APROBADA"; } else { $cad_iniciador .= " ha sido <strong>APROBADA</strong> por <strong>{$NameUser}</strong> y pasa a la siguiente Etapa para su Aprobación."; $etapa = "APROBADA"; } /*if($T->Get_dato("t_grupo")>0){//ES UN GRUPO $G = new Grupo(); $G->Load_data($T->Get_dato("t_grupo")); //$cad_grupo .=" ha sido asignada al Grupo: <strong>" . $G->Get_dato("g_nombre") . "</strong> y queda en espera de su aprobacion"; $cad_grupo .=" ha sido asignada a tu Grupo para su Aprobación"; //MANDAMOS NOTIFICACION PARA TODO EL GRUPO $this->Notifica_grupo($T->Get_dato("t_id"),$cad_grupo,$T->Get_dato("t_grupo"),$comentario); $cad_usuario =""; } else{*/ $cad_grupo = ""; $cad_usuario .= " y te ha sido Asignada para su Aprobación."; //MANDAMOS A INSERTAR LA NOTIFICACION //} } $U_Iniciador = new Usuario(); $U_Iniciador->Load_usuario($T->Get_dato("t_iniciador")); if ($T->Get_dato("t_iniciador") != $T->Get_dato("t_owner")) { $this->Add($cad_iniciador, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario")); $this->envia_mail_iniciador($T->Get_dato("t_id"), $T->Get_dato("t_iniciador"), $etapa, $TipoSolicitud, $comentario); } if ($TipoSolicitud == "Comprobacion") { if ($coTipo != "2") { $C->Load_Comprobacion($tramite); $co_id = $C->Get_dato("co_id"); $query = sprintf("SELECT * FROM detalle_comprobacion where dc_comprobacion=%s", $co_id); $rst = parent::consultar($query); if ($fila = mysql_fetch_assoc($rst)) { if (trim($cad_usuario != "")) { $U_Iniciador->Load_usuario($fila['dc_responsable']); $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dc_responsable']); $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario); } } } else { $C->Load_Comprobacion_Amex($tramite); $co_id = $C->Get_dato_amx("co_id"); $query = sprintf("SELECT * FROM detalle_comprobacion_amex where dca_comprobacion=%s", $co_id); $rst = parent::consultar($query); if ($fila = mysql_fetch_assoc($rst)) { if (trim($cad_usuario != "")) { $U_Iniciador->Load_usuario($fila['dca_responsable']); $this->Add($cad_usuario, $T->Get_dato("t_id"), $fila['dca_responsable']); $this->envia_mail_usuario($T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_id"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario); } } } } else { if (trim($cad_usuario != "")) { $U_Iniciador->Load_usuario($T->Get_dato("t_owner")); $this->Add($cad_usuario, $T->Get_dato("t_id"), $U_Iniciador->Get_dato("u_usuario")); $this->envia_mail_usuario($T->Get_dato("t_id"), $T->Get_dato("t_owner"), $TipoSolicitud, $T->Get_dato("t_iniciador"), $comentario); } } }
$pais_itinerario = $filaComp['pais_destino']; $ciudad_itinerario = $filaComp['ciudad_destino']; $iniciadorTramite = $filaComp['t_iniciador']; $duenoTramite = $filaComp['t_dueno']; $TramiteSolicitud = $filaComp['co_tramite_solicitud']; $etapaComprobacion = $filaComp['etapa']; $CecoComprobacion = $filaComp['CECO']; $queryEmpleado = "SELECT * FROM empleado WHERE idfwk_usuario = '" . $iniciadorTramite . "'"; //error_log($query); $rstEmpleado = $cnn->consultar($queryEmpleado); $filaEmp = mysql_fetch_assoc($rstEmpleado); $nombreIniciador = $filaEmp['nombre']; //Traerá la ruta de autorización de la solicitud correspondiente $tramite = new Tramite(); $tramite->Load_Tramite($idTramite); $tramite_ruta = $tramite->Get_dato("t_ruta_autorizacion"); //Obtener los nombres de los Autorizadores $token = strtok($tramite_ruta, "|"); $autorizadores = ""; $usuarioAprobador = new Usuario(); if ($token != false) { $usuarioAprobador->Load_Usuario_By_ID($token); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre"); $autorizadores .= $nombre_autorizadores; $token = strtok("|"); while ($token != false) { $autorizadores .= ", "; $usuarioAprobador->Load_Usuario_By_ID($token); $nombre_autorizadores = $usuarioAprobador->Get_dato("u_nombre"); $autorizadores .= $nombre_autorizadores; $token = strtok("|");
function forma_comprobacion() { ?> <!-- Inicia forma para comprobación --> <script language="JavaScript" src="../../lib/js/jquery/jquery-1.3.2.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.date_input.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.autocomplete.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.bgiframe.js" type="text/javascript"></script> <script language="JavaScript" src="../../lib/js/jquery/jquery.blockUI.js" type="text/javascript"></script> <script language="JavaScript" type ="text/javascript" src="../../lib/js/jquery/jquery.jdpicker.js"></script> <script language="JavaScript" src="../../lib/js/formatNumber.js" type="text/javascript"></script> <script language="JavaScript" src="../comprobaciones/js/backspaceGeneral.js" type="text/javascript"></script> <link rel="stylesheet" href="../../css/jdpicker.css" type="text/css" media="screen" /> <script language="JavaScript" type="text/javascript"> //variables var doc; doc = $(document); doc.ready(inicializarEventos);//cuando el documento esté listo function inicializarEventos(){ $.blockUI({ message: '<h1>Espere un momento...</h1>', css:{ border: 'none', padding: '15px', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px', opacity: .5, color: '#fff' } }); $(document).bind("contextmenu", function(e){ e.preventDefault(); }); var tramite_id=gup("edit2"); montoMaximoComidas(); activa_envio(); //alert(tramite_id); fillform(tramite_id); //ajusta tabla //$("#solicitud_table").tablesorter({ //cabeceras deshabilitadas del ordenamiento // headers: { // 4: {sorter: false }, // 7: {sorter: false }, // 9: {sorter: false }, // 11:{sorter: false } // } //headers //}); //tabla //borrarPartida(); //guardaComprobacion(); $("#fecha_inv").jdPicker({ date_format:"dd/mm/YYYY", date_min:"<?php echo date("d/m/Y"); ?> ", month_names: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], short_month_names: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], short_day_names: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sab"] }); //Seleccionar el centro de costos del usuario actual //select idcentrocosto from empleado where idempleado = "110" var id_centro_de_costos = "<?php $varDelegado = 0; if (isset($_SESSION['iddelegado'])) { $varDelegado = $_SESSION['iddelegado']; } $iduser = verificaSesion($_SESSION["idusuario"], $varDelegado); $query = sprintf("SELECT cc_centrocostos FROM cat_cecos WHERE cc_id = (SELECT idcentrocosto FROM empleado WHERE idfwk_usuario = '%s')", $iduser); $var = mysql_query($query); $aux = ""; while ($arr = mysql_fetch_assoc($var)) { $aux .= $arr['cc_centrocostos']; } echo $aux; ?> "; seleccionar(id_centro_de_costos); $('#fecha_inv').keydown(function(e){ ignoraEventKey(e); }); $("input").bind("keydown", function(e){ if(!isAlphaNumeric(e)) return false; }); }//fin ready ó inicializarEventos ////IVA function gup(name){ var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp ( regexS ); var tmpURL = window.location.href; var results = regex.exec( tmpURL ); if( results == null ) return""; else return results[1]; } function montoMaximoComidas(){ // Monto máximo de Comidas de Invitación $.ajax({ type: "POST", url: "services/ajax_solicitudes.php", data: "montoMaximo=ok", dataType: "json", timeout: 10000, success: function(json){ $("#montoMaximo").val(parseFloat(json[0].montoCantidad)); $("#montoMaximoDivisa").val(json[0].divisaMonto); $("#montoPolitica").html("<span class='style1'>* Monto máximo por persona: " + parseFloat(json[0].montoCantidad) + " " + json[0].divisaMonto + ".</span>"); } }); } function fillform(id_solicitud){ var frm=document.detallesItinerarios; var etapa = 0; var historial_autorizaciones = ""; if(id_solicitud != ""){ $.ajax({ type: "POST", url: "services/ajax_solicitudes.php", data: "mntsolicinv="+id_solicitud, dataType: "json", timeout: 10000, success: function(json){ etapa = json[0].t_etapa; historial_autorizaciones = json[0].si_autorizaciones; $("#motive").val(json[0].si_motivo); $("#tramite_sol").val(parseInt(id_solicitud)); $("#fecha_inv").val(json[0].si_fecha_invitacion); $("#lugar_inv").val(json[0].si_lugar); $("#tpesosdisabled").val(json[0].montoPesos); $("#tpesos").val(json[0].si_monto_pesos); $("#ciudad_invitacion").val(json[0].si_ciudad); $("#monto_solicitado_invitacion").val(json[0].si_monto); $("#divisa_solicitud_invitacion").val(parseInt(json[0].si_divisa)); if(etapa == 4 || etapa == 6 || historial_autorizaciones != ""){ $("#historial_observaciones").val(json[0].si_observaciones); } $("#observ").val(json[0].si_observaciones_edicion); }, // Fin de carga de info de Solicitudes de Invitación complete: function (json){ //alert("Completado 001"); $.ajax({ type: "POST", url: "../comprobaciones/services/Ajax_comprobacion.php", data: "t_id="+id_solicitud, dataType: "json", timeout: 10000, success: function(jsonC){ if(jsonC==null){ }else{ seleccionar(jsonC[0]); } }, // Fin de Seleccione CECOs complete: function (jsonC){ //alert("Completado 002"); $.ajax({ type: "POST", url: "../comprobaciones/services/Ajax_comprobacion.php", data: "t_id2="+id_solicitud, dataType: "json", timeout: 10000, success: function(jsonINV){ if(jsonINV==null){ VaciarTabla(); document.getElementById("numInvitadosDisabled").value = 0; document.getElementById("numInvitados").value = 0; }else{ VaciarTabla(); LlenarTabla(jsonINV,document.getElementById("invitado_table")); } }, complete: function(jsonINV){ //alert("Completado 003"); guardaprevioComprobacion1(); recalculaMontos(); $.unblockUI(); guardaComprobacion11(); }, // Complete 3er AJAX error: function(x, t, m) { if(t==="timeout") { //alert("tiempo de espera agotado 3"); location.reload(); abort(); } } }); // Tercer AJAX - Carga de Invitados }, // Complete 2do AJAX error: function(x, t, m) { if(t==="timeout") { //alert("tiempo de espera agotado 2"); location.reload(); abort(); } } }); // Segundo AJAX - Carga de CECO }, // Complete 1er AJAX error: function(x, t, m) { if(t==="timeout") { //alert("tiempo de espera agotado 1"); location.reload(); abort(); } } }); // Primer AJAX - INFO SI } } function activa_envio(){ var delegado = <?php if (isset($_SESSION['iddelegado'])) { echo $_SESSION['iddelegado']; } else { echo 0; } ?> ; if(delegado != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } } function VaciarTabla() { var TABLE = document.getElementById("invitado_table"); for(var i=TABLE.rows.length-1;i>=1;i--){ TABLE.deleteRow(i); } } function LlenarTabla(json, tabla){ var frm=document.detallesItinerarios; frm.rowCount.value=parseInt(0); for(var i=0;i<json.length;i++){ var toks=json[i].split(":"); //Creamos la nueva fila y sus respectivas columnas var nuevaFila='<tr>'; nuevaFila+="<td>"+"<div id='renglon"+(i+1)+"' name='renglon"+(i+1)+"'>"+(i+1)+"</div>"+"<input type='hidden' name='row"+(i+1)+"' id='row"+(i+1)+"' value='"+(i+1)+"' readonly='readonly' /></td>"; nuevaFila+="<td><input type='hidden' name='nombre"+(i+1)+"' id='nombre"+(i+1)+"' value='"+toks[0]+"' readonly='readonly' />"+toks[0]+"</td>"; nuevaFila+="<td><input type='hidden' name='puesto"+(i+1)+"' id='puesto"+(i+1)+"' value='"+toks[1]+"' readonly='readonly' />"+toks[1]+"</td>"; nuevaFila+="<td><input type='hidden' name='empresa"+(i+1)+"' id='empresa"+(i+1)+"' value='"+toks[2]+"' readonly='readonly' />"+toks[2]+"</td>"; nuevaFila+="<td ><input type='hidden' name='tipo"+(i+1)+"' id='tipo"+(i+1)+"' value='"+toks[3]+"' readonly='readonly' />"+toks[3]+"</td>"; nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aquí para Eliminar' name='"+(i+1)+"del' id='"+(i+1)+"del' onmousedown='borrarPartida(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>"; nuevaFila+= '</tr>'; frm.rowCount.value=parseInt(frm.rowCount.value)+parseInt(1); $("#invitado_table").append(nuevaFila); } document.getElementById("numInvitados").value = parseInt(frm.rowCount.value); document.getElementById("numInvitadosDisabled").value = parseInt(frm.rowCount.value); } function fecha_to_mysql_normal(strFecha){ var toks1=strFecha.split(" "); var toks=toks1[0].split("-"); strFechaN = toks[0]+"/"+toks[1]+"/"+toks[2]; return strFechaN; } function fecha_to_mysql(strFecha){ var toks1=strFecha.split(" "); var toks=toks1[0].split("-"); strFechaN = toks[2]+"/"+toks[1]+"/"+toks[0]; return strFechaN; } //Seleccionar elemento de un combo function seleccionar(elemento) { var combo = document.invitacion_comp.centro_de_costos; var cantidad = combo.length; for (var i = 1; i < cantidad; i++) { var toks=combo[i].text.split("-"); if (toks[0] == elemento) { combo[i].selected = true; break; } } } //Seleccionar elemento del combo de ccentro_costos function seleccionar(elemento) { var combo = document.detallesItinerarios.ccentro_costos; var cantidad = combo.length; for (var i = 0; i < cantidad; i++) { var toks=combo[i].text.split(" "); if (toks[0] == elemento) { combo[i].selected = true; break; } } } function verificar_tipo_invitado(){ var esDirector = <?php $idusuario = $_SESSION["idusuario"]; $esDirector = 0; $rutaAutorizacion = new RutaAutorizacion(); $esDirector = $rutaAutorizacion->nivelEmpleado($idusuario); echo $esDirector; ?> ; var directorGeneral = <?php echo DIRECTOR_GENERAL; ?> ; if($("#tipo_invitado").val()=="-1"){ $("#empresa_invitado").val(""); $("#capaDirector").html(""); $("#empresa_invitado").attr("disabled", "disable"); } else{ if($("#tipo_invitado").val()=="BMW"){ $("#empresa_invitado").val("BMW DE MEXICO SA DE CV."); $("#capaDirector").html(""); $("#empresa_invitado").attr("disabled", "disable"); } else if ($("#tipo_invitado").val() == "Gobierno" && esDirector != directorGeneral){ $("#empresa_invitado").val(""); $("#empresa_invitado").removeAttr("disabled"); $("#capaDirector").html("<strong>La solicitud requerirá ser validada por el Dir. General</strong>"); }else{ $("#empresa_invitado").val(""); $("#capaDirector").html(""); $("#empresa_invitado").removeAttr("disabled"); } } } function verificar(){ if($("#motive").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#motive").focus(); return false; } else if($("#lugar_inv").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#lugar_inv").focus(); return false; } else if($("#nombre_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#nombre_invitado").focus(); return false; }else if($("#puesto_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#puesto_invitado").focus(); return false; }else if($("#empresa_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#empresa_invitado").focus(); return false; }else if($("#tipo_invitado").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#tipo_invitado").focus(); return false; }else{ return true; } } function agregarPartida(){ var frm=document.detallesItinerarios; id=parseInt($("#invitado_table").find("tr:last").find("div").eq(0).html()); if(verificar()){ if(isNaN(id)){ id=1; }else{ id+=parseInt(1); } frm.rowCount.value=parseInt(frm.rowCount.value)+parseInt(1); var nuevaFila='<tr>'; nuevaFila+="<td>"+"<div id='renglon"+id+"' name='renglon"+id+"'>"+id+"</div>"+"<input type='hidden' name='row"+id+"' id='row"+id+"' value='"+id+"' readonly='readonly' /></td>"; nuevaFila+="<td><input type='hidden' name='nombre"+id+"' id='nombre"+id+"' value='"+frm.nombre_invitado.value+"' readonly='readonly' />"+frm.nombre_invitado.value+"</td>"; nuevaFila+="<td><input type='hidden' name='puesto"+id+"' id='puesto"+id+"' value='"+frm.puesto_invitado.value+"' readonly='readonly' />"+frm.puesto_invitado.value+"</td>"; nuevaFila+="<td><input type='hidden' name='empresa"+id+"' id='empresa"+id+"' value='"+frm.empresa_invitado.value+"' readonly='readonly' />"+frm.empresa_invitado.value+"</td>"; nuevaFila+="<td><input type='hidden' name='tipo"+id+"' id='tipo"+id+"' value='"+frm.tipo_invitado.value+"' readonly='readonly' />"+frm.tipo_invitado.value+"</td>"; nuevaFila+="<td><div align='center'><img class='elimina' src='../../images/delete.gif' alt='Click aquí para Eliminar' name='"+id+"del' id='"+id+"del' onmousedown='borrarPartida(this.id);' style='cursor:pointer;' /></div><div align='center'>Eliminar Partida</div></td>"; nuevaFila+= '</tr>'; $("#invitado_table").append(nuevaFila); $("#numInvitados").val(parseInt(frm.rowCount.value)); $("#numInvitadosDisabled").val(parseInt(frm.rowCount.value)); $("#nombre_invitado").val(""); $("#puesto_invitado").val(""); $("#empresa_invitado").val(""); //$("#capaDirector").html(""); $("#tipo_invitado").val("-1"); //guardaComprobacion(); $("#guardarComp").removeAttr("disabled"); $("#guardarCompprev").removeAttr("disabled"); $("#capaDirector").html(""); document.getElementById("empresa_invitado").disabled="disable"; recalculaMontos(); } } function borrarPartida(id){ var frm=document.detallesItinerarios; $("#rowCount").bind("restar",function(e,data,data1){ e.stopImmediatePropagation(); $("#rowCount").val(parseInt($("#invitado_table>tbody>tr").length)); $("#numInvitados").val($("#rowCount").val()); $("#numInvitadosDisabled").val($("#rowCount").val()); }); $("#rowDel").bind("cambiar",function(e,inicio,tope){ e.stopImmediatePropagation(); var renglon=""; var jqueryrenglon=""; var nextrenglon=""; var nextrow=""; var row=""; var jqueryrow=""; var nextnombre=""; var nombre=""; var jquerynombre=""; var nextpuesto=""; var puesto=""; var jquerypuesto=""; var nexttipo=""; var tipo=""; var jquerytipo=""; var nextempresa=""; var empresa=""; var jqueryempresa=""; var nextdel=""; var del=""; var jquerydel=""; for (var i=parseFloat(inicio);i<=parseFloat(tope);i++){ renglon="renglon"+parseInt(i); jqueryrenglon="#renglon"+parseInt(i); nextrenglon="#renglon"+((parseInt(i)+(1))); nextrow="#row"+((parseInt(i)+(1))); row="row"+parseInt(i); jqueryrow="#row"+parseInt(i); nextnombre="#nombre"+((parseInt(i)+(1))); nombre="nombre"+parseInt(i); jquerynombre="#nombre"+parseInt(i); nextpuesto="#puesto"+((parseInt(i)+(1))); puesto="puesto"+parseInt(i); jquerypuesto="#puesto"+parseInt(i); nexttipo="#tipo"+((parseInt(i)+(1))); tipo="tipo"+parseInt(i); jquerytipo="#tipo"+parseInt(i); nextempresa="#empresa"+((parseInt(i)+(1))); empresa="empresa"+parseInt(i); jqueryempresa="#empresa"+parseInt(i); nextdel="#"+((parseInt(i)+(1)))+"del"; del=parseInt(i)+"del"; jquerydel="#"+parseInt(i)+"del"; $(nextrenglon).attr("id",renglon); $(jqueryrenglon).attr("name",renglon); $(jqueryrenglon).html(parseInt(i)); $(nextrow).attr("id",row); $(jqueryrow).attr("name",row); $(jqueryrow).val(parseInt(i)); $(nextnombre).attr("id",nombre); $(jquerynombre).attr("name",nombre); $(nextpuesto).attr("id",puesto); $(jquerypuesto).attr("name",puesto); $(nexttipo).attr("id",tipo); $(jquerytipo).attr("name",tipo); $(nextempresa).attr("id",empresa); $(jqueryempresa).attr("name",empresa); $(nextdel).attr("id",del); $(jquerydel).attr("name",del); //next(); } }); $("img.elimina").click(function(){ $(this).parent().parent().parent().fadeOut("normal", function () { var i=0; $(this).remove(); $("#rowCount").trigger("restar"); $("#rowCount").unbind("restar"); var tope=$("#rowCount").val(); recalculaMontos(); i=parseFloat(id); $("#rowDel").trigger("cambiar",[i,tope]); $("#rowDel").unbind("cambiar"); }); return false; }); } function getCentroCostos(){ var frm=document.detallesItinerarios; $("#Cecos").val(frm.ccentro_costos.value); } /***************************************************************************/ //VARIABLE GLOBAL var textoAnterior = ''; //ESTA FUNCIÓN DEFINE LAS REGLAS DEL JUEGO function cumpleReglas(simpleTexto){ //la pasamos por una poderosa expresión regular //var expresion = new RegExp("^(|([0-9]{1,2}(\\.([0-9]{1,2})?)?))$"); var expresion = new RegExp("^(|([0-9]{1,30}(\\.([0-9]{1,2})?)?))$"); //si pasa la prueba, es válida if(expresion.test(simpleTexto)) return true; return false; }//end function checaReglas //ESTA FUNCIÓN REVISA QUE TODO LO QUE SE ESCRIBA ESTÉ EN ORDEN function revisaCadena(textItem){ //si comienza con un punto, le agregamos un cero if(textItem.value.substring(0,1) == '.') textItem.value = '0' + textItem.value; //si no cumples las reglas, no te dejo escribir if(!cumpleReglas(textItem.value)) textItem.value = textoAnterior; else //todo en orden textoAnterior = textItem.value; }//end function revisaCadena /***************************************************************************/ function NumCheck(e, field) { key = e.keyCode ? e.keyCode : e.which ; valor = field.value+String.fromCharCode(key); // backspace if (key == 8) return true ; // 0-9 if ((key > 47 && key < 58)) { if (valor == "") return true ; //regexp = /.[0-9]{2}$/ regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ; return (regexp.test(valor)) ; } // . if (key == 46) { if (valor == "") return false ; //regexp = /^[0-9]+$/ ; regexp = /^[0-9]*(\.[0-9]{0,2})?$/ ; return regexp.test(valor) ; } // other key return false ; } function validaNum(valor){ cTecla=(document.all)?valor.keyCode:valor.which; if(cTecla==8) return true; if(cTecla==37) return true; if(cTecla==39) return true; patron=/^([0-9.]{1,2})?$/; cTecla= String.fromCharCode(cTecla); return patron.test(cTecla); } function validaNum2(valor){ cTecla=(document.all)?valor.keyCode:valor.which; if(cTecla==8) return true; if(cTecla==37) return "ok"; if(cTecla==39) return "ok"; return true; } function format_input(valor){ valor = valor.replace(/,/g,""); //valor = number_format(valor,2,".",","); valor = number_format_sin_redondeo(valor); return valor; } function guardaComprobacion11(){ var etapaTramite = parseInt($("#etapa").val()); var frm=document.detallesItinerarios; id= parseInt($("#solicitud_table").find("tr:last").find("td").eq(0).html()); if(($("#numInvitados").val() >= 1)){ if($("#divisa_solicitud_invitacion").val()=="" ||$("#divisa_solicitud_invitacion").val()==-1 ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#divisa_solicitud_invitacion").focus(); return false; }else if($("#ccentro_costos").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ccentro_costos").focus(); return false; }else if($("#ciudad_invitacion").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ciudad_invitacion").focus(); return false; }else if(etapaTramite == 1 && $("#banderavalida").val() == 1 && $("#observ").val().length == 0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; }else if($("#monto_solicitado_invitacion").val()==0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes. Monto"); $("#monto_solicitado_invitacion").focus(); return false; }else{ document.getElementById("motive").setAttribute("readonly","readonly"); $("#guardarCompprev").removeAttr("disabled"); if($("#delegado").val() != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } } } } function validaInvitados(){ var numInv = parseInt($("#numInvitados").val()); if(numInv < 2){ alert("Favor de ingresar por lo menos dos invitados."); return false; }else{ return true; } } function guardaComprobacion(){ var frm=document.detallesItinerarios; if(validaInvitados()){ id= parseInt($("#solicitud_table").find("tr:last").find("td").eq(0).html()); if(($("#numInvitados").val() >= 1)){ if($("#motive").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#motive").focus(); return false; }else if($("#lugar_inv").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#lugar_inv").focus(); return false; }else if($("#monto_solicitado_invitacion").val()==0){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes. Monto"); $("#monto_solicitado_invitacion").focus(); return false; }else if($("#divisa_solicitud_invitacion").val()=="" ||$("#divisa_solicitud_invitacion").val()==-1 ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#divisa_solicitud_invitacion").focus(); return false; }else if($("#ccentro_costos").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ccentro_costos").focus(); return false; }else if($("#ciudad_invitacion").val()==""){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#ciudad_invitacion").focus(); return false; } else if ($("#banderavalida").val() == 1){ if($("#observ").val().length == 0 ){ alert("Los campos con (*) son obligatorios. Favor de llenar los datos faltantes."); $("#observ").focus(); return false; } } else { document.getElementById("motive").setAttribute("readonly","readonly"); document.getElementById("nombre_invitado").setAttribute("disabled","disabled"); document.getElementById("puesto_invitado").setAttribute("disabled","disabled"); document.getElementById("empresa_invitado").setAttribute("disabled","disabled"); document.getElementById("tipo_invitado").setAttribute("disabled","disabled"); document.getElementById("agregar_invitado").setAttribute("disabled","disabled"); $("#guardarCompprev").removeAttr("disabled"); if($("#delegado").val() != 0){ $("#enviaDirector").removeAttr("disabled"); }else{ $("#guardarCompedit").removeAttr("disabled"); } } } }else{ return false; } } function guardaprevioComprobacion(){ var frm=document.detallesItinerarios; document.getElementById("motive").setAttribute("readonly","readonly"); if(document.getElementById("motive").value != "") $("#guardarprevCompedit").removeAttr("disabled"); else if(document.getElementById("motive").value == "") frm.guardarprevCompedit.disabled = true; } function guardaprevioComprobacion1(){ var frm=document.detallesItinerarios; $("#guardarprevCompedit").removeAttr("disabled"); } function solicitarConfirmPrevio(){ var frm=document.detallesItinerarios; if(confirm("¿Desea guardar esta Solicitud como previo?")){ //frm.submit(); }else{ return false; } } function enviarSub(){ var frm=document.detallesItinerarios; document.getElementById("motive").setAttribute("readonly","readonly"); } function evaluaMonto(monto){ var montoMaximo = 0; var montoMaximoDiv = 0; var esDirector = <?php $idusuario = $_SESSION["idusuario"]; $esDirector = 0; $rutaAutorizacion = new RutaAutorizacion(); $esDirector = $rutaAutorizacion->nivelEmpleado($idusuario); echo $esDirector; ?> ; var directorGeneral = <?php echo DIRECTOR_GENERAL; ?> ; $("#capaWarning").html(""); var mensajeExcedePoliticas = undefined; //Variables de las cajas de Texto var divEuro = parseFloat($("#valorDivisaEUR").val()); //var monto = parseFloat($("#tpesos").val()); var num_invitados = parseFloat($("#numInvitados").val()); //Variable para guardar var monto2 = 0; monto2 = ((monto / divEuro) / num_invitados ); // Monto máximo de Comidas de Invitación $.ajax({ type: "POST", url: "services/ajax_solicitudes.php", data: "montoMaximo=ok", dataType: "json", async: false, timeout: 10000, success: function(json){ montoMaximo = parseFloat(json[0].montoCantidad); montoMaximoDiv = json[0].divisaMonto; }, complete: function (json){ //alert("Completo: carga de politicas de comida Invitacion:"+montoMaximo+" "+montoMaximoDiv); if(monto2 > montoMaximo && mensajeExcedePoliticas == undefined){ if(esDirector != directorGeneral){ mensajeExcedePoliticas = "<strong>Esta rebasando la política del concepto. <br>El monto máximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /> La solicitud requerirá ser validada por el Dir. General.</strong>"; }else{ mensajeExcedePoliticas = "<strong>Esta rebasando la política del concepto. <br>El monto máximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /></strong>"; } conceptoExcedePoliticas = true; } else { conceptoExcedePoliticas = false; } if(conceptoExcedePoliticas){ $("#capaWarning").html(mensajeExcedePoliticas); $("#obsjus").html("Agregar justificación detallada del motivo del excedente<span class='style1'>*</span>:"); document.getElementById("banderavalida").value = 1; } else { $("#obsjus").html("Observaciones:"); document.getElementById("banderavalida").value = 0; } }, error: function(x, t, m) { if(t==="timeout") { location.reload(); abort(); }else if(montoMaximo == 0 || montoMaximo == ""){ location.reload(); abort(); } } }); } function recalculaMontos(){ var anticipo = parseFloat(($("#monto_solicitado_invitacion").val()).replace(/,/g,"")); var totalAnticipo = 0; var divisas = $("#divisa_solicitud_invitacion").val(); var tasaNueva = 1; if(divisas != 1){ //Si la divisa es diferente a MXN //Se obtiene las tasas de las divisas var tasa = "<?php $query = sprintf('SELECT DIV_ID,DIV_TASA FROM divisa'); $var = mysql_query($query); $aux = ""; while ($arr = mysql_fetch_assoc($var)) { $aux .= $arr['DIV_ID'] . ":" . $arr['DIV_TASA'] . ":"; } echo $aux; ?> "; var tasa2 = tasa.split(":"); //Se obtiene la tasa de la divisa seleccionada for(i=0;i<=tasa2.length;i=i+2){ if(tasa2[i] == divisas){ tasaNueva = tasa2[i+1]; } } } totalAnticipo = anticipo * parseFloat(tasaNueva); document.getElementById("tpesosdisabled").value = number_format(redondea(totalAnticipo),2,".",",");//redondea a 2 decimales document.getElementById("tpesos").value = number_format(redondea(totalAnticipo),2,".",",");//redondea a 2 decimales evaluaMonto(totalAnticipo); } function redondea(valor){ return (Math.round(valor * Math.pow(10, 2)) / Math.pow(10, 2)); } </script> <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"/> <link rel="stylesheet" type="text/css" href="../../css/style_Table_Edit.css"/> <style type="text/css"> .style1 {color: #FF0000} </style> <div id="Layer1" > <form action="solicitud_invitacion_new.php?save" method="post" name="detallesItinerarios" id="detallesItinerarios" > <center><h3>Solicitud de Invitación</h3></center> <table width="785" border="0" align="center" cellspacing="1" style="border:1px #CCCCCC solid;margin:auto;margin-top:5px;text-align:left;"> <tr> <td colspan="9"> </td> </tr> <tr style="text-align:center;"> <td colspan="9">Motivo<span class="style1">*</span>: <input name="motive" type="text" id="motive" size=50 maxlength="100" onchange="return guardaprevioComprobacion();" onclick="return guardaprevioComprobacion(); " onkeyup="return guardaprevioComprobacion();" /> </td> </tr> <tr> <td> </td> <td colspan="2" align="right">Fecha de Invitación<span class="style1">*</span>:</td> <td align="left"><input name="fecha_inv" id="fecha_inv" value="<?php echo date('d/m/Y'); ?> " size="12" readonly="readonly"></td> <td> </td> <td colspan="2" align="right">Lugar de invitación/Restaurante<span class="style1">*</span>:</td> <td align="left"><input type="text" name="lugar_inv" id="lugar_inv" maxlength="100"/></td> <td> </td> </tr> <tr> <td colspan="9"><div> </div></td> </tr> </table> <br/> <center><div id="montoPolitica"></div></center> <center><div style="display: none"><span class="style1">* Monto máximo por persona Funcionarios Gubernamentales: 30.00 EUR</span></div></center> <br/> <center> <table width="785" border="0" cellspacing="1" style="border:1px #CCCCCC solid;margin:auto;margin-top:5px;text-align:left; background-color:#F8F8F8" > <tr style="text-align:center;" > <td colspan="4"><h3>Invitados</h3></td> </tr> <tr> <td> </td> <td width="50%">Nombre<span class="style1">*</span>: <input name="nombre_invitado" type="text" id="nombre_invitado" size=50 maxlength="100" /> </td> <td width="50%">Tipo de Invitado<span class="style1">*</span>: <select name="tipo_invitado" id="tipo_invitado" onchange="verificar_tipo_invitado();"> <option value="-1">Seleccione...</option> <option value="BMW">Empleado BMW de México</option> <option value="Externo">Externo</option> <option value="Gobierno">Gobierno</option> </select> </td> <td> </td> </tr> <tr> <td> </td> <td width="50%">Puesto<span class="style1">*</span>: <input name="puesto_invitado" type="text" id="puesto_invitado" size=50 maxlength="100" /> </td> <td width="50%">Empresa<span class="style1">*</span>: <input name="empresa_invitado" type="text" id="empresa_invitado" size=50 maxlength="100" disabled="disable" /> </td> <td> </td> </tr> <tr> <td> </td> <td><div id="capaDirector"></div></td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="2"> <div align="center"> <input name="agregar_invitado" type="button" id="agregar_invitado" value=" Agregar Invitado" onclick="agregarPartida();" style="background:url(../../images/ok.png); background-position:left; background-repeat:no-repeat; background-color:#E1E4EC;"/> </div> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr><td> </td><td colspan="2" style="text-align:center"> <table id="invitado_table" class="tablesorter" cellspacing="1"> <thead> <tr> <th width="5%" align="center" valign="middle">No.</th> <th width="30%" align="center" valign="middle">Nombre</th> <th width="30%" align="center" valign="middle">Puesto</th> <th width="30%" align="center" valign="middle">Empresa</th> <th width="30%" align="center" valign="middle">Tipo</th> <th width="5%" align="center" valign="middle">Eliminar</th> </tr> </thead> <tbody> <tr> <?php // Obtener el puesto del empleado //$idempleado = $_SESSION["idusuario"]; $varDelegado = 0; if (isset($_SESSION['iddelegado'])) { $varDelegado = $_SESSION['iddelegado']; } $idempleado = verificaSesion($_SESSION["idusuario"], $varDelegado); //$idempleado = verificaSesion($_SESSION["idusuario"], $_SESSION["iddelegado"]); error_log("Empleado retornado: " . $idempleado); $usuarioActivo = new Usuario(); $usuarioActivo->Load_Usuario_By_ID($idempleado); $nombreUsuario = $usuarioActivo->Get_dato("u_paterno") . " " . $usuarioActivo->Get_dato("u_materno") . " " . $usuarioActivo->Get_dato("u_nombre"); $id_empresa = $usuarioActivo->Get_dato("u_empresa"); ?> <td><div id='renglon1' name='renglon1'>1</div><input type="hidden" name="row1" id="row1" value="1" readonly='readonly'/></td> <td><input type="hidden" name="nombre1" id="nombre1" value="<?php echo $nombreUsuario; ?> " /><?php echo $nombreUsuario; ?> </td> <td><?php $cnn = new conexion(); $query = sprintf("SELECT npuesto FROM empleado WHERE idfwk_usuario='%s'", $idempleado); $rst = $cnn->consultar($query); $fila = mysql_fetch_assoc($rst); echo $fila['npuesto']; ?> <input type="hidden" name="puesto1" id="puesto1" value="<?php echo $fila['npuesto']; ?> " /></td> <td aling="center"><?php // Obtener el nombre de la empresa $cnn = new conexion(); $query2 = sprintf("SELECT e_nombre FROM empresas WHERE e_id='%s'", $id_empresa); $rst2 = $cnn->consultar($query2); $filab = mysql_fetch_assoc($rst2); echo $filab['e_nombre']; ?> <input type="hidden" name="empresa1" id="empresa1" value="<?php echo $filab['e_nombre']; ?> " /></td> <td aling="center">BMW<input type="hidden" name="tipo1" id="tipo1" value="BMW" /></td> <td><div align='center'><img id="1del" class="elimina" style="cursor:pointer;" onmousedown="borrarPartida(this.id);" name="1del" alt="Click aquí para Eliminar" src="../../images/delete.gif"></div><div align="center">Eliminar Partida</div></td> </tr> <!-- cuerpo tabla--> </tbody> </table> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="2">Número de invitados<span class="style1">*</span>: <input type="text" name="numInvitadosDisabled" id="numInvitadosDisabled" value="1" size="15" disabled="disabled" /> <input type="hidden" name="numInvitados" id="numInvitados" value="1" size="15" readonly="readonly" /></td> <td> </td> <td> </td> </tr> </table> <br/> <br/> <table width="785" border="0" align="center" cellspacing="1"> <tr> <td width="3%"> </td> <td width="15%"> </td> <td width="24%"> </td> <td width="23%"> </td> <td width="34%"> </td> <td width="1%"> </td> </tr> <tr> <td> </td> <td colspan="3">Total Monto solicitado<span class="style1">*</span>: <!--<input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0.00" onkeydown="aux2 = validaNum2(event); return validaNum(event);" onkeypress="" onkeyup="recalculaMontos(); if(aux2 != 'ok'){this.value = format_input(this.value);}" onchange="recalculaMontos();"/>--> <!--<input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0" onkeydown="/*aux2 = validaNum2(event); return validaNum(event);*/" onkeypress="return NumCheck(event, this);" onkeyup="recalculaMontos(); /*if(aux2 != 'ok'){this.value = format_input(this.value);}*/" onchange="recalculaMontos();"/>--> <input name="monto_solicitado_invitacion" type="text" id="monto_solicitado_invitacion" maxlength="100" value="0" onkeydown="" onkeypress="" onkeyup="revisaCadena(this); recalculaMontos();" onchange="recalculaMontos();"/> </td> <td>Divisa<span class="style1">*</span>: <select name="divisa_solicitud_invitacion" id="divisa_solicitud_invitacion" onchange="recalculaMontos();"> <option value="-1">Seleccione...</option> <option value="1">MXN</option> <option value="2">USD</option> <option value="3">EUR</option> </select></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="3">Total en Pesos: <input type="text" name="tpesosdisabled" id="tpesosdisabled" value="0.00" size="15" disabled="disabled" /> <input type="hidden" name="tpesos" id="tpesos" value="0.00" size="15" readonly="readonly" /> MXN<div id="capaWarning"></div></td> <td>Ciudad<span class="style1">*</span>: <input name="ciudad_invitacion" type="text" id="ciudad_invitacion" maxlength="100" /></td> <td><input type="hidden" name="banderavalida" id="banderavalida" readonly="readonly" /></td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="3">Centro de Costos<span class="style1">*</span>: <select name="ccentro_costos" id="ccentro_costos" onchange="getCentroCostos();"> <option id="-1" value="-1">Seleccione...</option> <?php $query = sprintf("SELECT cc_id,cc_centrocostos,cc_nombre FROM cat_cecos WHERE cc_estatus = '1' AND cc_empresa_id = '" . $_SESSION["empresa"] . "' order by cc_centrocostos"); $var = mysql_query($query); while ($arr = mysql_fetch_assoc($var)) { echo sprintf("<option value='%s'>%s - %s</option>", $arr['cc_id'], $arr['cc_centrocostos'], $arr['cc_nombre']); } ?> <td> </td> <td> </td> </tr> <?php $tramite = $_GET['edit2']; $FTramite = new Tramite(); $FTramite->Load_Tramite($tramite); $tEtapa = $FTramite->Get_dato("t_etapa_actual"); $tAutorizacionesHistorial = $FTramite->Get_dato("t_autorizaciones_historial"); // error_log("Tramite: ".$tramite); // error_log("Etapa del tramite: ".$tEtapa); if ($tEtapa == SOLICITUD_INVITACION_ETAPA_RECHAZADA || $tEtapa == SOLICITUD_INVITACION_ETAPA_RECHAZADA_POR_DIRECTOR || $tAutorizacionesHistorial != "") { ?> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td align="right" valign="top">Historial de Observaciones:</td> <td colspan="3" rowspan="1" class="alignLeft" > <textarea name="historial_observaciones" id="historial_observaciones" cols="80" rows="5" readonly="readonly" onkeypress="confirmaRegreso('historial_observaciones');" onkeydown="confirmaRegreso('historial_observaciones');"></textarea> </td> </tr> <?php } ?> <tr> <td><input type="hidden" name="etapa" id="etapa" value="<?php echo $tEtapa; ?> " /></td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td align="right" valign="top"><div id="obsjus">Observaciones:</div></td> <td colspan="3" ><div id="areatext"><textarea name="observ" cols="80" rows="5" id="observ"></textarea></div></td> <td> </td> </tr> </table> </center> <br /> <div align="center"></div> <?php }
if (isset($_POST['devolverObservaciones'])) { $cnn = new conexion(); $tramiteId = $_POST['idtramite']; $ObservacionesNuevas = $_POST['devolverObservaciones']; $idusuario = $_POST['idUsuario']; $observacionesViejas = ""; $tramite = new Tramite(); $tramite->Load_Tramite($tramiteId); $t_dueno = $tramite->Get_dato("t_dueno"); $rutaAuto = new RutaAutorizacion(); $agrup_usu = new AgrupacionUsuarios(); // Anotar observaciones if ($ObservacionesNuevas != "") { $tramite = new Tramite(); $tramite->Load_Tramite($tramiteId); $t_dueno = $tramite->Get_dato("t_dueno"); $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);
die(); // // Rechaza el gasto adicional // } else if(isset($_POST["rechazar"])){ // Datos del tramite $idTramite = $_POST["idTramite"]; $observaciones = $_POST["observaciones"]; // Carga datos del tramite $Tramite = new Tramite(); $Tramite->Load_Tramite($idTramite); $fecha_Comprobacion = $Tramite->Get_dato("t_fecha_registro"); $aprobador = $Tramite->Get_dato("t_dueno"); $t_etapa_actual = $Tramite->Get_dato("t_etapa_actual"); $t_flujo = $Tramite->Get_dato("t_flujo"); $iniciador = $Tramite->Get_dato("t_iniciador"); // Carga datos de la comprobacion $Comprobacion = new Comprobacion(); $Comprobacion->Load_Comprobacion($idTramite); $TipoComp = $Comprobacion->Get_dato("co_tipo"); // Tipo de comprobacion: 1: Viaje, 2: Amex, 3: Caja Chica $cc_id_comprobacion = $Comprobacion->Get_dato("co_cc_clave"); // El ceco se captura en el alta de la comprobacion $co_fecha_registro = $Comprobacion->Get_dato("co_fecha_registro"); // Fecha de la comprobacion $co_id = $Comprobacion->Get_dato("co_id"); $co_total = $Comprobacion->Get_dato("co_total"); $co_total_aprobado = $Comprobacion->Get_dato("co_total_aprobado"); $co_pendiente = $co_total - $co_total_aprobado; // Cuanto falta por aprobar
} } // Esta seccion muestra la forma de alta de nueva solicitud if (isset($_GET['new'])) { $UsuOb = new Usuario(); $tramite = new Tramite(); $UsuOb->Load_Usuario($_SESSION['empleado']); $idcentrocosto = $UsuOb->Get_dato('idcentrocosto'); // Obtiene el usuario actual de la sesion $idusuario_actual = $_SESSION["idusuario"]; $perfil_usuario_actual = $_SESSION["perfil"]; // Cargar la etapa del tramite en edición $etapaEdicion = 0; if (isset($_GET['id'])) { $tramite->Load_Tramite($_GET['id']); $etapaEdicion = $tramite->Get_dato('t_etapa_actual'); } //Obtiene el valor del parámetro para el límite de anticipos abiertos por persona $_parametros = new Parametro(); $_parametros->Load(5); //busca parametro de limite de dias de anticipación para hacer solicitud de viaje Nacional $RP_LIM_ANTICIPOSABIERTOS = $_parametros->Get_dato("pr_cantidad"); // Checa si el usuario tiene comprobaciones pendientes $sql = "SELECT * FROM solicitud_viaje s inner join tramites on sv_tramite = t_id where t_comprobado = 0 and t_iniciador =" . $idusuario_actual; $rst = mysql_query($sql); $no_solicitudes_pendientes_de_aprobar = mysql_num_rows($rst); ?> <?php if ($no_solicitudes_pendientes_de_aprobar > $RP_LIM_ANTICIPOSABIERTOS && !isset($_GET['id'])) { // Checa si el usuario tiene comprobaciones pendientes //26082011 EL requerimiento para BMW es de 8 documentos