/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $datos['label'] = 'Editar';
     $datos['form'] = array('route' => array('datos.mantenimientos.update', $id), 'method' => 'PATCH');
     $datos['mantenimiento'] = Mantenimiento::find($id);
     $datos['activo'] = Activo::find($datos['mantenimiento']->id_activo);
     return View::make('datos/mantenimientos/list-edit-form')->with('datos', $datos)->with('objeto', new Mantenimiento());
 }
 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 finish_ot()
 {
     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) {
             $idot_correctivo = Input::get('idot_correctivo');
             $ot = OtCorrectivo::find($idot_correctivo);
             $activo = Activo::find(Input::get('idactivo'));
             if ($ot->idestado_final == null) {
                 Session::flash('error', 'Campo Estado Final del Activo es requerido');
                 return Redirect::to('mant_correctivo/create_ot/' . $idot_correctivo);
             }
             $activo->idestado = $ot->idestado_final;
             $activo->save();
             return Redirect::to('mant_correctivo/list_mant_correctivo')->with('message', 'Se inició la OTM: ' . $ot->ot_tipo_abreviatura . $ot->ot_correlativo . $ot->ot_activo_abreviatura);
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 public function submit_edit_activo_ire()
 {
     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) {
             // Validate the info, create rules for the inputs
             $attributes = array('fe' => 'Funciol del Equipo', 'ac' => 'Aplicación Clínica', 'rm' => 'Requerimiento de Mantenimiento', 'hie' => 'Historial de Incidentes del Equipo');
             $messages = array();
             $rules = array('fe' => 'required|integer', 'ac' => 'required|integer', 'rm' => 'required|integer', 'hie' => 'required|integer');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages, $attributes);
             // If the validator fails, redirect back to the form
             if ($validator->fails()) {
                 $equipo_id = Input::get('idequipo');
                 $url = "estado_ts/edit_ire_activo/" . "/" . $equipo_id;
                 return Redirect::to($url)->withErrors($validator)->withInput(Input::all());
             } else {
                 $equipo_id = Input::get('idequipo');
                 $activo = Activo::find($equipo_id);
                 $fe = Input::get('fe');
                 $ac = Input::get('ac');
                 $rm = Input::get('rm');
                 $hie = Input::get('hie');
                 $activo->fe = $fe;
                 $activo->ac = $ac;
                 $activo->rm = $rm;
                 $activo->hie = $hie;
                 $activo->ge = $fe + $ac + $rm + $hie;
                 $activo->save();
                 $url = "estado_ts/view_ire_servicio" . "/" . $activo->idservicio;
                 return Redirect::to($url)->with('message', 'Se editó correctamente el equipo.');
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 public function submit_create_tarea_ajax()
 {
     // If there was an error, respond with 404 status
     if (!Request::ajax() || !Auth::check()) {
         return Response::json(array('success' => false), 200);
     }
     $data["user"] = Session::get('user');
     if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4) {
         $tarea = new TareaOtPreventivo();
         $tarea->nombre = Input::get('nombre_tarea');
         $activo = Activo::find(Input::get('idactivo'));
         $modelo_equipo = ModeloActivo::find($activo->idmodelo_equipo);
         $idfamilia = $modelo_equipo->idfamilia_activo;
         $tarea->idfamilia_activo = $idfamilia;
         $tarea->creador = $data["user"]->id;
         $tarea->save();
         $otPreventivoxtarea = new OrdenesTrabajoPreventivoxTarea();
         $otPreventivoxtarea->idestado_realizado = 23;
         $otPreventivoxtarea->idot_preventivo = Input::get('idot_preventivo');
         $otPreventivoxtarea->idtareas_ot_preventivo = $tarea->idtareas_ot_preventivo;
         $otPreventivoxtarea->save();
         return Response::json(array('success' => true, 'tarea' => $tarea, 'otPreventivoxtarea' => $otPreventivoxtarea), 200);
     } else {
         return Response::json(array('success' => false), 200);
     }
 }
 public function submit_create_ot()
 {
     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) {
             $idot_retiro = Input::get('idot_retiro');
             // Validate the info, create rules for the inputs
             $attributes = array('idestado' => 'Estado', 'idestado_inicial' => 'Estado Inicial del Activo', 'idestado_final' => 'Estado Final del Activo', 'fecha_conformidad' => 'Fecha de Conformidad');
             $messages = array();
             $rules = array('idestado' => 'required', 'idestado_inicial' => 'required', 'idestado_final' => 'required', 'fecha_conformidad' => 'required');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages, $attributes);
             // If the validator fails, redirect back to the form
             if ($validator->fails()) {
                 return Redirect::to('retiro_servicio/create_ot/' . $idot_retiro)->withErrors($validator)->withInput(Input::all());
             } else {
                 $ot = OtRetiro::find($idot_retiro);
                 //$ot->idprioridad = Input::get('prioridades');
                 $ot->idestado_ot = Input::get('idestado');
                 $ot->idestado_inicial = Input::get('idestado_inicial');
                 $ot->idestado_final = Input::get('idestado_final');
                 $ot->fecha_conformidad = date("Y-m-d H:i:s", strtotime(Input::get('fecha_conformidad')));
                 $ot->save();
                 $activo = Activo::find(Input::get('idactivo'));
                 $activo->idestado = Input::get('idestado_final');
                 $activo->save();
                 Session::flash('message', 'Se guardó correctamente la información.');
                 return Redirect::to('retiro_servicio/list_retiro_servicio');
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 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) {
             $idot_vmetrologica = Input::get('idot_vmetrologica');
             $data["ot_vm"] = OrdenesTrabajoVerifMetrologica::find($idot_vmetrologica);
             if ($data["ot_vm"] == null) {
                 $url = "verif_metrologica/create_ot_verif_metrologica" . "/" . $idot_vmetrologica;
                 return Redirect::to($url);
             }
             $data["usuarioSolicitante"] = User::find($data["ot_vm"]->id_usuariosolicitante);
             $data["usuarioElaborador"] = User::find($data["ot_vm"]->id_usuarioelaborador);
             $data["servicio"] = Servicio::find($data["ot_vm"]->idservicio);
             $data["ejecutor"] = $data["ot_vm"]->nombre_ejecutor;
             $data["ubicacion"] = UbicacionFisica::find($data["ot_vm"]->idubicacion_fisica);
             $data["numero_ficha"] = $data["ot_vm"]->numero_ficha;
             $data["activo"] = Activo::find($data["ot_vm"]->idactivo);
             $data["modelo"] = ModeloActivo::find($data["activo"]->idmodelo_equipo);
             $data["familia"] = FamiliaActivo::find($data["modelo"]->idfamilia_activo);
             $data["marca"] = Marca::find($data["familia"]->idmarca);
             $data["fecha_programacion"] = $data["ot_vm"]->fecha_programacion;
             $data["fecha_conformidad"] = $data["ot_vm"]->fecha_conformidad;
             $data["estado_inicial"] = Estado::find($data["ot_vm"]->idestado_inicial);
             $data["estado_final"] = Estado::find($data["ot_vm"]->idestado_final);
             $data["estado_ot"] = Estado::find($data["ot_vm"]->idestado_ot);
             $data["documento"] = Documento::searchDocumentoByIdOtVerifMetrologica($idot_vmetrologica)->get();
             if (count($data["documento"]) != 0) {
                 $data["documento"] = $data["documento"][0];
             }
             $data["personal_data"] = PersonalOtVerifMetrologica::getPersonalXOt($idot_vmetrologica)->get();
             $html = View::make('ot/verifMetrologica/otVerifMetrologicaExport', $data);
             return PDF::load($html, "A4", "portrait")->show();
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 public function bajaActivo($id)
 {
     $data = Input::all();
     $activo = Activo::find($id);
     $activo->id_estado = $data['id_estado'];
     $activo->fecha_de_baja = $data['fecha_de_baja'];
     $activo->save();
     Session::flash('mensaje', 'Se ha dado de baja al activo: ' . $activo->nombre);
     return Redirect::route('datos.activos.index');
 }