function getPacientIfExist($num_polis) { $resultPacient = Pacient::where("n_polis", $num_polis)->first(); //->where("im","=",$pacient->im) //->where("ot","=",$pacient->ot) //->where("dr","=",$pacient->dr) return $resultPacient ? $resultPacient : false; }
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"); } }