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);
     }
 }