diff --git a/app/Exports/PermohonanExport.php b/app/Exports/PermohonanExport.php index c6ce0a2..4b8d74b 100644 --- a/app/Exports/PermohonanExport.php +++ b/app/Exports/PermohonanExport.php @@ -28,8 +28,8 @@ $row->branch->name, $row->tujuanPenilaian->name, $row->debiture->name, - $row->fasilitasKredit->name, - $row->plafond->name, + $row->jenisFasilitasKredit->name, + $row->nilaiPlafond->name, $row->status, $row->authorized_at, $row->authorized_status, diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php index c24eee2..496f1b4 100644 --- a/app/Http/Controllers/ActivityController.php +++ b/app/Http/Controllers/ActivityController.php @@ -7,7 +7,11 @@ use Exception; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Modules\Lpj\Models\Permohonan; +use Modules\Lpj\Models\Penilaian; +use Modules\Lpj\Models\TeamsUsers; use Modules\Lpj\Models\StatusPermohonan; +use Modules\Lpj\Exports\PermohonanExport; +use Maatwebsite\Excel\Facades\Excel; class ActivityController extends Controller { @@ -25,6 +29,39 @@ class ActivityController extends Controller * Show the form for creating a new resource. */ + + public function progres_activity() + { + // Ambil user yang sedang login + $user = auth()->user(); + $roles = $user->load('roles'); + $regionId = null; + + // Cek apakah user memiliki role 'senior officer' + if ($roles->roles->pluck('name')->contains('senior officer')) { + $regionId = TeamsUsers::with('team.regions') + ->where('user_id', $user->id) + ->first()?->team->regions_id; + } + + $teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions']) + ->whereHas('team', function ($q) use ($regionId) { + if ($regionId) { + $q->where('regions_id', $regionId); + } + }) + ->where('user_id', '!=', $user->id) + ->get(); + + return view('lpj::activity.progres_activity.index', compact('teamsActivity')); + } + + + public function senior() + { + return view('lpj::activity.senior_officer.index'); + } + /** * Store a newly created resource in storage. */ @@ -39,7 +76,7 @@ class ActivityController extends Controller public function show($id) { - $status_permohonan = StatusPermohonan::orderBy('id')->get(); + $status_permohonan = StatusPermohonan::orderBy('id')->get()->reverse(); $permohonan = Permohonan::with( [ @@ -67,9 +104,9 @@ class ActivityController extends Controller /** * Update the specified resource in storage. - */ - public function dataForDatatables(Request $request) + */public function dataForDatatables(Request $request) { + // Check permissions if (is_null($this->user) || !$this->user->can('debitur.view')) { // abort(403, 'Sorry! You are not allowed to view users.'); } @@ -81,20 +118,19 @@ class ActivityController extends Controller 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 . '%'); - $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); - $q->orWhere('status', 'LIKE', '%' . $search . '%'); - }); - } + $q->where('nomor_registrasi', 'LIKE', '%' . $search . '%') + ->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%') + ->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%') + ->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%') + ->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%') + ->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); - // Apply status filter if provided - if ($request->has('status') && !empty($request->get('status'))) { - $status = $request->get('status'); - $query->where('status', '=', $status); + // Split search term by comma to allow multiple statuses + $statusKeywords = explode(',', $search); + foreach ($statusKeywords as $keyword) { + $q->orWhere('status', 'LIKE', '%' . trim($keyword) . '%'); + } + }); } // Default sorting if no sort provided @@ -103,32 +139,29 @@ class ActivityController extends Controller $column = $request->get('sortField'); $query->orderBy($column, $order); } else { - $query->orderBy('nomor_registrasi', 'asc'); // Default order by nomor_registrasi + $query->orderBy('nomor_registrasi', 'asc'); } - // Get the total count of records before paginating + // Get total count of records before pagination $totalRecords = $query->count(); - // Apply pagination if provided + // Pagination if ($request->has('page') && $request->has('size')) { - $page = (int) $request->get('page', 1); // Default page is 1 - $size = (int) $request->get('size', 10); // Default size is 10 - $offset = ($page - 1) * $size; // Calculate the offset - - // Limit results based on pagination + $page = (int) $request->get('page', 1); + $size = (int) $request->get('size', 10); + $offset = ($page - 1) * $size; $query->skip($offset)->take($size); } - // Get the filtered count of records (after search & filters applied) + // Get filtered count $filteredRecords = $query->count(); - // Get the data for the current page + // Get data $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); - // Calculate the total number of pages + // Calculate total pages $pageCount = ceil($totalRecords / $request->get('size', 10)); - // Return the response data as a JSON object return response()->json([ 'draw' => $request->get('draw'), 'recordsTotal' => $totalRecords, @@ -141,6 +174,7 @@ class ActivityController extends Controller } + /** * Download the specified resource from storage. */ @@ -149,4 +183,64 @@ class ActivityController extends Controller $document = Permohonan::find($id); return response()->download(storage_path('app/public/' . $document->dokumen)); } + + public function export() + { + return Excel::download(new PermohonanExport(), 'activity.xlsx'); + } + + + + + public function dataTablesForActivity(Request $request, $id) + { + // Query Penilaian dengan relasi yang diperlukan + $query = Penilaian::with(['permohonan', 'permohonan.debiture', 'permohonan.tujuanPenilaian']) + ->where(function($q) use ($id) { + $q->where('surveyor_id', $id) + ->orWhere('penilaian_id', $id) + ->orWhere('penilai_surveyor_id', $id); + }); + + // Filter pencarian + if ($request->has('search') && !empty($request->get('search'))) { + $search = $request->get('search'); + $query->where(function ($q) use ($search) { + $q->where('nomor_registrasi', 'LIKE', "%$search%") + ->orWhere('status', 'LIKE', "%$search%"); + }); + } + + // Sorting + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + // Hitung total records + $totalRecords = $query->count(); + + // Pagination + $size = $request->get('size', 10); + $page = $request->get('page', 1); + $offset = ($page - 1) * $size; + + // Ambil data dengan pagination + $data = $query->skip($offset)->take($size)->get(); + $filteredRecords = $data->count(); + $pageCount = ceil($totalRecords / $size); + + // Return data dalam bentuk JSON + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $page, + 'totalCount' => $totalRecords, + 'data' => $data + ]); + } + } diff --git a/app/Http/Controllers/KJPPController.php b/app/Http/Controllers/KJPPController.php index 99a0c2f..4898ab5 100644 --- a/app/Http/Controllers/KJPPController.php +++ b/app/Http/Controllers/KJPPController.php @@ -35,7 +35,6 @@ class KJPPController extends Controller */ public function create() { - $branch = Branch::all(); $ijin_usaha = IjinUsaha::all(); $jenis_aset = JenisJaminan::all(); $provinces = Province::all(); @@ -48,7 +47,7 @@ class KJPPController extends Controller // Combine KJPP number with branch code $fullKjppNumber = $kjppNumber; - return view('lpj::kjpp.create', compact('branch', 'ijin_usaha', 'jenis_aset', 'provinces', 'fullKjppNumber')); + return view('lpj::kjpp.create', compact('ijin_usaha', 'jenis_aset', 'provinces', 'fullKjppNumber')); } /** @@ -98,13 +97,12 @@ class KJPPController extends Controller $ijin_usaha = IjinUsaha::where('code', $kjpp->nomor_ijin_usaha)->get(); $ijin_usahas = IjinUsaha::all(); $jenis_jaminan = JenisJaminan::all(); - $branches = Branch::where('name', $kjpp->jenis_kantor)->get(); $provinces = Province::where('code', $kjpp->province_code)->get(); $cities = City::where('code', $kjpp->city_code)->get(); $districts = District::where('code', $kjpp->district_code)->get(); $villages = Village::where('code', $kjpp->village_code)->get(); // dd($branches); - return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'branches', 'kjpp', 'provinces', 'cities', 'districts', 'villages')); + return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'kjpp', 'provinces', 'cities', 'districts', 'villages')); } /** @@ -113,7 +111,6 @@ class KJPPController extends Controller public function edit($id) { $kjpp = KJPP::find($id); - $branch = Branch::all(); $ijin_usaha = IjinUsaha::all(); $jenis_aset = JenisJaminan::all(); $provinces = Province::all(); @@ -121,7 +118,7 @@ class KJPPController extends Controller $districts = District::where('city_code', $kjpp->city_code)->get(); $villages = Village::where('district_code', $kjpp->district_code)->get(); - return view('lpj::kjpp.create', compact('kjpp', 'branch', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages')); + return view('lpj::kjpp.create', compact('kjpp', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages')); } /** diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 0576671..f273b0a 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -30,10 +30,11 @@ class PenilaianController extends Controller /** * Store a newly created resource in storage. */ + public function store(PenilaianRequest $request) { - //print_r($request->all());exit; $validatedData = $request->validated(); + if ($validatedData) { try { $penilaian = Penilaian::create($validatedData); @@ -98,12 +99,28 @@ class PenilaianController extends Controller ], )->findOrFail($id); - $jenisPenilaian = JenisPenilaian::all(); - $teamPenilai = Teams::with(['regions', 'teamsUsers'])->get(); + $idPenilaian = $permohonan->jenis_penilaian_id; + $idRegion = $permohonan->region_id; + + $jenisPenilaian = JenisPenilaian::find($idPenilaian); + + + $teamPenilai = Teams::with(['regions', 'teamsUsers', 'teamsUsers.user', ]) + ->whereHas('regions', function ($q) use ($idRegion) { + $q->where('id', $idRegion); + })->get(); + + + $regionName = null; + foreach ($teamPenilai as $item) { + $regionName = $item->regions; + } + + // dd($teamPenilai); $penilaian = Penilaian::where('nomor_registrasi', $permohonan->nomor_registrasi)->first(); - return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian')); + return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian', 'regionName')); } /** @@ -128,15 +145,13 @@ class PenilaianController extends Controller 'status' => 'revisi', ]; - // dump($dataToUpdate); $permohonan = Permohonan::where('nomor_registrasi', $nomor_registrasi)->first(); $permohonan->update($dataToUpdate); return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil direvisi'); } catch (Exception $e) { - dump($e->getMessage()); - // return redirect()->route('penilaian.index')->with('error', $e->getMessage()); + return redirect()->route('penilaian.index')->with('error', $e->getMessage()); } } } @@ -164,7 +179,7 @@ class PenilaianController extends Controller }); } - $query->whereRaw('LOWER(status) = ?', ['register']); + $query->whereRaw('LOWER(status) = ?', ['registered']); if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { $order = $request->get('sortOrder'); @@ -205,20 +220,132 @@ class PenilaianController extends Controller - public function getUserTeams($id) - { - $teamsUser = TeamsUsers::where('teams_id', $id)->get(); - $userIds = $teamsUser->pluck('user_id'); - $users = User::whereIn('id', $userIds) - ->with('roles') - ->get(); - if ($users->isNotEmpty()) { - return response()->json($users, 200); + public function otorisator(Request $request){ + + $type = $request->route('type'); + $header = ''; + + switch ($type) { + case 'pelaporan': + $header = 'Pelaporan'; + break; + case 'pembayaran': + $header = 'Pembayaran'; + break; + case 'pembatalan': + $header = 'Pembatalan'; + break; + case 'sla': + $header = 'SLA'; + break; + default: + $header = 'Pelaporan'; + break; } - return response()->json([], 200); + return view('lpj::penilaian.otorisator.index', compact('header')); + } + + public function show($id){ + + $permohonan = Permohonan::find($id); + + return view('lpj::penilaian.otorisator.show', compact('permohonan')); + } + + + + public function dataForAuthorization(Request $request, $otorisator) + { + + if (is_null($this->user) || !$this->user->can('debitur.view')) { + // abort(403, 'Sorry! You are not allowed to view users.'); + } + + + $status = ''; + + switch ($otorisator) { + case 'Pelaporan': + $status = 'proses paparan'; + break; + case 'Pembayaran': + $status = 'proses pembayaran'; + break; + default: + $status = ''; + break; + } + + + $query = Permohonan::query(); + + // 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 . '%'); + $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhere('status', 'LIKE', '%' . $search . '%'); + }); + } + + + if (!empty($otorisator)) { + $query->whereRaw('LOWER(status) = ?', [strtolower($status)]); + } + + // Sorting berdasarkan sortField dan sortOrder + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + // Hitung total records + $totalRecords = $query->count(); + + // Pagination (default page size 10) + $size = $request->get('size', 10); + if ($size == 0) { + $size = 10; + } + + if ($request->has('page') && $request->has('size')) { + $page = $request->get('page', 1); + $offset = ($page - 1) * $size; + + $query->skip($offset)->take($size); + } + + // Filtered records + $filteredRecords = $query->count(); + + // Ambil data dengan relasi + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); + + // Hitung jumlah halaman + $pageCount = ceil($totalRecords / $size); + + // Ambil current page + $currentPage = max(1, $request->get('page', 1)); + + // Return JSON response + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $currentPage, + 'totalCount' => $totalRecords, + 'data' => $data, + ]); } diff --git a/app/Http/Controllers/ProsesPenawaranController.php b/app/Http/Controllers/ProsesPenawaranController.php index 7dacc41..14be728 100644 --- a/app/Http/Controllers/ProsesPenawaranController.php +++ b/app/Http/Controllers/ProsesPenawaranController.php @@ -4,7 +4,6 @@ namespace Modules\Lpj\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Http\Response; -use Modules\Lpj\Models\Penawaran; use App\Http\Controllers\Controller; use Exception; use Maatwebsite\Excel\Facades\Excel; diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php new file mode 100644 index 0000000..b70a9b1 --- /dev/null +++ b/app/Http/Controllers/SurveyorController.php @@ -0,0 +1,140 @@ +findOrFail($id); + return view('lpj::surveyor.detail', compact('permohonan')); + } + + /** + * Show the form for editing the specified resource. + */ + public function edit($id) + { + return view('lpj::edit'); + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, $id): RedirectResponse + { + // + } + + public function dataForDatatables(Request $request) + { + if (is_null($this->user) || !$this->user->can('debitur.view')) { + // abort(403, 'Sorry! You are not allowed to view users.'); + } + + $query = Permohonan::query(); + + 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 . '%'); + $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhere('status', 'LIKE', '%' . $search . '%'); + }); + } + + $query->whereRaw('LOWER(status) = ?', ['assign']); + + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + $totalRecords = $query->count(); + + $size = $request->get('size', 10); + if ($size == 0) { + $size = 10; + } + + if ($request->has('page') && $request->has('size')) { + $page = $request->get('page', 1); + $offset = ($page - 1) * $size; + + $query->skip($offset)->take($size); + } + + $filteredRecords = $query->count(); + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'jenisFasilitasKredit'])->get(); + + $pageCount = ceil($totalRecords / $size); + + $currentPage = max(1, $request->get('page', 1)); + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $currentPage, + 'totalCount' => $totalRecords, + 'data' => $data, + ]); + } + /** + * Remove the specified resource from storage. + */ + public function destroy($id) + { + // + } +} diff --git a/app/Http/Controllers/TenderController.php b/app/Http/Controllers/TenderController.php index 6829346..22d6e1c 100644 --- a/app/Http/Controllers/TenderController.php +++ b/app/Http/Controllers/TenderController.php @@ -2,19 +2,20 @@ namespace Modules\Lpj\Http\Controllers; +use Exception; use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Modules\Lpj\Models\Penawaran; +use Modules\Lpj\Models\KJPP; +use Illuminate\Support\Facades\DB; +use Modules\Lpj\Models\Permohonan; use App\Http\Controllers\Controller; use Maatwebsite\Excel\Facades\Excel; -use Modules\Lpj\Models\PenawaranTender; -use Modules\Lpj\Exports\PenawaranTenderExport; -use Modules\Lpj\Http\Requests\TenderPenawaranRequest; use Modules\Lpj\Models\JenisLaporan; -use Modules\Lpj\Models\KJPP; -use Modules\Lpj\Models\Permohonan; +use Modules\Lpj\Models\PenawaranTender; use Modules\Lpj\Models\StatusPermohonan; use Modules\Lpj\Models\TujuanPenilaianKJPP; +use Modules\Lpj\Models\PenawaranDetailTender; +use Modules\Lpj\Exports\PenawaranTenderExport; +use Modules\Lpj\Http\Requests\TenderPenawaranRequest; class TenderController extends Controller { @@ -31,71 +32,218 @@ class TenderController extends Controller /** * Show the form for creating a new resource. */ - public function penawaran_create($id) + public function penawaran_create($noreg) { - $penawaran = PenawaranTender::find($id); + $penawaranExists = PenawaranTender::where('nomor_registrasi', '=', $noreg)->exists(); + + // Jika nomor_registrasi sudah ada, kembalikan respon 403 Forbidden + if ($penawaranExists) { + return redirect()->route('tender.penawaran.editPenawaran', ['noreg' => $noreg]) + ->with('error', 'Penawaran dengan nomor registrasi ini sudah ada, Anda akan diarahkan ke halaman edit.'); + } + + $permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first(); $status = StatusPermohonan::all(); $tujuan_penilaian_kjpp = TujuanPenilaianKJPP::all(); $jenis_laporan = JenisLaporan::all(); + $kjpp = KJPP::all(); - return view('lpj::penawaran/create', compact('status', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'kjpp', 'penawaran', 'id')); + return view('lpj::penawaran/create', compact('status', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'kjpp', 'noreg', 'permohonan')); } /** * Store a newly created resource in storage. */ - public function penawaran_store(TenderPenawaranRequest $request, $id) + public function penawaran_store(TenderPenawaranRequest $request, $noreg) { $validated = $request->validated(); - if ($validated) { - $penawaran = PenawaranTender::find($id); + DB::beginTransaction(); - $validated['nomor_registrasi'] = $penawaran->nomor_registrasi; + try { + $permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first(); - $validated['nama_kjpp_sebelumnya'] = json_encode($request->input('nama_kjpp_sebelumnya')); + // Add created_by/updated_by from the authenticated user + $userId = auth()->user()->id; - dd($validated); + $validated['nomor_registrasi'] = $permohonan->nomor_registrasi; - PenawaranTender::create($validated); + $validated['status'] = $request->input('status') ?? 'tender'; + $validated['updated_by'] = $userId; // Updating the record + $permohonan->update($validated); + + // Adding created_by for the new PenawaranTender record + $validated['created_by'] = $userId; + $penawaranId = PenawaranTender::create($validated); + + $kjpps = $request->input('kjpp', []); + + foreach ($kjpps as $kjpp) { + PenawaranDetailTender::create([ + 'penawaran_id' => $penawaranId->id, + 'kjpp_rekanan_id' => $kjpp, + 'created_by' => $userId, // Set created_by for details + 'updated_by' => $userId + ]); + } + + // Commit the transaction + DB::commit(); return redirect() ->route('tender.penawaran.index') ->with('success', 'Data Penawaran created successfully'); - } else { + } catch (Exception $e) { + DB::rollBack(); + return redirect() - ->route('tender.penawaran.createPenawaran', $id) - ->with('error', 'Validation failed'); + ->route('tender.penawaran.createPenawaran', $noreg) + ->with('error', 'Validation failed: ' . $e); } } /** * Show the specified resource. */ - public function penawaran_show($id) + public function penawaran_show($noreg) { - $penawaran = PenawaranTender::find($id); - return view('lpj::penawaran.show', compact('id', 'penawaran')); + $penawaran = null; + $kjpps = null; + $tujuan_penilaian_kjpp = null; + $jenis_laporan = null; + + $penawaranExists = PenawaranTender::where('nomor_registrasi', $noreg)->exists(); + + $penawaran1 = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first(); + // dd($penawaran1->id); + if ($penawaran1) { + $penawaran = $penawaran1; + $detail_penawaran = PenawaranDetailTender::where('penawaran_id', '=', $penawaran1->id)->where('status', '=', 1)->pluck('kjpp_rekanan_id')->toArray(); + $kjpps = KJPP::whereIn('id', $detail_penawaran)->get(); + $tujuan_penilaian_kjpp = TujuanPenilaianKJPP::where('id', $penawaran->tujuan_penilaian_kjpp_id)->get(); + $jenis_laporan = JenisLaporan::where('id', $penawaran->jenis_laporan_id)->get(); + } else { + $penawaran2 = Permohonan::where('nomor_registrasi', '=', $noreg)->first(); + $penawaran = $penawaran2; + } + + // dd($kjpps); + + return view('lpj::penawaran.show', compact('noreg', 'penawaran', 'kjpps', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'penawaranExists')); } /** * Show the form for editing the specified resource. */ - public function edit($id) + public function penawaran_edit($noreg) { - return view('lpj::edit'); + // Find the specific penawaran by its ID + $penawaran = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first(); + $permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first(); + + $status = StatusPermohonan::all(); + $tujuan_penilaian_kjpp = TujuanPenilaianKJPP::all(); + $jenis_laporan = JenisLaporan::all(); + + $detail_penawaran = PenawaranDetailTender::where('penawaran_id', '=', $penawaran->id)->where('status', '=', 1)->pluck('kjpp_rekanan_id')->toArray(); + $kjpps = KJPP::whereIn('id', $detail_penawaran)->pluck('id')->toArray(); + + $kjpp = KJPP::all(); + + return view('lpj::penawaran.edit', compact('status', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'kjpp', 'penawaran', 'noreg', 'kjpps', 'permohonan')); } + /** * Update the specified resource in storage. */ - public function update(Request $request, $id) + public function penawaran_update(TenderPenawaranRequest $request, $noreg) { - // + $validated = $request->validated(); + + DB::beginTransaction(); + + try { + // Ambil data penawaran berdasarkan nomor registrasi + $penawaran = PenawaranTender::where('nomor_registrasi', '=', $noreg)->first(); + $permohonan = Permohonan::where('nomor_registrasi', '=', $noreg)->first(); + + // Ambil ID user yang sedang login + $userId = auth()->user()->id; + + // Jangan ubah created_by untuk data yang sudah ada + $validated['nomor_registrasi'] = $penawaran->nomor_registrasi; + $validated['status'] = $request->input('status') ?? 'tender'; + $validated['created_by'] = $userId; + $validated['updated_by'] = $userId; // Hanya update 'updated_by' + + // Update data penawaran dan permohonan + $penawaran->update($validated); + $permohonan->update($validated); + + $kjpps = $request->input('kjpp', []); + + // Ubah status KJPP lama menjadi 0 jika tidak ada dalam request + foreach ($penawaran->penawaranKjpp as $kjpp) { + if (!in_array($kjpp->kjpp_rekanan_id, $kjpps)) { + // Ubah status KJPP lama menjadi 0 + $kjpp->status = 0; + $kjpp->created_by = $userId; + $kjpp->updated_by = $userId; // Set updated_by + $kjpp->save(); + } + } + + // Tangani penambahan atau perubahan KJPP baru + foreach ($kjpps as $kjpp) { + $existingDetail = PenawaranDetailTender::where('penawaran_id', $penawaran->id) + ->where('kjpp_rekanan_id', $kjpp) + ->first(); + + // dd($existingDetail); + + if ($existingDetail) { + // Jika KJPP sudah ada, pastikan statusnya aktif (1) + if ($existingDetail->status == 0) { + $existingDetail->status = 1; + $existingDetail->created_by = $userId; + $existingDetail->updated_by = $userId; // Set updated_by + $existingDetail->save(); + } + } else { + // Buat data baru jika tidak ada dalam database + PenawaranDetailTender::create([ + 'penawaran_id' => $penawaran->id, + 'kjpp_rekanan_id' => $kjpp, + 'status' => 1, // Default status untuk KJPP baru adalah 1 + 'created_by' => $userId, // Set created_by untuk data baru + 'updated_by' => $userId, // Set updated_by juga + ]); + } + } + + // Commit transaksi + DB::commit(); + + return redirect() + ->route('tender.penawaran.index') + ->with('success', 'Data Penawaran updated successfully'); + } catch (Exception $e) { + // Rollback jika ada kesalahan + DB::rollBack(); + + return redirect() + ->route('tender.penawaran.createPenawaran', $noreg) + ->with('error', 'Validation failed: ' . $e->getMessage()); + } } + + + + /** * Remove the specified resource from storage. */ @@ -111,15 +259,19 @@ class TenderController extends Controller } // Retrieve data from the database - $query = PenawaranTender::query(); + $query = Permohonan::query()->where('status', '=', 'registered')->where('jenis_penilaian_id', '=', 2); // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { $search = $request->get('search'); $query->where(function ($q) use ($search) { - $q->where('code', 'LIKE', "%$search%"); - $q->orWhere('nama_kjpp_sebelumnya', 'LIKE', "%$search%"); - $q->orWhere('tanggal_penilaian_sebelumnya', 'LIKE', "%$search%"); + $q->where('nomor_registrasi', 'LIKE', '%' . $search . '%'); + $q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhere('status', 'LIKE', '%' . $search . '%'); }); } @@ -146,7 +298,7 @@ class TenderController extends Controller $filteredRecords = $query->count(); // Get the data for the current page - $data = $query->get(); + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); // Calculate the page count $pageCount = ceil($totalRecords / $request->get('size')); @@ -168,7 +320,79 @@ class TenderController extends Controller public function exportPenawaran() { - return Excel::download(new PenawaranTenderExport, 'kjpp.xlsx'); + return Excel::download(new PenawaranTenderExport, 'penawarantender.xlsx'); + } + + // penawaran ulang + public function penawaran_ulang_index() + { + return view('lpj::penawaran_ulang/index'); + } + + public function datatablesPenawaranUlang(Request $request) + { + if (is_null($this->user) || !$this->user->can('penawaran_ulang.view')) { + //abort(403, 'Sorry! You are not allowed to view users.'); + } + + // Retrieve data from the database + $query = Permohonan::query()->where('status', '=', 'tender')->where('jenis_penilaian_id', '=', 2); + + // Apply search filter if provided + 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 . '%'); + $q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%'); + $q->orWhere('status', 'LIKE', '%' . $search . '%'); + }); + } + + // Apply sorting if provided + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { + $order = $request->get('sortOrder'); + $column = $request->get('sortField'); + $query->orderBy($column, $order); + } + + // Get the total count of records + $totalRecords = $query->count(); + + // Apply pagination if provided + if ($request->has('page') && $request->has('size')) { + $page = $request->get('page'); + $size = $request->get('size'); + $offset = ($page - 1) * $size; // Calculate the offset + + $query->skip($offset)->take($size); + } + + // Get the filtered count of records + $filteredRecords = $query->count(); + + // Get the data for the current page + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); + + // Calculate the page count + $pageCount = ceil($totalRecords / $request->get('size')); + + // Calculate the current page number + $currentPage = 0 + 1; + + // Return the response data as a JSON object + return response()->json([ + 'draw' => $request->get('draw'), + 'recordsTotal' => $totalRecords, + 'recordsFiltered' => $filteredRecords, + 'pageCount' => $pageCount, + 'page' => $currentPage, + 'totalCount' => $totalRecords, + 'data' => $data, + ]); } public function proses_penawaran_index() @@ -176,8 +400,13 @@ class TenderController extends Controller return view('lpj::proses_penawaran/index'); } - public function penawaran_ulang_index() + // Tambahkan method untuk API di controller + public function checkPenawaranExistence($nomor_registrasi) { - return view('lpj::penawaran_ulang/index'); + // Cek apakah nomor_registrasi ada dalam tabel penawaran + $exists = PenawaranTender::where('nomor_registrasi', $nomor_registrasi)->exists(); + + // Kembalikan hasil pengecekan sebagai JSON + return response()->json(['exists' => $exists]); } } diff --git a/app/Http/Requests/TenderPenawaranRequest.php b/app/Http/Requests/TenderPenawaranRequest.php index 16ed5bc..6472638 100644 --- a/app/Http/Requests/TenderPenawaranRequest.php +++ b/app/Http/Requests/TenderPenawaranRequest.php @@ -12,21 +12,21 @@ class TenderPenawaranRequest extends FormRequest public function rules(): array { $rules = [ - 'nama_kjpp_sebelumnya' => 'required|array', - 'nama_kjpp_sebelumnya.*' => 'exists:kjpp,name', - 'biaya_kjpp_sebelumnya' => 'required|numeric', - 'tanggal_penilaian_sebelumnya' => 'required', + 'nama_kjpp_sebelumnya' => 'nullable', + 'biaya_kjpp_sebelumnya' => 'nullable|numeric', + 'tanggal_penilaian_sebelumnya' => 'nullable', 'nomor_registrasi' => 'required', + 'kjpp.*' => 'exists:kjpp,id', 'tujuan_penilaian_kjpp_id' => 'required', 'jenis_laporan_id' => 'required', 'start_date' => 'required', 'end_date' => 'required', 'catatan' => 'nullable', - 'status' => 'required' + 'status' => 'nullable' ]; if ($this->method() == 'PUT') { - $rules['code'] = 'required|max:50|unique:penawaran,code,' . $this->id; + $rules['code'] = 'required|max:50'; } else { $rules['code'] = 'required|max:50|unique:penawaran,code'; } @@ -48,16 +48,11 @@ class TenderPenawaranRequest extends FormRequest 'code.required' => 'Kode Penawaran Wajib diisi!', 'code.max' => 'Kode Penawaran maksimal 255 huruf!', 'code.unique' => 'Kode Penawaran tidak boleh sama!', - 'nama_kjpp_sebelumnya.required' => 'Nama KJPP Sebelumnya Wajib diisi!', - 'biaya_kjpp_sebelumnya.required' => 'Biaya KJPP Sebelumnya Wajib diisi!', - 'biaya_kjpp_sebelumnya.numeric' => 'Biaya KJPP Sebelumnya harus berupa angka!', - 'tanggal_penilaian_sebelumnya.required' => 'Tanggal Penilaian Sebelumnya Wajib diisi!', 'nomor_registrasi.required' => 'Nomor Registrasi Wajib diisi!', 'tujuan_penilaian_kjpp_id.required' => 'Tujuan Penilaian KJPP Wajib diisi!', 'jenis_laporan_id.required' => 'Jenis Laporan Wajib diisi!', 'start_date.required' => 'Tanggal Awal Wajib diisi!', 'end_date.required' => 'Tanggal Akhir Wajib diisi!', - 'status.required' => 'Status Wajib diisi!' ]; } @@ -66,10 +61,27 @@ class TenderPenawaranRequest extends FormRequest $validator->after(function ($validator) { $startDate = strtotime($this->input('start_date')); $endDate = strtotime($this->input('end_date')); + $today = strtotime(date('Y-m-d')); if ($endDate < $startDate) { $validator->errors()->add('end_date', 'Tanggal Akhir tidak boleh lebih awal dari Tanggal Awal.'); } + + if ($startDate < $today) { + $validator->errors()->add('start_date', 'Tanggal Awal tidak boleh sebelum hari ini.'); + } + + // Validasi minimal 3 pilihan pada nama_kjpp + $namaKjpp = $this->input('kjpp', []); + + // jika nama KJPP itu kosong + if (empty($namaKjpp)) { + $validator->errors()->add('kjpp', 'Nama KJPP wajib diisi.'); + } + // jika terisi kurang dari 3 item + elseif (is_array($namaKjpp) && count($namaKjpp) < 3) { + $validator->errors()->add('kjpp', 'Nama KJPP Sebelumnya harus memiliki minimal 3 pilihan jika diisi.'); + } }); } } diff --git a/app/Models/PenawaranDetailTender.php b/app/Models/PenawaranDetailTender.php index af7d73b..8b65a91 100644 --- a/app/Models/PenawaranDetailTender.php +++ b/app/Models/PenawaranDetailTender.php @@ -5,6 +5,7 @@ namespace Modules\Lpj\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsTo; +// use Modules\Lpj\Database\Factories\PenawaranDetailTenderFactory; class PenawaranDetailTender extends Model { diff --git a/app/Models/PenawaranTender.php b/app/Models/PenawaranTender.php index 405c751..dbf1c47 100644 --- a/app/Models/PenawaranTender.php +++ b/app/Models/PenawaranTender.php @@ -3,6 +3,7 @@ namespace Modules\Lpj\Models; use Illuminate\Database\Eloquent\Model; +use Modules\Lpj\Models\PenawaranDetailTender; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\HasMany; // andy add @@ -23,4 +24,9 @@ class PenawaranTender extends Model return $this->hasMany(PenawaranDetailTender::class, 'penawaran_id', 'id')->where('status', '=', 1); } // andy add + + public function penawaranKjpp() + { + return $this->hasMany(PenawaranDetailTender::class, 'penawaran_id'); + } } diff --git a/app/Models/Penilaian.php b/app/Models/Penilaian.php index 93bd3e8..cb2f44c 100644 --- a/app/Models/Penilaian.php +++ b/app/Models/Penilaian.php @@ -10,45 +10,50 @@ use Modules\Lpj\Models\Teams; use Modules\Lpj\Models\Permohonan; use Modules\Usermanagement\Models\User; - class Penilaian extends Model { - /** * The attributes that are mass assignable. */ protected $table = 'penilaian'; protected $fillable = [ - 'jenis_penilaian_id', 'teams_id', 'user_id', 'tanggal_kunjungan', 'keterangan','nomor_registrasi','penilaian_id','surveyor_id','penilai_surveyor_id', + 'jenis_penilaian_id', 'teams_id', 'tanggal_kunjungan', 'keterangan','nomor_registrasi','penilaian_id','surveyor_id','penilai_surveyor_id', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_at', 'created_by', 'updated_at', 'updated_by', 'deleted_at', 'deleted_by' ]; - public function jenis_penilaian(){ + public function jenis_penilaian() + { return $this->belongsTo(JenisPenilaian::class, 'jenis_penilaian_id', 'id'); } - public function teams(){ + public function teams() + { return $this->belongsTo(Teams::class, 'teams_id', 'id'); } - public function users(){ + public function users() + { return $this->belongsTo(User::class, 'user_id', 'id'); } - public function userPenilai(){ + public function userPenilai() + { return $this->belongsTo(User::class, 'penilaian_id', 'id'); } - public function userSurveyor(){ + public function userSurveyor() + { return $this->belongsTo(User::class, 'surveyor_id', 'id'); } - public function userPenilaiSurveyor(){ + public function userPenilaiSurveyor() + { return $this->belongsTo(User::class, 'penilai_surveyor_id', 'id'); } - public function permohonan(){ + public function permohonan() + { return $this->belongsTo(Permohonan::class, 'nomor_registrasi', 'nomor_registrasi'); } diff --git a/app/Models/TeamsUsers.php b/app/Models/TeamsUsers.php index a47cae9..b94df81 100644 --- a/app/Models/TeamsUsers.php +++ b/app/Models/TeamsUsers.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Model; use Modules\Lpj\Database\Factories\TeamsUsersFactory; use Modules\Usermanagement\Models\User; use Modules\Lpj\Models\Teams; +use Modules\Lpj\Models\Penilaian; class TeamsUsers extends Model { @@ -30,4 +31,10 @@ class TeamsUsers extends Model { return $this->belongsTo(User::class, 'user_id', 'id'); } + + public function penilaian() + { + return $this->belongsTo(Penilaian::class, 'teams_id', 'id'); + } + } diff --git a/database/migrations/2024_10_03_073923_update_penawaran_table.php b/database/migrations/2024_10_03_073923_update_penawaran_table.php new file mode 100644 index 0000000..a22d315 --- /dev/null +++ b/database/migrations/2024_10_03_073923_update_penawaran_table.php @@ -0,0 +1,32 @@ +string('nama_kjpp_sebelumnya')->nullable()->change(); + $table->string('biaya_kjpp_sebelumnya')->nullable()->change(); + $table->datetime('tanggal_penilaian_sebelumnya')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penawaran', function (Blueprint $table) { + $table->string('nama_kjpp_sebelumnya')->change(); + $table->string('biaya_kjpp_sebelumnya')->change(); + $table->datetime('tanggal_penilaian_sebelumnya')->change(); + }); + } +}; diff --git a/database/migrations/2024_10_03_074430_update_penawaran_table.php b/database/migrations/2024_10_03_074430_update_penawaran_table.php new file mode 100644 index 0000000..9ceb263 --- /dev/null +++ b/database/migrations/2024_10_03_074430_update_penawaran_table.php @@ -0,0 +1,28 @@ +text('catatan')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penawaran', function (Blueprint $table) { + $table->text('catatan')->change(); + }); + } +}; diff --git a/database/migrations/2024_10_04_072406_update_penawaran_table.php b/database/migrations/2024_10_04_072406_update_penawaran_table.php new file mode 100644 index 0000000..543406b --- /dev/null +++ b/database/migrations/2024_10_04_072406_update_penawaran_table.php @@ -0,0 +1,28 @@ +string('status')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penawaran', function (Blueprint $table) { + $table->string('status')->change(); + }); + } +}; diff --git a/database/migrations/2024_10_04_080210_update_detail_penawaran_table.php b/database/migrations/2024_10_04_080210_update_detail_penawaran_table.php new file mode 100644 index 0000000..25e6d73 --- /dev/null +++ b/database/migrations/2024_10_04_080210_update_detail_penawaran_table.php @@ -0,0 +1,32 @@ +string('biaya_penawaran')->nullable()->change(); + $table->string('attachment')->nullable()->change(); + $table->string('dokumen_persetujuan')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('detail_penawaran', function (Blueprint $table) { + $table->string('biaya_penawaran')->change(); + $table->string('attachment')->change(); + $table->string('dokumen_persetujuan')->change(); + }); + } +}; diff --git a/database/migrations/2024_10_08_075401_update_penawaran_table.php b/database/migrations/2024_10_08_075401_update_penawaran_table.php new file mode 100644 index 0000000..34e6978 --- /dev/null +++ b/database/migrations/2024_10_08_075401_update_penawaran_table.php @@ -0,0 +1,30 @@ +unsignedBigInteger('created_by')->nullable()->after('created_at'); + $table->unsignedBigInteger('updated_by')->nullable()->after('updated_at'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penawaran', function (Blueprint $table) { + $table->dropColumn('created_by'); + $table->dropColumn('updated_by'); + }); + } +}; diff --git a/database/migrations/2024_10_08_075434_update_detail_penawaran_table.php b/database/migrations/2024_10_08_075434_update_detail_penawaran_table.php new file mode 100644 index 0000000..f4ce896 --- /dev/null +++ b/database/migrations/2024_10_08_075434_update_detail_penawaran_table.php @@ -0,0 +1,30 @@ +unsignedBigInteger('created_by')->nullable()->after('created_at'); + $table->unsignedBigInteger('updated_by')->nullable()->after('updated_at'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('detail_penawaran', function (Blueprint $table) { + $table->dropColumn('created_by'); + $table->dropColumn('updated_by'); + }); + } +}; diff --git a/module.json b/module.json index 69a36d2..0722d02 100644 --- a/module.json +++ b/module.json @@ -5,9 +5,7 @@ "description": "", "keywords": [], "priority": 0, - "providers": [ - "Modules\\Lpj\\Providers\\LpjServiceProvider" - ], + "providers": ["Modules\\Lpj\\Providers\\LpjServiceProvider"], "files": [], "menu": { "main": [ @@ -18,9 +16,16 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] + }, + { + "title": "Registrasi", + "path": "registrasi", + "icon": "ki-filled ki-file-added text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["Administrator", "admin"] }, { "title": "Tender", @@ -29,9 +34,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ], + "roles": ["Administrator", "admin"], "sub": [ { "title": "Data Penawaran", @@ -39,7 +42,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin"] }, { "title": "Data Proses Penawaran", @@ -47,15 +50,15 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin"] }, { "title": "Data Penawaran Ulang", - "path": "tender.penawaran_ulang", + "path": "tender.penawaran.ulang", "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin"] } ] }, @@ -66,9 +69,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Data Debitur", @@ -77,9 +78,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Authorization", @@ -88,20 +87,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ] - }, - { - "title": "Registrasi", - "path": "registrasi", - "icon": "ki-filled ki-file-added text-lg", - "classes": "", - "attributes": [], - "permission": "", - "roles": [ - "Administrator" - ] + "roles": ["Administrator", "pemohon-eo"] }, { "title": "Assignment", @@ -110,10 +96,61 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" + "roles": ["Administrator", "so"] + }, + { + "title": "Team Activity", + "path": "activity.progres", + "icon": "ki-filled ki-questionnaire-tablet text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["so"] + }, + { + "title": "Otorisator", + "path": "otorisator", + "icon": "ki-filled ki-security-user text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["so"], + "sub": [ + { + "title": "Pelaporan", + "path": "otorisator.pelaporan", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["so"] + }, + { + "title": "Pembayaran", + "path": "otorisator.pembayaran", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["so"] + }, + { + "title": "Pembatalan", + "path": "otorisator.pembatalan", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["so"] + }, + { + "title": "SLA", + "path": "otorisator.sla", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["so"] + } ] }, + { "title": "Activity", "path": "activity", @@ -121,9 +158,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo", "admin"] }, { "title": "Laporan", @@ -132,9 +167,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo", "admin", "so"] } ], "master": [ @@ -145,9 +178,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [ - "Administrator" - ], + "roles": ["Administrator", "pemohon-ao", "pemohon-eo", "admin"], "sub": [ { "title": "Cabang", @@ -155,7 +186,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Mata Uang", @@ -163,7 +194,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Jenis Fasilitas Kredit", @@ -171,7 +202,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Jenis Legalitas Jaminan", @@ -179,7 +210,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Jenis Aset", @@ -187,7 +218,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Jenis Dokumen", @@ -195,7 +226,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Tujuan Penilaian", @@ -203,7 +234,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Nilai Plafond", @@ -211,7 +242,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Hubungan Pemilik Jaminan", @@ -219,7 +250,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Hubungan Penghuni Jaminan", @@ -227,7 +258,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "pemohon-ao", "pemohon-eo"] }, { "title": "Arah Mata Angin", @@ -235,7 +266,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator"] }, { "title": "Status Permohonan", @@ -243,7 +274,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator"] }, { "title": "Region", @@ -251,7 +282,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin", "so"] }, { "title": "Staff Appraisal", @@ -259,7 +290,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "so"] }, { "title": "Jenis Penilaian", @@ -267,7 +298,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin", "so"] }, { "title": "KJPP", @@ -275,7 +306,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin"] }, { "title": "Tujuan Penilaian KJPP", @@ -283,7 +314,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin"] }, { "title": "Ijin Usaha", @@ -291,7 +322,7 @@ "classes": "", "attributes": [], "permission": "", - "roles": [] + "roles": ["Administrator", "admin"] } ] } diff --git a/resources/views/activity/activitydetail.blade.php b/resources/views/activity/activitydetail.blade.php index ec335f0..097fd25 100644 --- a/resources/views/activity/activitydetail.blade.php +++ b/resources/views/activity/activitydetail.blade.php @@ -13,108 +13,118 @@ @endpush
-
-
-

- Activity Permohonan -

-
- - Back +
+
+

+ Activity Permohonan +

+
+ + Back +
+
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $permohonan->nomor_registrasi }} + +
+ +
+

+ Pemohon: +

+ + {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} + +
+ +
+

+ Tujuan Permohonan: +

+ + {{ $permohonan->tujuanPenilaian->name }} + +
+
-
-
+ +
+

- Nomor Register Permohonan: + Status Activity

- - {{ $permohonan->nomor_registrasi }} -
- -
-

- Pemohon: -

- - {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} - -
- -
-

- Tujan Permohonan: -

- - {{ $permohonan->tujuanPenilaian->name }} - -
- -
-
- - -
-
-

- Status Activity -

-
-
-
- @foreach ($status_permohonan as $index => $status) - {{-- Cek apakah status adalah "Revisi" dan status permohonan tidak sama, maka tidak ditampilkan --}} - @if (strtolower($status->name) == 'revisi' && strtolower($status->name) != strtolower($permohonan->status)) - @continue - @endif - -
- @if ($index < count($status_permohonan) - 1) -
-
+
+
+ @foreach ($status_permohonan as $index => $status) + {{-- Cek apakah status adalah "Revisi" dan status permohonan tidak sama, maka tidak ditampilkan --}} + @if (strtolower($status->name) == 'revisi' && strtolower($status->name) != strtolower($permohonan->status)) + @continue @endif -
- @switch(strtolower($status->name)) - @case('order') - - @break +
+ @if ($index > 0) +
+
+ @endif - @case('revisi') - - @break +
+ @switch(strtolower($status->name)) + @case('preregister') + + @break + @case('order') + + @break - @case('register') - - @break + @case('revisi') + + @break - @case('assign') - - @break + @case('register') + + @break - @case('survey') - - @break + @case('assign') + + @break - @default - - @endswitch + @case('survey') + + @break + @case('proses laporan') + + @break + @case('approved') + + @break + @case('delivered') + + @break + @default + + @endswitch +
+ @include('lpj::activity.components.status')
- @include('lpj::activity.components.status') -
- @endforeach + @endforeach +
+
+
-
-
@endsection diff --git a/resources/views/activity/components/status.blade.php b/resources/views/activity/components/status.blade.php index 0952cc3..19d1107 100644 --- a/resources/views/activity/components/status.blade.php +++ b/resources/views/activity/components/status.blade.php @@ -43,47 +43,10 @@
@endif - {{-- Tampilkan informasi assign jika status 'assign' --}} @if (strtolower($status->name) == 'assign' && $isCurrentStatus)
- {{-- Informasi Penilai, Surveyor, dan Penilai Surveyor --}} -
- @isset($permohonan->penilaian) - @if ($penilai = $permohonan->penilaian->userPenilai->name ?? null) -
-

Penilai:

- {{ $penilai }} -
- @endif - @if ($surveyor = $permohonan->penilaian->userSurveyor->name ?? null) -
-

Surveyor:

- {{ $surveyor }} -
- @endif - - @if ($penilaiSurveyor = $permohonan->penilaian->userPenilaiSurveyor->name ?? null) -
-

Penilai Surveyor:

- {{ $penilaiSurveyor }} -
- @endif - @endisset -
- - {{-- Teams --}} -
-

Teams:

-
    - @foreach ($permohonan->penilaian->teams->teamsUsers as $item) -
  • {{ $item->user->name }}
  • - @endforeach -
-
- - {{-- Catatan --}}

Catatan:

{{ $permohonan->penilaian->keterangan }} diff --git a/resources/views/activity/index.blade.php b/resources/views/activity/index.blade.php index 4dd0179..72e4efc 100644 --- a/resources/views/activity/index.blade.php +++ b/resources/views/activity/index.blade.php @@ -4,16 +4,45 @@ {{ Breadcrumbs::render('activity') }} @endsection @section('content') +@push('styles') + + +@endpush
Activity
+ +
-

- {{-- Daftar {{}} --}} -

+
-
- + + +
Export to Excel @@ -203,9 +260,44 @@ dataTable.search(searchValue, true); }); - statusFilter.addEventListener('change', function() { - const selectedStatus = this.value; - dataTable.search(selectedStatus); + + const selectAllCheckbox = document.getElementById('select-all'); + const statusCheckboxes = document.querySelectorAll('.status-checkbox'); + + statusCheckboxes.forEach(checkbox => { + checkbox.addEventListener('change', applyStatusFilter); }); + + // Event listener untuk "Select All" + selectAllCheckbox.addEventListener('change', function() { + const isChecked = this.checked; + statusCheckboxes.forEach(checkbox => { + checkbox.checked = isChecked; + }); + applyStatusFilter(); + }); + + function applyStatusFilter() { + const selectedStatuses = Array.from(statusCheckboxes) + .filter(checkbox => checkbox.checked) + .map(checkbox => checkbox.value); + + + if (selectedStatuses.length === 0) { + dataTable.search(''); + console.log(selectedStatuses); + + } else { + + dataTable.search(selectedStatuses.join(','), true); + console.log(selectedStatuses); + + } + + const allChecked = Array.from(statusCheckboxes).every(cb => cb.checked); + selectAllCheckbox.checked = allChecked; + } + + @endpush diff --git a/resources/views/activity/progres_activity/index.blade.php b/resources/views/activity/progres_activity/index.blade.php new file mode 100644 index 0000000..7f824da --- /dev/null +++ b/resources/views/activity/progres_activity/index.blade.php @@ -0,0 +1,244 @@ +@extends('layouts.main') +@section('breadcrumbs') + {{ Breadcrumbs::render('activity.progres') }} +@endsection +@section('content') + @push('styles') + + @endpush + +
+
+
+

Team Activity

+
+
+ + @php + + $sortedTeamsActivity = $teamsActivity->sortBy(function ($item) { + return $item->team->penilaian + ->filter(function ($penilaian) use ($item) { + return $penilaian->penilaian_id == $item->user->id || + $penilaian->surveyor_id == $item->user->id || + $penilaian->penilai_surveyor_id == $item->user->id; + }) + ->count(); + }); + @endphp + + @foreach ($sortedTeamsActivity as $index => $item) +
+ + +
+ @endforeach +
+
+
+@endsection + +@push('scripts') + +@endpush diff --git a/resources/views/activity/senior_officer/index.blade.php b/resources/views/activity/senior_officer/index.blade.php new file mode 100644 index 0000000..aee45bb --- /dev/null +++ b/resources/views/activity/senior_officer/index.blade.php @@ -0,0 +1,15 @@ +@extends('layouts.main') + +{{-- @section('breadcrumbs') + {{ Breadcrumbs::render('activity') }} +@endsection --}} +@section('content') + + +
+
+ hello +
+
+ +@endsection diff --git a/resources/views/kjpp/create.blade.php b/resources/views/kjpp/create.blade.php index c03ab45..abb7af3 100644 --- a/resources/views/kjpp/create.blade.php +++ b/resources/views/kjpp/create.blade.php @@ -53,23 +53,25 @@
@error('jenis_kantor') diff --git a/resources/views/kjpp/show.blade.php b/resources/views/kjpp/show.blade.php index 35762c9..0e5def9 100644 --- a/resources/views/kjpp/show.blade.php +++ b/resources/views/kjpp/show.blade.php @@ -36,9 +36,7 @@

- @foreach ($branches as $branch) - {{ $branch->name }} - @endforeach + {{ $kjpp->jenis_kantor }}

diff --git a/resources/views/penawaran/create.blade.php b/resources/views/penawaran/create.blade.php index c494a4e..bc023e5 100644 --- a/resources/views/penawaran/create.blade.php +++ b/resources/views/penawaran/create.blade.php @@ -1,12 +1,12 @@ @extends('layouts.main') @section('breadcrumbs') - {{ Breadcrumbs::render(request()->route()->getName(), request()->route('id')) }} + {{ Breadcrumbs::render(request()->route()->getName(), request()->route('noreg')) }} @endsection @section('content')
-
+ @csrf
@@ -15,8 +15,8 @@ Tambah Data Penawaran
- Detail + Detail Back @@ -28,11 +28,33 @@ Nomor Registrasi
- - @error('nomor_registrasi') - {{ $message }} - @enderror + +
+
+
+ +
+ +
+
+
+ +
+ +
+ +
+
@@ -40,7 +62,7 @@ Nomor Penawaran
- @error('code') {{ $message }} @@ -49,44 +71,22 @@
- + @foreach ($kjpp as $row) - + @if (isset($kjpp)) + + @endif @endforeach - @error('nama_kjpp_sebelumnya') - {{ $message }} - @enderror -
-
-
- -
- - @error('biaya_kjpp_sebelumnya') - {{ $message }} - @enderror -
- -
- - @error('tanggal_penilaian_sebelumnya') + @error('kjpp') {{ $message }} @enderror
@@ -113,6 +113,39 @@ {{ $message }} @enderror
+
+
+ +
+ + @error('start_date') + {{ $message }} + @enderror +
+ - +
+ + @error('end_date') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('catatan') + {{ $message }} + @enderror +
+
+
@@ -137,51 +170,24 @@
- - @error('start_date') + + @error('status') {{ $message }} @enderror
- -
- - @error('end_date') - {{ $message }} - @enderror -
-
-
- -
- - @error('catatan') - {{ $message }} - @enderror -
-
-
- -
@endsection + +@push('styles') + +@endpush diff --git a/resources/views/penawaran/edit.blade.php b/resources/views/penawaran/edit.blade.php new file mode 100644 index 0000000..d94e8d9 --- /dev/null +++ b/resources/views/penawaran/edit.blade.php @@ -0,0 +1,223 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName(), request()->route('noreg')) }} +@endsection + +@section('content') +
+
+ @csrf + @method('PUT') + +
+
+

+ Penawaran Ulang +

+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+
+ +
+ + @error('code') + {{ $message }} + @enderror +
+
+
+ +
+ + + @error('kjpp') + {{ $message }} + @enderror +
+
+ +
+ +
+ + @error('tujuan_penilaian_kjpp_id') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('start_date') + {{ $message }} + @enderror +
+ - +
+ + @error('end_date') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('catatan') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('jenis_laporan_id') + {{ $message }} + @enderror +
+
+
+ +
+ + @error('status') + {{ $message }} + @enderror +
+
+ +
+ +
+
+
+
+
+@endsection + +@push('styles') + +@endpush diff --git a/resources/views/penawaran/index.blade.php b/resources/views/penawaran/index.blade.php index 93b5ad2..30ffa22 100644 --- a/resources/views/penawaran/index.blade.php +++ b/resources/views/penawaran/index.blade.php @@ -16,7 +16,7 @@
@@ -36,16 +36,32 @@ - - Nomor Penawaran + + Nomor Registrasi - - Nama KJPP Sebelumnya + + Tanggal Permohonan - - Tanggal Penilaian Sebelumnya + + User Pemohon + + + + Cabang Pemohon + + + + Debitur + + + + Tujuan Penilaian + + + + Status Action @@ -89,37 +105,50 @@ return months[month - 1]; } - - + + +@endpush diff --git a/resources/views/penilaian/form.blade.php b/resources/views/penilaian/form.blade.php index 63b642c..cd60966 100644 --- a/resources/views/penilaian/form.blade.php +++ b/resources/views/penilaian/form.blade.php @@ -163,7 +163,7 @@

- Data Jaminan + Laporan

@@ -283,21 +283,12 @@
- + + @error('jenis_penilaian_id') {{ $message }} @enderror @@ -309,20 +300,11 @@ Tim Penilai yang di tunjuk
- + + @error('teams_id') {{ $message }} @enderror @@ -335,8 +317,11 @@
@error('surveyor_id') @@ -351,8 +336,11 @@
@error('penilaian_id') {{ $message }} @@ -366,8 +354,11 @@
@error('penilai_surveyor_id') {{ $message }} @@ -482,7 +473,7 @@
@endsection @push('scripts') - + --}} - + @endpush diff --git a/resources/views/penilaian/index.blade.php b/resources/views/penilaian/index.blade.php index 0a5db4c..90ef1e3 100644 --- a/resources/views/penilaian/index.blade.php +++ b/resources/views/penilaian/index.blade.php @@ -7,13 +7,10 @@ @section('content')
-
-
- Daftar Penilaian -
+

- {{-- Daftar {{}} --}} + Daftar assignment

@@ -27,9 +24,6 @@
-
- -
diff --git a/resources/views/penilaian/otorisator/index.blade.php b/resources/views/penilaian/otorisator/index.blade.php new file mode 100644 index 0000000..be0fc59 --- /dev/null +++ b/resources/views/penilaian/otorisator/index.blade.php @@ -0,0 +1,163 @@ +@extends('layouts.main') + +{{-- @section('breadcrumbs') + {{ Breadcrumbs::render('penilaian') }} +@endsection --}} + +@section('content') +
+
+
+
+

+ Daftar {{$header}} +

+
+
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + + + +
+ + + Nomor Registrasi + + + Tanggal Permohonan + + + User Pemohon + + + Cabang Pemohon + + + Debitur + + + Tujuan Penilaian + + + Status + + Action
+
+ +
+
+
+
+@endsection + + + +@push('scripts') + + +@endpush diff --git a/resources/views/penilaian/otorisator/show.blade.php b/resources/views/penilaian/otorisator/show.blade.php new file mode 100644 index 0000000..3555a45 --- /dev/null +++ b/resources/views/penilaian/otorisator/show.blade.php @@ -0,0 +1,173 @@ +@extends('layouts.main') + +{{-- @section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection --}} + +@section('content') +
+
+
+

+ Data Permohonan +

+
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $permohonan->nomor_registrasi }} + +
+ +
+

+ Pemohon: +

+ + {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} + +
+ +
+

+ Tujan Permohonan: +

+ + {{ $permohonan->tujuanPenilaian->name }} + +
+ +
+
+ +
+
+

+ Detail Debutur +

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ Name + + {{ $permohonan->debiture->name ?? "" }} +
+ Email + + {{ $permohonan->debiture->email ?? "" }} +
+ Phone + + {{ $permohonan->debiture->phone ?? "" }} +
+ Address + + {{ $permohonan->debiture->address ?? "" }} +
+   + + {{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} +
+
+
+ + + + + + + + + + + + + + + + + +
+ Cabang + + {{ $permohonan->debiture->branch->name ?? "" }} +
+ CIF + + {{ $permohonan->debiture->cif ?? "" }} +
+ Nomor Rekening + + {{ $permohonan->debiture->nomor_rekening ?? "" }} +
+ NPWP + + {{ $permohonan->debiture->npwp ?? "" }} +
+
+
+
+
+ +
+
+

+ Laporan +

+
+ +
+ +
+
+ + @csrf +
+
+ +
+ +
+
+
+ +
+
+
+@endsection diff --git a/resources/views/registrasi/js/editjs.blade.php b/resources/views/registrasi/js/editjs.blade.php index 193ed22..b6b31e8 100644 --- a/resources/views/registrasi/js/editjs.blade.php +++ b/resources/views/registrasi/js/editjs.blade.php @@ -5,8 +5,8 @@ $(document).ready(function() { prepareForm(); }); - - function prepareForm() + + function prepareForm() { $("#registrasi_form")[0].reset(); $(":radio[name='{{ $route[0] }}_tindakan'][value='0']").attr('checked', 'checked'); @@ -16,8 +16,8 @@ // prepare data setData(); } - - function setData() + + function setData() { let id = $("#id").val(); let token = "{{ csrf_token() }}"; @@ -53,20 +53,20 @@ function setRegionList(datas, cid) { - $('#{{$route[0]}}_region').empty().append(''); - + $('#{{$route[0]}}_region').empty().append(''); + $.each(datas, function(key, value){ - + $('#{{$route[0]}}_region').append(new Option(value, key)); }); } function setJenisPenilaianList(datas, cid) { - $('#{{$route[0]}}_jenis_penilaian').empty().append(''); - + $('#{{$route[0]}}_jenis_penilaian').empty().append(''); + $.each(datas, function(key, value){ - + $('#{{$route[0]}}_jenis_penilaian').append(new Option(value, key)); }); } @@ -85,7 +85,7 @@ } else { - $("#{{$route[0]}}_jenis_penilaian option[value=0]").prop('selected', true); + $("#{{$route[0]}}_jenis_penilaian option[value=0]").prop('selected', true); $("#{{ $route[0] }}_div_jenis_pilihan").hide(); $("#{{ $route[0] }}_div_catatan").show(); } @@ -95,8 +95,8 @@ e.preventDefault(); //define variable - let token = "{{ csrf_token() }}"; - + let token = "{{ csrf_token() }}"; + let _method = $('input[name=_method]').val(); let id = $('#{{$route[0]}}_id').val(); let tindakan = $('input[name="{{$route[0]}}_tindakan"]:checked').val(); @@ -108,7 +108,7 @@ jenis_penilaian=''; if(region==0) region=''; - + var input_data = new Object(); input_data._token= token; input_data._method= _method; @@ -117,7 +117,7 @@ input_data.jenis_penilaian= jenis_penilaian; input_data.region= region; input_data.catatan = catatan; - + let useURL= '{{ route($route[0].'.update', $id) }}'; $.ajax({ url: useURL, @@ -128,7 +128,7 @@ beforeSend: function() { }, success: function(response) { - removeErrorCssMsg(); + if ('error' == response.status) { $.each(response.message, function(index, value) { @@ -137,25 +137,25 @@ $("#{{$route[0]}}_catatan").addClass(" border-danger"); $("#{{$route[0]}}_catatan_msg").text(value); } - + if ("jenis_penilaian" === index) { $("#{{$route[0]}}_jenis_penilaian").addClass(" border-danger"); $("#{{$route[0]}}_jenis_penilaian_msg").text(value); } - + if ("region" === index) { $("#{{$route[0]}}_region").addClass(" border-danger"); $("#{{$route[0]}}_region_msg").text(value); } }); - } - else + } + else { - toastr.success(response.message); - var url = "{{ route('registrasi.index') }}"; + //toastr.success(response.message); + var url = "{{ route('registrasi.index') }}"; $(location).attr('href',url); } - + }, error: function(response, textStatus, errorThrown) { // var errors = response.responseJSON.errors; @@ -168,15 +168,15 @@ } }); - // - - }); - + // + + }); + $('#{{$route[0]}}_jenis_penilaian').on('change', function (e) { - + var idNya = $('#{{$route[0]}}_jenis_penilaian').find(":selected").val(); // var textNya = $('#{{$route[0]}}_jenis_penilaian').find(":selected").text(); - + if('1'==idNya) { // INTERNAL, show region @@ -188,11 +188,11 @@ $("#{{ $route[0] }}_div_region").hide(); } }); - + /* $('#{{$route[0]}}_jenis_penilaian').on('change', function() { console.log( this.value ); }); */ -@endpush +@endpush diff --git a/resources/views/registrasi/js/showjs.blade.php b/resources/views/registrasi/js/showjs.blade.php index 97a5110..5309d38 100644 --- a/resources/views/registrasi/js/showjs.blade.php +++ b/resources/views/registrasi/js/showjs.blade.php @@ -1,16 +1,16 @@ @push('scripts') - -@endpush +@endpush diff --git a/resources/views/registrasi/show.blade.php b/resources/views/registrasi/show.blade.php index 9c66f57..d599468 100644 --- a/resources/views/registrasi/show.blade.php +++ b/resources/views/registrasi/show.blade.php @@ -1,243 +1,316 @@ @extends('layouts.main') @section('breadcrumbs') - {{ Breadcrumbs::render(request()->route()->getName()) }} + {{ Breadcrumbs::render(request()->route()->getName()) }} @endsection @php - // $route = Route::currentRouteName(); - // dd($route); registrasi.show - $route = explode('.', Route::currentRouteName()); + // $route = Route::currentRouteName(); + // dd($route); registrasi.show + $route = explode('.', Route::currentRouteName()); @endphp @section('content') -
-
-
-

- Detail Permohonan -

- -
-
-
-

- Nomor Register Permohonan: -

- - {{ $permohonan->nomor_registrasi }} - -
+
+
+
+

+ Data Permohonan +

-
-

- Pemohon: -

- - {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} - -
+ +
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $permohonan->nomor_registrasi }} + +
-
-

- Tujan Permohonan: -

- - {{ $permohonan->tujuanPenilaian->name }} - -
+
+

+ Pemohon: +

+ + {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }} + +
-
-
+
+

+ Tujan Permohonan: +

+ + {{ $permohonan->tujuanPenilaian->name }} + +
-
-
-

- Detail Debutur -

-
-
-
-
- - - - - - - - - - - - - + + - - - - - - - - -
- Name - - {{ $permohonan->debiture->name ?? "" }} -
- Email - - {{ $permohonan->debiture->email ?? "" }} -
- Phone - - {{ $permohonan->debiture->phone ?? "" }} -
- Address - - {{ $permohonan->debiture->address ?? "" }} -
-   - - {{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} -
-
-
- - - - - - - - - - - - - - - - - -
- Cabang - - {{ $permohonan->debiture->branch->name ?? "" }} -
- CIF - - {{ $permohonan->debiture->cif ?? "" }} -
- Nomor Rekening - - {{ $permohonan->debiture->nomor_rekening ?? "" }} -
- NPWP - - {{ $permohonan->debiture->npwp ?? "" }} -
-
-
-
-
+
+
+

+ Detail Debutur +

+
+
+
+
+ + + + + + + + + + + + + -
-
-

- Data Jaminan -

-
-
- @foreach($permohonan->debiture->documents as $dokumen) -
- -
+ Name + + {{ $permohonan->debiture->name ?? "" }} +
+ Email + + {{ $permohonan->debiture->email ?? "" }} +
+ Phone + + {{ $permohonan->debiture->phone ?? "" }} +
- @foreach($dokumen->detail as $detail) - - - - - - - - - - - - - @endforeach -
- {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} - - {{ $detail->name ?? "" }} -
- Dokumen Jaminan - - @if(isset($detail->dokumen_jaminan)) - {{ basename($detail->dokumen_jaminan) }} - - @endif -
- Keterangan - - {{ $detail->keterangan ?? "" }} -
-
-
-
- @endforeach -
-
-
+ + + Address + + + {{ $permohonan->debiture->address ?? "" }} + + + + +   + + + {{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} + + + +
+
+ + + + + + + + + + + + + + + + + +
+ Cabang + + {{ $permohonan->debiture->branch->name ?? "" }} +
+ CIF + + {{ $permohonan->debiture->cif ?? "" }} +
+ Nomor Rekening + + {{ $permohonan->debiture->nomor_rekening ?? "" }} +
+ NPWP + + {{ $permohonan->debiture->npwp ?? "" }} +
+
+
+
+
+
+
+

+ Data Jaminan +

+
+
+ @foreach($permohonan->debiture->documents as $dokumen) +
+ + +
+ @endforeach +
+
+ + +
+
+

+ Registrasi +

+ +
+
+
+ + @method('PUT') + @csrf + +
+ +
+    + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+
+
+
+
@endsection @include('lpj::registrasi.js.showjs') +@include('lpj::registrasi.js.editjs') diff --git a/resources/views/surveyor/detail.blade.php b/resources/views/surveyor/detail.blade.php new file mode 100644 index 0000000..885d5fb --- /dev/null +++ b/resources/views/surveyor/detail.blade.php @@ -0,0 +1,162 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render(request()->route()->getName()) }} +@endsection + +@section('content') +
+
+
+

+ Surveyor +

+
+ + Back +
+
+
+
+

+ Nomor Register Permohonan: +

+ + {{ $permohonan->nomor_registrasi }} + +
+ +
+

+ Waktu Survei: +

+ + {{ $permohonan->penilaian->tanggal_kunjungan }} + +
+ +
+

+ Keterangan: +

+ + {{ $permohonan->penilaian->keterangan }} + +
+ +
+
+ + +
+
+

+ Data Jaminan +

+
+
+ @foreach ($permohonan->debiture->documents as $dokumen) +
+ + +
+ @endforeach +
+
+ +
+ {{--
+

+ Data Jaminan +

+
--}} + +
+ +
+
+
+@endsection diff --git a/resources/views/surveyor/index.blade.php b/resources/views/surveyor/index.blade.php new file mode 100644 index 0000000..6006e88 --- /dev/null +++ b/resources/views/surveyor/index.blade.php @@ -0,0 +1,270 @@ +@extends('layouts.main') + +@section('breadcrumbs') + {{ Breadcrumbs::render('surveyor') }} +@endsection +@section('content') + +@push('styles') + +@endpush + +
+
+
+
+ Surveyor +
+
+

+ {{-- Daftar {{}} --}} +

+
+
+ +
+ + +
+
+
+ +
+ +
+
+ + + + + + + + + + + + + + + +
+ + + Nomor Registrasi + + + + Tanggal Assigned + + + + User Pemohon + + + + Cabang Pemohon + + + + Debitur + + + + Tujuan Penilaian + + + + Fasilitas Kredit + + + Action
+
+ +
+
+
+
+ + +@endsection + +@push('scripts') + +@endpush diff --git a/resources/views/teams/form.blade.php b/resources/views/teams/form.blade.php index b9569f0..ecd88c4 100644 --- a/resources/views/teams/form.blade.php +++ b/resources/views/teams/form.blade.php @@ -126,3 +126,4 @@
@endsection + diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index 37ebef7..8a2985c 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -388,6 +388,10 @@ Breadcrumbs::for('activity.show', function (BreadcrumbTrail $trail) { $trail->push('Activity activity'); }); +Breadcrumbs::for('activity.progres', function (BreadcrumbTrail $trail) { + $trail->push('Team activity'); +}); + Breadcrumbs::for('tender', function (BreadcrumbTrail $trail) { $trail->push('Tender'); }); @@ -397,9 +401,19 @@ Breadcrumbs::for('tender.penawaran', function (BreadcrumbTrail $trail) { $trail->push('Data Penawaran', route('tender.penawaran.index')); }); -Breadcrumbs::for('tender.penawaran.createPenawaran', function (BreadcrumbTrail $trail, $id) { +Breadcrumbs::for('tender.penawaran.show', function (BreadcrumbTrail $trail, $noreg) { + $trail->parent('tender'); + $trail->push('Detail Penawaran', route('tender.penawaran.show', $noreg)); +}); + +Breadcrumbs::for('tender.penawaran.createPenawaran', function (BreadcrumbTrail $trail, $noreg) { $trail->parent('tender.penawaran'); - $trail->push('Tambah Data Penawaran', route('tender.penawaran.createPenawaran', $id)); + $trail->push('Tambah Data Penawaran', route('tender.penawaran.createPenawaran', $noreg)); +}); + +Breadcrumbs::for('tender.penawaran.editPenawaran', function (BreadcrumbTrail $trail, $noreg) { + $trail->parent('tender.penawaran'); + $trail->push('Penawaran Ulang', route('tender.penawaran.editPenawaran', $noreg)); }); Breadcrumbs::for('tender.proses.penawaran', function (BreadcrumbTrail $trail) { @@ -410,10 +424,18 @@ Breadcrumbs::for('tender.proses.penawaran', function (BreadcrumbTrail $trail) { Breadcrumbs::for('tender.penawaran.ulang', function (BreadcrumbTrail $trail) { $trail->parent('tender'); - $trail->push('Data Penawaran Ulang', route('tender.penawaran_ulang.index')); + $trail->push('Data Penawaran Ulang', route('tender.penawaran.ulang.index')); +}); + +Breadcrumbs::for('surveyor', function (BreadcrumbTrail $trail) { + $trail->push('Surveyor', route('surveyor.index')); +}); + +Breadcrumbs::for('surveyor.show', function (BreadcrumbTrail $trail) { + $trail->parent('surveyor'); + $trail->push('Detail'); }); -// andy add Breadcrumbs::for('registrasi', function (BreadcrumbTrail $trail) { $trail->push('Registrasi', route('registrasi.index')); }); @@ -444,3 +466,10 @@ Breadcrumbs::for('tender.prosespenawaran.show', function (BreadcrumbTrail $trail $trail->push('Detail Data Proses Penawaran'); }); // andy add 20241009 + + + +Breadcrumbs::for('otorisator.pelaporan.index', function (BreadcrumbTrail $trail) { + $trail->parent('otorisator'); + $trail->push('Otorisator', route('otorisator.pelaporan.index')); +}); diff --git a/routes/web.php b/routes/web.php index fe70744..0dbc67f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,383 +1,102 @@ group(function () { + Route::get('api/check-penawaran/{nomor_registrasi}', [TenderController::class, 'checkPenawaranExistence']); - Route::middleware(['auth'])->group(function () { - Route::name('basicdata.')->prefix('basic-data')->group(function () { - Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () { - Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export'); - }); - Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class); - - Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () { - Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export'); - }); - Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class); - - Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () { - Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas'); - Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisJaminanController::class, 'export'])->name('export'); - }); - Route::resource('jenis-jaminan', JenisJaminanController::class); - - Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () { - Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export'); - }); - Route::resource('tujuan-penilaian', TujuanPenilaianController::class); - - Route::name('tujuan_penilaian_kjpp.')->prefix('tujuan_penilaian_kjpp')->group(function () { - Route::get('datatables', [TujuanPenilaianKJPPController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [TujuanPenilaianKJPPController::class, 'export'])->name('export'); - }); - Route::resource('tujuan_penilaian_kjpp', TujuanPenilaianKJPPController::class); - - Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { - Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); - }); - Route::resource('jenis-dokumen', JenisDokumenController::class); - Route::name('currency.')->prefix('mata-uang')->group(function () { - Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); - Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [CurrencyController::class, 'export'])->name('export'); - }); - - Route::name('debitur.')->prefix('debitur')->group(function () { - Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); - Route::get('datatables', [DebitureController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [DebitureController::class, 'export'])->name('export'); - - - Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { - Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); - Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); - Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); - Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); - Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); - Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); - Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); - }); - - Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { - Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); - Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); - Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); - Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); - Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); - Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); - }); - }); - - Route::resource('debitur', DebitureController::class); - - Route::name('branch.')->prefix('cabang')->group(function () { - Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); - Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [BranchController::class, 'export'])->name('export'); - }); - - Route::resource('cabang', BranchController::class, [ - 'names' => [ - 'index' => 'branch.index', - 'show' => 'branch.show', - 'create' => 'branch.create', - 'store' => 'branch.store', - 'edit' => 'branch.edit', - 'update' => 'branch.update', - 'destroy' => 'branch.destroy', - ], - ]); - - Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { - Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); - Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); - }); - Route::resource('nilai-plafond', NilaiPlafondController::class); - - Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); - - Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); - - Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { - Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); - Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); - }); - Route::resource('arah-mata-angin', ArahMataAnginController::class); - - - Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { - Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); - Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); - }); - Route::resource('status-permohonan', StatusPermohonanController::class); - - Route::name('region.')->prefix('region')->group(function () { - Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore'); - Route::get('datatables', [RegionController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [RegionController::class, 'export'])->name('export'); - }); - - - Route::resource('region', RegionController::class, [ - 'names' => [ - 'index' => 'region.index', - 'show' => 'region.show', - 'create' => 'region.create', - 'store' => 'region.store', - 'edit' => 'region.edit', - 'update' => 'region.update', - 'destroy' => 'region.destroy', - ], - ]); - - Route::resource('region', RegionController::class); - - - Route::name('teams.')->prefix('teams')->group(function () { - Route::get('restore/{id}', [TeamsController::class, 'restore'])->name('restore'); - Route::get('datatables', [TeamsController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [TeamsController::class, 'export'])->name('export'); - }); - - Route::resource('teams', TeamsController::class, [ - 'names' => [ - 'index' => 'teams.index', - 'show' => 'teams.show', - 'create' => 'teams.create', - 'store' => 'teams.store', - 'edit' => 'teams.edit', - 'update' => 'teams.update', - 'destroy' => 'teams.destroy', - ], - ]); - - Route::name('jenis-penilaian.')->prefix('jenis-penilaian')->group(function () { - Route::get('restore/{id}', [JenisPenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [JenisPenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisPenilaianController::class, 'export'])->name('export'); - }); - - Route::resource('jenis-penilaian', JenisPenilaianController::class, [ - 'names' => [ - 'index' => 'jenis-penilaian.index', - 'show' => 'jenis-penilaian.show', - 'create' => 'jenis-penilaian.create', - 'store' => 'jenis-penilaian.store', - 'edit' => 'jenis-penilaian.edit', - 'update' => 'jenis-penilaian.update', - 'destroy' => 'jenis-penilaian.destroy', - ], - ]); - - Route::resource('mata-uang', CurrencyController::class, [ - 'names' => [ - 'index' => 'currency.index', - 'show' => 'currency.show', - 'create' => 'currency.create', - 'store' => 'currency.store', - 'edit' => 'currency.edit', - 'update' => 'currency.update', - 'destroy' => 'currency.destroy', - ], - ]); - - Route::name('branch.')->prefix('cabang')->group(function () { - Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); - Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [BranchController::class, 'export'])->name('export'); - }); - - Route::resource('cabang', BranchController::class, [ - 'names' => [ - 'index' => 'branch.index', - 'show' => 'branch.show', - 'create' => 'branch.create', - 'store' => 'branch.store', - 'edit' => 'branch.edit', - 'update' => 'branch.update', - 'destroy' => 'branch.destroy', - ], - ]); - - Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { - Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); - Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); - }); - Route::resource('nilai-plafond', NilaiPlafondController::class); - - Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); - - Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { - Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); - Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( - 'datatables', - ); - Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); - }); - Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); - - Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { - Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); - Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); - }); - Route::resource('arah-mata-angin', ArahMataAnginController::class); - - Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { - Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); - Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); - Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); - Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); - Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); - Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); - Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); - }); - - Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { - Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); - Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); - Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); - Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); - Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); - Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); - }); - - Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { - Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); - Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); - }); - Route::resource('status-permohonan', StatusPermohonanController::class); - - // Start Activity KJPP route - Route::name('kjpp.')->prefix('kjpp')->group(function () { - Route::get('datatables', [KJPPController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [KJPPController::class, 'export'])->name('export'); - }); - - Route::resource('kjpp', KJPPController::class); - // End Activity KJPP route - - // Start Activity Ijin Usaha route - Route::name('ijin_usaha.')->prefix('ijin_usaha')->group(function () { - Route::get('datatables', [IjinUsahaController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [IjinUsahaController::class, 'export'])->name('export'); - }); - - Route::resource('ijin_usaha', IjinUsahaController::class); - // End Activity Ijin Usaha route - - // Start Activity Jenis Laporan route - Route::name('jenis_laporan.')->prefix('jenis_laporan')->group(function () { - Route::get('datatables', [JenisLaporanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [JenisLaporanController::class, 'export'])->name('export'); - }); - - Route::resource('jenis_laporan', JenisLaporanController::class); - // End Activity Jenis Laporan route - - - }); - - Route::name('permohonan.')->prefix('permohonan')->group(function () { - Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); - Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); - Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore'); - Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [PermohonanController::class, 'export'])->name('export'); - }); - - Route::resource('permohonan', PermohonanController::class); - - Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); - Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization'])->name( - 'authorization.datatables', + Route::name('basicdata.')->prefix('basic-data')->group(function () { + Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () { + Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])->name( + 'datatables', ); - Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name( - 'authorization.show', - ); - Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name( - 'authorization.update', - ); + Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export'); + }); + Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class); + + Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () { + Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export'); + }); + Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class); + + Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () { + Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas'); + Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisJaminanController::class, 'export'])->name('export'); + }); + Route::resource('jenis-jaminan', JenisJaminanController::class); + + Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () { + Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export'); + }); + Route::resource('tujuan-penilaian', TujuanPenilaianController::class); + + Route::name('tujuan_penilaian_kjpp.')->prefix('tujuan_penilaian_kjpp')->group(function () { + Route::get('datatables', [TujuanPenilaianKJPPController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [TujuanPenilaianKJPPController::class, 'export'])->name('export'); + }); + Route::resource('tujuan_penilaian_kjpp', TujuanPenilaianKJPPController::class); + + Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { + Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisDokumenController::class, 'export'])->name('export'); + }); + Route::resource('jenis-dokumen', JenisDokumenController::class); + Route::name('currency.')->prefix('mata-uang')->group(function () { + Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore'); + Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [CurrencyController::class, 'export'])->name('export'); + }); Route::name('debitur.')->prefix('debitur')->group(function () { Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); @@ -407,58 +126,284 @@ Route::resource('debitur', DebitureController::class); - Route::name('tender.')->prefix('tender')->group(function () { - // Penawaran - Route::get('penawaran', [TenderController::class, 'penawaran_index'])->name('penawaran.index'); - Route::get('penawaran/{id}/show', [TenderController::class, 'penawaran_show'])->name('penawaran.show'); - Route::get('penawaran/{id}/create', [TenderController::class, 'penawaran_create'])->name( - 'penawaran.createPenawaran', - ); - Route::post('penawaran/{id}/store', [TenderController::class, 'penawaran_store'])->name( - 'penawaran.storePenawaran', - ); - Route::post('penawaran/{id}/update', [TenderController::class, 'penawaran_store'])->name( - 'penawaran.updatePenawaran', - ); - Route::get('penawaran/exportPenawaran', [TenderController::class, 'exportPenawaran'])->name( - 'penawaran.exportPenawaran', - ); - Route::get('penawaran/datatables', [TenderController::class, 'datatablesPenawaran'])->name( - 'penawaran.datatables', - ); - - // Proses Penawaran - Route::get('proses_penawaran', [TenderController::class, 'proses_penawaran_index'])->name( - 'proses_penawaran.index', - ); - - // Penawaran Ulang - Route::get('penawaran_ulang', [TenderController::class, 'penawaran_ulang_index'])->name( - 'penawaran_ulang.index', - ); + Route::name('branch.')->prefix('cabang')->group(function () { + Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); + Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [BranchController::class, 'export'])->name('export'); }); - Route::name('penilaian.')->prefix('penilaian')->group(function () { - Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); - Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [PenilaianController::class, 'export'])->name('export'); - Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); + Route::resource('cabang', BranchController::class, [ + 'names' => [ + 'index' => 'branch.index', + 'show' => 'branch.show', + 'create' => 'branch.create', + 'store' => 'branch.store', + 'edit' => 'branch.edit', + 'update' => 'branch.update', + 'destroy' => 'branch.destroy', + ], + ]); - Route::get('/', [PenilaianController::class, 'index'])->name('index'); - Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); - Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); - Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); - Route::post('create', [PenilaianController::class, 'create'])->name('create'); - Route::post('store', [PenilaianController::class, 'store'])->name('store'); + Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { + Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); + Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); + }); + Route::resource('nilai-plafond', NilaiPlafondController::class); + + Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); + + Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); + + Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { + Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); + Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); + }); + Route::resource('arah-mata-angin', ArahMataAnginController::class); + + + Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { + Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); + }); + Route::resource('status-permohonan', StatusPermohonanController::class); + + Route::name('region.')->prefix('region')->group(function () { + Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore'); + Route::get('datatables', [RegionController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [RegionController::class, 'export'])->name('export'); }); - Route::name('activity.')->prefix('activity')->group(function () { - Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); - Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); - Route::get('export', [ActivityController::class, 'export'])->name('export'); - Route::get('/', [ActivityController::class, 'index'])->name('index'); - Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); - Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + + Route::resource('region', RegionController::class, [ + 'names' => [ + 'index' => 'region.index', + 'show' => 'region.show', + 'create' => 'region.create', + 'store' => 'region.store', + 'edit' => 'region.edit', + 'update' => 'region.update', + 'destroy' => 'region.destroy', + ], + ]); + + Route::resource('region', RegionController::class); + + + Route::name('teams.')->prefix('teams')->group(function () { + Route::get('restore/{id}', [TeamsController::class, 'restore'])->name('restore'); + Route::get('datatables', [TeamsController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [TeamsController::class, 'export'])->name('export'); + }); + + Route::resource('teams', TeamsController::class, [ + 'names' => [ + 'index' => 'teams.index', + 'show' => 'teams.show', + 'create' => 'teams.create', + 'store' => 'teams.store', + 'edit' => 'teams.edit', + 'update' => 'teams.update', + 'destroy' => 'teams.destroy', + ], + ]); + + Route::name('jenis-penilaian.')->prefix('jenis-penilaian')->group(function () { + Route::get('restore/{id}', [JenisPenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [JenisPenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisPenilaianController::class, 'export'])->name('export'); + }); + + Route::resource('jenis-penilaian', JenisPenilaianController::class, [ + 'names' => [ + 'index' => 'jenis-penilaian.index', + 'show' => 'jenis-penilaian.show', + 'create' => 'jenis-penilaian.create', + 'store' => 'jenis-penilaian.store', + 'edit' => 'jenis-penilaian.edit', + 'update' => 'jenis-penilaian.update', + 'destroy' => 'jenis-penilaian.destroy', + ], + ]); + + Route::resource('mata-uang', CurrencyController::class, [ + 'names' => [ + 'index' => 'currency.index', + 'show' => 'currency.show', + 'create' => 'currency.create', + 'store' => 'currency.store', + 'edit' => 'currency.edit', + 'update' => 'currency.update', + 'destroy' => 'currency.destroy', + ], + ]); + + Route::name('branch.')->prefix('cabang')->group(function () { + Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore'); + Route::get('datatables', [BranchController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [BranchController::class, 'export'])->name('export'); + }); + + Route::resource('cabang', BranchController::class, [ + 'names' => [ + 'index' => 'branch.index', + 'show' => 'branch.show', + 'create' => 'branch.create', + 'store' => 'branch.store', + 'edit' => 'branch.edit', + 'update' => 'branch.update', + 'destroy' => 'branch.destroy', + ], + ]); + + Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () { + Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore'); + Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [NilaiPlafondController::class, 'export'])->name('export'); + }); + Route::resource('nilai-plafond', NilaiPlafondController::class); + + Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class); + + Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () { + Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore'); + Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])->name( + 'datatables', + ); + Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export'); + }); + Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class); + + Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () { + Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore'); + Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ArahMataAnginController::class, 'export'])->name('export'); + }); + Route::resource('arah-mata-angin', ArahMataAnginController::class); + + Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { + Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); + Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); + Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); + Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); + Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); + Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); + Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); + }); + + Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { + Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); + Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); + Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); + Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); + Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); + Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); + }); + + Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () { + Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [StatusPermohonanController::class, 'export'])->name('export'); + }); + Route::resource('status-permohonan', StatusPermohonanController::class); + + // Start Activity KJPP route + Route::name('kjpp.')->prefix('kjpp')->group(function () { + Route::get('datatables', [KJPPController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [KJPPController::class, 'export'])->name('export'); + }); + + Route::resource('kjpp', KJPPController::class); + // End Activity KJPP route + + // Start Activity Ijin Usaha route + Route::name('ijin_usaha.')->prefix('ijin_usaha')->group(function () { + Route::get('datatables', [IjinUsahaController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [IjinUsahaController::class, 'export'])->name('export'); + }); + + Route::resource('ijin_usaha', IjinUsahaController::class); + // End Activity Ijin Usaha route + + // Start Activity Jenis Laporan route + Route::name('jenis_laporan.')->prefix('jenis_laporan')->group(function () { + Route::get('datatables', [JenisLaporanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [JenisLaporanController::class, 'export'])->name('export'); + }); + + Route::resource('jenis_laporan', JenisLaporanController::class); + // End Activity Jenis Laporan route + + + }); + + Route::name('permohonan.')->prefix('permohonan')->group(function () { + Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur'); + Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download'); + Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore'); + Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [PermohonanController::class, 'export'])->name('export'); + }); + + Route::resource('permohonan', PermohonanController::class); + + Route::get('authorization', [PermohonanController::class, 'authorization'])->name('authorization.index'); + Route::get('authorization/datatables', [PermohonanController::class, 'dataForAuthorization'])->name( + 'authorization.datatables', + ); + Route::get('authorization/{id}/edit', [PermohonanController::class, 'showAuthorization'])->name( + 'authorization.show', + ); + Route::put('authorization/{id}', [PermohonanController::class, 'updateAuthorization'])->name( + 'authorization.update', + ); + + Route::name('debitur.')->prefix('debitur')->group(function () { + Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore'); + Route::get('datatables', [DebitureController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [DebitureController::class, 'export'])->name('export'); + + + Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () { + Route::get('download/{dokumen}', [DokumenJaminanController::class, 'download'])->name('download'); + Route::get('/', [DokumenJaminanController::class, 'index'])->name('index'); + Route::get('create', [DokumenJaminanController::class, 'create'])->name('create'); + Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit'); + Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update'); + Route::post('store', [DokumenJaminanController::class, 'store'])->name('store'); + Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy'); + }); + + Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () { + Route::get('/', [PemilikJaminanController::class, 'index'])->name('index'); + Route::get('create', [PemilikJaminanController::class, 'create'])->name('create'); + Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit'); + Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update'); + Route::post('store', [PemilikJaminanController::class, 'store'])->name('store'); + Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy'); }); }); @@ -467,24 +412,89 @@ Route::name('tender.')->prefix('tender')->group(function () { // Penawaran Route::get('penawaran', [TenderController::class, 'penawaran_index'])->name('penawaran.index'); - Route::get('penawaran/{id}/create', [TenderController::class, 'penawaran_create'])->name('penawaran.createPenawaran'); - Route::post('penawaran/{id}/store', [TenderController::class, 'penawaran_store'])->name('penawaran.storePenawaran'); - Route::post('penawaran/{id}/update', [TenderController::class, 'penawaran_store'])->name('penawaran.updatePenawaran'); - Route::get('penawaran/exportPenawaran', [TenderController::class, 'exportPenawaran'])->name('penawaran.exportPenawaran'); - Route::get('penawaran/datatables', [TenderController::class, 'datatablesPenawaran']) - ->name('penawaran.datatables'); + Route::get('penawaran/{noreg}/show', [TenderController::class, 'penawaran_show'])->name('penawaran.show'); + Route::get('penawaran/{noreg}/create', [TenderController::class, 'penawaran_create'])->name( + 'penawaran.createPenawaran', + ); + Route::post('penawaran/{noreg}/store', [TenderController::class, 'penawaran_store'])->name( + 'penawaran.storePenawaran', + ); + Route::get('penawaran/{noreg}/edit', [TenderController::class, 'penawaran_edit'])->name( + 'penawaran.editPenawaran', + ); + Route::put('penawaran/{noreg}/update', [TenderController::class, 'penawaran_update'])->name( + 'penawaran.updatePenawaran', + ); + Route::get('penawaran/exportPenawaran', [TenderController::class, 'exportPenawaran'])->name( + 'penawaran.exportPenawaran', + ); + Route::get('penawaran/datatables', [TenderController::class, 'datatablesPenawaran'])->name( + 'penawaran.datatables', + ); + + // Penawaran Ulang + Route::get('penawaran/ulang', [TenderController::class, 'penawaran_ulang_index'])->name( + 'penawaran.ulang.index', + ); + Route::get('penawaran/ulang/datatables', [TenderController::class, 'datatablesPenawaranUlang'])->name( + 'penawaran.ulang.datatables', + ); // Proses Penawaran Route::get('proses_penawaran', [TenderController::class, 'proses_penawaran_index'])->name( 'proses_penawaran.index', ); - - // Penawaran Ulang - Route::get('penawaran_ulang', [TenderController::class, 'penawaran_ulang_index'])->name( - 'penawaran_ulang.index', - ); }); -// andy add + Route::name('penilaian.')->prefix('penilaian')->group(function () { + Route::get('restore/{id}', [PenilaianController::class, 'restore'])->name('restore'); + Route::get('datatables', [PenilaianController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [PenilaianController::class, 'export'])->name('export'); + Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']); + + Route::get('/', [PenilaianController::class, 'index'])->name('index'); + Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment'); + Route::put('{id}', [PenilaianController::class, 'update'])->name('update'); + Route::put('revisi/{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi'); + Route::post('create', [PenilaianController::class, 'create'])->name('create'); + Route::post('store', [PenilaianController::class, 'store'])->name('store'); + }); + + /** + * Route start activity + */ + + Route::name('activity.')->prefix('activity')->group(function () { + Route::get('restore/{id}', [ActivityController::class, 'restore'])->name('restore'); + Route::get('datatables', [ActivityController::class, 'dataForDatatables'])->name('datatables'); + Route::get('export', [ActivityController::class, 'export'])->name('export'); + Route::get('/', [ActivityController::class, 'index'])->name('index'); + + Route::get('/{id}/show', [ActivityController::class, 'show'])->name('show'); + Route::get('download/{id}', [ActivityController::class, 'download'])->name('download'); + Route::get('senior', [ActivityController::class, 'senior'])->name('senior'); + + Route::name('progres.')->prefix('progres')->group(function () { + Route::get('/', [ActivityController::class, 'progres_activity'])->name('index'); + Route::get('/datatables/{id}', [ActivityController::class, 'dataTablesForActivity'])->name('datatables'); + }); + + Route::get('/teams/{regionId}', [ActivityController::class, 'dataTablesForActivity']); + }); + + /** + * Route end activity + */ + + + Route::name('otorisator.')->prefix('otorisator')->group(function () { + Route::get('pelaporan', [PenilaianController::class, 'otorisator'])->name('pelaporan.index')->defaults('type', 'pelaporan'); + Route::get('pembayaran', [PenilaianController::class, 'otorisator'])->name('pembayaran.index')->defaults('type', 'pembayaran'); + Route::get('pembatalan', [PenilaianController::class, 'otorisator'])->name('pembatalan.index')->defaults('type', 'pembatalan'); + Route::get('sla', [PenilaianController::class, 'otorisator'])->name('sla.index')->defaults('type', 'sla'); + Route::get('/datatables/{otorisator}', [PenilaianController::class, 'dataForAuthorization'])->name('datatables'); + Route::get('show/{id}', [PenilaianController::class, 'show'])->name('show'); + }); +}); + require __DIR__ . '/registrasi.php'; -// andy add