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; } }
$tipoViajeSol = mysql_result($res, 0, "sv_viaje"); $fecha_registro = $row["fecha_registro"]; $solicitante = $row["nombre"]; $ceco = $row["ceco"]; $motivo = $row["t_etiqueta"]; $etapa = $row["et_etapa_nombre"]; $iniciador = $row["t_iniciador"]; $co_fecha_salida = cambiarFormatoFecha($row["svi_fecha_salida"]); $co_fecha_llegada = cambiarFormatoFecha($row["svi_fecha_llegada"]); //$fecha_viaje = $row["fecha_viaje"]; $destino = $row["destino"]; //se obtiene la suma de los dias de cada uno de los itinerarios que poseea $tramiteDias = new Tramite(); $dias_viaje = $tramiteDias->calculoDias($idTramite); $t_delegado = $row["t_delegado"]; $rutaAutorizacion = new RutaAutorizacion(); $autorizadores = $rutaAutorizacion->getNombreAutorizadores($idTramite); //construccion de cuadro principal (informacion general) $pdf->SetFont('consola', 'B', 12); $pdf->Ln(7); $pdf->SetX(50); $pdf->Multicell(190, 8, "Información general", 'LRT', 'C', 0); $pdf->SetX(50); $pdf->Cell(45, 3, "No. de Folio:", 0, 0, 'R'); $pdf->SetFont('consola', '', 10); $pdf->Cell(45, 3, $idTramite, 0, 0, 'L'); $pdf->SetFont('consola', 'B', 10); $pdf->Cell(45, 3, "Fecha de creación:", 0, 0, 'R'); $pdf->SetFont('consola', '', 10); $pdf->Cell(45, 3, $fecha_registro, 0, 0, 'L'); $pdf->Ln();
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 }
require_once "solicitud_view_edit_viaje.php"; //} } ?> </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); /*
// $t_dueno = $rutaAuto->getDueno($idT); // $tramite->Modifica_Etapa($idT, COMPROBACION_INVITACION_ETAPA_VALIDADO_POR_SUPERVISOR_FINANZAS, FLUJO_COMPROBACION_INVITACION, "2000", ""); // //Envia notificacion al Supervisor/Gerente de Finanzas de la solicitud de invitación ---------------------------------- // $mensaje = sprintf("La Comprobación de Invitación <strong>%05s</strong> ha sido <strong>APROBADA</strong> por el Supervisor de Finanzas.", $idT); // $remitente = $t_dueno; // $destinatario = "2000"; // $tramite->EnviaNotificacion($idT, $mensaje, $remitente, $destinatario, "0", ""); //false para no enviar email // echo "realizado"; // } if (isset($_POST['usuarioFinanzas'])) { $usuarioTipoFinanzas = $_POST['usuarioFinanzas']; $tramite = $_POST['idtramite']; $montoComprobado = $_POST['mntComprobacion']; $dueno_act_nombre = ""; $tu_id = 0; $rutaAutorizacion = new RutaAutorizacion(); if ($usuarioTipoFinanzas == "Supervisor de finanzas") { $rutaAutorizacion->AutorizarporSupervisorFinanzas($tramite, $montoComprobado); } elseif ($usuarioTipoFinanzas == "Gerente de finanzas") { $rutaAutorizacion->AutorizarporGerenteFinanzas($tramite, $montoComprobado); } echo "realizado"; } if (isset($_POST['devolverObservaciones'])) { $cnn = new conexion(); $tramiteId = $_POST['idtramite']; $ObservacionesNuevas = $_POST['devolverObservaciones']; $idusuario = $_POST['idUsuario']; $observacionesViejas = ""; $tramite = new Tramite(); $tramite->Load_Tramite($tramiteId);
$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)) { $dueno_act_nombre = $duenoActual01->Get_dato('nombre'); } else { $agrup_usu = new AgrupacionUsuarios(); $agrup_usu->Load_Grupo_de_Usuario_By_ID($t_dueno);
} } } header("Location: ./index.php?action=aprobar"); } elseif (isset($_POST['enviarCV'])) { // Validar Comprobaciones de Viaje por el Supervisor/Gerente de Finanzas $tramites_aceptados = $_POST['tramites_aceptadosCV']; $tramites_rechazados = $_POST['tramites_rechazadosCV']; $perfil = $_POST['perfil']; $tramites_a_aprobar = array(); $tramites_a_rechazar = array(); $no_tramites_a_aprobar = 0; $no_tramites_a_rechazar = 0; $cnn = new conexion(); $tramite = new Tramite(); $rutaAuto = new RutaAutorizacion(); if ($perfil == GERENTE_FINANZAS) { $validador = "Gerente"; } else { $validador = "Supervisor"; } // Tramites para aprobar //error_log("-------------->>>>>>>>>>>>>>>tramites a aprobar: ".$tramites_aceptados); if ($tramites_aceptados != 0) { $tramites_a_aprobar = explode('|', $tramites_aceptados); $no_tramites_a_aprobar = count($tramites_a_aprobar); for ($i = 0; $i < (int) $no_tramites_a_aprobar; $i++) { if ($tramites_a_aprobar[$i] != "") { //error_log($tramites_a_aprobar[$i]); $idT = $tramites_a_aprobar[$i]; $t_dueno = $rutaAuto->getDueno($idT);
// Limpiar Excepciones $cnn = new conexion(); $query = sprintf("DELETE excepciones FROM excepciones WHERE ex_solicitud = %s", $idSolicitud); $cnn->ejecutar($query); if (!isset($_REQUEST['guardarprevSol'])) { // Guardado de las Excepciones for ($j = 1; $j <= $_POST['totalExcepciones']; $j++) { $e_concepto = $_POST['e_row_concepto' . $j]; $e_mensaje = $_POST['e_row_mensaje' . $j]; $e_fecha = $_POST['e_row_fecha' . $j]; $e_referencia = 0; $e_totalPartida = $_POST['e_row_totalPartida' . $j]; $e_diferencia = $_POST['e_row_diferencia' . $j]; Add_excepcion($e_mensaje, $e_diferencia, $idSolicitud, 0, $e_referencia, $e_concepto, 0, 0); } $rutaAutorizacion = new RutaAutorizacion(); /** * Validacion y guardado de excepcion de presupuesto **/ $rutaAutorizadores = $rutaAutorizacion->generarRutaAutorizacion($idTramite, $_SESSION['idrepresentante']); // Obtener Autorizador $aprobador = $rutaAutorizacion->getSiguienteAprobador($idTramite, $iniciador); // Creamos el texto de las observaciones que serán enviadas if ($observaciones != '') { $observaciones = $notificacion->anotaObservacion($iniciador, $historialObservaciones, $observaciones, FLUJO_SOLICITUD_GASTOS, SOLICITUD_GASTOS_ETAPA_SIN_ENVIAR, $_SESSION['idrepresentante']); } else { $observaciones = ''; } // Actualizar las observaciones de la solicitud de gastos $solicitud->actualizaObservaciones($observaciones, '', $idTramite); $tramite->Modifica_Etapa($idTramite, SOLICITUD_GASTOS_ETAPA_APROBACION, FLUJO_SOLICITUD_GASTOS, $aprobador, $rutaAutorizadores, $_SESSION['idrepresentante']);
} limpiar_detalles($idComprobacion); // Detalle Comprobación $comprobacion->Agrega_Detalle_Comp_Invitacion2($idComprobacion, $cConc, $cP_RFC, $cAmt, $cImp_porc, $cImp, $cTotal, $idProv, $cDate, $cExch, $cRate, $tot_invitados, $cPropina, $cFolio, $cTotalPesos, $cCargo_asociado_amex, $comentario); limpiar_invitados($tramite_editar); $comensales = new Comensales(); for ($i = 1; $i <= $_POST['numInvitados']; $i++) { $sNombre = $_POST['nombre' . $i]; $sPuesto = $_POST['puesto' . $i]; $sTipo = $_POST['tipoinv' . $i]; $sEmpresa = $_POST['empresa' . $i]; $id_detalle_solicitud_invitacion = add_detalle_solicitud_invitacion("0", $sNombre, $sPuesto, $sEmpresa, $sTipo, $tramite_editar); } if ($etapaTramite != COMPROBACION_INVITACION_ETAPA_DEVUELTA_CON_OBSERVACIONES) { // Buscamos quien debe aprobar esta solicitud $ruta_autorizacion = new RutaAutorizacion(); $ruta_autorizacion->generRutaAutorizacionComprobacionInvitacion($tramite_editar, $iduser); $aprobador = $ruta_autorizacion->getSiguienteAprobador($tramite_editar, $iduser); // Envia el tramite a aprobacion $usuarioAprobador = new Usuario(); $usuarioAprobador->Load_Usuario_By_ID($aprobador); $duenoActual = new Usuario(); $duenoActual->Load_Usuario_By_ID($iduser); $nombreUsuario = $duenoActual->Get_dato('nombre'); $tramite->Load_Tramite($tramite_editar); $rutaAutorizacion = $tramite->Get_dato('t_ruta_autorizacion'); $tramite->Modifica_Etapa($tramite_editar, COMPROBACION_INVITACION_ETAPA_APROBACION, FLUJO_COMPROBACION_INVITACION, $aprobador, $rutaAutorizacion); if ($sesionDelegado != 0) { $duenoActual->Load_Usuario_By_ID($delegado); $nombreDelegado = $duenoActual->Get_dato('nombre'); $mensaje = sprintf("La Comprobación de Invitación <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en nombre de: <strong>%s</strong> y requiere de su autorización.", $tramite_editar, $nombreDelegado, $nombreUsuario);
$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 **/ $presupuesto = new Presupuesto(); $objetoPresupuesto = $presupuesto->validarPresupuesto($idTramite); $rutaautorizacion->generaExcepcion($idTramite, $objetoPresupuesto); $rutaautorizacion->generarRutaAutorizacion($idTramite, $t_delegado); $excepciones = $rutaautorizacion->get_Excepciones($idTramite); $rutaautorizacion->agregaAutorizadoresExcedentes($idTramite, $excepciones); $destinatario = $rutaautorizacion->getAprobador($idTramite, $iduser); $etapa = COMPROBACION_ETAPA_EN_APROBACION; $redirect = "okAut"; } elseif ($modo == 'rechazar') { $etapa = COMPROBACION_ETAPA_RECHAZADA_POR_DIRECTOR; $destinatario = $iniciador;
$modo = $_REQUEST["modo"]; $idTramite = $_POST["idT"]; $delegado = $_POST['delegado']; $idusuario = $_POST['iu']; $perfil = $_POST['perfil']; $privilegios = $_POST['privilegios']; $etapa = $_POST['t_etapa_actual']; $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"]; $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
//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 /*$query=sprintf("select * from EXPENVKIOQA1.usuario where u_id = %s",CONTROLINTERNO); $rst=$cnn->consultar($query); while ($fila = mysql_fetch_assoc($rst)) { $sv_ceco_paga=$fila['u_id']; } */ //Notificacion al gerente de area //construimos la segunda ruta de autorizacion $rutaAutorizacion = new RutaAutorizacion(); $aprobadornuevo = $rutaAutorizacion->generaRutaSegundaAutorizacion($destinatario, $tramiteId, $diferenciaMontos); $tramite->Modifica_Etapa($tramiteId, SOLICITUD_ETAPA_SEGUNDA_APROBACION, FLUJO_SOLICITUD, $aprobadornuevo, ""); $usuarioCreador = new Usuario(); $usuarioCreador->Load_Usuario_By_ID($tramite->Get_dato("t_iniciador")); $mensaje = sprintf("El monto que la agencia de viajes ha registrado para la compra del boleto de avión de la solicitud de viaje <strong>%05s</strong> creada por:<strong>%s</strong> excede el límite de tolerancia y requiere de su autorización.", $tramiteId, $usuarioCreador->Get_dato('nombre')); $remitente = $tramite->Get_dato("t_dueno"); //se le enviara al Gerente de area $tramite->EnviaNotificacion($tramiteId, $mensaje, $remitente, $aprobadornuevo, "1", ""); //"0" para no enviar email y "1" para enviarlo } //funcion que nos regresara el numero de CECO al cual esta asignado el usuario ( creacion de una solicitud viaje) if (isset($_POST['idEmpleado'])) { $idEmpleado = (int) $_POST['idEmpleado']; $cecoEmpleado = 0; $cnn = new conexion();
$cnn = new conexion(); $tramite = $_POST['noSolicitud']; $query = sprintf("SELECT sg_motivo, sg_monto, sg_divisa, sg_ceco, sg_ciudad, sg_monto_pesos, \r\n\t\t\t\t\t%s AS sg_fecha_gasto, sg_lugar, cc_centrocostos, FORMAT(sg_monto_pesos, 2) AS montoPesos, \r\n\t\t\t\t\tIF(t_etapa_actual = %s, sg_observaciones_edicion, sg_observaciones) AS observaciones, \r\n\t\t\t\t\tsg_observaciones, sg_observaciones_edicion, sg_requiere_anticipo, sg_concepto, t_etapa_actual \r\n\t\t\t\t\tFROM solicitud_gastos \r\n\t\t\t\t\tJOIN tramites ON sg_tramite = t_id \r\n\t\t\t\t\tJOIN cat_cecos ON sg_ceco = cc_id \r\n\t\t\t\t\tWHERE sg_tramite = '%s'", "DATE_FORMAT(sg_fecha_gasto,'%d/%m/%Y')", SOLICITUD_GASTOS_ETAPA_SIN_ENVIAR, $tramite); //error_log("--->> Carga del gasto: ".$query); $rst = $cnn->consultar($query); while ($fila = mysql_fetch_assoc($rst)) { $_arreglo[] = array('motivo' => utf8_encode($fila['sg_motivo']), 'monto' => $fila['sg_monto'], 'divisa' => $fila['sg_divisa'], 'ceco' => $fila['cc_centrocostos'], 'ciudad' => utf8_encode($fila['sg_ciudad']), 'observaciones' => utf8_encode($fila['sg_observaciones']), 'observaciones_edicion' => utf8_encode($fila['sg_observaciones_edicion']), 'fecha_gasto' => $fila['sg_fecha_gasto'], 'lugar' => utf8_encode($fila['sg_lugar']), 'etapaActual' => $fila['t_etapa_actual'], 'requiere_anticipo' => $fila['sg_requiere_anticipo'], 'concepto' => $fila['sg_concepto'], 'montoPesos' => $fila['montoPesos']); } echo json_encode($_arreglo); } // Verificar si el usuario es un director if (isset($_POST['idUsuario'])) { $cnn = new conexion(); $idUsuario = $_POST['idUsuario']; $esDirector = 0; $rutaAutorizacion = new RutaAutorizacion(); $nivel = $rutaAutorizacion->nivelEmpleado($idUsuario); if ($nivel == DIRECTOR_GENERAL) { $esDirector = 1; } //error_log("--->>Es director: ".$esDirector." nivel del usuario: ".$nivel); echo $esDirector; } // Carga de datos del Usuario if (isset($_POST['idusuario'])) { $cnn = new conexion(); $idUsuario = $_POST['idusuario']; $_arreglo = array(); $i = 0; $query = sprintf("SELECT DISTINCT nombre, npuesto, e_nombre, IF(u_interno = 1, 'Interno', 'Externo') as tipo\r\n\t\t\tFROM empleado\r\n\t\t\tINNER JOIN usuario ON (u_id = idfwk_usuario)\r\n\t\t\tINNER JOIN empresas ON (u_empresa = e_id)\r\n\t\t\tWHERE u_id = '%s'", $idUsuario); //error_log("--->>Consulta Usario: ".$query);
$monto_pesos = mysql_result($rst, 0, "sg_monto_pesos"); $ciudad = mysql_result($rst, 0, "sg_ciudad"); $observaciones = mysql_result($rst, 0, "sg_observaciones"); $CentroCostoId = mysql_result($rst, 0, "cc_id"); $cc_centrocostos = mysql_result($rst, 0, "cc_centrocostos"); $t_etapa = mysql_result($rst, 0, "t_etapa_actual"); $t_etapa_nombre = mysql_result($rst, 0, "et_etapa_nombre"); $t_flujo = mysql_result($rst, 0, "t_flujo"); $cc_nombre = mysql_result($rst, 0, "cc_nombre"); $nombreUsuarioIniciador = mysql_result($rst, 0, "nombre"); $requiereAnticipo = mysql_result($rst, 0, "sg_requiere_anticipo"); $sg_concepto = mysql_result($rst, 0, "cp_concepto"); $idConcepto = mysql_result($rst, 0, "sg_concepto"); $t_delegado = mysql_result($rst, 0, "t_delegado"); // Traerá la ruta de autorización de la solicitud correspondiente $rutaAutorizacion = new RutaAutorizacion(); $autorizadores = $rutaAutorizacion->getNombreAutorizadores($t_id); // Carga de Invitados $comensales = new Comensales(); $invitados = $comensales->Load_comensales_solicitud_by_tramite($t_id); // Verificamos si la solicitud fue realizada por un delegado; de ser as� imprimiremos el nombre de los involucrados if ($t_delegado != 0) { $duenoActual = new Usuario(); $duenoActual->Load_Usuario_By_ID($t_delegado); $nombredelegado = $duenoActual->Get_dato('nombre'); $nombreUsuarioIniciador = "<font color='#0000CA'>" . $nombredelegado . "</font>" . strtoupper(" en nombre de: ") . $nombreUsuarioIniciador; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head>
//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']; } $GerenteArea = new Empleado(); $GerenteArea->Load_id_empleado($cc_responsable); $destinatario = $GerenteArea->Get_dato('idempleado'); //construimos la segunda ruta de autorizacion $rutaAutorizacion = new RutaAutorizacion(); $aprobadornuevo = $rutaAutorizacion->generaRutaSegundaAutorizacion($destinatario, $tramiteId); $tramite->Modifica_Etapa($tramiteId, SOLICITUD_ETAPA_SEGUNDA_APROBACION, FLUJO_SOLICITUD, $aprobadornuevo, ""); $usuarioCreador = new Usuario(); $usuarioCreador->Load_Usuario_By_ID($tramite->Get_dato("t_iniciador")); $mensaje = sprintf("El monto que la agencia de viajes ha registrado para la compra del boleto de avión de la solicitud de viaje <strong>%05s</strong> creada por:<strong>%s</strong> excede el límite de tolerancia y requiere de tu autorización.", $tramiteId, $usuarioCreador->Get_dato('nombre')); $remitente = $tramite->Get_dato("t_dueno"); //se le enviara al Gerente de area $tramite->EnviaNotificacion($tramiteId, $mensaje, $remitente, $destinatario, "0", ""); //"0" para no enviar email y "1" para enviarlo //queda pendiente las notificaciones de la segunda ruta. } //funcion que nos regresara el numero de CECO al cual esta asignado el usuario ( creacion de una solicitud viaje) if (isset($_POST['idEmpleado'])) { $idEmpleado = (int) $_POST['idEmpleado']; $cecoEmpleado = 0;
public function enviarComprobacion() { $rutaautorizacion = new RutaAutorizacion(); /** * Validacion y guardado de excepcion de presupuesto **/ $presupuesto = new Presupuesto(); $objetoPresupuesto = $presupuesto->validarPresupuesto($this->comprobacion["tramite"]); $rutaautorizacion->generaExcepcion($this->comprobacion["tramite"], $objetoPresupuesto); $rutaautorizacion->generarRutaAutorizacion($this->comprobacion["tramite"], $this->usuario["delegado"]); $excepciones = $rutaautorizacion->get_Excepciones($this->comprobacion["tramite"]); $rutaautorizacion->agregaAutorizadoresExcedentes($this->comprobacion["tramite"], $excepciones); $aprobador = $rutaautorizacion->getSiguienteAprobador($this->comprobacion["tramite"], $this->usuario["idusuario"]); $etapa = COMPROBACION_ETAPA_EN_APROBACION; $this->tramite->Load_Tramite($this->comprobacion["tramite"]); $etapaActual = $this->tramite->Get_dato("t_etapa_actual"); if ($etapaActual == COMPROBACION_ETAPA_DEVUELTO_CON_OBSERVACIONES) { $aprobador = 2000; } $this->modificaEtapa($etapa, $aprobador); $this->obtenOservaciones(); $this->enviaNotificacion($aprobador, $this->obtenMensaje($etapa)); }
$mensaje = sprintf("La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> en nombre de: <strong>%s</strong> y requiere de su autorización.", $idTramite, $nombreDelegado, $nombreUsuario); $mensaje_email = sprintf("La Solicitud de Viaje <strong>CREADA</strong> por: <strong>%s</strong> requiere de su autorización.", $nombreUsuario); } else { $mensaje = sprintf("La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>CREADA</strong> por: <strong>%s</strong> y requiere de su autorización.", $idTramite, $nombreUsuario); $mensaje_email = sprintf("La Solicitud de Viaje <strong>CREADA</strong> por: <strong>%s</strong> requiere de su autorización.", $nombreUsuario); } $remitente = $iduser; $destinatario = $aprobador; $tramite->EnviaNotificacion($idTramite, $mensaje, $remitente, $destinatario, "1", $mensaje_email); //"0" para no enviar email y "1" para enviarlo } } } } } else { $ruta_autorizacion = new RutaAutorizacion(); $es_agencia = $ruta_autorizacion->generaRutaAutorizacionSolicitudViaje($idTramite, $iduser, false); if ($es_agencia == "Agencia") { // Se agrega la observacion tambien a la tabla de observaciones $texto = $sObservaciones; $t_id = $idTramite; $u_id = $iduser; // Registra las observaciones if ($texto != "") { if ($tramite->Get_dato('t_etapa_actual') == SOLICITUD_ETAPA_RECHAZADA) { $queryObs = sprintf("SELECT ob_id, ob_texto FROM observaciones WHERE ob_tramite=%s ORDER BY ob_id DESC LIMIT 0,1", $t_id); $rstObs = $cnn->consultar($queryObs); $idObs = mysql_result($rstObs, 0, "ob_id"); $UObs = mysql_result($rstObs, 0, "ob_texto"); if ($UObs != $texto) { //Actualizara las observaciones editadas