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

106 lines
3.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\MsPasien;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class MasterPasienController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
// get data 10
$MsPasien = MsPasien::paginate(10);
return view('admin.master.MsPasien.index', compact('MsPasien'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
return view('admin.master.MsPasien.Input-Form');
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$request->validate([
'NamaPasien' => 'required|string|max:255',
'TanggalLahir' => 'required|date',
'JenisKelamin' => 'required|string|in:Laki-laki,Perempuan'
]);
$MsPasien = new MsPasien();
$MsPasien->NamaPasien = $request->NamaPasien;
$MsPasien->TanggalLahir = $request->TanggalLahir;
$MsPasien->JenisKelamin = $request->JenisKelamin;
$MsPasien->save();
return redirect()->route('master-pasien.index')->with('success', 'Data pasien berhasil ditambahkan');
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
$MsPasien = MsPasien::findOrFail($id);
return view('admin.master.MsPasien.show-form', compact('MsPasien'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
$MsPasien = MsPasien::findOrFail($id);
return view('admin.master.MsPasien.edit-form', compact('MsPasien'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
$request->validate([
'NamaPasien' => 'required|string|max:255',
'TanggalLahir' => 'required|date',
'JenisKelamin' => 'required|string|in:Laki-laki,Perempuan'
]);
$MsPasien = MsPasien::findOrFail($id);
$MsPasien->NamaPasien = $request->NamaPasien;
$MsPasien->TanggalLahir = $request->TanggalLahir;
$MsPasien->JenisKelamin = $request->JenisKelamin;
$MsPasien->save();
return redirect()->route('master-pasien.index')->with('success', 'Data pasien berhasil diperbarui');
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
$MsPasien = MsPasien::findOrFail($id);
// Check if the patient has any registrations
$dataExistsPasien = DB::table('tr_registrasi')->where('MRPasien', $MsPasien->MRPasien)->exists();
if ($dataExistsPasien) {
return redirect()->route('master-pasien.index')->with('error', 'Pasien tidak dapat dihapus karena sudah terdaftar dalam registrasi');
}
$MsPasien->delete();
return redirect()->route('master-pasien.index')->with('success', 'Data pasien berhasil dihapus');
}
}