public function export_pdf()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         // Verifico si el usuario es un Webmaster
         if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4 || $data["user"]->idrol == 5 || $data["user"]->idrol == 6 || $data["user"]->idrol == 7 || $data["user"]->idrol == 8 || $data["user"]->idrol == 9 || $data["user"]->idrol == 10 || $data["user"]->idrol == 11 || $data["user"]->idrol == 12) {
             $evento_id = Input::get('evento_adverso_id');
             $data["evento_adverso_info"] = EventoAdverso::searchEventoAdversoById($evento_id)->get();
             if ($data["evento_adverso_info"]->isEmpty()) {
                 return Redirect::to('eventos_adversos/list_eventos_adversos');
             }
             $data["evento_adverso_info"] = $data["evento_adverso_info"][0];
             if ($data["evento_adverso_info"]->idactivo == null) {
                 $data["activo_info"] = null;
             } else {
                 $activo = Activo::find($data["evento_adverso_info"]->idactivo);
                 $data["activo_info"] = Activo::searchActivosByCodigoPatrimonial($activo->codigo_patrimonial)->get();
                 $data["activo_info"] = $data["activo_info"][0];
             }
             //sacaremos los datos de la clasificacion
             $data["subtipohijo_info"] = EventoxSubTipoHijo::searchEventoXSubTiposById($data["evento_adverso_info"]->id)->get();
             if (count($data["subtipohijo_info"]) == 2) {
                 //quiere decir que es de caidas
                 $data["subtipohijo_nieto1"] = EventoxSubTipoHijoxSubTipoNieto::searchEventoXSubTiposById($data["subtipohijo_info"][0]->id)->get()[0];
                 $data["nieto1"] = SubTipoNietoIncidente::find($data["subtipohijo_nieto1"]->idsubtiponieto_incidente);
                 $data["subtipohijo_nieto2"] = EventoxSubTipoHijoxSubTipoNieto::searchEventoXSubTiposById($data["subtipohijo_info"][1]->id)->get()[0];
                 $data["nieto2"] = SubTipoNietoIncidente::find($data["subtipohijo_nieto2"]->idsubtiponieto_incidente);
                 $data["flag_tipoHijo"] = 1;
             } else {
                 $data["subtipohijo_nieto1"] = null;
                 $data["subtipohijo_nieto2"] = null;
                 $data["nieto1"] = null;
                 $data["nieto2"] = null;
                 $data["flag_tipoHijo"] = 0;
             }
             $data["subtipohijo_info"] = $data["subtipohijo_info"][0];
             $data["hijo"] = SubTipoHijoIncidente::find($data["subtipohijo_info"]->idsubtipohijo);
             $data["padre"] = SubTipoPadreIncidente::find($data["subtipohijo_info"]->idsubtipopadre_incidente);
             $data["tipo_incidente"] = TipoIncidente::find($data["subtipohijo_info"]->idtipo_incidente);
             $data["tipo_documento"] = TipoDocumento::find($data["evento_adverso_info"]->idtipo_documento);
             if ($data["evento_adverso_info"] === 'M') {
                 $data["sexo"] = 'Masculino';
             } else {
                 $data["sexo"] = 'Femenino';
             }
             //sacamos los datos del entorno asistencial
             if ($data["evento_adverso_info"]->idetapa_servicio == null) {
                 //quiere decir que hay un comentario
                 $data["entorno_asistencial"] = EventoxEntornoAsistencial::searchEntornoAsistencialByIdEvento($data["evento_adverso_info"]->id)->get()[0];
                 $data["etapa_servicio"] = null;
                 /*echo '<pre>';
                 		print_r($data["entorno_asistencial"]);
                 		exit;*/
             } else {
                 $data["etapa_servicio"] = EtapaServicio::getEtapaServiciosByIdEtapaServicio($data["evento_adverso_info"]->idetapa_servicio)->get()[0];
                 $data["entorno_asistencial"] = EntornoAsistencial::find($data["etapa_servicio"]->identorno);
                 /*echo '<pre>';
                 		print_r($data["etapa_servicio"][0]);
                 		exit;*/
             }
             $data["personas_implicadas"] = EventoxPersonasImplicadas::getPersonasImplicadasByIdEvento($data["evento_adverso_info"]->id)->get();
             $data["cantidad_personas"] = count($data["personas_implicadas"]);
             $data["tipos_frecuencias"] = FrecuenciaIncidente::find($data["evento_adverso_info"]->idfrecuencia);
             $data["grados_danhos"] = GradoDanho::find($data["evento_adverso_info"]->idgrado_danho);
             $data["factores"] = FactoresContribuyentes::find($data["evento_adverso_info"]->idfactor);
             $data["procesos"] = Proceso::find($data["evento_adverso_info"]->idproceso);
             $html = View::make('riesgos/eventos_adversos/exportEventoAdverso', $data);
             return PDF::load($html, "A4", "portrait")->download('Reporte Evento Adverso N° ' . $data["evento_adverso_info"]->id);
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 public function search_equipo_ajax()
 {
     if (!Request::ajax() || !Auth::check()) {
         return Response::json(array('success' => false), 200);
     }
     $id = Auth::id();
     $data["inside_url"] = Config::get('app.inside_url');
     $data["user"] = Session::get('user');
     if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 7 || $data["user"]->idrol == 8 || $data["user"]->idrol == 9) {
         // Check if the current user is the "System Admin"
         $data = Input::get('selected_id');
         if ($data != "vacio") {
             $equipo = Activo::searchActivosByCodigoPatrimonial($data)->get();
             if (!$equipo->isEmpty()) {
                 $equipo = $equipo[0];
             } else {
                 $equipo = null;
             }
         } else {
             $equipo = null;
         }
         return Response::json(array('success' => true, 'equipo' => $equipo), 200);
     } else {
         return Response::json(array('success' => false), 200);
     }
 }
 public function submit_program_ot_mant_preventivo()
 {
     if (!Request::ajax() || !Auth::check()) {
         return Response::json(array('success' => false), 200);
     }
     $id = Auth::id();
     $data["inside_url"] = Config::get('app.inside_url');
     $data["user"] = Session::get('user');
     if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4) {
         // Check if the current user is the "System Admin"
         $array_detalles = Input::get('matrix_detalle');
         $row_size = count($array_detalles);
         if ($row_size == 0) {
             $message = "No se cargaron todas las OTM con éxito.";
             $type_message = "bg-danger";
             return Response::json(array('success' => true, 'url' => $data["inside_url"], 'message' => $message, 'type_message' => $type_message), 200);
         }
         //Agregar Detalle
         if ($row_size > 0) {
             $message = "Se crearon las OTM con éxito";
             $type_message = "bg-success";
             for ($i = 0; $i < $row_size; $i++) {
                 $array_detalle = $array_detalles[$i];
                 $fecha = date('Y-m-d H:i:s', strtotime($array_detalle[4] . " " . $array_detalle[5]));
                 $cod_pat = $array_detalle[0];
                 $activo = Activo::searchActivosByCodigoPatrimonial($cod_pat)->get();
                 $activo = $activo[0];
                 $idactivo = $activo->idactivo;
                 $ot = new OrdenesTrabajoPreventivo();
                 $abreviatura = "MP";
                 // Algoritmo para añadir numeros correlativos
                 $string = $this->getCorrelativeReportNumber();
                 //Get Año Actual
                 $ts_abreviatura = "TS";
                 $ot->fecha_programacion = $fecha;
                 $ot->idservicio = $activo->idservicio;
                 $ot->idestado_ot = 9;
                 $ot->idubicacion_fisica = $activo->idubicacion_fisica;
                 $ot->id_usuarioelaborador = $data["user"]->id;
                 $ot->id_usuariosolicitante = $array_detalle[6];
                 $ot->idactivo = $activo->idactivo;
                 $ot->ot_tipo_abreviatura = $abreviatura;
                 $ot->ot_correlativo = $string;
                 $ot->ot_activo_abreviatura = $ts_abreviatura;
                 $ot->save();
                 //añadir las tareas
                 $modelo_equipo = ModeloActivo::find($activo->idmodelo_equipo);
                 $tareas = TareaOtPreventivo::getTareasByFamiliaActivo($modelo_equipo->idfamilia_activo)->get();
                 foreach ($tareas as $tarea) {
                     $otPreventivoxtarea = new OrdenesTrabajoPreventivoxTarea();
                     $otPreventivoxtarea->idot_preventivo = $ot->idot_preventivo;
                     $otPreventivoxtarea->idtareas_ot_preventivo = $tarea->idtareas_ot_preventivo;
                     $otPreventivoxtarea->idestado_realizado = 23;
                     // Estado de tarea no realizada
                     $otPreventivoxtarea->save();
                 }
             }
         } else {
             $message = "No se cargaron todas las OTM con éxito.";
             $type_message = "bg-danger";
             return Response::json(array('success' => true, 'ot' => $ot, 'url' => $data["inside_url"], 'message' => $message, 'type_message' => $type_message), 200);
         }
         return Response::json(array('success' => true, 'url' => $data["inside_url"], 'message' => $message, 'type_message' => $type_message), 200);
     } else {
         return Response::json(array('success' => false), 200);
     }
 }