trRegistrasi = $trRegistrasi; $this->msPasien = $msPasien; $this->msPegawai = $msPegawai; $this->msAsuransi = $msAsuransi; $this->msRuangPelayanan = $msRuangPelayanan; $this->trTransaksi = $trTransaksi; } public function index(Request $request) { return view('admin.tr_registrasi.index',[ 'registrasi' => $this->trRegistrasi->getAll(), 'pasien' => $this->msPasien->getAll(), 'pegawai' => $this->msPegawai->getAll(), 'asuransi' => $this->msAsuransi->getAll(), 'ruang_pelayanan' => $this->msRuangPelayanan->getAll(), ]); } public function data(Request $request) { if ($request->ajax()) { return DataTables()->of($this->trRegistrasi->getAll()) ->addIndexColumn() ->addColumn('mr_pasien', function ($data) { return $this->msPasien->getById($data->mr_pasien)->nama_pasien; }) ->addColumn('id_asuransi', function ($data) { return $this->msAsuransi->getById($data->id_asuransi)->nama_asuransi; }) ->addColumn('no_asuransi', function ($data) { return $data->no_asuransi; }) ->addColumn('id_ruang_pelayanan', function ($data) { return $this->msRuangPelayanan->getById($data->id_ruang_pelayanan)->nama_ruang_pelayanan; }) ->addColumn('id_pegawai', function ($data) { return $this->msPegawai->getById($data->id_pegawai)->nama_pegawai; }) ->addColumn('tanggal_registrasi', function ($data) { return $data->tanggal_registrasi; }) ->addColumn('status', function ($data) { return $data->status; }) ->addColumn('action', function ($data) { return view('admin.tr_registrasi.column.action', compact('data')); }) ->make(true); } return view('admin.tr_registrasi.data'); } public function showTransaksiByRegistrasi($id) { $transaksi = $this->trTransaksi->getByRegistrasi($id); return view('admin.tr_registrasi.transaksi', compact('transaksi')); } public function create() { return view('admin.tr_registrasi.create', [ 'pasien' => $this->msPasien->getAll(), 'pegawai' => $this->msPegawai->getAll(), 'asuransi' => $this->msAsuransi->getAll(), 'ruang_pelayanan' => $this->msRuangPelayanan->getAll(), ]); } public function store(Request $request) { $request->validate([ 'mr_pasien' => 'required', 'id_asuransi' => 'required', 'no_asuransi' => 'required', 'id_ruang_pelayanan' => 'required', 'id_pegawai' => 'required', ]); $this->trRegistrasi->store($request->all()); return redirect()->route('admin.tr_registrasi.index')->with('success', 'Data Registrasi berhasil ditambahkan.'); } public function edit($id) { $registrasi = $this->trRegistrasi->getById($id); return view('admin.tr_registrasi.edit',[ 'registrasi' => $registrasi, 'pasien' => $this->msPasien->getAll(), 'pegawai' => $this->msPegawai->getAll(), 'asuransi' => $this->msAsuransi->getAll(), 'ruang_pelayanan' => $this->msRuangPelayanan->getAll(), ]); } public function update(Request $request, $id) { $request->validate([ 'mr_pasien' => 'required', 'id_asuransi' => 'required', 'no_asuransi' => 'required', 'id_ruang_pelayanan' => 'required', 'id_pegawai' => 'required', 'tanggal_registrasi' => 'required|date', ]); $this->trRegistrasi->update($id, $request->all()); return redirect()->route('admin.tr_registrasi.index')->with('success', 'Data Registrasi berhasil diperbarui.'); } public function destroy($id) { $this->trRegistrasi->delete($id); return response()->json(['success' => 'Data Registrasi berhasil dihapus.']); } }