role == 'bendahara-excellent') $jurusan = 'excellent'; else $jurusan = 'reguler'; $trans = Transaksi::with(['user', 'jenistagihan']) ->where('jurusan', $jurusan) ->where('status', '1') ->whereNotNull('tgl_pembayaran') ->latest() ->get(); $totaltransaksi = Transaksi::where('status', '1')->count(); $trans->map(function ($item) { $item->tgl_pembayaran_formatted = \Carbon\Carbon::parse($item->tgl_pembayaran)->format('F j, Y'); return $item; }); $tagihan = tagihan::get(); $siswa = User::where('role', 'siswa')->get(); if (request()->ajax()) { $query = Transaksi::with('jenistagihan') ->where('tagihan_id', '5') ->where('jurusan', $jurusan); return DataTables::of($query) ->addColumn('action', function ($item) { // $barcode = DNS1D::getBarcodeHTML($item->id, 'C128', 2, 50); return '
'; }) ->addColumn('no', function ($item) { static $counter = 1; return $counter++; }) ->editColumn('bukti_transaksi', function ($item) { // Cek apakah ada bukti pembayaran (gambar) if ($item->bukti_transaksi) { // Buat tautan dengan gambar sebagai isi $image = 'Bukti Transaksi'; $link = '' . $image . ''; return $link; } else { return ''; // Jika tidak ada bukti pembayaran, kembalikan string kosong } }) ->addColumn('status', function ($item) { switch ($item->status) { case 0: return 'Menunggu Pembayaran'; break; case 1: return 'Pending'; break; case 2: return 'Sukses'; break; default: return 'Undefined'; } }) ->rawColumns(['status', 'action', 'bukti_transaksi']) ->make(true); } return view('pages.data-pendapatan-danabos', compact('siswa', 'tagihan', 'trans', 'totaltransaksi')); } /** * Show the form for creating a new resource. */ public function create() { // } /** * Store a newly created resource in storage. */ public function store(Request $request) { try { $data = $request->all(); // Simpan data ke database if ($request->hasFile('bukti_transaksi')) { // Jika ada file yang diunggah, simpan file baru dan gunakan path yang baru $data['bukti_transaksi'] = $request->file('bukti_transaksi')->store('assets/bukti_transaksi', 'public'); } else { // Jika tidak ada file yang diunggah, gunakan foto lama (path yang sudah ada) $data['bukti_transaksi'] = NULL; } Transaksi::create($data); return redirect()->route('data-danabos.index')->with('success', 'Data berhasil disimpan.'); } catch (\Exception $e) { // Tangkap pengecualian dan tampilkan pesan kesalahan dd($e); // Menampilkan informasi exception ke terminal return redirect()->route('data-danabos.index')->with('error', 'Terjadi kesalahan saat menyimpan data.'); } } /** * Display the specified resource. */ public function show(string $id) { // } /** * Show the form for editing the specified resource. */ public function edit(string $id) { // } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { $item = Transaksi::findOrFail($id); // Ambil data yang dikirimkan dalam request $data = $request->all(); // Periksa apakah ada file yang diunggah if ($request->hasFile('bukti_transaksi')) { // Jika ada file yang diunggah, simpan file baru dan gunakan path yang baru $data['bukti_transaksi'] = $request->file('bukti_transaksi')->store('assets/bukti_transaksi', 'public'); } else { // Jika tidak ada file yang diunggah, gunakan foto lama (path yang sudah ada) $data['bukti_transaksi'] = $item->bukti_transaksi; } // Lakukan pembaruan data transaksi dengan data yang baru $item->update($data); return redirect()->route('data-danabos.index')->with('success', 'Data berhasil diperbarui.'); } /** * Remove the specified resource from storage. */ public function destroy(string $id) { $data = Transaksi::findOrFail($id); $data->delete(); return redirect()->route('data-danabos.index'); } }