157 lines
5.6 KiB
PHP
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');
|
|
}
|
|
}
|