fix(suveyor/penilai/so): perbaikan print out, form survey dan laporan dan paparan

This commit is contained in:
majid
2025-02-26 05:07:25 +07:00
parent 2045da36d8
commit 7766d127e0
21 changed files with 1317 additions and 550 deletions

View File

@@ -17,6 +17,7 @@ use Modules\Lpj\Models\StatusPermohonan;
use Modules\Lpj\Models\Teams;
use Modules\Lpj\Models\Inspeksi;
use Modules\Lpj\Models\Penilai;
use Modules\Lpj\Models\Regions;
use Modules\Location\Models\Province;
use Modules\Location\Models\City;
use Modules\Location\Models\District;
@@ -26,6 +27,7 @@ use Modules\Lpj\Http\Controllers\SurveyorController;
use Modules\Lpj\Http\Controllers\PenilaiController;
use Modules\Lpj\Http\Requests\FormSurveyorRequest;
class PenilaianController extends Controller
{
public $user;
@@ -404,6 +406,8 @@ class PenilaianController extends Controller
'paparan' => 'Paparan'
];
$regions = Regions::all();
$header = $headers[$type] ?? 'Pelaporan';
switch ($header) {
@@ -412,7 +416,7 @@ class PenilaianController extends Controller
case 'Paparan':
return view('lpj::penilaian.paparan-so', compact('header'));
default:
return view('lpj::penilaian.otorisator.index', compact('header'));
return view('lpj::penilaian.otorisator.index', compact('header', 'regions'));
}
}
@@ -634,6 +638,7 @@ class PenilaianController extends Controller
// Pencarian berdasarkan parameter search
if ($request->has('search') && !empty($request->get('search'))) {
$search = $request->get('search');
$query->where(function ($q) use ($search) {
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
@@ -641,6 +646,7 @@ class PenilaianController extends Controller
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
$q->orWhereRelation('region', 'name', 'LIKE', '%' . $search . '%');
$q->orWhere('status', 'LIKE', '%' . $search . '%');
});
}
@@ -661,13 +667,29 @@ class PenilaianController extends Controller
}
// Filter berdasarkan region user yang login
if (Auth::user()->hasRole('senior-officer')) {
$query->whereHas('region.teams.teamsUsers', function ($q) {
$q->where('user_id', Auth::id());
});
if ($status == 'proses-laporan') {
$requestedRegion = $request->get('search');
if ($requestedRegion) {
$query->whereHas('region', function ($q) use ($requestedRegion) {
$q->where('name', $requestedRegion);
});
} else {
$query->whereHas('region.teams.teamsUsers', function ($q) {
$q->where('user_id', Auth::id());
});
}
} else {
if (Auth::user()->hasRole('senior-officer')) {
$query->whereHas('region.teams.teamsUsers', function ($q) {
$q->where('user_id', Auth::id());
});
}
}
// Sorting berdasarkan sortField dan sortOrder
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
$order = $request->get('sortOrder');