/** * Store a newly created resource in storage. * * @param ScheduleFormRequest $request * @return Response */ public function store($course_id, ScheduleFormRequest $request) { $schedule = new Schedule(); $schedule->fill($request->all()); $schedule->course_id = $course_id; $schedule->save(); return redirect()->route('courses.classes.index', $course_id)->with('flash', ['level' => 'success', 'message' => 'Added class in "' . $schedule->city . '".']); }
/** * Save one action in schedule queue * * @param $runAt Date when to run action * @param $action Name of action class * @param $obj Name of object class to which action is associated * @param $dataArr (optional) Array of parameters to be used with action * @return Schedule An instance of saved Schedule with id */ public function add($runAt, $action, $obj, $dataArr = []) { // save action in queue $whoObject = get_class($obj); $whoId = $obj->id; $schedule = new Schedule(['run_at' => $runAt, 'action' => $action, 'who_object' => $whoObject, 'who_id' => $whoId, 'parameters' => json_encode($dataArr), 'status' => 'new']); $schedule->save(); return $schedule; }
public function test_save_modified_schedule_in_db() { $companyOne = factory(Company::class)->create(); // remove reminders for Company One $scheduleRepository = new ScheduleRepository(); $scheduleRepository->removeAllForObject($companyOne); $schedule = new Schedule(['run_at' => '2015-03-15', 'action' => ActionCommandSendReminderEmailCommand::class, 'who_object' => Company::class, 'who_id' => $companyOne->id, 'parameters' => json_encode(array()), 'status' => 'new']); $schedule->save(); $this->seeInDatabase('schedules', ['run_at' => '2015-03-15']); }
/** * Run the database seeds. * * @return void */ public function run() { DB::table('schedules')->delete(); $schedule = new Schedule(['eqpId' => '1', 'docId' => '2001', 'time' => '14']); $schedule->save(); $schedule = new Schedule(['eqpId' => '2', 'docId' => '2002', 'time' => '16']); $schedule->save(); $schedule = new Schedule(['eqpId' => '3', 'docId' => '2003', 'time' => '15']); $schedule->save(); }
public function store($roomId) { $request = json_decode(request()->getContent()); $schedule = new Schedule(); $schedule->date = $request->date; $schedule->start = $request->start; $schedule->course_id = $request->course_id; $schedule->duration = $request->duration; $schedule->room_id = $roomId; $saved = $schedule->save(); return response()->json(array('error' => !$saved, 'schedule' => $schedule->toArray()), $saved ? 200 : 500); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(ScheduleRequest $request) { $schedule = new Schedule(); $schedule->user_id = Auth::id(); $schedule->days = $request->get('days'); $schedule->t1 = $request->get('t1'); $schedule->t2 = $request->get('t2'); $schedule->t3 = $request->get('t3'); $schedule->t4 = $request->get('t4'); $schedule->t5 = $request->get('t5'); $schedule->t6 = $request->get('t6'); $schedule->t7 = $request->get('t7'); $schedule->save(); return redirect(route('schedules.index'))->with('flash_success', 'Timetable created successfully.'); }
/** * 创建预约 * * @param Request $request * @param Schedule $schedule * * @return \Illuminate\Http\JsonResponse */ public function store(Request $request, Schedule $schedule) { $user = $request->user(); if (Registration::where(['user_id' => $user->id, 'schedule_id' => $schedule->id, 'registration_date' => $schedule->doctoring_date])->count() > 0) { return response()->json(['status' => 2, 'message' => '已预约']); } if ($schedule->rest_num < 1) { return response()->json(['status' => 3, 'message' => '暂无余号']); } $registration = new Registration(); $registration->schedule_id = $schedule->id; $registration->registration_date = $schedule->doctoring_date; $registration->fee = $schedule->doctor->fee; $schedule->rest_num -= 1; if ($user->registrations()->save($registration)) { if ($schedule->save()) { return response()->json(['status' => 0]); } else { return response()->json(['status' => 7, 'message' => '系统繁忙,请稍后再试']); } } return response()->json(['status' => 7, 'message' => '系统繁忙,请稍后再试']); }
/** * Store a newly created resource in storage. * * @return Response */ public function store() { $schedules = new Schedule(); $schedules->academic_year_id = Input::get('academic_year_id'); $schedules->program_study_id = Input::get('program_study_id'); $schedules->course_id = Input::get('course_id'); $schedules->study_id = Input::get('study_id'); $schedules->class_room = Input::get('class_room'); $schedules->lecturer_id = Input::get('lecturer_id'); $schedules->day_id = Input::get('day_id'); $schedules->start_time = Input::get('start_time'); $schedules->finish_time = Input::get('finish_time'); $schedules->date_midterm_exam = date("Y-m-d", strtotime(Input::get('date_midterm_exam'))); $schedules->start_midterm_exam_time = Input::get('start_midterm_exam_time'); $schedules->finish_midterm_exam_time = Input::get('finish_midterm_exam_time'); $schedules->midterm_exam_room = Input::get('midterm_exam_room'); $schedules->date_final_exam = date("Y-m-d", strtotime(Input::get('date_final_exam'))); $schedules->start_final_exam_time = Input::get('start_final_exam_time'); $schedules->finish_final_exam_time = Input::get('finish_final_exam_time'); $schedules->final_exam_room = Input::get('final_exam_room'); $schedules->save(); Session::flash('message', 'You have successfully added schedule'); return Redirect::to('dashboard/admin/schedules'); }
public static function storeSchedule($scheduleLogId, $diagDate, $diagTime) { $schedule = new Schedule(); $schedule->scheduleLogId = $scheduleLogId; $schedule->diagDate = $diagDate; $schedule->diagTime = $diagTime; $schedule->save(); }
public function index(Request $request) { if (Session::has("user_id") || Auth::check()) { $errorMessage = ""; $successMessage = ""; if (Auth::check()) { //только для админа /* * Обновление даты/времени приема если есть */ if ($request->has("update_priem")) { $updateSched = Schedule::find($request->input("sched_id")); $updateSched->data_priem = date("Y-m-d", strtotime($request->input("message_data_priem"))); $updateSched->time_priem = $request->input("message_time_priem"); $updateSched->save(); $successMessage = "Расписание успешно обновлено"; } /* * Удаление приема */ if ($request->has("del_priem")) { $delSched = Schedule::find($request->input("sched_id")); $delSched->delete(); $successMessage = "Время приема удалено"; } /* * Добавление нового приема если пришел запрос */ if ($request->has("add_datatime")) { $validator = Validator::make($request->all(), ["data_priem" => "required", "time_priem" => "required", "doctor_id" => "required"]); if ($validator->fails()) { $errorMessage = "Не все поля заполнены или невыбран врач"; } else { $schedLine = new Schedule(); $schedLine->data_priem = date("Y-m-d", strtotime($request->input("data_priem"))); $schedLine->time_priem = $request->input("time_priem"); $schedLine->doctor_id = $request->input("doctor_id"); if ($request->has("pay")) { $schedLine->pay = 1; } $schedLine->save(); $successMessage = "В расписание врача " . $schedLine->doctor->name . " добавлен прием на дату " . date("d.m.Y", strtotime($schedLine->data_priem)) . " время {$schedLine->time_priem}"; } } } // end if (Auth::check()) /************************************************/ /* * Запись нового пациента, если пришел запрос */ if ($request->has("save")) { if (!Auth::check()) { $sched = Schedule::find($request->input('sched_id')); if (!$sched->pacient_id) { $sched->pacient_id = $request->input('user_id'); $sched->save(); $successMessage = "Запись к врачу {$sched->doctor->name} на дату " . date("d.m.Y", strtotime($sched->data_priem)) . " в {$sched->time_priem} часов успешно произведена<br>\n <ul>\n <li class='rules-list__item'>\n Необходимо не менее чем за 30 минут до начала приема обратиться в регистратуру, предъявить полис и паспорт, оформить статталон.\n </li>\n <li class='rules-list__item'>Если Вы не являетесь пациентом, прикрепленным к Больнице КНЦ РАН, то при обращении Вам необходимо иметь при себе амбулаторную карту или выписку из нее</li>\n <li class='rules-list__item'>Если Вы записались на платный прием, необходимо произвести оплату до начала приема в кабинете №3 </li>\n </ul>\n "; Event::fire(new PeopleWriteToVisit($sched)); } else { $errorMessage = "Запись невозможна."; } } else { $errorMessage = "Вы вошли как администратор запись невозможна"; } } /*****************************************************/ $data = array(); if (Auth::check()) { // вход выполнен в административную часть - то роль админа получаем пользователя из Users $data["is_admin"] = true; $user = Auth::user(); $data["user_id"] = $user->id; $data["user_fullname"] = $user->fullname; } else { $data["is_admin"] = false; // полаем пользователя из Pacients $pacient = Pacient::find(Session::get("user_id")); $data["user_id"] = $pacient->id; $data["user_fullname"] = implode(" ", array($pacient->fam, $pacient->im, $pacient->ot)); //объединяем в одну строку } /* * получаем список специализаций и "привязанных" к ним врачей */ $specializations = Specialization::all(); foreach ($specializations as $spec) { $doctors = $spec->doctors; if ($doctors->toArray()) { $data["doctors"][$spec->name] = $doctors; } } /* * здесь передаем данные пациента и получаем данные по врачам */ return view("home", ["data" => $data, "success" => $successMessage, "error" => $errorMessage]); } else { return view("auth"); } }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $userRole = Auth::user()->role()->first()->name; $course = Course::where('id', $request->get('course'))->first(); $professor = Professor::where('id', $request->get('professor'))->first(); $area = $request->get('area'); $schedulesYear = Schedule::join('courses', 'courses.id', '=', 'schedules.course_id')->where('schedules.professor_id', $professor->id)->where('courses.year', $course->year)->get(); $professorLoad = 0; foreach ($schedulesYear as $sche) { $professorLoad = $professorLoad + count(explode("-", $sche->course()->first()->schedule)) * 22.5; } $conflictHours = array("L1A" => "L1B", "M1A" => "M1B", "W1A" => "W1B", "J1A" => "J1B", "V1A" => "V1B", "L4A" => "L4B", "M4A" => "M4B", "W4A" => "W4B", "J4A" => "J4B", "V4A" => "V4B"); $days = array("L" => null, "M" => null, "W" => null, "J" => null, "V" => null); $schedules = array(); $courseSchedules = Course::where('year', $course->year)->where('semester', $course->semester)->get(); $hours = array(); foreach ($courseSchedules as $courseSchedule) { if ($courseSchedule->schedule()->first() != null) { if ($courseSchedule->schedule()->first()->professor_id == $professor->id) { $hours2 = explode("-", $courseSchedule->schedule); $hours = array_merge(explode("-", $courseSchedule->schedule), $hours); foreach ($hours2 as $h) { $days[$h[0]] = $courseSchedule->branch; } } } } foreach ($conflictHours as $oneConflict => $otherOne) { if (in_array($oneConflict, $hours) || in_array($otherOne, $hours)) { array_push($hours, $otherOne); array_push($hours, $oneConflict); } } $selectedCourseSchedule = explode("-", $course->schedule); foreach ($selectedCourseSchedule as $oneSchedule) { if (in_array($oneSchedule, $hours)) { return redirect()->back()->withErrors('El curso seleccionado tiene tope de horario con otro curso ya asignado.')->withInput(); } elseif ($days[$oneSchedule[0]] != $course->branch && $days[$oneSchedule[0]] != null && $userRole != "Administrador") { return redirect()->back()->withErrors('No es posible asignar dos cursos con distintas sedes el mismo día.')->withInput(); } elseif ($professorLoad + count($selectedCourseSchedule) * 22.5 > $professor->max_load && $userRole != "Administrador") { return redirect()->back()->withErrors('Añadir este curso excede la carga máxima del profesor seleccionado.')->withInput(); } } if (isset($course) && isset($professor)) { $professorLoad = $professorLoad + count($selectedCourseSchedule) * 22.5; $record = new Schedule(); $record->course_id = $course->id; $record->professor_id = $professor->id; $record->save(); $prof = Professor::findOrFail($professor->id); $prof->current_load = $professorLoad; $prof->save(); $course = Course::findOrFail($course->id); $course->taken = 1; $course->save(); } return redirect("schedules/{$course->year}-{$course->semester}/{$area}/{$professor->id}"); }
public function offerclasstime() { if (Input::get('code') != null && isset($_POST['offer_classtime']) && isset($_POST['set'])) { $errorarray = array(); foreach ($_POST['set'] as $set) { $starttime = Input::get('starttime' . $set); $endtime = Input::get('endtime' . $set); $classcode = Input::get('code'); if ($starttime == null || $endtime == null) { $errorarray[count($errorarray)] = "You cannot leave time values empty (" . $set . ")"; } else { if ($starttime >= $endtime) { $errorarray[count($errorarray)] = "Start time must be less than End time (" . $set . ")"; } else { //Checking for Batch time conflict $offered_to = Course_detail::where('id', $classcode)->first()->offered_to; $batchclasses = Course_detail::where('offered_to', $offered_to)->get(); foreach ($batchclasses as $batchclass) { $batchschedule = Schedule::where('class_id', $batchclass->id . $set)->first(); $scheludeclasscode = $batchschedule['class_id']; if ($scheludeclasscode != $classcode . $set) { $stime = $batchschedule['stime']; $etime = $batchschedule['etime']; $flag = 0; $case1 = 0; if ($starttime <= $stime && $endtime > $stime) { $flag = 1; $case1 = 1; } else { if ($starttime >= $stime && $endtime < $etime) { $flag = 1; } else { if ($starttime >= $stime && $starttime < $etime && $case1 != 1) { $flag = 1; } } } if ($flag == 1) { $errorarray[count($errorarray)] = "Time slot: " . $starttime . "-" . $endtime . " (" . $set . ") for batch " . $offered_to . " is occupied by another subject " . $batchclass->course_code; } } } //Checking for instructor time conflict $offered_by = Course_detail::where('id', $classcode)->first()->offered_by; $instructorclasses = Course_detail::where('offered_by', $offered_by)->get(); foreach ($instructorclasses as $instructorclass) { $instructorschedule = Schedule::where('class_id', $instructorclass->id . $set)->first(); $scheludeclasscode = $instructorschedule['class_id']; if ($scheludeclasscode != $classcode . $set) { $stime = $instructorschedule['stime']; $etime = $instructorschedule['etime']; $flag = 0; $case1 = 0; if ($starttime <= $stime && $endtime > $stime) { $flag = 1; $case1 = 1; } else { if ($starttime >= $stime && $endtime < $etime) { $flag = 1; } else { if ($starttime >= $stime && $starttime < $etime && $case1 != 1) { $flag = 1; } } } if ($flag == 1) { $errorarray[count($errorarray)] = "You have another class " . $instructorclass->course_code . " in Time slot: " . $starttime . "-" . $endtime . " (" . $set . ") for batch " . $instructorclass->offered_to; } } } //Checking time conflict for day //Teacher ko department line ho ki students ko department choose accordingly //for now lets use teacher's department $offered_by = Course_detail::where('id', $classcode)->first()->offered_by; $departcode = User_detail::where('id', User::where('username', $offered_by)->first()->id)->first()->department; $departmentmaxrooms = Department::where('code', $departcode)->first()['total_rooms']; $counter = 0; $dayschedules = Schedule::where('day', $set)->where('department_code', $departcode)->get(); foreach ($dayschedules as $dayschedule) { $stime = $dayschedule->stime; $etime = $dayschedule->etime; $case1 = 0; if ($starttime <= $stime && $endtime > $stime) { $counter++; $case1 = 1; } else { if ($starttime >= $stime && $endtime < $etime) { $counter++; } else { if ($starttime >= $stime && $starttime < $etime && $case1 != 1) { $counter++; } } } } if ($counter >= $departmentmaxrooms) { $errorarray[count($errorarray)] = "Sorry the room management is not possible for your time slots for " . $set; } } } } if (count($errorarray) > 0) { return Redirect::Back()->withInput()->withErrors($errorarray); } else { foreach ($_POST['set'] as $set) { $starttime = Input::get('starttime' . $set); $endtime = Input::get('endtime' . $set); $classcode = Input::get('code'); Schedule::where('course_code', $classcode)->where('day', $set)->delete(); Time_table::where('course_code', $classcode)->where('day', $set)->delete(); //Teacher ko department line ho ki students ko department choose accordingly //for now lets use teacher's department $offered_by = Course_detail::where('id', $classcode)->first()->offered_by; $departcode = User_detail::where('id', User::where('username', $offered_by)->first()->id)->first()->department; $newschedule = new Schedule(); $newschedule->class_id = $classcode . $set; $newschedule->course_code = $classcode; $newschedule->stime = $starttime; $newschedule->etime = $endtime; $newschedule->day = $set; $newschedule->department_code = $departcode; $newschedule->save(); } return Redirect::back(); } } else { if (isset($_POST['remove_classtime']) && isset($_POST['set'])) { foreach ($_POST['set'] as $set) { $classcode = Input::get('code'); Time_table::where('course_code', $classcode)->where('day', $set)->delete(); Schedule::where('course_code', $classcode)->where('day', $set)->delete(); return Redirect::back(); } } else { return Redirect::back(); } } }