function desfazerPassos(Documento $doc, $passo)
{
    $out1 = array();
    switch ((int) $passo) {
        case 3:
            // Deu erro no trâmite ou em outra etapa
            // desfazer tudo
            $tram = new Tramite();
            $out1 = $tram->removerTramite($doc->digital)->toArray();
        case 2:
            // Deu erro na criação do prazo
            // apagar qualquer prazo que tenha sido cadastrado
            // e o historico do prazo
            $out1 = DaoPrazo::removerPrazo($doc->digital)->toArray();
            // e fazer todo o resto
        // e fazer todo o resto
        case 1:
            // Deu erro na persistência das imagens
            // desfazer aqui cadastro do documento e anexação de imagens
            $out1 = DaoDocumento::removerImagensDocumento($doc)->toArray();
            if ($out1['success'] == 'true') {
                // e deletar pastas e arquivos das imagens
                $out1 = DaoDocumento::removerDocumento($doc)->toArray();
            }
    }
    return $out1;
}
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
    }
}
Exemple #3
0
 public function iniciar($proceso_id)
 {
     $proceso = Doctrine::getTable('Proceso')->find($proceso_id);
     if (!$proceso->canUsuarioIniciarlo(UsuarioSesion::usuario()->id)) {
         echo 'Usuario no puede iniciar este proceso';
         exit;
     }
     //Vemos si es que usuario ya tiene un tramite de proceso_id ya iniciado, y que se encuentre en su primera etapa.
     //Si es asi, hacemos que lo continue. Si no, creamos uno nuevo
     $tramite = Doctrine_Query::create()->from('Tramite t, t.Proceso p, t.Etapas e, e.Tramite.Etapas hermanas')->where('t.pendiente=1 AND p.id = ? AND e.usuario_id = ?', array($proceso_id, UsuarioSesion::usuario()->id))->groupBy('t.id')->having('COUNT(hermanas.id) = 1')->fetchOne();
     if (!$tramite) {
         $tramite = new Tramite();
         $tramite->iniciar($proceso->id);
     }
     $qs = $this->input->server('QUERY_STRING');
     redirect('etapas/ejecutar/' . $tramite->getEtapasActuales()->get(0)->id . ($qs ? '?' . $qs : ''));
 }
Exemple #4
0
 public function ModificaEtapaDelegados($t_id, $etapa, $flujo, $dueno, $ruta, $iduser, $delegado)
 {
     $tramite = new Tramite();
     $existeDelegado = $this->existenciaDelegado($iduser, $delegado);
     $tramite->Load_Tramite($t_id);
     $iniciador = $tramite->Get_dato("t_iniciador");
     if ($existeDelegado) {
         $etapatramite = $this->obtenerEtapaDelegados($flujo);
         $tramite->Modifica_Etapa($t_id, $etapatramite, $flujo, $iniciador, "");
     } else {
         $tramite->Modifica_Etapa($t_id, $etapa, $flujo, $dueno, $ruta);
         $ruta_autorizacion = new RutaAutorizacion();
         $ruta_autorizacion->generaRutaAutorizacionSolicitudInvitacion($tramite_editar, $iduser);
         $aprobador = $ruta_autorizacion->getSiguienteAprobador($t_id, $iduser);
         return $aprobador;
     }
 }
 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);
 }
//TIPO DE VIAJE EN LA SOLICITUD.
$sql = "SELECT sv_viaje FROM solicitud_viaje WHERE sv_tramite = {$idTramite}";
$res = mysql_query($sql);
$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');
Exemple #7
0
     $L2->Cabeceras("Eliminar");
     // Se  hace llamado a la funcion eliminar
     eliminar();
     if ($_SESSION["perfil"] == 2) {
         $query = "SELECT  tramites.t_id,\n\t\t\t\t\ttramites.t_etiqueta,\n\t\t\t\t\tDATE_FORMAT(t_fecha_registro,'%d/%m/%Y'),etapas.et_etapa_nombre,\n\t\t\t\t\tIF(etapas.et_etapa_id=" . SOLICITUD_ETAPA_APROBADA . " AND ((sv_viaje='Sencillo') OR (sv_viaje='Redondo')),IF(sv_itinerario.svi_tipo_transporte='Aéreo','AGENCIA',''),IF(etapas.et_etapa_id=" . SOLICITUD_ETAPA_APROBADA . " \n\t\t\t\t\tAND((SELECT COUNT(DISTINCT(svi_tipo_transporte)) FROM sv_itinerario WHERE svi_solicitud = (SELECT sv_id FROM solicitud_viaje WHERE sv_tramite = tramites.t_id)) = 1),\n\t\t\t\t\tIF((SELECT DISTINCT(svi_tipo_transporte) FROM sv_itinerario WHERE svi_solicitud = (SELECT sv_id FROM solicitud_viaje WHERE sv_tramite = tramites.t_id)) = 'Terrestre','','AGENCIA'),\n\t\t\t\t\tIF(etapas.et_etapa_id=" . SOLICITUD_ETAPA_APROBADA . " AND (sv_itinerario.svi_tipo_transporte='Terrestre' OR sv_itinerario.svi_tipo_transporte='Aéreo'),'AGENCIA',\n\t\t\t\t\tIF((etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA . ")OR (etapas.et_etapa_id=" . SOLICITUD_ETAPA_SIN_ENVIAR . "),'',\n\t\t\t\t\tIF(tramites.t_dueno IN (SELECT au_id FROM agrupacion_usuarios),(SELECT au_nombre FROM agrupacion_usuarios AS au WHERE au.au_id=tramites.t_dueno),\n\t\t\t\t\tIF(tramites.t_dueno = tramites.t_iniciador AND etapas.et_etapa_id !=" . SOLICITUD_ETAPA_EN_APROBACION_POR_DIRECTOR . ",'',(SELECT CONCAT(usuario.u_nombre,' ',usuario.u_paterno,' ',usuario.u_materno) FROM usuario WHERE usuario.u_id=tramites.t_dueno))))))) AS 'autorizador',\n\t\t\t\t\tCONCAT(FORMAT(solicitud_viaje.sv_total, 2),' MXN') AS monto, \n\t\t\t\t\t(CONCAT('<p align=center><a href=./index.php?edit_view=edit_view&id=',t_id,'><img border=0 title=Consultar src=" . $RUTA_R . "images/btn-search.gif></a></p>')) AS 'Consultar',\n\t\t\t\t\tIF(((etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_SIN_ENVIAR . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA_POR_DIRECTOR . ")),\n\t\t\t\t\t(CONCAT('<p align=center><a href=./index.php?new=new&id=',t_id,'><img border=0 title=Editar src=" . $RUTA_R . "images/addedit.png></a></p>')),'') AS 'Editar' ,  \n\t\t\t\t\tIF(((etapas.et_etapa_id=" . SOLICITUD_ETAPA_CANCELADA . ")  || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_SIN_ENVIAR . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA_POR_DIRECTOR . ")),(CONCAT('<p align=center><a href=./index.php?elimina=',t_id,' onclick=\\'return confirm_del(); \\'><img border=0 title=Eliminar src=" . $RUTA_R . "images/delete.png></a></p>')),'') AS 'Eliminar'\t\t            \n\t\t\t\t\tFROM tramites\n\t\t\t\t\tINNER JOIN etapas\n\t\t\t\t\tON tramites.t_flujo= etapas.et_flujo_id AND tramites.t_etapa_actual = etapas.et_etapa_id\n\t\t\t\t\tINNER JOIN usuario \tON tramites.t_iniciador = usuario.u_id\n\t\t\t\t\tINNER JOIN solicitud_viaje ON tramites.t_id = solicitud_viaje.sv_tramite\n\t\t\t\t\tINNER JOIN sv_itinerario ON sv_itinerario.svi_solicitud = solicitud_viaje.sv_id\t\t\t\t\t\n\t\t\t\t\tWHERE t_flujo = '" . FLUJO_SOLICITUD . "'" . $parametros . " GROUP BY t_id ORDER BY t_id DESC";
     } else {
         $query = "SELECT  tramites.t_id,\n\t\t\t\t\ttramites.t_etiqueta,\n\t\t\t\t\tDATE_FORMAT(t_fecha_registro,'%d/%m/%Y'),etapas.et_etapa_nombre,\n\t\t\t\t\tIF(etapas.et_etapa_id=" . SOLICITUD_ETAPA_APROBADA . " AND ((sv_viaje='Sencillo') OR (sv_viaje='Redondo')),IF(sv_itinerario.svi_tipo_transporte='Aéreo','AGENCIA',''),IF(etapas.et_etapa_id=" . SOLICITUD_ETAPA_APROBADA . " \n\t\t\t\t\tAND((SELECT COUNT(DISTINCT(svi_tipo_transporte)) FROM sv_itinerario WHERE svi_solicitud = (SELECT sv_id FROM solicitud_viaje WHERE sv_tramite = tramites.t_id)) = 1),\n\t\t\t\t\tIF((SELECT DISTINCT(svi_tipo_transporte) FROM sv_itinerario WHERE svi_solicitud = (SELECT sv_id FROM solicitud_viaje WHERE sv_tramite = tramites.t_id)) = 'Terrestre','','AGENCIA'),\n\t\t\t\t\tIF(etapas.et_etapa_id=" . SOLICITUD_ETAPA_APROBADA . " AND (sv_itinerario.svi_tipo_transporte='Terrestre' OR sv_itinerario.svi_tipo_transporte='Aéreo'),'AGENCIA',\n\t\t\t\t\tIF((etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA . ")OR (etapas.et_etapa_id=" . SOLICITUD_ETAPA_SIN_ENVIAR . "),'',\n\t\t\t\t\tIF(tramites.t_dueno IN (SELECT au_id FROM agrupacion_usuarios),(SELECT au_nombre FROM agrupacion_usuarios AS au WHERE au.au_id=tramites.t_dueno),\n\t\t\t\t\tIF(tramites.t_dueno = tramites.t_iniciador AND etapas.et_etapa_id !=" . SOLICITUD_ETAPA_EN_APROBACION_POR_DIRECTOR . ",'',(SELECT CONCAT(usuario.u_nombre,' ',usuario.u_paterno,' ',usuario.u_materno) FROM usuario WHERE usuario.u_id=tramites.t_dueno))))))) AS 'autorizador',\n\t\t\t\t\tCONCAT(FORMAT(solicitud_viaje.sv_total, 2),' MXN') AS monto, \n\t\t\t\t\t(CONCAT('<p align=center><a href=./index.php?edit_view=edit_view&id=',t_id,'><img border=0 title=Consultar src=" . $RUTA_R . "images/btn-search.gif></a></p>')) AS 'Consultar',\n\t\t\t\t\tIF(((etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_SIN_ENVIAR . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA_POR_DIRECTOR . ")),\n\t\t\t\t\t(CONCAT('<p align=center><a href=./index.php?new=new&id=',t_id,'><img border=0 title=Editar src=" . $RUTA_R . "images/addedit.png></a></p>')),'') AS 'Editar' ,  \n\t\t\t\t\tIF(((etapas.et_etapa_id=" . SOLICITUD_ETAPA_CANCELADA . ")  || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_SIN_ENVIAR . ") || (etapas.et_etapa_id=" . SOLICITUD_ETAPA_RECHAZADA_POR_DIRECTOR . ")),(CONCAT('<p align=center><a href=./index.php?elimina=',t_id,' onclick=\\'return confirm_del(); \\'><img border=0 title=Eliminar src=" . $RUTA_R . "images/delete.png></a></p>')),'') AS 'Eliminar'\t\t            \n\t\t\t\t\tFROM tramites\n\t\t\t\t\tINNER JOIN etapas\n\t\t\t\t\tON tramites.t_flujo= etapas.et_flujo_id AND tramites.t_etapa_actual = etapas.et_etapa_id\n\t\t\t\t\tINNER JOIN usuario \tON tramites.t_iniciador = usuario.u_id\n\t\t\t\t\tINNER JOIN solicitud_viaje ON tramites.t_id = solicitud_viaje.sv_tramite\n\t\t\t\t\tINNER JOIN sv_itinerario ON sv_itinerario.svi_solicitud = solicitud_viaje.sv_id\t \n\t\t\t\t\tWHERE tramites.t_iniciador=" . $idUser . "\n\t\t\t\t\tAND t_flujo = '" . FLUJO_SOLICITUD . "'" . $parametros . " GROUP BY t_id ORDER BY t_id DESC";
     }
     include "../../lib/php/mnu_toolbar.php";
     solicitud_toolbar($noEmpleado);
     busca_solicitud(FLUJO_SOLICITUD);
     echo "<h1>Solicitudes en Etapa: ";
     if ($etapa == '-1' || $etapa < 0 || $etapa == "") {
         echo "Todas</h1>";
     } else {
         $t = new Tramite();
         echo $t->Get_EtapaNombre($etapa, FLUJO_SOLICITUD);
         echo "</h1>";
     }
     $L2->muestra_lista($query, 0, false, -1, "", 10, "solviajeBusq");
     $I->Footer();
     // Muestra lista de solicitudes sin filtrar
 } else {
     $I = new Interfaz("Solicitudes de Viajes", true);
     include "../../lib/php/mnu_toolbar.php";
     solicitud_toolbar($noEmpleado);
     if ($_SESSION["perfil"] == 5 || $_SESSION["perfil"] == 6) {
     } else {
         busca_solicitud(FLUJO_SOLICITUD);
         echo "</div><h1>Mis Solicitudes de Viaje Creadas  </h1>";
     }
 // Datos del empleado
 $iduser = $_POST['iu'];
 $numempleado = $_POST['ne'];
 $idempresa = $_POST['empresa'];
 $motivoComprobacion = $_POST['motive'];
 // Datos de la Solicitud
 $refacturar = $_POST['Cecos_refacturado'] == 1 ? "1" : "0";
 $idSolicitud = $_POST["sol_select"];
 $cnn = new conexion();
 $Vsql = "SELECT * FROM solicitud_viaje WHERE sv_tramite = {$idSolicitud}";
 $Res_Vsql = $cnn->consultar($Vsql);
 $IdSolc = mysql_result($Res_Vsql, 0, "sv_id");
 $MontoSolc = mysql_result($Res_Vsql, 0, "sv_anticipo");
 $centroCosto = mysql_result($Res_Vsql, 0, "sv_ceco_paga");
 // Registra nuevo tramite
 $tramite = new Tramite();
 mysql_query("BEGIN");
 if ($actualizacion_comp == 0) {
     $idTramite = $tramite->Crea_Tramite($iduser, COMPROBACION_ETAPA_SOLICITUD, FLUJO_COMPROBACION, $motivoComprobacion);
 }
 if ($idTramite == 0) {
     mysql_query("ROLLBACK");
     header("Location: ./index.php?errorsave");
     die;
 }
 $orden_estadistica = isset($_POST['orden_estadistica']) != "" ? intval($_POST['orden_estadistica']) : 0;
 if ($idSolicitud > 0) {
     // Agrega nueva comprobacion
     if ($actualizacion_comp == 1) {
         $idComprobacion = updateComprobacion($idTramite, $t_Anticipo_Comprobado, $t_Anticipo_Amex, $mnt_Reembolso, $mnt_Descuento, $total_anticipo, $idSolicitud, $refacturar, $observ, $orden_estadistica);
         limpiar_detalles($idComprobacion);
Exemple #9
0
 public function datosViajeMultidestino($tramiteId)
 {
     $tipoViaje = 0;
     $region = 0;
     $diasViaje = 0;
     $query_TV = "SELECT svi_tipo_viaje,svi_region FROM sv_itinerario WHERE svi_solicitud =(SELECT sv_id FROM solicitud_viaje WHERE sv_tramite = {$tramiteId})";
     $rst = $this->cnn->consultar($query_TV);
     $aux = array();
     while ($fila = mysql_fetch_assoc($rst)) {
         array_push($aux, $fila);
     }
     foreach ($aux as $datosAux) {
         //se obtienen los datos de los ultimos itinerarios
         $tipoViaje = $datosAux['svi_tipo_viaje'];
         $region = $datosAux['svi_region'];
     }
     //se obtiene la suma de los dias de cada uno de los itinerarios que poseea
     $tramiteDias = new Tramite();
     $diasViaje = $tramiteDias->calculoDias($tramiteId);
     // 		$queryMultiDias="SELECT SUM(svi_dias_viaje) as svi_dias_viaje FROM sv_itinerario WHERE svi_solicitud =(SELECT sv_id FROM solicitud_viaje WHERE sv_tramite = {$tramiteId})";
     // 		error_log($queryMultiDias);
     // 		$rstMultiDias=$this->cnn->consultar($queryMultiDias);
     // 		while ($fila = mysql_fetch_assoc($rstMultiDias)) {
     // 			$diasViaje=$fila['svi_dias_viaje'];
     // 		}
     $matriz = array($tipoViaje, $region, $diasViaje);
     return $matriz;
 }
    
    // Actualiza las observaciones de la comprobacion
    $Comprobacion->Actualiza_Observaciones_Comprobacion($co_id, $observaciones);
    
    // Obtiene el nombre del usuario CxP que le corresponde a esta comprobacion
    $u = new Usuario();            
    $aprobador = $u->buscaAprobadorCxPParaComprobacion($cc_id_comprobacion);
    
    // Envia el tramite directo a CxP
    $usuarioAprobador = new Usuario();
    $usuarioAprobador->Load_Usuario_By_ID($aprobador);
    $mensaje = sprintf("El gasto adicional de la comprobaci&oacute;n <strong>%05s</strong> ha sido <strong>RECHAZADO</strong> y asignada a <strong>%s</strong> para su revisi&oacute;n",
                                $idTramite, $usuarioAprobador->Get_dato('nombre'));
    
    // Envia el tramite a la etapa correcta basado en el flujo
    $tramite = new Tramite();
    $tramite->EnviaMensaje($idTramite, $mensaje);    
    if($t_flujo==FLUJO_COMPROBACION){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_ETAPA_CXP, FLUJO_COMPROBACION, $aprobador);                           
    } else if($t_flujo==FLUJO_COMPROBACION_TDC){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_TDC_ETAPA_CXP, FLUJO_COMPROBACION_TDC, $aprobador);            
    } else if($t_flujo==FLUJO_REEMBOLSO_CAJA_CHICA){
        $tramite->Modifica_Etapa($idTramite, COMPROBACION_CAJA_CHICA_ETAPA_CXP, FLUJO_REEMBOLSO_CAJA_CHICA, $aprobador);
    }                                    
        
    header("Location: ./index.php?action=rechazar");
    die();
}  
?>

<link rel="stylesheet" type="text/css" href="../../css/jquery.autocomplete.css"/>
                 header("Location: ./index.php?action=devolver");*/
         //Se modifica la etapa
         $aprobador = $nIniciador;
         $ruta_autorizadores = "";
         $tramite->Modifica_Etapa($t_id, SOLICITUD_ETAPA_APROBACION, FLUJO_SOLICITUD, $aprobador, $ruta_autorizadores);
     }
     header("Location: ./index.php?id=" . $t_id);
 } else {
     if (isset($_POST['comprar'])) {
         $texto = $_POST['observ_to_emple'];
         $t_id = $_POST["tramite"];
         $u_id = $_POST["iu"];
         $cnn = new conexion();
         $query = sprintf("insert into observaciones(\n\t\t\t\tob_id,\n\t\t\t\tob_texto,\n\t\t\t\tob_fecha,\n\t\t\t\tob_tramite,\n\t\t\t\tob_usuario\n\t\t\t)values(\n\t\t\t\tdefault,\n\t\t\t\t'%s',\n\t\t\t\tnow(),\n\t\t\t\t%s,\n\t\t\t\t%s\n\t\t\t)", $texto, $t_id, $u_id);
         $ob_id = $cnn->insertar($query);
         $tramite = new Tramite();
         //Se modifica la etapa
         $aprobador = $u_id;
         $ruta_autorizadores = "";
         $tramite->Modifica_Etapa($t_id, SOLICITUD_ETAPA_APROBACION, FLUJO_SOLICITUD, $aprobador, $ruta_autorizadores);
         //Se envia la notificacion al empleado
         $mensaje = sprintf("La agencia de viajes ha realizado <strong>OBSERVACIONES</strong> sobre la solicitud <strong>%s</strong>.", $t_id);
         $destinatario = $_POST['id_empleado'];
         if ($ob_id != "") {
             $tramite->EnviaNotificacion($t_id, $mensaje, $u_id, $destinatario);
         }
         if ((isset($_POST['rowCount']) && $_POST['rowCount'] != 0 || isset($_POST['rowCountHotel']) && $_POST['rowCountHotel'] != 0 || isset($_POST['rowCountAuto']) && $_POST['rowCountAuto'] != 0) && isset($_POST['iniciador']) && $_POST['iniciador'] != "") {
             $mensaje2 = sprintf("La agencia de viajes ha realizado <strong>COTIZACIONES</strong> sobre la solicitud <strong>%s</strong>.", $t_id);
             if ($ob_id != "") {
                 $tramite->EnviaNotificacion($t_id, $mensaje2, $u_id, $destinatario);
             }
                    break;
                case 'E':
                    try {
                        $tramite = new Tramite();
                        $out = $tramite->tramitarProcesso($_POST['processos'], $_POST['destinatario'], 'E', $_POST['local'], $_POST['endereco'], $_POST['cep'], $_POST['prioridade'], $_POST['telefone'])->toArray();
                    } catch (Exception $e) {
                        $out = array('success' => 'false', 'error' => $e->getMessage());
                    }
                    break;
                default:
                    break;
            }
            break;
        case 'receber':
            $tramite = new Tramite();
            $out = $tramite->receberProcesso($_POST['processos'])->toArray();
            break;
        case 'cancelar':
            $tramite = new Tramite();
            $out = $tramite->cancelarTramiteProcesso($_POST['processos'])->toArray();
            break;
        case 'resgatar':
            $tramite = new Tramite();
            $out = $tramite->resgatarProcesso($_POST['processos'])->toArray();
            break;
    }
    print json_encode($out);
} catch (PDOException $e) {
    $out = array('success' => 'false', 'error' => $e->getMessage());
    echo json_encode($out);
}
Exemple #13
0
}
// Verificar si el usuario es finanzas....
$idUser = $_SESSION["idusuario"];
$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();
Exemple #14
0
<?php

session_start();
// inicia sesion
//if (!empty($_SESSION["usuario"])) { //verifica si la variable de sesion no esta vacia
include '../../db/tramite/Tipo.php';
include '../../db/tramite/Tramite.php';
$select_tipo = new Tipo();
$lista_tipo = $select_tipo->getall();
if (isset($_POST["registrar"])) {
    $add = new Tramite();
    $add->add($_POST["nombre"], $_POST["duracion"], $_POST["tipo"]);
}
$combobit = "";
foreach ($lista_tipo as $row2) {
    $combobit .= "<option name='tipo' value ='" . $row2[0] . "'>" . $row2[2] . "</option>";
}
?>
    <html>
    <head>
        <link rel="stylesheet" href="../botones.css" type="text/css">
        <link rel="stylesheet" href="agperfil.css" type="text/css">
        <title>Agregar Tramite</title>
    </head>
    <body>
    * Campos con asterisco son obligatorios
    <h2 align="center">ESPECIFICACIONES TRAMITE</h2>

    <form action="" method="post">
        <h3>Nombre del Tramite:
            <input type="text" name="nombre" pattern="[A-Za-z\s]{3,50}" maxlength="50" required size="50">*</h3>
        </tr>
        <tr>
			<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 >&nbsp;</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'])) {
function log_amex($log, $APP_EEXPENSES_DIR)
{
    $tramite = new Tramite();
    $log_amex = $APP_EEXPENSES_DIR . "log_amex.log";
    $fecha = date("Y/m/d H:i:s");
    switch ($log) {
        case 0:
            $msg = " ======================== ARCHIVO LOG AMEX -BMW creado MANUALMENTE en {$fecha} ========================\r\n \r\n";
            break;
        case 1:
            $msg = " Archivo de AMEX procesado MANUALMENTE a las: \t {$fecha} \t Fracasó- No se encontró archivo \r\n";
            break;
        case 2:
            $msg = " Archivo de AMEX procesado MANUALMENTE a las: \t {$fecha} \t Éxito \r\n";
            break;
        case 3:
            $msg = " Archivo de AMEX procesado MANUALMENTE a las: \t {$fecha} \t Error- Ocurrió un error inesperado \r\n";
            break;
        default:
    }
    $write_log = fopen($log_amex, "a+");
    if (file_exists($log_amex)) {
        if (date("md") == "0701" || date("md") == "0101") {
            unlink($log_amex);
            fopen($log_amex, "x+");
            // Crear el archivo x+
            $msg2 = " ======================== ARCHIVO LOG AMEX -BMW  creado MANUALMENTE en {$fecha} ========================\r\n \r\n";
            echo $msg2 . "<br />";
            fwrite($write_log, $msg2);
        }
    } else {
        fopen($log_amex, "x+");
        // Crear el archivo x+
        $msg2 = " ======================== ARCHIVO LOG AMEX -BMW creado MANUALMENTE en {$fecha} ========================\r\n \r\n";
        echo $msg2 . "<br />";
        fwrite($write_log, $msg2);
    }
    echo $msg . "<br />";
    fwrite($write_log, $msg);
    fclose($write_log);
    $tramite->EnviaNotificacionEmailInterfaces(AMEX, $msg);
}
 $comprobacion = "";
 $refacturar = "";
 $idSolicitud = $_POST["sol_select"];
 $cnn = new conexion();
 $Vsql = "SELECT * FROM solicitud_viaje WHERE sv_tramite = {$idSolicitud}";
 $Res_Vsql = $cnn->consultar($Vsql);
 $IdSolc = mysql_result($Res_Vsql, 0, "sv_id");
 $MontoSolc = mysql_result($Res_Vsql, 0, "sv_anticipo");
 $centroCosto = mysql_result($Res_Vsql, 0, "sv_ceco_paga");
 // Busca aprobador para la solicitud en caso que sea necesario
 $Usu = new Usuario();
 $fecha = date("Y-m-d");
 $ruta_autorizadores = $Usu->buscaAprobadorParaComprobacion($centroCosto, $tTotal, $total_anticipo, $fecha);
 $aprobador = $ruta_autorizadores[0];
 // Registra nuevo tramite
 $tramite = new Tramite();
 $tramite->insertar("BEGIN WORK");
 $idTramite = $tramite->Crea_Tramite($iduser, $idempresa, COMPROBACION_ETAPA_COMPROBACION, FLUJO_COMPROBACION, $cMotive);
 // Agrega nueva comprobacion
 $idComprobacion = Add_new($idTramite, $idSolicitud, $tAmnt, $tIVA, $tTotal, $montoexc, $motivoComprobacion, $centroCosto, 1, $CreditCard, $refacturar, $observ, $MontoSolc);
 // Guarda los detalles de la comprobacion
 $totalComprobado = 0;
 $status_c = 1;
 for ($i = 1; $i <= $_POST['rowCount']; $i++) {
     //Partidas
     $cNo = $_POST['row' . $i];
     $cDate = $_POST['fecha' . $i];
     $cCargo = "";
     $cConc = $_POST['concepto' . $i];
     $cRef = $_POST['referencia' . $i];
     $cProv = $_POST['proveedor' . $i];
$pdf->SetFont("Arial", "B", 7);
$pdf->Cell(162, 5, utf8_decode(Session::get('_processos_recibo_prioridade')), 0, 0, 'L');
$pdf->Cell(5, 5, "", 0, 1, 'L');
$pdf->Ln(10);
$pdf->Cell(5, 5, "", 0, 0, 'C');
$pdf->SetFont("Arial", "B", 6);
$pdf->Cell(180, 5, utf8_decode("RELAÇÃO DE PROCESSOS"), 0, 0, 'C');
$pdf->Cell(5, 5, "", 0, 1, 'L');
$pdf->Ln(5);
$pdf->SetFont("Arial", "B", 6);
$pdf->Cell(5, 5, "#", 1, 0, 'C');
$pdf->Cell(30, 5, "N. PROCESSO ", 1, 0, 'C');
$pdf->Cell(70, 5, "INTERESSADO", 1, 0, 'C');
$pdf->Cell(70, 5, "ASSUNTO", 1, 0, 'C');
$pdf->Cell(15, 5, "AUTUACAO", 1, 1, 'C');
foreach (Tramite::getProcessosGuiaRecibo() as $key => $processo) {
    try {
        $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT NUMERO_PROCESSO,I.INTERESSADO AS INTERESSADO,A.ASSUNTO AS ASSUNTO, DT_AUTUACAO\r\n                FROM TB_PROCESSOS_CADASTRO PC\r\n                INNER JOIN TB_PROCESSOS_ASSUNTO A ON A.ID = PC.ASSUNTO\r\n                INNER JOIN TB_PROCESSOS_INTERESSADOS I ON I.ID = PC.INTERESSADO\r\n                WHERE NUMERO_PROCESSO = ? LIMIT 1");
        $stmt->bindParam(1, $processo, PDO::PARAM_INT);
        $stmt->execute();
        $out = $stmt->fetch(PDO::FETCH_ASSOC);
        if (!empty($out)) {
            $pdf->SetFont("Arial", "", 6);
            $pdf->Cell(5, 5, ++$cont, 1, 'C');
            $pdf->Cell(30, 5, $processo, 1, 0, 'C');
            $pdf->Cell(70, 5, $out['INTERESSADO'], 1, 0, 'C');
            $pdf->Cell(70, 5, $out['ASSUNTO'], 1, 0, 'C');
            $pdf->SetFont("Arial", "", 5);
            $pdf->Cell(15, 5, Util::formatDate($out['DT_AUTUACAO']), 1, 1, 'C');
        }
    } catch (PDOException $e) {
    $dias_viaje = $datos["sv_dias_viaje"];
    $itinerario1 = $datos["svi_id"];
    $et_id = $datos["etapa_id"];
    // Carga el t_dueno correspondiente
    $duenoT = $datos["t_dueno"];

    // Carga datos del usuario
    $query = "SELECT * FROM usuario WHERE u_id={$t_iniciador}";
    $rst = $cnn->consultar($query);
    $fila = @mysql_fetch_assoc($rst);
    $iniciador = $fila["u_nombre"];
	$num_empleado = $fila["u_id"];
	$u_email = $fila["u_email"];
    
    // Carga datos de autorizadores
    $tramite = new Tramite();
	$rutauatorizacion = $tramite->GetRutaAutorizacion($t_id);
	
    //Carga datos del pais de destino
    $query_pais = "SELECT pd_id, pd_nombre FROM pais_destino INNER JOIN ciudad_destino ON pd_id = cd_pais WHERE cd_nombre ='$destino'"; 
    $rst = $cnn->consultar($query_pais);
	$datos = @mysql_fetch_assoc($rst);
    $pais_destino = $datos["pd_id"];
    $pais = $datos["pd_nombre"];
    
    /* Comparar el dueńo con el autorizador */
    $es_autorizador = 0;
    for($i=1;$i<count($rutauatorizacion);$i++) {		
    	if ($rutauatorizacion[$i] == $idusuario)
			$es_autorizador = 1;    	
    }
 $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"];
 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;
     }
Exemple #21
0
 $solicitud = $_POST['sv_id'];
 $viaje = $_POST['sv_viaje'];
 $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&oacute;n correspondiente al <strong>Boleto de Avi&oacute;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) {
$pdf->AddFont('consola', '', 'consola.php');
$pdf->AddFont('consola', 'B', 'consolab.php');
$pdf->AddFont('consola', 'Z', 'consolaz.php');
$pdf->AddFont('consola', 'I', 'consolai.php');
$pdf->AliasNbPages();
$pdf->AddPage();
$cnn = new conexion();
$idTramite = $_GET['id'];
//Se cargan los comensales de la comprobacion de invitacion
$comensales = new Comensales();
$invitados = $comensales->Load_comensales_by_tramite($idTramite);
// Carga datos de autorizadores
$rutaAutorizacion = new RutaAutorizacion();
$autorizadores = $rutaAutorizacion->getNombreAutorizadores($idTramite);
//Se carga el tramite de la comprobacion
$tramite = new Tramite();
$tramite->Load_Tramite($idTramite);
//Se carga la comprobacion
$comp_inv = new Comprobacion();
$comp_inv->Load_Comprobacion_Invitacion_By_co_mi_tramite($idTramite);
//Se obtiene el id del tramite de la solicitud de invitacion
$id_tramite_sol_inv = $comp_inv->Get_dato("co_tramite");
//Se carga la solicitud de invitacion a la que hace referencia la comprobacion
$sol_inv = new C_SV();
$sol_inv->Load_Solicitud_Invitacion_Tramite($id_tramite_sol_inv);
//Datos de la comprobacion
$idComprobacion = $comp_inv->Get_dato("co_id");
$co_fecha_registro = cambiarFormatoFecha($comp_inv->Get_dato("co_fecha_registro"));
$co_tipo = $comp_inv->Get_dato("co_tipo");
$motivo = $comp_inv->Get_dato("co_motivo");
$ciudad = $comp_inv->Get_dato("co_ciudad");
<?php

/*
 * Copyright 2008 ICMBio
 * Este arquivo é parte do programa SISICMBio
 * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos
 * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão
 * 2 da Licença.
 *
 * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem
 * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a
 * Licença Pública Geral GNU/GPL em português para maiores detalhes.
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt",
 * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço
 * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF)
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
 * */
try {
    if (DaoDocumento::checaDocumentoExisteDigital((string) $_POST['digital'])) {
        if (Tramite::registrarHistoricoDeTramiteDocumentos($_POST['digital'], 'Código de Rastreamento', $origem = 'XXXXX', sprintf('<span>%s - </span><a href="%s%s"><blink><strong>%s</strong></blink></a>', $_POST['servico'], __RASTREAMENTO__, $_POST['codigo'], $_POST['codigo']))) {
            $response = array('status' => 'success', 'message' => 'Rastreamento registrado com sucesso!');
        } else {
            $response = array('status' => 'error', 'message' => 'Não foi possivel efetuar o registro do rastreamento!');
        }
    } else {
        $response = array('status' => 'error', 'message' => 'Este documento nao foi cadastrado ainda!');
    }
} catch (Exception $e) {
    $response = array('status' => 'error', 'message' => $e->getMessage());
}
print json_encode($response);
Exemple #24
0
 /**
  * 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);
         }
     }
 }
					$query = sprintf("select pro_id from proveedores where pro_proveedor='%s'",$cProv) ;
					$rst    = $cnn->consultar($query);
					$num_rows=mysql_num_rows($rst);
					$fila=mysql_fetch_assoc($rst);
					$idProv=$fila['pro_id'];
					if ($num_rows>0)
						$idProv=$fila['pro_id'];
					else
						$idProv=0;
					//************Detalle Comprobación
					$resp = 0;
					Add_detalle($co_id,$cCargo,$cConc,$cRef,$cP_RFC,$cAmt,$cImp,$cImpVal,$cTotal,$forma_gasto,$montoexc,$ivaexc,$idProv,$kilometraje,$cDate,$ivaR,$isrR,$cDate,$cExch,$cComensales,$cRate,$tipo,$cFlagFactura,$cFolio,$resp,$ceco);
					
			}//for	
		$sObser = "";
        $Tramite = new Tramite();
        $Tramite -> Load_Tramite($comprobacion);
        $Tramite -> Modifica_Etapa(3);
        $Tramite->Nex_Set($comprobacion,$sObser,$jefeEmpleado,"Comprobacion");
        $observaciones=$_POST['observaciones'];
	    if($observaciones==""){
			header("Location: ./index.php?errsave");
		}else{
            $Tramite->save_observaciones($observaciones,$comprobacion,$autor);
  		}
		header("Location: ./index.php?oksave");
		}else{
		header("Location: ./index.php?errjefe");
		die();
		}//if jefe
		
        //}
    }
    ?>
	</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.
 case 'pesquisar':
     try {
         unset($_SESSION['PESQUISAR_UNIDADES']);
         foreach ($_REQUEST as $key => $value) {
             if ($key != 'acao' && $value && strtolower($value) != 'null') {
                 $_SESSION['PESQUISAR_UNIDADES'][$key] = $value;
             }
         }
         $out = array('success' => 'true');
     } catch (Exception $e) {
         $out = array('success' => 'false', 'error' => $e->getMessage());
     }
     break;
 case 'regras-tramite':
     try {
         $tramite = new Tramite();
         $defaultList = array();
         $default = $tramite->getListTramites($_REQUEST['id_unidade']);
         /**
          * Indexar
          */
         if (count($default) > 0) {
             foreach ($default as $value) {
                 $defaultList[$value['id']] = $value;
             }
         }
         /**
          * GetKeys
          */
         $roles = array_keys($defaultList);
         $out = array('success' => 'true', 'roles' => $roles);
    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&aacute;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&iacute; 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&aacute; 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&iacute; 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&iacute;tica del concepto. <br>El monto m&aacute;ximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /> La solicitud requerir&aacute; ser validada por el Dir. General.</strong>";
		                    }else{
		                    	mensajeExcedePoliticas = "<strong>Esta rebasando la pol&iacute;tica del concepto. <br>El monto m&aacute;ximo es de " + montoMaximo + " " + montoMaximoDiv + ".<br /></strong>";
		                    }
		                	conceptoExcedePoliticas = true;                                        
		                } else {
		                	conceptoExcedePoliticas = false;
		                }
		                
		                if(conceptoExcedePoliticas){
		                    $("#capaWarning").html(mensajeExcedePoliticas);
		                    $("#obsjus").html("Agregar justificaci&oacute;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&oacute;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">&nbsp;</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>&nbsp;</td>
                    	<td colspan="2" align="right">Fecha de Invitaci&oacute;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>&nbsp;</td>
						<td colspan="2" align="right">Lugar de invitaci&oacute;n/Restaurante<span class="style1">*</span>:</td>
						<td align="left"><input type="text" name="lugar_inv" id="lugar_inv" maxlength="100"/></td>
						<td>&nbsp;</td>
					</tr>
                    <tr>
                    	<td colspan="9"><div>&nbsp;</div></td>
                    </tr>
                </table>
                <br/>
                <center><div id="montoPolitica"></div></center>
                <center><div style="display: none"><span class="style1">* Monto m&aacute;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>&nbsp;</td>
                            <td width="50%">Nombre<span class="style1">*</span>:&nbsp;&nbsp;<input name="nombre_invitado" type="text" id="nombre_invitado" size=50 maxlength="100" />
                            </td>
                            <td width="50%">Tipo de Invitado<span class="style1">*</span>:&nbsp;&nbsp;<select name="tipo_invitado" id="tipo_invitado" onchange="verificar_tipo_invitado();">
                                    <option value="-1">Seleccione...</option>
                                    <option value="BMW">Empleado BMW de M&eacute;xico</option>
                                    <option value="Externo">Externo</option>
                                    <option value="Gobierno">Gobierno</option>
                                </select>

                            </td>
                            <td>&nbsp;</td>
                        </tr> 
                        <tr>
                            <td>&nbsp;</td>
                            <td width="50%">Puesto<span class="style1">*</span>:&nbsp;&nbsp;&nbsp;<input name="puesto_invitado" type="text" id="puesto_invitado" size=50 maxlength="100" />
                            </td>
                            <td width="50%">Empresa<span class="style1">*</span>:&nbsp;&nbsp;<input name="empresa_invitado" type="text" id="empresa_invitado" size=50 maxlength="100" disabled="disable" />
                            </td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td><div id="capaDirector"></div></td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</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>&nbsp;</td>
                        </tr>

                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr><td>&nbsp;</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>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td> 
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>

                            <td colspan="2">N&uacute;mero de invitados<span class="style1">*</span>:&nbsp;
                                <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>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>

                    </table>

                    <br/>
                    <br/>
                    <table width="785" border="0" align="center" cellspacing="1">
                        <tr>
                            <td width="3%">&nbsp;</td>
                            <td width="15%">&nbsp;</td>
                            <td width="24%">&nbsp;</td>
                            <td width="23%">&nbsp;</td>
                            <td width="34%">&nbsp;</td>
                            <td width="1%">&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td colspan="3">Total Monto solicitado<span class="style1">*</span>:&nbsp;
                                <!--<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>:&nbsp;<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>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td colspan="3">Total en Pesos:&nbsp;<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>:&nbsp;<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>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                            <td colspan="3">Centro de Costos<span class="style1">*</span>:&nbsp;
                                <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>&nbsp;</td>
                            <td>&nbsp;</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>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
	                            <td>&nbsp;</td>
							</tr>
	                        <tr>
	                        	<td>&nbsp;</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>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td>&nbsp;</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>&nbsp;</td>
                        </tr>
                    </table>
                </center>
                <br />
                <div align="center"></div>



            <?php 
    }
Exemple #29
0
    ?>
" />
        <?php 
}
?>
        <label>Nombre</label>
        <input type="text" name="nombre" value="<?php 
echo $edit ? $reporte->nombre : '';
?>
" />
        <label>Campos</label>
        <div class="form-inline">
	        <select id="disponibles" style="height: 240px;" multiple>
	        
	        	<?php 
$tramiteHeaders = Tramite::getReporteHeaders();
$camposHeaders = $proceso->getCamposReporteHeaders();
$variablesHeaders = $proceso->getVariablesReporteHeaders();
?>
	        	<optgroup label="Datos de Trámite">
	        	<?php 
foreach ($tramiteHeaders as $rh) {
    ?>
	        		<?php 
    if (!($edit && in_array($rh, $reporte->campos))) {
        ?>
		            	<option value="<?php 
        echo $rh;
        ?>
" name="Datos de Trámite"><?php 
        echo $rh;
    $user_agency = $_POST['usuario'];
    $solicitud = $_POST['solicitud'];
    $tipo_traslado = $_POST['tipo'];
    $id_user = $_SESSION["idusuario"];
    $query_terminar_agencias2 = "SELECT sv_tramite FROM solicitud_viaje WHERE sv_id = '{$solicitud}'";
    $rst2 = $cnn->consultar($query_terminar_agencias2);
    $row = @mysql_fetch_assoc($rst);
    $t_id = $row['sv_tramite'];
    switch ($agency) {
        case 1:
            $query = "UPDATE solicitud_viaje SET sv_compra = '1' WHERE sv_id = '{$id}' AND sv_id_agencia = '{$user_agency}'";
            $agencia = "Vuelos";
            break;
        case 2:
            $query = "UPDATE hospedaje SET h_compra = '1' WHERE h_id = '{$id}' AND h_id_agencia = '{$user_agency}' ";
            $agencia = "Hospedaje";
            break;
        case 3:
            $agecia = $tipo_traslado == 0 ? "Traslados de Origen" : "Traslados de Destino";
            $query = "UPDATE traslados SET t_compra = '1' WHERE t_id = '{$id}' AND t_id_agencia = '{$user_agency}'";
            break;
    }
    $cnn->ejecutar($query);
    $mensaje = sprintf("<a href=" . $RUTA_R . "flujos/solicitudes/index.php?view=view&id=%s>La Solicitud de Viaje <strong>%05s</strong> ha sido <strong>COMPRADA</strong> por la agencia de <strong>{$agencia}</strong>.</a>", $t_id, $t_id);
    $tramite = new Tramite();
    $tramite->Load_Tramite($t_id);
    $iniciador = $tramite->Get_dato("t_iniciador");
    $tramite->EnviaNotificacion($t_id, $mensaje, $id_user, $iniciador, "0");
    verificaCamposCompra($solicitud);
    echo "true";
}