repository = $repository; } public function index(Request $request) { $pageSize = $request->get('page_size', 50); $searchText = $request->get('search', null); $dateExtractFrom = $request->get('date_extract_from', null); $dateExtractTo = $request->get('date_extract_to', null); $database = $request->get('database', 'separate'); // si, mis $status = $request->get('status', null); $data = []; $databaseStats = $this->repository->getDatabaseStats(); switch ($database) { case 'si': $paginator = $this->repository->searchInPostgres( $searchText, $dateExtractFrom, $dateExtractTo, $pageSize ); $data['si'] = SiSttMedicalHistoryResource::collection($paginator); break; case 'mis': $paginator = $this->repository->searchInMssql( $searchText, $dateExtractFrom, $dateExtractTo, $pageSize ); $data['mis'] = MisSttMedicalHistoryResource::collection($paginator); break; case 'smart': $paginator = $this->repository->smartSearch( $searchText, $dateExtractFrom, $dateExtractTo, $pageSize ); $data['smart'] = SiSttMedicalHistoryResource::collection($paginator); break; case 'separate': $separateResults = $this->repository->separateSearch( $searchText, $dateExtractFrom, $dateExtractTo, $status, $pageSize ); $data = [ 'si' => SiSttMedicalHistoryResource::collection($separateResults['si']), 'mis' => MisSttMedicalHistoryResource::collection($separateResults['mis']), 'stats' => $separateResults['stats'], ]; break; } $statuses = ArchiveStatus::all()->map(function ($status) { return [ 'value' => $status->id, 'label' => $status->text ]; }); return Inertia::render('Home/Index', [ 'cards' => $data, 'statuses' => $statuses, 'databaseStats' => $databaseStats, 'filters' => array_merge($request->only([ 'search', 'date_extract_from', 'date_extract_to', 'page_size', 'page', 'view_type', 'database', 'status' ])) ]); // $cardsQuery = SttMedicalHistory::query(); // // if (!empty($searchText)) { // $cardsQuery = $cardsQuery->search($searchText); // } // // if (!empty($dateExtractFrom)) { // $cardsQuery = $cardsQuery->whereDate('dateextract', '>=', $dateExtractFrom); // if (!empty($dateExtractTo)) { // $cardsQuery = $cardsQuery->whereDate('dateextract', '<=', $dateExtractTo); // } // } // // $cards = SttMedicalHistoryResource::collection($cardsQuery->paginate($pageSize)); // // return Inertia::render('Home/Index', [ // 'cards' => $cards, // 'filters' => $request->only([ // 'search', 'date_extract_from', 'date_extract_to', 'page_size', 'page', 'view_type' // ]), // ]); } }