public function run()
 {
     DB::table('puestos')->delete();
     Puesto::create(array('nombre' => 'SECRETARIO PARTICULAR DE PONENCIA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'MC03')->first()->id));
     Puesto::create(array('nombre' => 'JEFE DE DEPARTAMENTO', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'OC1')->first()->id));
     Puesto::create(array('nombre' => 'SUBDIRECTOR DE AREA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'NC1')->first()->id));
     Puesto::create(array('nombre' => 'DIRECTOR DE AREA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'MC2')->first()->id));
     Puesto::create(array('nombre' => 'SUBDIRECTOR DE AREA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'NC2')->first()->id));
     Puesto::create(array('nombre' => 'DIRECTOR DE AREA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'MC1')->first()->id));
     Puesto::create(array('nombre' => 'ENLACE', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'PC2')->first()->id));
     Puesto::create(array('nombre' => 'ENLACE', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'PC3')->first()->id));
     Puesto::create(array('nombre' => 'DIRECTOR GENERAL', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'KB1')->first()->id));
     Puesto::create(array('nombre' => 'SUBDIRECTOR DE AREA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'NC3')->first()->id));
     Puesto::create(array('nombre' => 'JEFE DE DEPARTAMENTO', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'OC2')->first()->id));
     Puesto::create(array('nombre' => 'ENLACE', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'PC1')->first()->id));
     Puesto::create(array('nombre' => 'ENLACE', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'PA3')->first()->id));
     Puesto::create(array('nombre' => 'JEFE DE DEPARTAMENTO', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'OC3')->first()->id));
     Puesto::create(array('nombre' => 'JEFE DE DEPARTAMENTO', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'OB2')->first()->id));
     Puesto::create(array('nombre' => 'DIRECTOR GENERAL', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'KB2')->first()->id));
     Puesto::create(array('nombre' => 'ENLACE', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'PA1')->first()->id));
     Puesto::create(array('nombre' => 'COORDINADOR', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'KA2')->first()->id));
     Puesto::create(array('nombre' => 'SUBDIRECTOR DE AREA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'NA1')->first()->id));
     Puesto::create(array('nombre' => 'CONTRALOR', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'KA02')->first()->id));
     Puesto::create(array('nombre' => 'COMISIONADO PRESIDENTE / COMISIONADOS', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'HB1')->first()->id));
     Puesto::create(array('nombre' => 'DIRECTOR GENERAL', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'KB3')->first()->id));
     Puesto::create(array('nombre' => 'ENLACE DE PONENCIA / PROYECTISTA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'OC02')->first()->id));
     Puesto::create(array('nombre' => 'JEFE DE DEPARTAMENTO DE PONENCIA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'NB3')->first()->id));
     Puesto::create(array('nombre' => 'SUBDIRECTOR DE PONENCIA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'MB2')->first()->id));
     Puesto::create(array('nombre' => 'SECRETARIO DE ACUERDOS Y PONENCIA / DIRECTOR DE PONENCIA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'MC3')->first()->id));
     Puesto::create(array('nombre' => 'CHOFER', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'OB02')->first()->id));
     Puesto::create(array('nombre' => 'SECRETARIA', 'remuneracion_id' => Remuneracion::where('grupo_jerarquico', '=', 'OC002')->first()->id));
 }
 /**
  * Get all related data to a servidor publico
  */
 public function getServidorProfile($json = true, $servidor_id = false, $viajes = true)
 {
     if ($servidor_id == false && isset(Auth::user()->servidor_id)) {
         $servidorId = Auth::user()->servidor_id;
         $userId = Auth::user()->id;
     } else {
         $servidorId = $servidor_id != false ? $servidor_id : Auth::user()->servidor_id;
         $user = User::where('servidor_id', '=', $servidor_id)->first();
         $userId = $user['id'];
     }
     if (isset($servidorId) && $servidorId > 0) {
         $contact = Servidor::find($servidorId);
         //->first();
         $puesto = Servidor::find($servidorId)->puesto;
         $puesto->remuneracion = Remuneracion::where('id', '=', $puesto->remuneracion_id)->get()->first();
         $cargo = Servidor::find($servidorId)->cargo;
         $unidadAdministrativa = $contact->unidadAdministrativa;
         $numberOfViajes = Viaje::where('servidor_id', '=', $servidorId)->get()->count();
         if ($viajes == true) {
             $viajes = Viaje::where('servidor_id', '=', $servidorId)->get();
             $viajeArray = array();
             foreach ($viajes as $viaje) {
                 $viajeFinal = $viaje;
                 $viajeFinal->tema = $viaje->tema;
                 $viajeFinal->eventos = $viaje->eventos;
                 foreach ($viajeFinal->eventos as $k => $evento) {
                     $viajeFinal->eventos[$k]->pasajes = $evento->pasajes;
                     foreach ($evento->pasajes as $l => $pasaje) {
                         $pasaje->ciudad_origen = City::where('id', '=', $pasaje->ciudad_origen_id)->first();
                         $pasaje->ciudad_destino = City::where('id', '=', $pasaje->ciudad_destino_id)->first();
                         $viajeFinal->eventos[$k]->pasajes[$l]->ciudad_origen = $pasaje->ciudad_origen;
                         $viajeFinal->eventos[$k]->pasajes[$l]->ciudad_destino = $pasaje->ciudad_destino;
                     }
                     $viajeFinal->eventos[$k]->viatico = Viatico::where('id', '=', $evento->viatico_id)->first();
                 }
                 $viajeFinal->tipoComision = $viaje->tipoComision;
                 $viajeFinal->mecanismoOrigen = $viaje->mecanismoOrigen;
                 $viajeFinal->instGenera = $viaje->instGenera;
                 $viajeArray[] = $viajeFinal;
             }
         } else {
             $viajeArray = array();
         }
         $response = array('status' => 'success', 'servidor' => array('contact' => $contact, 'puesto' => $puesto, 'cargo' => $cargo, 'unidadAdministrativa' => $unidadAdministrativa, 'numberOfViajes' => $numberOfViajes, 'viajes' => $viajeArray));
     } else {
         $response = array('status' => 'fail', 'message' => 'Tu perfil como servidor aún no ha sido de alta.');
     }
     if ($json == true) {
         //regresamos respuesta en json
         return Response::json($response);
     } else {
         return $response;
     }
 }