where('statusenabled', true) ->get(); return response()->json(['data' => $data]); } public function transaksiBaru(Request $request) { DB::beginTransaction(); try { $validated = $request->validate([ 'IdRegistrasi' => 'required|exists:tr_registrasis,IdRegistrasi', 'IdTindakan' => 'required|exists:ms__tindakans,IdTindakan', 'JmlTindakan' => 'required|integer|min:1', 'IdPegawai' => 'required|exists:ms__pegawais,IdPegawai', ]); // Mengambil tarif tindakan dari tabel ms__tindakans $tindakan = \App\Models\Ms_Tindakan::findOrFail($validated['IdTindakan']); $total = $tindakan->Tarif * $validated['JmlTindakan']; $transaksi = Tr_Transaksi::create([ 'IdRegistrasi' => $validated['IdRegistrasi'], 'IdTindakan' => $validated['IdTindakan'], 'JmlTindakan' => $validated['JmlTindakan'], 'IdPegawai' => $validated['IdPegawai'], 'Total' => $total, 'statusenabled' => true ]); DB::commit(); return response()->json([ 'message' => 'Transaksi berhasil ditambahkan', 'data' => $transaksi ], 201); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal tambah transaksi', 'error' => $e->getMessage() ], 500); } } public function updateTransaksi(Request $request, $id) { DB::beginTransaction(); try { $validated = $request->validate([ 'IdTindakan' => 'required|exists:ms__tindakans,IdTindakan', 'JmlTindakan' => 'required|integer|min:1', 'IdPegawai' => 'required|exists:ms__pegawais,IdPegawai', ]); $transaksi = Tr_Transaksi::findOrFail($id); $transaksi->update([ 'IdTindakan' => $validated['IdTindakan'], 'JmlTindakan' => $validated['JmlTindakan'], 'IdPegawai' => $validated['IdPegawai'] ]); DB::commit(); return response()->json([ 'message' => 'Transaksi berhasil diperbarui', 'data' => $transaksi ]); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal update transaksi', 'error' => $e->getMessage() ], 500); } } public function hapusTransaksi($id) { DB::beginTransaction(); try { $transaksi = Tr_Transaksi::findOrFail($id); $transaksi->update(['statusenabled' => false]); DB::commit(); return response()->json([ 'message' => 'Transaksi berhasil di-nonaktifkan' ]); } catch (\Exception $e) { DB::rollBack(); return response()->json([ 'message' => 'Gagal hapus transaksi', 'error' => $e->getMessage() ], 500); } } public function printBilling($id) { $registrasi = TrRegistrasi::with('pasien', 'ruanganPelayanan')->findOrFail($id); $transaksiList = Tr_Transaksi::with(['tindakan', 'pegawai']) ->where('IdRegistrasi', $id) ->where('statusenabled', true) ->get(); return view('billing-print', [ 'registrasi' => $registrasi, 'transaksiList' => $transaksiList, ]); } }