get(); $ruangPelayanan = RuangPelayanan::get(); $asuransi = Asuransi::get(); $tindakan = Tindakan::get(); return view('module.registrasi.index', compact(['registrasi', 'ruangPelayanan', 'asuransi', 'tindakan'])); } public function store(Request $request) { $randomUppercaseString = Str::upper(Str::random(4)); $pasien = Pasien::where('nik', $request->nik)->first(); if ($pasien === null) { $pasien = new Pasien(); $pasien->nama = $request->nama; $pasien->nik = $request->nik; $pasien->tgl_lahir = $request->tgl_lahir; $pasien->jenis_kelamin = $request->jenis_kelamin; $pasien->created_by = auth('pegawai')->user()->nama; $pasien->save(); } $registrasi = new Registrasi(); $registrasi->code = now()->format('ymd') . $randomUppercaseString; $registrasi->tgl_registrasi = now()->format('Y-m-d'); $registrasi->id_pasien = $pasien->id; $registrasi->id_asuransi = $request->asuransi; $registrasi->no_asuransi = $request->no_asuransi; $registrasi->id_pegawai = auth('pegawai')->user()->id; $registrasi->id_ruang_pelayanan = $request->ruang_pelayanan; $registrasi->created_by = auth('pegawai')->user()->nama; $registrasi->save(); return redirect()->back()->with('message','Registrasi pasien berhasil'); } public function excelExport() { $registrasi = Registrasi::with(['pasien', 'asuransi', 'pegawai', 'ruangPelayanan'])->orderByDesc('id')->get(); $data = []; $no = 1; foreach ($registrasi as $rgs) { $data[] = [ 'No' => $no++, 'Kode Registrasi' => $rgs->code, 'Tgl Registrasi' => $rgs->tgl_registrasi, 'Nama Pasien' => $rgs->pasien->nama, 'Tgl Lahir' => date('d/m/Y', strtotime($rgs->pasien->tgl_lahir)), 'Jenis Kelamin' => $rgs->pasien->jenis_kelamin === 'male' ? 'Laki-laki' : ($rgs->pasien->jenis_kelamin === 'female' ? 'Perempuan' : ''), 'Asuransi' => $rgs->asuransi->nama ?? null, 'No Asuransi' => $rgs->no_asuransi ?? null, 'Ruang Pelayanan' => $rgs->ruangPelayanan->nama, 'Pegawai' => $rgs->pegawai->nama, ]; } $header = [ 'No', 'Kode Registrasi', 'Tgl Registrasi', 'Nama Pasien', 'Tgl Lahir', 'Jenis Kelamin', 'Asuransi', 'No Asuransi', 'Ruang Pelayanan', 'Pegawai', ]; return Excel::download(new RegistrasiExport($header, $data), 'Data Registrasi Pasien '.now().'.xlsx'); } public function generatePdf() { $registrasi = Registrasi::with(['pasien', 'asuransi', 'pegawai', 'ruangPelayanan'])->orderByDesc('id')->get(); $pdf = FacadePdf::loadview('module.registrasi.registrasi_pdf', ['registrasi' => $registrasi]); $pdf->setPaper('A4'); return $pdf->stream('Data Regitrasi Pasien '.now().'.pdf'); } }