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

157 lines
5.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\MsPasien;
use App\Models\MsPegawai;
use App\Models\MsAsuransi;
use Illuminate\Http\Request;
use App\Models\MsRuangPelayanan;
use Illuminate\Support\Facades\DB;
class TransaksiRegistrasiController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
$TrRegistrasi = DB::table('tr_registrasi')
->join('ms_pasien', 'tr_registrasi.MRPasien', '=', 'ms_pasien.MRPasien')
->join('ms_asuransi', 'tr_registrasi.IdAsuransi', '=', 'ms_asuransi.IdAsuransi')
->join('ms_pegawai', 'tr_registrasi.IdPegawai', '=', 'ms_pegawai.IdPegawai')
->join('ms_ruang_pelayanan', 'tr_registrasi.IdRuangPelayanan', '=', 'ms_ruang_pelayanan.IdRuangPelayanan')
->select(
'tr_registrasi.IdRegistrasi',
'tr_registrasi.TanggalRegistrasi',
'ms_pasien.NamaPasien',
'ms_asuransi.NamaAsuransi',
'ms_pegawai.NamaPegawai',
'ms_ruang_pelayanan.NamaRuangPelayanan'
)
->orderBy('tr_registrasi.TanggalRegistrasi', 'desc')
->paginate(10);
return view('admin.transaksi.TrRegistrasi.index', compact('TrRegistrasi'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$MsPasien = MsPasien::all();
$MsAsuransi = MsAsuransi::all();
$MsPegawai = MsPegawai::all();
$MsRuangPelayanan = MsRuangPelayanan::all();
return view('admin.transaksi.TrRegistrasi.Input-form', compact('MsPasien', 'MsAsuransi', 'MsPegawai', 'MsRuangPelayanan'));
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$validated = $request->validate([
'TanggalRegistrasi' => 'required|date',
'MRPasien' => 'required',
'NomorKartuAsuransi' => 'nullable|string',
'IdAsuransi' => 'nullable',
'IdPegawai' => 'required',
'IdRuangPelayanan' => 'required',
]);
// Menggunakan Query Builder untuk insert data
DB::table('tr_registrasi')->insert([
'TanggalRegistrasi' => $validated['TanggalRegistrasi'],
'MRPasien' => $validated['MRPasien'],
'NomorKartuAsuransi' => $validated['NomorKartuAsuransi'],
'IdAsuransi' => $validated['IdAsuransi'],
'IdPegawai' => $validated['IdPegawai'],
'IdRuangPelayanan' => $validated['IdRuangPelayanan'],
'created_at' => now(),
'updated_at' => now(),
]);
return redirect()->route('transaksi-registrasi.index')->with('success', 'Data registrasi berhasil ditambahkan');
}
/**
* Display the specified resource.
*/
public function show($id)
{
$registrasi = DB::table('tr_registrasi')
->join('ms_pasien', 'tr_registrasi.MRPasien', '=', 'ms_pasien.MRPasien')
->join('ms_asuransi', 'tr_registrasi.IdAsuransi', '=', 'ms_asuransi.IdAsuransi')
->join('ms_pegawai', 'tr_registrasi.IdPegawai', '=', 'ms_pegawai.IdPegawai')
->join('ms_ruang_pelayanan', 'tr_registrasi.IdRuangPelayanan', '=', 'ms_ruang_pelayanan.IdRuangPelayanan')
->select(
'tr_registrasi.*',
'ms_pasien.NamaPasien',
'ms_asuransi.NamaAsuransi',
'ms_pegawai.NamaPegawai',
'ms_ruang_pelayanan.NamaRuangPelayanan'
)
->where('tr_registrasi.IdRegistrasi', $id)
->first();
return view('admin.transaksi.TrRegistrasi.show-form', compact('registrasi'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
$registrasi = DB::table('tr_registrasi')->where('IdRegistrasi', $id)->first();
$MsPasien = MsPasien::all();
$MsAsuransi = MsAsuransi::all();
$MsPegawai = MsPegawai::all();
$MsRuangPelayanan = MsRuangPelayanan::all();
return view('admin.transaksi.TrRegistrasi.edit-form', compact('registrasi', 'MsPasien', 'MsAsuransi', 'MsPegawai', 'MsRuangPelayanan'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
$validated = $request->validate([
'TanggalRegistrasi' => 'required|date',
'MRPasien' => 'required',
'NomorKartuAsuransi' => 'nullable|string',
'IdAsuransi' => 'nullable',
'IdPegawai' => 'required',
'IdRuangPelayanan' => 'required',
]);
// Menggunakan Query Builder untuk update data
DB::table('tr_registrasi')
->where('IdRegistrasi', $id)
->update([
'TanggalRegistrasi' => $validated['TanggalRegistrasi'],
'MRPasien' => $validated['MRPasien'],
'NomorKartuAsuransi' => $validated['NomorKartuAsuransi'],
'IdAsuransi' => $validated['IdAsuransi'],
'IdPegawai' => $validated['IdPegawai'],
'IdRuangPelayanan' => $validated['IdRuangPelayanan'],
'updated_at' => now(),
]);
return redirect()->route('transaksi-registrasi.index')->with('success', 'Data registrasi berhasil dperbarui');
}
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
DB::table('tr_registrasi')->where('IdRegistrasi', $id)->delete();
return redirect()->route('transaksi-registrasi.index')
->with('success', 'Data Registrasi berhasil dihapus');
}
}