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