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

99 lines
2.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\MsPegawai;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class MasterPegawaiController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//get data 10
$MsPegawai = MsPegawai::paginate(10);
return view('admin.master.MsPegawai.index', compact('MsPegawai'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
return view('admin.master.MsPegawai.Input-Form');
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$request->validate([
'NamaPegawai' => 'required|string|max:255',
]);
$MsPegawai = new MsPegawai();
$MsPegawai->NamaPegawai = $request->NamaPegawai;
$MsPegawai->save();
return redirect()->route('master-pegawai.index')->with('success', 'Data pegawai berhasil ditambahkan');
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
$MsPegawai = MsPegawai::findOrFail($id);
return view('admin.master.MsPegawai.show-form', compact('MsPegawai'));
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
$MsPegawai = MsPegawai::findOrFail($id);
return view('admin.master.MsPegawai.edit-form', compact('MsPegawai'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
$request->validate([
'NamaPegawai' => 'required|string|max:255',
]);
$MsPegawai = MsPegawai::findOrFail($id);
$MsPegawai->NamaPegawai = $request->NamaPegawai;
$MsPegawai->save();
return redirect()->route('master-pegawai.index')->with('success', 'Data pegawai berhasil diperbarui');
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
$MsPegawai = MsPegawai::findOrFail($id);
// Check if the pegawai is used in any Registrasi
$dataExistsPegawai = DB::table('tr_registrasi')->where('IdPegawai', $MsPegawai->IdPegawai)->exists() ||
DB::table('tr_transaksi')->where('IdPegawai', $MsPegawai->IdPegawai)->exists();
if ($dataExistsPegawai) {
return redirect()->route('master-pegawai.index')->with('error', 'Pegawai tidak dapat dihapus karena sudah terdaftar dalam registrasi atau transaksi');
}
$MsPegawai->delete();
return redirect()->route('master-pegawai.index')->with('success', 'Data pegawai berhasil dihapus');
}
}