';
})
->addColumn('no', function ($item) {
static $counter = 1;
return $counter++;
})
->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';
}
})
->addColumn('bukti_transaksi', function ($item) {
if ($item->bukti_transaksi) {
// Jika ada data bukti transaksi, tampilkan tautan dan gambar
return '
';
} else {
// Jika tidak ada data bukti transaksi, tampilkan tanda strip (-)
return '
-
';
}
})
->rawColumns(['status', 'bukti_transaksi', 'tahun', 'action'])
->make(true);
}
return view('pages.data-pembayaran-spp', compact('siswa', 'tagihan', 'tahun', '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)
{
// dd($request['tahunajar']);
try {
if ($request->has('kelas')) {
// Jika request memiliki parameter 'kelas', ambil pengguna (user) berdasarkan kelas
$users = User::where('kelas', $request['kelas'])->get();
// Iterasi setiap pengguna (user) dalam kelas tertentu
foreach ($users as $user) {
foreach ($request['keterangan'] as $index => $keterangan) {
$nominal = (string) $request['total'][$index];
// Siapkan data transaksi untuk ditambahkan ke tabel 'transaksi'
$data = [
'user_id' => $user->id,
'tagihan_id' => $request['tagihan_id'],
'keterangan' => (string) $keterangan,
'jenis_transaksi' => $request['jenis_transaksi'],
'jurusan' => $request['jurusan'],
'total' => $nominal, // Misalnya, total pembayaran SPP
'date_awal' => $request['date_awal'], // Misalnya, total pembayaran SPP
'date_akhir' => $request['date_akhir'], // Misalnya, total pembayaran SPP
'tahunajar' => $request['tahunajar'], // Misalnya, total pembayaran SPP
'status' => '0', // Status "Belum Dibayar"
];
// Tambahkan data transaksi ke dalam tabel 'transaksi'
Transaksi::create($data);
}
}
} else {
// Jika tidak ada parameter 'kelas', tambahkan data transaksi berdasarkan request
foreach ($request['keterangan'] as $index => $keterangan) {
$nominal = (string) $request['total'][$index];
// Simpan ke database sesuai kebutuhan Anda
Transaksi::create([
'user_id' => $request['user_id'],
'tagihan_id' => $request['tagihan_id'],
'jurusan' => $request['jurusan'],
'jenis_transaksi' => $request['jenis_transaksi'],
'status' => $request['status'],
'date_awal' => $request['date_awal'],
'date_akhir' => $request['date_akhir'],
'tahunajar' => $request['tahunajar'],
'keterangan' => (string) $keterangan,
'total' => $nominal,
]);
}
}
return redirect()->route('data-tagihan-spp.index')->with('success', 'Data berhasil ditambah.');
} catch (\Exception $e) {
dd($e);
return redirect()->route('data-tagihan-spp.index')->with('error', 'Data gagal ditambah.');
}
}
/**
* 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)
{
// Temukan transaksi berdasarkan ID atau tampilkan error jika tidak ditemukan
$item = Transaksi::findOrFail($id);
// Ambil data yang dikirimkan dalam request
// 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;
}
$data = $request->all();
// Lakukan pembaruan data transaksi dengan data yang baru
$item->update($data);
return redirect()->route('data-tagihan-spp.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-tagihan-spp.index');
}
}