test_instalasi_simrs/app/Http/Controllers/TransaksiController.php
2025-04-27 22:36:03 +07:00

140 lines
4.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class TransaksiController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
$transaksi = DB::table('tr_transaksi')
->join('tr_registrasi', 'tr_transaksi.IdRegistrasi', '=', 'tr_registrasi.IdRegistrasi')
->join('ms_tindakan', 'tr_transaksi.IdTindakan', '=', 'ms_tindakan.IdTindakan')
->join('ms_pegawai', 'tr_transaksi.IdPegawai', '=', 'ms_pegawai.IdPegawai')
->select(
'tr_transaksi.IdTransaksi',
'tr_transaksi.JmlTindakan',
'tr_transaksi.created_at',
'tr_registrasi.NomorKartuAsuransi',
'ms_tindakan.NamaTindakan',
'ms_pegawai.NamaPegawai'
)
->paginate(10);
return view('admin.transaksi.TrTransaksi.index', compact('transaksi'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
// Query database untuk mendapatkan data yang diperlukan di form
$registrasi = DB::table('tr_registrasi')->get();
$tindakan = DB::table('ms_tindakan')->get();
$pegawai = DB::table('ms_pegawai')->get();
return view('admin.transaksi.TrTransaksi.Input-form', compact('registrasi', 'tindakan', 'pegawai'));
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
// Validasi data
$request->validate([
'IdRegistrasi' => 'required',
'IdTindakan' => 'required',
'JmlTindakan' => 'required|numeric',
'IdPegawai' => 'required'
]);
// Query database langsung
DB::table('tr_transaksi')->insert([
'IdRegistrasi' => $request->IdRegistrasi,
'IdTindakan' => $request->IdTindakan,
'JmlTindakan' => $request->JmlTindakan,
'IdPegawai' => $request->IdPegawai,
'created_at' => now(),
'updated_at' => now()
]);
return redirect()->route('transaksi.index')->with('success', 'Transaksi berhasil ditambahkan');
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
// Query database langsung
$transaksi = DB::table('tr_transaksi')
->join('tr_registrasi', 'tr_transaksi.IdRegistrasi', '=', 'tr_registrasi.IdRegistrasi')
->join('ms_tindakan', 'tr_transaksi.IdTindakan', '=', 'ms_tindakan.IdTindakan')
->join('ms_pegawai', 'tr_transaksi.IdPegawai', '=', 'ms_pegawai.IdPegawai')
->select('tr_transaksi.*', 'tr_registrasi.NoRegistrasi', 'ms_tindakan.NamaTindakan', 'ms_pegawai.NamaPegawai')
->where('tr_transaksi.IdTransaksi', $id)
->first();
return view('admin.transaksi.TrTransaksi.show-form', compact('transaksi'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
// Query database untuk mendapatkan data transaksi
$transaksi = DB::table('tr_transaksi')->where('IdTransaksi', $id)->first();
$registrasi = DB::table('tr_registrasi')->get();
$tindakan = DB::table('ms_tindakan')->get();
$pegawai = DB::table('ms_pegawai')->get();
return view('admin.transaksi.TrTransaksi.edit-form', compact('transaksi', 'registrasi', 'tindakan', 'pegawai'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
// Validasi data
$request->validate([
'IdRegistrasi' => 'required',
'IdTindakan' => 'required',
'JmlTindakan' => 'required|numeric',
'IdPegawai' => 'required'
]);
// Query database langsung
DB::table('tr_transaksi')
->where('IdTransaksi', $id)
->update([
'IdRegistrasi' => $request->IdRegistrasi,
'IdTindakan' => $request->IdTindakan,
'JmlTindakan' => $request->JmlTindakan,
'IdPegawai' => $request->IdPegawai,
'updated_at' => now()
]);
return redirect()->route('transaksi.index')->with('success', 'Transaksi berhasil diperbarui');
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
// Query database langsung
DB::table('tr_transaksi')->where('IdTransaksi', $id)->delete();
return redirect()->route('transaksi.index')->with('success', 'Transaksi berhasil dihapus');
}
}