100 lines
3.3 KiB
PHP
100 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use DB;
|
|
|
|
class SKCatatanKepolisianController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$query = DB::table('skck');
|
|
|
|
if ($request->filled('search')) {
|
|
$query->where(function ($q) use ($request) {
|
|
$q->where('nama', 'LIKE', "%{$request->search}%")
|
|
->orWhere('alamat', 'LIKE', "%{$request->search}%");
|
|
});
|
|
}
|
|
|
|
if ($request->filled('date')) {
|
|
$query->whereDate('created_at', '=', date('Y-m-d', strtotime($request->date)));
|
|
}
|
|
|
|
if ($request->filled('status')) {
|
|
$query->where('status', '=', $request->status);
|
|
}
|
|
|
|
$tabel_skcatatankepolisian = $query->orderByRaw("
|
|
CASE
|
|
WHEN status = 'Diproses' THEN 1
|
|
ELSE 2
|
|
END
|
|
")->orderBy('created_at', 'DESC')->paginate(9);
|
|
|
|
$countDiproses = [
|
|
'izin_pembelian_solar' => DB::table('izin_pembelian_solar')->where('status', 'Diproses')->count(),
|
|
'izin_usaha' => DB::table('izin_usaha')->where('status', 'Diproses')->count(),
|
|
'skck' => DB::table('skck')->where('status', 'Diproses')->count(),
|
|
'keterangan_kematian' => DB::table('keterangan_kematian')->where('status', 'Diproses')->count(),
|
|
'keterangan_kehilangan' => DB::table('keterangan_kehilangan')->where('status', 'Diproses')->count(),
|
|
];
|
|
|
|
return view('Pengajuan Surat/SK Catatan Kepolisian', [
|
|
'tabel_skcatatankepolisian' => $tabel_skcatatankepolisian,
|
|
'countDiproses' => $countDiproses
|
|
]);
|
|
}
|
|
|
|
public function detail($id)
|
|
{
|
|
$data = DB::table('skck')->where('id', $id)->first();
|
|
|
|
if (!$data) {
|
|
return redirect()->back()->with('error', 'Data tidak ditemukan');
|
|
}
|
|
|
|
return view('Detail Pengajuan Surat/Detail SK Catatan Kepolisian', compact('data'));
|
|
}
|
|
|
|
public function edit($id)
|
|
{
|
|
$data = DB::table('skck')->where('id', $id)->first();
|
|
|
|
if (!$data) {
|
|
return redirect()->back()->with('error', 'Data tidak ditemukan');
|
|
}
|
|
|
|
return view('Form Pengajuan Surat/Form SK Catatan Kepolisian', compact('data'));
|
|
}
|
|
|
|
public function update(Request $request, $id)
|
|
{
|
|
$request->validate([
|
|
'status' => 'required|in:Diproses,Ditolak,Selesai',
|
|
'file' => 'nullable|mimes:doc,docx,xls,xlsx,pdf|max:10240'
|
|
]);
|
|
|
|
$data = DB::table('skck')->where('id', $id)->first();
|
|
|
|
if (!$data) {
|
|
return redirect()->back()->with('error', 'Data tidak ditemukan');
|
|
}
|
|
|
|
$updateData = ['status' => $request->status];
|
|
|
|
if ($request->hasFile('file')) {
|
|
$file = $request->file('file');
|
|
$fileName = 'Surat Keterangan Catatan Kepolisian ' . $id . '.' . $file->getClientOriginalExtension();
|
|
$file->storeAs('File SK Catatan Kepolisian', $fileName, 'public');
|
|
|
|
$updateData['file_hasil'] = $fileName;
|
|
}
|
|
|
|
DB::table('skck')->where('id', $id)->update($updateData);
|
|
|
|
return redirect()->route('SKCatatanKepolisian')->with('manage_success', true);
|
|
}
|
|
} |