where('status', 'aktif')->get(); $pasien = Pasien::get(); $periksa = Pemeriksaan::with('pasien')->get(); $resep_obat = Obat::get(); // Mengambil data pemeriksaan dengan mengurutkan berdasarkan waktu pembuatan secara descending $kunjungan = Resep::select('resepobat.id_periksa', 'pemeriksaan.no_periksa', 'pasien.nama_pasien', 'resepobat.pembelian as pembelian', 'pemeriksaan.status as statuspemeriksaan', 'resepobat.status as statusobat', 'pemeriksaan.tgl_kunjungan', 'pemeriksaan.waktu_kunjungan') ->join('pemeriksaan', 'resepobat.id_periksa', '=', 'pemeriksaan.id') ->join('pasien', 'pemeriksaan.pasien_id', '=', 'pasien.id') ->orderByDesc('pemeriksaan.tgl_kunjungan') // Urutkan berdasarkan tanggal kunjungan secara descending ->orderByDesc('pemeriksaan.waktu_kunjungan') // Urutkan berdasarkan waktu kunjungan secara descending ->groupBy('pemeriksaan.no_periksa', 'resepobat.id_periksa', 'pemeriksaan.pasien_id', 'pemeriksaan.no_periksa', 'pasien.nama_pasien', 'pembelian', 'pemeriksaan.status', 'resepobat.status', 'pemeriksaan.tgl_kunjungan', 'pemeriksaan.waktu_kunjungan') ->where('pembelian', '!=', 'sendiri') ->get(); return view('pages.obatpasien', compact('kunjungan', 'no', 'dokter', 'pasien', 'resep_obat', 'periksa')); } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { // dd($request['pembelian']); try{ foreach ($request['id_obat'] as $index => $id_obat) { $aturanpakai = (string) $request['aturanpakai'][$index]; $deskripsi = $request['deskripsi'][$index]; // Simpan ke database sesuai kebutuhan Anda Resep::create([ 'id_periksa' => $request['id_periksa'], 'pembelian' => $request['pembelian'], 'status' => $request['status'], 'deskripsi' => (string) $deskripsi, 'aturanpakai' => (string) $aturanpakai, 'id_obat' => (string) $id_obat, ]); } // Pemeriksa::create($data); return redirect()->route('obatpasien.index'); }catch(\Exception $e){ dd($e); } } public function update(Request $request, $id) { try { // Temukan resep berdasarkan id_periksa $resep = Resep::where('id_periksa', $id)->firstOrFail(); // Lakukan pembaruan pada atribut yang diperlukan $resep->update($request->all()); // Perbarui semua entri dengan id_periksa yang sama jika status adalah 'selesai' if ($request->status === 'sudah diambil') { Resep::where('id_periksa', $id)->update(['status' => 'sudah diambil']); } // Redirect dengan pesan sukses return redirect()->route('obatpasien.index')->with('success', 'Resep updated successfully'); } catch (\Exception $e) { // Tangkap pengecualian dan tampilkan pesan kesalahan return redirect()->route('obatpasien.index')->with('error', 'Failed to update resep: ' . $e->getMessage()); } } /** * Display the specified resource. */ public function show(string $id) { // } }