public function submit_create_servicio($id = null)
 {
     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
             $rules = array('familia_id' => 'required');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules);
             // If the validator fails, redirect back to the form
             if ($validator->fails()) {
                 return Redirect::to('plantillas_servicios/create_servicio/' . $id)->withErrors($validator)->withInput(Input::all());
             } else {
                 $data['tareas_borradas'] = Input::get('tareas_borradas');
                 $data['tareas'] = Input::get('tareas');
                 if (!$data['tareas_borradas'] == "") {
                     $tareas_borradas = json_decode($data['tareas_borradas']);
                     foreach ($tareas_borradas as $tarea) {
                         $tarea_borrar = TareasOtInspeccionEquipo::find($tarea);
                         $tarea_borrar->borrado_por = $data["user"]->id;
                         $tarea_borrar->save();
                         $tarea_borrar->delete();
                     }
                 }
                 if ($data['tareas'] != "") {
                     //crear tareas
                     $tareas = $data['tareas'];
                     foreach ($tareas as $key => $tarea) {
                         $tarea_crear = new TareasOtInspeccionEquipo();
                         $tarea_crear->nombre = $tarea;
                         $tarea_crear->idfamilia_activo = $id;
                         $tarea_crear->creador = $data["user"]->id;
                         $tarea_crear->save();
                     }
                 }
                 Session::flash('message', 'Se modificaron correctamente las Tareas.');
                 return Redirect::to('plantillas_servicios/show_servicio/' . $id);
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 public function submit_program_ot_inspec_equipos()
 {
     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);
         }
         $list_activos = [];
         //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_inicio = date('Y-m-d H:i:s', strtotime($array_detalle[3] . " " . $array_detalle[4]));
                 $fecha_fin = date('Y-m-d H:i:s', strtotime($array_detalle[3] . " " . $array_detalle[5]));
                 $idservicio = $array_detalle[0];
                 $servicio = Servicio::find($idservicio);
                 $ot = new OrdenesTrabajoInspeccionEquipo();
                 $abreviatura = "PIE";
                 // Algoritmo para añadir numeros correlativos
                 $string = $this->getCorrelativeReportNumber();
                 $ot->fecha_inicio = $fecha_inicio;
                 $ot->fecha_fin = $fecha_fin;
                 $ot->idservicio = $idservicio;
                 $ot->idestado = 9;
                 $ot->id_ingeniero = $array_detalle[6];
                 $ot->ot_tipo_abreviatura = $abreviatura;
                 $ot->ot_correlativo = $string;
                 $ot->save();
                 $list_activos = Activo::getActivosByServicioId($idservicio)->get();
                 if ($list_activos->isEmpty() == false) {
                     foreach ($list_activos as $activo) {
                         $modelo = ModeloActivo::find($activo->idmodelo_equipo);
                         $idfamilia_activo = $modelo->idfamilia_activo;
                         $otInspeccionxActivo = new OrdenesTrabajoInspeccionEquipoxActivo();
                         $otInspeccionxActivo->idot_inspec_equipo = $ot->idot_inspec_equipo;
                         $otInspeccionxActivo->idactivo = $activo->idactivo;
                         $otInspeccionxActivo->save();
                         //asignamos las tareas de ese activo de esa inspeccion
                         $tareas = TareasOtInspeccionEquipo::getTareasByFamiliaActivo($idfamilia_activo)->get();
                         foreach ($tareas as $tarea) {
                             $otInspeccionxActivoxTarea = new TareasOtInspeccionEquipoxActivo();
                             $otInspeccionxActivoxTarea->idot_inspec_equiposxactivo = $otInspeccionxActivo->idot_inspec_equiposxactivo;
                             $otInspeccionxActivoxTarea->idtareas_inspec_equipo = $tarea->idtareas_inspec_equipo;
                             $otInspeccionxActivoxTarea->idestado_realizado = 23;
                             // Estado de tarea no realizada
                             $otInspeccionxActivoxTarea->save();
                         }
                     }
                 }
             }
         } else {
             $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, 'list' => $list_activos), 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);
     }
 }