diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php
index 6a4c032..c51457b 100644
--- a/app/Helpers/Lpj.php
+++ b/app/Helpers/Lpj.php
@@ -1,6 +1,8 @@
province) ? $alamat->province->name . ', ' : '') .
($alamat->postal_code ?? '');
}
+
+// andy add
+function checkActiveDateRangePenawaran($id)
+{
+ $penawaran = PenawaranTender::find($id);
+
+ $start_date = strtotime($penawaran->start_date);
+ $end_date = strtotime($penawaran->end_date);
+ $todays_date = strtotime(now());
+
+ $allow = true;
+ if ($todays_date >= $start_date && $todays_date <= $end_date) {
+ //Penawaran dibuka
+ $allow = true;
+ } else {
+ if ($todays_date < $start_date) {
+ //Penawaran Belum dibuka
+ $allow = true;
+ } else {
+ //Penawaran sudah ditutup
+ $allow = false;
+ }
+ }
+
+ return $allow;
+}
+
+function checkKelengkapanDetailKJPP($id)
+{
+ $allow = true;
+ // DB::enableQueryLog();
+ // detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap?
+ $query = PenawaranDetailTender::select('id')
+ ->where('penawaran_id', '=', $id)
+ ->where(function ($query) {
+ $query->orWhere('biaya_penawaran', '', "");
+ $query->orWhereNull('biaya_penawaran');
+
+ $query->orWhere('attachment', '', "");
+ $query->orWhereNull('attachment');
+
+ $query->orWhere('dokumen_persetujuan', '', "");
+ $query->orWhereNull('dokumen_persetujuan');
+ })->get();
+ // $sql = DB::getQueryLog();
+
+
+ if (sizeof($query) > 0) {
+ $allow = false;
+ }
+
+ return $allow;
+}
+
+// convert
+function convertSlug($slug) {
+
+ $words = explode('-', $slug);
+
+ foreach ($words as $index => $word) {
+ $words[$index] = strtoupper($word);
+ }
+
+ return implode(' ', $words);
+}
+// andy add
+
diff --git a/app/Http/Controllers/OtorisasiPenawaranController.php b/app/Http/Controllers/OtorisasiPenawaranController.php
new file mode 100644
index 0000000..91762f2
--- /dev/null
+++ b/app/Http/Controllers/OtorisasiPenawaranController.php
@@ -0,0 +1,290 @@
+user) || !$this->user->can('debitur.view')) {
+ //abort(403, 'Sorry! You are not allowed to view users.');
+ }
+
+ // Retrieve data from the database
+ $query =PenawaranTender::query()
+ ->select('penawaran.*',DB::raw("CONCAT(DATE_FORMAT(penawaran.start_date, '%d %M %Y'), ' - ', DATE_FORMAT(penawaran.end_date, '%d %M %Y')) AS date_range"), 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name')
+ ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id')
+ ->where('penawaran.status','=','persetujuan-penawaran')
+ ->withCount('penawarandetails');
+
+ // 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->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();
+ $data = $query->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 edit($id)
+ {
+ return view('lpj::otorisasipenawaran.edit', compact('id'));
+ }
+
+ public function setData(Request $request): JsonResponse
+ {
+ $data = array();
+ $penawaran = array();
+ $penawrandetails = array();
+ $penawarandetailLogs = array();
+
+ if (request()->ajax()) {
+ $id = $request->id;
+ $penawaran = PenawaranTender::where('status','=','persetujuan-penawaran')->find($id);
+
+ if ($penawaran) {
+ $penawarandetailLogs = PenawaranDetailTenderLog::where('penawaran_id',$id)
+ ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran_logs.kjpp_rekanan_id')
+ ->select('detail_penawaran_logs.*', DB::raw("DATE_FORMAT(detail_penawaran_logs.created_at, '%d-%m-%Y %H:%i') AS created_at2"),'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
+ ->get();
+ $penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id)
+ ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id')
+ ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
+ ->where('detail_penawaran.status','=',1)
+ ->get();
+
+ if(sizeof($penawarandetailLogs)>0)
+ {
+ $h=0;
+ foreach($penawarandetailLogs as $obj1)
+ {
+ if($obj1->dokumen_persetujuan && Storage::disk('public')->exists($obj1->dokumen_persetujuan))
+ {
+ $penawarandetailLogs_path = Storage::url($obj1->dokumen_persetujuan);
+ $penawarandetailLogs[$h]->dokumen_persetujuan = $penawarandetailLogs_path;
+ }
+ $h++;
+ }
+
+ }
+
+ $i=0;
+ foreach($penawrandetails as $obj)
+ {
+ if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan))
+ {
+ $penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
+ $penawrandetails[$i]->dokumen_persetujuan = $penawrandetails_path;
+
+ }
+ $i++;
+ }
+
+ $penawaranString = "";
+ if($penawaran->status)
+ {
+ $penawaranString = convertSlug($penawaran->status);
+ $penawaran->status = $penawaranString;
+ }
+
+ $kjpp=null;
+ $kjpp = KJPP::pluck('name', 'id');
+ $data['penawaran'] = $penawaran;
+ $data['penawrandetails'] = $penawrandetails;
+ $data['penawarandetailLogs'] = $penawarandetailLogs;
+ $data['status'] = 'success';
+ $data['message']['message_success'] = array("data successfully found");
+ } else {
+ $data['status'] = 'error';
+ $data['penawaran'] = null;
+ $data['penawrandetails'] = null;
+ $data['message']['message_data'] = array("data not found");
+ }
+ } else {
+ $data['status'] = 'error';
+ $data['message']['message_ajax'] = array("no ajax request");
+ }
+
+ return response()->json($data);
+ }
+
+ public function otorisasiPenawaranKJPP(Request $request, $id): JsonResponse
+ {
+ $data = array();
+ $dataDetailPenawaranLog=[];
+ if (request()->ajax()) {
+
+ // cek masa aktif penawaran
+ $detailpenawaran = PenawaranDetailTender::find($id);
+ $penawaran = PenawaranTender::findOrFail($detailpenawaran->penawaran_id);
+ $checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
+ // cek masa aktif penawaran
+ if($checkActiveDateRange)
+ {
+ DB::beginTransaction();
+ try {
+
+ // update status KJPP yg tidak terpilih menjadi 2 -> kalah
+ // update status Penawaran menjadi SPK
+ // update status Permohonan menjadi SPK
+ // insert detail_permohonan_log
+
+ PenawaranDetailTender::where('status', 1)
+ ->where('penawaran_id', $request->penawaran_id)
+ ->whereNotIn('id', [$id])
+ ->update(['status' => 2,
+ 'updated_by' => Auth::id(),
+ 'updated_at' => now()
+ ]);
+
+ PenawaranTender::where('id', $request->penawaran_id)
+ ->update(['status'=>'spk',
+ 'nama_kjpp_sebelumnya'=>$request->kjppName,
+ 'biaya_kjpp_sebelumnya'=>$request->biaya_penawaran,
+ 'tanggal_penilaian_sebelumnya'=>now(),
+ 'authorized_status'=>1,
+ 'authorized_at'=>now(),
+ 'authorized_by'=>Auth::id(),
+ 'updated_by' => Auth::id(),
+ 'updated_at' => now()
+ ]);
+
+ Permohonan::where('nomor_registrasi',$request->noReg)
+ ->update(['status'=>'spk',
+ 'updated_by' => Auth::id(),
+ 'updated_at' => now()
+ ]);
+
+ // log
+ $detailPenawaran = PenawaranDetailTender::where('penawaran_id', $request->penawaran_id)->get();
+ if(sizeof($detailPenawaran)>0)
+ {
+
+ foreach ($detailPenawaran as $model) {
+ array_push($dataDetailPenawaranLog, [
+ 'detail_penawaran_id' =>$model->id,
+ 'kjpp_rekanan_id' =>$model->kjpp_rekanan_id,
+ 'penawaran_id' =>$model->penawaran_id,
+ 'biaya_penawaran' =>$model->biaya_penawaran,
+ 'attachment' =>$model->attachment,
+ 'dokumen_persetujuan' =>$model->dokumen_persetujuan,
+ 'status' =>$model->status,
+ 'authorized_status' =>$model->authorized_status,
+ 'authorized_at' =>$model->authorized_at,
+ 'authorized_at' =>$model->authorized_at,
+ 'created_at' =>$model->created_at,
+ 'updated_at' =>$model->updated_at,
+ 'deleted_at' =>$model->deleted_at,
+ 'created_by' =>$model->created_by,
+ 'updated_by' =>$model->updated_by,
+ 'deleted_by' =>$model->deleted_by
+ ]);
+
+ }
+
+ PenawaranDetailTenderLog::insert($dataDetailPenawaranLog);
+ }
+ // log
+
+ DB::commit();
+ $data['status'] = 'success';
+ $data['message']['message_success'] = array('Otorisasi Penawaran KJPP '.$request->kjppName.' successfully');
+ } catch (Exception $e) {
+ DB::rollBack();
+ $data['status'] = 'error';
+ $data['message']['message_error'] = array("Otorisasi Penawaran KJPP failed..");
+ }
+ }
+ else
+ {
+ $data['status'] = 'error';
+ $data['message'] ['active_date_range'] = array("Penawaran sudah di tutup");
+ }
+
+ } else {
+ $data['status'] = 'error';
+ $data['message']['message_ajax'] = array("no ajax request");
+ }
+ return response()->json($data);
+ }
+
+ public function show($id)
+ {
+ $prosespenawaran = PenawaranTender::find($id);
+ return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran'));
+ }
+}
diff --git a/app/Http/Controllers/ProsesPenawaranController.php b/app/Http/Controllers/ProsesPenawaranController.php
index 9063533..a37669b 100644
--- a/app/Http/Controllers/ProsesPenawaranController.php
+++ b/app/Http/Controllers/ProsesPenawaranController.php
@@ -108,37 +108,39 @@ class ProsesPenawaranController extends Controller
if (request()->ajax()) {
$id = $request->id;
- $penawaran = PenawaranTender::findOrFail($id);
- $penawrandetails = PenawaranDetailTender::where('penawaran_id', '=', $id)
- ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id')
- ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
- ->where('detail_penawaran.status', '=', 1)
- ->get();
- $data['status'] = 'success';
+ $penawaran = PenawaranTender::find($id);
+ $penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id)
+ ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id')
+ ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
+ ->where('detail_penawaran.status','=',1)
+ ->get();
+
if ($penawaran) {
- $i = 0;
- foreach ($penawrandetails as $obj) {
- // dd($obj->dokumen_persetujuan);
- if ($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) {
+
+ $i=0;
+ foreach($penawrandetails as $obj)
+ {
+ if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan))
+ {
$penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
- $penawrandetails[$i]->dokumen_persetujuan = $penawrandetails_path;
- $i++;
+ $penawrandetails[$i]['dokumen_persetujuan']=$penawrandetails_path;
}
+ $i++;
}
- $kjpp = null;
- $kjpp = KJPP::pluck('name', 'id');
$data['penawaran'] = $penawaran;
$data['penawrandetails'] = $penawrandetails;
- $data['message'] = 'data successfully found';
+ $data['status'] = 'success';
+ $data['message'] ['message_success'] = array("data successfully found");
} else {
$data['penawaran'] = null;
$data['penawrandetails'] = null;
- $data['message'] = 'data not found';
+ $data['status'] = 'error';
+ $data['message'] ['message_data'] = array("data not found");
}
} else {
$data['status'] = 'error';
- $data['message'] = 'no ajax request';
+ $data['message'] ['message_ajax'] = array("no ajax request");
}
return response()->json($data);
@@ -151,62 +153,71 @@ class ProsesPenawaranController extends Controller
{
// init
$data = array();
- $dataku = array();
- $tindakan = null;
+ $dataPenawaranDetail = array();
if (request()->ajax()) {
$validator = ProsesPenawaranController::rulesEditnya($request, $id);
-
+
if ($validator['fails']) {
$data['message'] = $validator['errors'];
$data['status'] = 'error';
- } else {
+ }
+ else
+ {
try {
- $dataku = [
- 'updated_by' => Auth::id(),
- 'updated_at' => now(),
- 'biaya_penawaran' => str_replace(".", "", $request->biaya_penawaran)
- ];
+ $dataPenawaranDetail = ['updated_by' => Auth::id(),
+ 'updated_at' => now(),
+ 'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
+ ];
- if ($request->hasFile('dokumen_persetujuan')) {
+ if ($request->hasFile('dokumen_persetujuan'))
+ {
$file_tmp = $request->file('dokumen_persetujuan');
$folderPath = 'uploads/penawaran/';
- if ($file_tmp->isValid()) {
- $myFile = $file_tmp->getClientOriginalName(); // nama file with extension
+ if ($file_tmp->isValid())
+ {
+ $myFile=$file_tmp->getClientOriginalName(); // nama file with extension
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
$extension = $file_tmp->getClientOriginalExtension();
// kjppID_penawaranID_namaFile_userID_time
- $newFileName = $request->kjpp_rekanan_id . '_' . $id . '_' . $file_name . '_' . Auth::user()->id . "_" . time() . '.' . $extension;
- Storage::disk('public')->put($folderPath . '/' . $newFileName, file_get_contents($file_tmp));
+ $newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
+ Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
$newFileNameWithPath = $folderPath . $newFileName;
- $dataku['attachment'] = $myFile;
- $dataku['dokumen_persetujuan'] = $newFileNameWithPath;
+ $dataPenawaranDetail['attachment'] = $myFile;
+ $dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
- $model = PenawaranDetailTender::findOrFail($id);
- $model->update($dataku);
+ $penawarandetail = PenawaranDetailTender::findOrFail($id);
+ $penawarandetail->update($dataPenawaranDetail);
- $data['status'] = 'success';
$data['detailpenawaran_id'] = $id;
- $data['message'] = 'Proses Penawarn KJPP successfully';
- } else {
- $data['status'] = 'error';
- $data['message'] = 'Silahkan upload file pdf';
+ $data['status'] = 'success';
+ $data['message'] ['message_success'] = array('Proses Penawarn KJPP successfully');
+ }
+ else
+ {
+ $data['status'] = 'error';
+ $data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
}
- } else {
- $data['status'] = 'error';
- $data['message'] = 'Silahkan upload file';
}
+ else
+ {
+ $data['status'] = 'error';
+ $data['message'] ['check_file'] = array("Silahkan upload file");
+
+ }
+
} catch (Exception $e) {
-
+
$data['status'] = 'error';
- $data['message'] = 'Proses Penawarn KJPP failed.';
+ $data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
}
}
+
} else {
$data['status'] = 'error';
- $data['message'] = 'no ajax request';
+ $data['message'] ['message_ajax'] = array("no ajax request");
}
return response()->json($data);
@@ -240,134 +251,91 @@ class ProsesPenawaranController extends Controller
*/
public function updateAll(Request $request, $id): JsonResponse
{
- // init
- $data = array();
- $dataku = array();
- $model = PenawaranTender::findOrFail($id);
- $checkActiveDateRange = $this->checkActiveDateRangePenawaran($model->start_date, $model->end_date);
-
- // cek masa aktif penawaran
- if ($checkActiveDateRange) {
-
- $checkKelengkapanDetailKJPP = $this->checkKelengkapanDetailKJPP($id);
- if ($checkKelengkapanDetailKJPP) {
- DB::beginTransaction();
- try {
- $dataku = [
- 'status' => 'tendered',
- 'updated_by' => Auth::id(),
- 'updated_at' => now()
- ];
-
- $dataPermohonan = [
- 'status' => 'tendered',
- 'updated_by' => Auth::id(),
- 'updated_at' => now()
- ];
-
- $permohonan = Permohonan::where('nomor_registrasi', '=', $model->nomor_registrasi)->first();
-
- $model->update($dataku);
- $permohonan->update($dataPermohonan);
-
- DB::commit();
-
- $data['message'] = "Sukses melakukan Proses Penawaran";
- $data['status'] = 'success';
- } catch (Exception $e) {
- DB::rollBack();
- // dd($e);
- $data['message'] = "Gagal melakukan Proses Penawaran";
- $data['status'] = 'error';
- }
- } else {
- $data['message'] = "Silahkan lengkapi data KJPP";
- $data['status'] = 'error';
- }
- } else {
- $data['message'] = "Penawaran sudah di tutup";
- $data['status'] = 'error';
- }
-
- return response()->json($data);
+ // init
+ $data = array();
+ $dataPermohonan = array();
+ $dataPenawaran = array();
+ $penawaran = PenawaranTender::find($id);
+ $checkActiveDateRange = checkActiveDateRangePenawaran($id);
+
+ // cek masa aktif penawaran
+ if($checkActiveDateRange)
+ {
+
+ $checkKelengkapanDetailKJPP = checkKelengkapanDetailKJPP($id);
+ if($checkKelengkapanDetailKJPP)
+ {
+ DB::beginTransaction();
+ try {
+ $dataPenawaran = ['status' => 'persetujuan-penawaran',
+ 'updated_by' => Auth::id(),
+ 'updated_at' => now()
+ ];
+
+ $dataPermohonan = ['status' => 'persetujuan-penawaran',
+ 'updated_by' => Auth::id(),
+ 'updated_at' => now()
+ ];
+
+ $permohonan = Permohonan::where('nomor_registrasi','=', $penawaran->nomor_registrasi)->first();
+
+ $penawaran->update($dataPenawaran);
+ $permohonan->update($dataPermohonan);
+
+ DB::commit();
+
+ $data['message'] ['message_success'] = array('Sukses melakukan Proses Penawaran');
+ $data['status'] = 'success';
+
+ } catch (Exception $e) {
+ DB::rollBack();
+ // dd($e);
+ $data['message'] ['message_error_try_catch'] = array("Gagal melakukan Proses Penawaran");
+ $data['status'] = 'error';
+ }
+
+ }
+ else
+ {
+ $data['message'] ['cek_kelengkapan_data'] = array("Silahkan lengkapi data KJPP");
+ $data['status'] = 'error';
+ }
+
+ }
+ else
+ {
+ $data['message'] ['active_date_range'] = array("Penawaran sudah di tutup");
+ $data['status'] = 'error';
+ }
+
+ return response()->json($data);
}
- public function checkActiveDateRangePenawaran($start_date1, $end_date1)
- {
- $start_date = strtotime($start_date1);
- $end_date = strtotime($end_date1);
- $todays_date = strtotime(now());
-
- $allow = true;
- if ($todays_date >= $start_date && $todays_date <= $end_date) {
- //Penawaran dibuka
- $allow = true;
- } else {
- if ($todays_date < $start_date) {
- //Penawaran Belum dibuka
- $allow = true;
- } else {
- //Penawaran sudah ditutup
- $allow = false;
- }
- }
-
- return $allow;
- }
-
- public function checkKelengkapanDetailKJPP($id)
- {
- $allow = true;
- // DB::enableQueryLog();
- // detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap?
- $query = PenawaranDetailTender::select('id')
- ->where('penawaran_id', '=', $id)
- ->where(function ($query) {
- $query->orWhere('biaya_penawaran', '', "");
- $query->orWhereNull('biaya_penawaran');
-
- $query->orWhere('attachment', '', "");
- $query->orWhereNull('attachment');
-
- $query->orWhere('dokumen_persetujuan', '', "");
- $query->orWhereNull('dokumen_persetujuan');
- })->get();
- // $sql = DB::getQueryLog();
-
-
- if (sizeof($query) > 0) {
- $allow = false;
- }
-
- return $allow;
- }
-
- public function updateStatusPenawaranKJPP(Request $request, $id): JsonResponse
+ public function updateKJPPStatus(Request $request, $id): JsonResponse
{
// init
$data = array();
- $dataku = array();
+ $dataDetailPenawaran = array();
try {
- $model = PenawaranDetailTender::findOrFail($id);
- $data['id'] = $id;
+ $detailpenawaran = PenawaranDetailTender::findOrFail($id);
+ $data['id']=$id;
- $dataku = [
- 'status' => '0',
+ $dataDetailPenawaran = ['status' => '0',
'updated_by' => Auth::id(),
'updated_at' => now()
];
- $model->update($dataku);
+ $detailpenawaran->update($dataDetailPenawaran);
- $data['message'] = "Sukses delete Penawaran KJPP";
$data['status'] = 'success';
+ $data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
} catch (Exception $e) {
-
- // dd($e);
- $data['message'] = "Gagal delete Penawaran KJPP";
+
$data['status'] = 'error';
+ $data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
}
+
return response()->json($data);
}
diff --git a/app/Http/Controllers/ProsesPenawaranUlangController.php b/app/Http/Controllers/ProsesPenawaranUlangController.php
new file mode 100644
index 0000000..f34ee70
--- /dev/null
+++ b/app/Http/Controllers/ProsesPenawaranUlangController.php
@@ -0,0 +1,373 @@
+user) || !$this->user->can('debitur.view')) {
+ //abort(403, 'Sorry! You are not allowed to view users.');
+ }
+
+ // Retrieve data from the database
+ $query =PenawaranTender::query()
+ ->select('penawaran.*',DB::raw("CONCAT(DATE_FORMAT(penawaran.start_date, '%d %M %Y'), ' - ', DATE_FORMAT(penawaran.end_date, '%d %M %Y')) AS date_range"), 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name')
+ ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id')
+ ->where('penawaran.status','=','persetujuan-penawaran')
+ ->withCount('penawarandetails');
+
+ // 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->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();
+ $data = $query->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 edit($id)
+ {
+ return view('lpj::prosespenawaranulang.edit', compact('id'));
+ }
+
+ public function show($id)
+ {
+ $prosespenawaran = PenawaranTender::find($id);
+ return view('lpj::prosespenawaranulang.show', compact('id','prosespenawaran'));
+ }
+
+ public function setData(Request $request): JsonResponse
+ {
+ $data = array();
+ $penawaran = array();
+ $penawrandetails = array();
+
+ if (request()->ajax()) {
+ $id = $request->id;
+ $penawaran = PenawaranTender::where('status','=','persetujuan-penawaran')->find($id);
+
+ if ($penawaran) {
+ $penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id)
+ ->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id')
+ ->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
+ ->where('detail_penawaran.status','=',1)
+ ->get();
+
+ $i=0;
+ foreach($penawrandetails as $obj)
+ {
+ if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan))
+ {
+ $penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
+ $penawrandetails[$i]['dokumen_persetujuan']=$penawrandetails_path;
+ }
+ $i++;
+ }
+
+ $penawaranString = "";
+ if($penawaran->status)
+ {
+ $penawaranString = convertSlug($penawaran->status);
+ $penawaran->status = $penawaranString;
+ }
+
+ $data['penawaran'] = $penawaran;
+ $data['penawrandetails'] = $penawrandetails;
+ $data['status'] = 'success';
+ $data['message']['message_success'] = array("data successfully found");
+ } else {
+ $data['status'] = 'error';
+ $data['penawaran'] = null;
+ $data['penawrandetails'] = null;
+ $data['message']['message_data'] = array("data not found");
+ }
+ } else {
+ $data['status'] = 'error';
+ $data['message']['message_ajax'] = array("no ajax request");
+ }
+
+ return response()->json($data);
+ }
+
+ public function update(Request $request, $id): JsonResponse
+ {
+ // init
+ $data = array();
+ $dataDetailPenawaranLog = array();
+ $dataDetailPenawaran = array();
+ $pleaseCommit= true;
+ if (request()->ajax()) {
+ $validator = ProsesPenawaranUlangController::rulesEditnya($request, $id);
+
+ if ($validator['fails']) {
+ $data['message'] = $validator['errors'];
+ $data['status'] = 'error';
+ }
+ else
+ {
+ // cek masa aktif penawaran
+ $detailpenawaran = PenawaranDetailTender::find($id);
+ $checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
+ // cek masa aktif penawaran
+ if($checkActiveDateRange)
+ {
+ DB::beginTransaction();
+ try {
+
+ $dataDetailPenawaranLog = [
+ 'detail_penawaran_id' =>$detailpenawaran->id,
+ 'kjpp_rekanan_id' =>$detailpenawaran->kjpp_rekanan_id,
+ 'penawaran_id' =>$detailpenawaran->penawaran_id,
+ 'biaya_penawaran' =>$detailpenawaran->biaya_penawaran,
+ 'attachment' =>$detailpenawaran->attachment,
+ 'dokumen_persetujuan' =>$detailpenawaran->dokumen_persetujuan,
+ 'status' =>$detailpenawaran->status,
+ 'authorized_status' =>$detailpenawaran->authorized_status,
+ 'authorized_at' =>$detailpenawaran->authorized_at,
+ 'authorized_at' =>$detailpenawaran->authorized_at,
+ 'created_at' =>$detailpenawaran->created_at,
+ 'updated_at' =>$detailpenawaran->updated_at,
+ 'deleted_at' =>$detailpenawaran->deleted_at,
+ 'created_by' =>$detailpenawaran->created_by,
+ 'updated_by' =>$detailpenawaran->updated_by,
+ 'deleted_by' =>$detailpenawaran->deleted_by
+
+ ];
+
+ PenawaranDetailTenderLog::create($dataDetailPenawaranLog);
+
+ $biaya_penawaran="";
+ if($request->biaya_penawaran)
+ $biaya_penawaran= str_replace(".","",$request->biaya_penawaran);
+ $dataDetailPenawaran = ['updated_by' => Auth::id(),
+ 'updated_at' => now(),
+ 'biaya_penawaran' => $biaya_penawaran
+ ];
+
+ if ($request->hasFile('dokumen_persetujuan'))
+ {
+ $file_tmp = $request->file('dokumen_persetujuan');
+ $folderPath = 'uploads/penawaran/';
+ if ($file_tmp->isValid())
+ {
+ $myFile=$file_tmp->getClientOriginalName(); // nama file with extension
+ $file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
+
+ $extension = $file_tmp->getClientOriginalExtension();
+ // kjppID_penawaranID_namaFile_userID_time
+ $newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
+ Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
+
+ $newFileNameWithPath = $folderPath . $newFileName;
+ $dataDetailPenawaran['attachment'] = $myFile;
+ $dataDetailPenawaran['dokumen_persetujuan'] = $newFileNameWithPath;
+ }
+ else
+ {
+ $pleaseCommit=false;
+ $data['status'] = 'error';
+ $data['message']['check_file_jenis'] = array("Silahkan upload file pdf");
+ }
+ }
+ else
+ {
+ $data['status'] = 'error';
+ $data['message']['check_file'] = array("Silahkan upload file");
+
+ }
+
+ $detailpenawaran->update($dataDetailPenawaran);
+
+ if($pleaseCommit)
+ {
+ DB::commit();
+
+ $data['id'] = $id;
+ $data['detailpenawaran'] = $detailpenawaran;
+ $data['status'] = 'success';
+ $data['message']['message_success'] = array('Proses Penawarn KJPP Ulang successfully');
+ }
+ else
+ {
+ DB::rollBack();
+ $data['status'] = 'error';
+ $data['message']['message_error'] = array("Proses Penawarn KJPP Ulang failed..");
+ }
+
+ } catch (Exception $e) {
+ DB::rollBack();
+ $data['status'] = 'error';
+ $data['message']['message_error_try_catch'] = array('Proses Penawarn KJPP Ulang failed.');
+ }
+ }
+ else
+ {
+ $data['status'] = 'error';
+ $data['message']['active_date_range'] = array("Penawaran sudah di tutup");
+ }
+
+ }
+
+ } else {
+ $data['status'] = 'error';
+ $data['message']['message_ajax'] = array("no ajax request");
+ }
+
+ return response()->json($data);
+ }
+
+ // delete KJPP di detail_penawaran (status di buat 0)
+ public function updateKJPPStatus(Request $request, $id): JsonResponse
+ {
+ // init
+ $data = array();
+ $dataku = array();
+ $dataDetailPenawaranLog = array();
+
+ DB::beginTransaction();
+ try {
+ $model = PenawaranDetailTender::findOrFail($id);
+
+ // log
+ $dataDetailPenawaranLog = [
+ 'detail_penawaran_id' =>$model->id,
+ 'kjpp_rekanan_id' =>$model->kjpp_rekanan_id,
+ 'penawaran_id' =>$model->penawaran_id,
+ 'biaya_penawaran' =>$model->biaya_penawaran,
+ 'attachment' =>$model->attachment,
+ 'dokumen_persetujuan' =>$model->dokumen_persetujuan,
+ 'status' =>0,
+ 'authorized_status' =>$model->authorized_status,
+ 'authorized_at' =>$model->authorized_at,
+ 'authorized_at' =>$model->authorized_at,
+ 'created_at' =>$model->created_at,
+ 'updated_at' =>$model->updated_at,
+ 'deleted_at' =>$model->deleted_at,
+ 'created_by' =>$model->created_by,
+ 'updated_by' =>$model->updated_by,
+ 'deleted_by' =>$model->deleted_by
+
+ ];
+
+ PenawaranDetailTenderLog::create($dataDetailPenawaranLog);
+ // log
+
+ $data['id']=$id;
+
+ $dataku = ['status' => '0',
+ 'updated_by' => Auth::id(),
+ 'updated_at' => now()
+ ];
+
+ $model->update($dataku);
+
+ DB::commit();
+ $data['status'] = 'success';
+ $data['message']['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
+ } catch (Exception $e) {
+ DB::rollBack();
+ // dd($e);
+ $data['status'] = 'error';
+ $data['message']['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
+ }
+ return response()->json($data);
+ }
+
+ public function rulesEditnya($request, $id)
+ {
+ $validateIt = [
+ // 'name' diambil dari definisi parameter yang di kirim pada POST Data
+ 'biaya_penawaran' => 'required',
+ 'dokumen_persetujuan' => 'required|file|mimes:pdf'
+ ];
+
+ $messageIt = [
+ 'biaya_penawaran.required' => 'Silahkan isi Biaya Penawaran',
+ 'dokumen_persetujuan.required' => 'Silahkan isi dokumen',
+ 'dokumen_persetujuan.file' => 'Silahkan isi file',
+ 'dokumen_persetujuan.mimes' => 'Silahkan upload pdf'
+ ];
+
+ $validator = Validator::make($request->all(), $validateIt, $messageIt);
+
+ $data['fails'] = $validator->fails();
+ $data['errors'] = $validator->errors();
+
+ return $data;
+ }
+
+}
diff --git a/app/Http/Controllers/RegistrasiController.php b/app/Http/Controllers/RegistrasiController.php
index 6efb5a4..adc0f3e 100644
--- a/app/Http/Controllers/RegistrasiController.php
+++ b/app/Http/Controllers/RegistrasiController.php
@@ -114,25 +114,27 @@
if (request()->ajax()) {
$id = $request->id;
- $datas = Permohonan::findOrFail($id);
- $data['status'] = 'success';
+ $datas = Permohonan::find($id);
+
if ($datas) {
$jenisPenilaians=null;
$regions=null;
$regions=Regions::pluck('name', 'id');
$jenisPenilaians=JenisPenilaian::pluck('name', 'id');
+ $data['status'] = 'success';
$data['regions'] = $regions;
$data['jenisPenilaians'] = $jenisPenilaians;
$data['datas'] = $datas;
- $data['message'] = 'data successfully found';
+ $data['message'] ['message_success'] = array("data successfully found");
} else {
+ $data['status'] = 'error';
$data['datas'] = null;
- $data['message'] = 'data not found';
+ $data['message'] ['message_data'] = array("data not found");
}
} else {
$data['status'] = 'error';
- $data['message'] = 'no ajax request';
+ $data['message'] ['message_ajax'] = array("no ajax request");
}
return response()->json($data);
@@ -179,17 +181,17 @@
$modal->update($dataku);
//
$data['status'] = 'success';
- $data['message'] = 'Regitrasi '.$modal->nomor_registrasi.' successfully';
+ $data['message'] ['message_success'] = array('Regitrasi '.$modal->nomor_registrasi.' successfully');
} catch (Exception $e) {
$data['status'] = 'error';
- $data['message'] = 'Jenis Fasilitas Kredit updated failed.';
+ $data['message'] ['message_try_catch'] = array('Regitrasi updated failed.');
}
}
} else {
$data['status'] = 'error';
- $data['message'] = 'no ajax request';
+ $data['message'] ['message_ajax'] = array("no ajax request");
}
return response()->json($data);
@@ -245,27 +247,4 @@
return view('lpj::registrasi.show', compact('id','permohonan'));
}
- public function showData(Request $request): JsonResponse
- {
- $data = array();
- $datas = array();
-
- if (request()->ajax()) {
- $id = $request->id;
- $datas = Permohonan::findOrFail($id);
- $data['status'] = 'success';
- if ($datas) {
- $data['datas'] = $datas;
- $data['message'] = 'data successfully found';
- } else {
- $data['datas'] = null;
- $data['message'] = 'data not found';
- }
- } else {
- $data['status'] = 'error';
- $data['message'] = 'no ajax request';
- }
-
- return response()->json($data);
- }
}
diff --git a/app/Http/Controllers/RegistrasiFinalController.php b/app/Http/Controllers/RegistrasiFinalController.php
new file mode 100644
index 0000000..2561079
--- /dev/null
+++ b/app/Http/Controllers/RegistrasiFinalController.php
@@ -0,0 +1,268 @@
+user) || !$this->user->can('debitur.view')) {
+ //abort(403, 'Sorry! You are not allowed to view users.');
+ }
+
+ // Retrieve data from the database
+ $query =PenawaranTender::query()
+ ->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name')
+ ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id')
+ ->where('penawaran.status','=','spk')
+ ->withCount('penawarandetails');
+
+ // 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->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();
+ $data = $query->get();
+ // dd($data);
+ $i=0;
+ foreach($data as $obj)
+ {
+ if($obj->tanggal_penilaian_sebelumnya)
+ {
+ $data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s');
+ }
+
+ if($obj->biaya_kjpp_sebelumnya)
+ {
+ $data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya);
+
+ }
+
+ // date_range
+ if($obj->start_date && $obj->end_date)
+ {
+ $data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y').' - '.Carbon::parse($obj->end_date)->format('d M Y');
+
+ }
+
+ $i++;
+ }
+
+
+ // 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 show($id)
+ {
+ $permohonan = Permohonan::find($id);
+ return view('lpj::registrasifinal.show', compact('id','permohonan'));
+ }
+
+ public function edit($id)
+ {
+ return view('lpj::registrasifinal.edit', compact('id'));
+ }
+
+ public function setData(Request $request): JsonResponse
+ {
+ $data = array();
+ $datas = array();
+
+ if (request()->ajax()) {
+ $id = $request->id;
+ $datas = Permohonan::find($id);
+
+ if ($datas) {
+ $penawaran=null;
+ $regions=null;
+ $regions=Regions::pluck('name', 'id');
+ $penawaran = PenawaranTender::where('nomor_registrasi','=',$datas->nomor_registrasi)->first();
+
+ $penawaranString = "";
+ if($penawaran->status)
+ {
+ $penawaranString = convertSlug($penawaran->status);
+ $penawaran->status = $penawaranString;
+ }
+
+ $data['status'] = 'success';
+ $data['regions'] = $regions;
+ $data['penawaran'] = $penawaran;
+ $data['datas'] = $datas;
+ $data['message']['message_success'] = array("data successfully found");
+ } else {
+ $data['status'] = 'error';
+ $data['datas'] = null;
+ $data['message']['message_data'] = array("data not found");
+ }
+ } else {
+ $data['status'] = 'error';
+ $data['message']['message_ajax'] = array("no ajax request");
+ }
+
+ return response()->json($data);
+ }
+
+ public function update(Request $request, $id): JsonResponse
+ {
+ // init
+ $data = array();
+ $dataPermohonan = array();
+ $dataPenawaran = array();
+
+ if (request()->ajax()) {
+ $validator = RegistrasiFinalController::rulesEditnya($request, $id);
+
+ if ($validator['fails']) {
+ $data['message'] = $validator['errors'];
+ $data['status'] = 'error';
+ }
+ else
+ {
+ DB::beginTransaction();
+ try {
+
+ // update table permohonan => status (registrasi-final), region_id, keterangan, authorized_at, authorized_status, authorized_by
+ // update table penawaran => status (registrasi-final)
+ $dataPermohonan = [
+ 'status' => 'registrasi-final',
+ 'region_id' => $request->region,
+ 'keterangan' => $request->catatan,
+ 'authorized_at' => now(),
+ 'authorized_status' =>1,
+ 'authorized_by' => Auth::id()
+ ];
+
+ $dataPenawaran = ['status' => 'registrasi-final'];
+
+
+ $permohonan = Permohonan::find($id);
+ $penawaran = PenawaranTender::where('nomor_registrasi','=',$permohonan->nomor_registrasi)->first();
+
+ $permohonan->update($dataPermohonan);
+ $penawaran->update($dataPenawaran);
+ //
+ DB::commit();
+
+ $data['status'] = 'success';
+ $data['message']['message_success'] = array('Regitrasi Final '.$permohonan->nomor_registrasi.' successfully');
+ } catch (Exception $e) {
+ DB::rollBack();
+ $data['status'] = 'error';
+ $data['message']['message_try_catch'] = array('Regitrasi Final '.$permohonan->nomor_registrasi.' failed.');
+ }
+ }
+
+ } else {
+ $data['status'] = 'error';
+ $data['message']['message_ajax'] = array("no ajax request");
+ }
+
+ return response()->json($data);
+
+ }
+
+ public function rulesEditnya($request, $id)
+ {
+ $validate_catatan='';
+
+ $validateIt = [
+ // 'name' diambil dari definisi parameter yang di kirim pada POST Data
+ 'region' => 'required',
+ 'catatan' => 'required',
+ ];
+
+ $messageIt = [
+ 'region.required' => 'Silahkan pilih Region',
+ 'catatan.required' => 'Silahkan isi Catatan'
+ ];
+
+ $validator = Validator::make($request->all(), $validateIt, $messageIt);
+
+ $data['fails'] = $validator->fails();
+ $data['errors'] = $validator->errors();
+
+ return $data;
+ }
+
+ }
diff --git a/app/Models/PenawaranDetailTenderLog.php b/app/Models/PenawaranDetailTenderLog.php
new file mode 100644
index 0000000..d29ff58
--- /dev/null
+++ b/app/Models/PenawaranDetailTenderLog.php
@@ -0,0 +1,30 @@
+belongsTo(PenawaranTender::class, 'penawaran_id', 'id');
+ }
+
+ public function penawarandetail(): BelongsTo
+ {
+ return $this->belongsTo(PenawaranDetailTender::class, 'detail_penawaran_id', 'id');
+ }
+}
diff --git a/database/migrations/2024_10_15_101204_create_detail_penawaran_logs_table.php b/database/migrations/2024_10_15_101204_create_detail_penawaran_logs_table.php
new file mode 100644
index 0000000..730a0b1
--- /dev/null
+++ b/database/migrations/2024_10_15_101204_create_detail_penawaran_logs_table.php
@@ -0,0 +1,41 @@
+id();
+ $table->unsignedBigInteger('detail_penawaran_id')->nullable();
+ $table->unsignedBigInteger('kjpp_rekanan_id')->nullable();
+ $table->unsignedBigInteger('penawaran_id')->nullable();
+ $table->string('biaya_penawaran')->nullable();
+ $table->string('attachment')->nullable();
+ $table->string('dokumen_persetujuan')->nullable();
+ $table->boolean('status')->nullable();
+ $table->char('authorized_status', 1)->nullable();
+ $table->timestamp('authorized_at')->nullable();
+ $table->unsignedBigInteger('authorized_by')->nullable();
+ $table->timestamps();
+ $table->timestamp('deleted_at')->nullable();
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('detail_penawaran_logs');
+ }
+};
diff --git a/module.json b/module.json
index 427bfca..6ab8ec6 100644
--- a/module.json
+++ b/module.json
@@ -61,9 +61,45 @@
"attributes": [],
"permission": "",
"roles": ["administrator", "admin"]
+ },
+ {
+ "title": "Data Proses Penawaran Ulang",
+ "path": "tender.prosespenawaranulang",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": ["administrator", "admin"]
}
]
},
+ {
+ "title": "Otorisasi Tender",
+ "path": "otorisasitender",
+ "icon": "ki-filled ki-category text-lg",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": ["administrator", "admin"],
+ "sub": [
+ {
+ "title": "Otorisasi Penawaran",
+ "path": "otorisasitender.penawaran",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": ["administrator", "admin"]
+ }
+ ]
+ },
+ {
+ "title": "Registrasi Final",
+ "path": "registrasifinal",
+ "icon": "ki-filled ki-file-added text-lg",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": ["administrator", "admin"]
+ },
{
"title": "Pembatalan",
"path": "",
@@ -325,7 +361,7 @@
"classes": "",
"attributes": [],
"permission": "",
- "roles": ["Administrator", "admin"]
+ "roles": ["administrator", "admin"]
},
{
"title": "Tujuan Penilaian KJPP",
diff --git a/resources/views/assetsku/includenya.blade.php b/resources/views/assetsku/includenya.blade.php
index f646e05..e386f39 100644
--- a/resources/views/assetsku/includenya.blade.php
+++ b/resources/views/assetsku/includenya.blade.php
@@ -1,4 +1,45 @@
-
diff --git a/resources/views/otorisasipenawaran/edit.blade.php b/resources/views/otorisasipenawaran/edit.blade.php
new file mode 100644
index 0000000..2940e0c
--- /dev/null
+++ b/resources/views/otorisasipenawaran/edit.blade.php
@@ -0,0 +1,121 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+@php
+ // $route = Route::currentRouteName();
+ // dd($route);
+ $route = explode('.', Route::currentRouteName());
+@endphp
+
+@section('content')
+
+
+
+
+
+
+
+ Nomor Register Permohonan:
+
+
+
+
+
+
+
+
+ Kode Penawaran:
+
+
+
+
+
+
+
+
+ Status Penawaran:
+
+
+
+
+
+
+
+
+
+
+
+@endsection
+@include('lpj::otorisasipenawaran.js.editjs')
\ No newline at end of file
diff --git a/resources/views/otorisasipenawaran/index.blade.php b/resources/views/otorisasipenawaran/index.blade.php
new file mode 100644
index 0000000..5156678
--- /dev/null
+++ b/resources/views/otorisasipenawaran/index.blade.php
@@ -0,0 +1,151 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render('otorisasitender.penawaran') }}
+@endsection
+
+@section('content')
+
+@endsection
+
+@push('scripts')
+
+
+@endpush
diff --git a/resources/views/otorisasipenawaran/js/editextjs.blade.php b/resources/views/otorisasipenawaran/js/editextjs.blade.php
new file mode 100644
index 0000000..cbf9ffa
--- /dev/null
+++ b/resources/views/otorisasipenawaran/js/editextjs.blade.php
@@ -0,0 +1,94 @@
+
\ No newline at end of file
diff --git a/resources/views/otorisasipenawaran/js/editjs.blade.php b/resources/views/otorisasipenawaran/js/editjs.blade.php
new file mode 100644
index 0000000..cc67d20
--- /dev/null
+++ b/resources/views/otorisasipenawaran/js/editjs.blade.php
@@ -0,0 +1,188 @@
+@push('scripts')
+ @include('lpj::assetsku.includenya')
+ @include('lpj::otorisasipenawaran.js.editextjs')
+
+@endpush
\ No newline at end of file
diff --git a/resources/views/otorisasipenawaran/show.blade.php b/resources/views/otorisasipenawaran/show.blade.php
new file mode 100644
index 0000000..0e6d2e1
--- /dev/null
+++ b/resources/views/otorisasipenawaran/show.blade.php
@@ -0,0 +1,43 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+@php
+ $route = explode('.', Route::currentRouteName());
+@endphp
+@section('content')
+
+
+
+
+
+
+ Nomor Register Permohonan:
+
+
+ {{ $prosespenawaran->nomor_registrasi }}
+
+
+
+
+ Kode Penawaran:
+
+
+ {{ $prosespenawaran->code }}
+
+
+
+
+
+
+
+@endsection
diff --git a/resources/views/prosespenawaran/js/editextjs.blade.php b/resources/views/prosespenawaran/js/editextjs.blade.php
index cc9580e..93f12e4 100644
--- a/resources/views/prosespenawaran/js/editextjs.blade.php
+++ b/resources/views/prosespenawaran/js/editextjs.blade.php
@@ -1,147 +1,155 @@
\ No newline at end of file
+
+ }
+
+ function deleteData(data, kjppName) {
+ Swal.fire({
+ title: 'Are you sure?',
+ text: "You won't be able to revert KJPP "+kjppName+"!",
+ icon: 'warning',
+ showCancelButton: true,
+ confirmButtonColor: '#3085d6',
+ cancelButtonColor: '#d33',
+ confirmButtonText: 'Yes, delete it!'
+ }).then((result) => {
+ if (result.isConfirmed) {
+
+ //define variable
+ let token = "{{ csrf_token() }}";
+ let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus','') }}/"+data;
+ var input_data = new Object();
+ input_data._token = token;
+ input_data.id =data;
+ input_data.kjppName =kjppName;
+ $.ajax({
+ url: useURL,
+ type: "PUT",
+ cache: false,
+ data: input_data,
+ dataType: "json",
+ success: function(response) {
+
+ if('success' == response.status)
+ {
+ swal.fire('Deleted!', response.message.message_success[0], 'success').then(() => {
+ window.location.reload();
+ });
+ }
+ else
+ {
+ Swal.fire('Error!', response.message.message_error_try_catch[0], 'error');
+ }
+
+
+ },
+ error: function(response, textStatus, errorThrown) {
+ // var errors = response.responseJSON.errors;
+ // console.log(errors);
+ console.log(response);
+
+ }
+ });
+
+ }
+ })
+ }
+
+
+
\ No newline at end of file
diff --git a/resources/views/prosespenawaran/js/editjs.blade.php b/resources/views/prosespenawaran/js/editjs.blade.php
index fb460fd..58dd528 100644
--- a/resources/views/prosespenawaran/js/editjs.blade.php
+++ b/resources/views/prosespenawaran/js/editjs.blade.php
@@ -33,11 +33,18 @@
// }
},
success: function(response) {
- console.log(response);
-
- $("#textReg").text(response.penawaran.nomor_registrasi);
- $("#textCodePenawaran").text(response.penawaran.code);
- setTablesKJPP1(response.penawrandetails);
+
+ if ('success' == response.status)
+ {
+ $("#textReg").text(response.penawaran.nomor_registrasi);
+ $("#textCodePenawaran").text(response.penawaran.code);
+ setTablesKJPP1(response.penawrandetails);
+ }
+ else if('error' == response.status)
+ {
+ var message = response.message;
+ toastrku("error", message);
+ }
},
error: function(xhr) {
},
@@ -62,16 +69,21 @@
var markup = '';
markup +='| '+i+' | ';
markup +=' | ';
- markup +='Rp. | ';
+ markup +='Rp. | ';
markup +=''+htmlDokumenPersetujuanDownload+' | ';
markup +='';
markup +=' ';
- markup +=' ';
+ markup +=' ';
markup +=' | ';
markup += '
';
$('#tbodyKJPP1').append(markup);
- $("#{{$route[1]}}_biayaPenawaran_"+value.id).val(tandaPemisahTitik(biaya_penawaran));
+
+ // pengecekan kondisi format number
+ var biaya_penawaran_format = "";
+ if(biaya_penawaran)
+ biaya_penawaran_format=tandaPemisahTitik(biaya_penawaran);
+ $("#{{$route[1]}}_biayaPenawaran_"+value.id).val(biaya_penawaran_format);
i++;
});
}
@@ -92,7 +104,7 @@
}
});
- // update penawaran & permohonan status
+ // updateAll penawaran & permohonan status
$("#{{$route[1]}}_toEdit").click(function(e) {
e.preventDefault();
@@ -110,19 +122,24 @@
data: input_data,
dataType: "json",
success: function(response) {
- console.log(response);
- if('success' == response.status)
- {
- toastr.success(response.message);
- setTimeout(function () {
+
+ if ('success' == response.status)
+ {
+ // toastr.success(response.message);
+ // success
+ var message = response.message;
+ toastrku("success", message);
+ setTimeout(function () {
var url = "{{ route('tender.prosespenawaran.index') }}";
$(location).attr('href',url);
- // window.location.href = "https://www.newurl.com";
}, 2000);
+
+ }
+ else if('error' == response.status)
+ {
+ var message = response.message;
+ toastrku("error", message);
}
- else
- toastr.error(_data.message);
-
},
error: function(response, textStatus, errorThrown) {
// var errors = response.responseJSON.errors;
@@ -131,6 +148,7 @@
}
});
- });
+ });
+
@endpush
\ No newline at end of file
diff --git a/resources/views/prosespenawaranulang/edit.blade.php b/resources/views/prosespenawaranulang/edit.blade.php
new file mode 100644
index 0000000..79e5e79
--- /dev/null
+++ b/resources/views/prosespenawaranulang/edit.blade.php
@@ -0,0 +1,92 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+@php
+ // $route = Route::currentRouteName();
+ // dd($route);
+ $route = explode('.', Route::currentRouteName());
+@endphp
+
+@section('content')
+
+
+
+
+
+
+
+ Nomor Register Permohonan:
+
+
+
+
+
+
+
+
+ Kode Penawaran:
+
+
+
+
+
+
+
+
+ Status Penawaran:
+
+
+
+
+
+
+
+
+
+
+@endsection
+@include('lpj::prosespenawaranulang.js.editjs')
\ No newline at end of file
diff --git a/resources/views/prosespenawaranulang/index.blade.php b/resources/views/prosespenawaranulang/index.blade.php
new file mode 100644
index 0000000..86b7c77
--- /dev/null
+++ b/resources/views/prosespenawaranulang/index.blade.php
@@ -0,0 +1,152 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render('tender.prosespenawaranulang') }}
+@endsection
+
+@section('content')
+
+@endsection
+
+@push('scripts')
+
+
+@endpush
diff --git a/resources/views/prosespenawaranulang/js/editextjs.blade.php b/resources/views/prosespenawaranulang/js/editextjs.blade.php
new file mode 100644
index 0000000..1e17943
--- /dev/null
+++ b/resources/views/prosespenawaranulang/js/editextjs.blade.php
@@ -0,0 +1,152 @@
+
\ No newline at end of file
diff --git a/resources/views/prosespenawaranulang/js/editjs.blade.php b/resources/views/prosespenawaranulang/js/editjs.blade.php
new file mode 100644
index 0000000..7d8d9da
--- /dev/null
+++ b/resources/views/prosespenawaranulang/js/editjs.blade.php
@@ -0,0 +1,112 @@
+@push('scripts')
+ @include('lpj::assetsku.includenya')
+ @include('lpj::prosespenawaranulang.js.editextjs')
+
+@endpush
\ No newline at end of file
diff --git a/resources/views/prosespenawaranulang/show.blade.php b/resources/views/prosespenawaranulang/show.blade.php
new file mode 100644
index 0000000..74a361e
--- /dev/null
+++ b/resources/views/prosespenawaranulang/show.blade.php
@@ -0,0 +1,43 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+@php
+ $route = explode('.', Route::currentRouteName());
+@endphp
+@section('content')
+
+
+
+
+
+
+ Nomor Register Permohonan:
+
+
+ {{ $prosespenawaran->nomor_registrasi }}
+
+
+
+
+ Kode Penawaran:
+
+
+ {{ $prosespenawaran->code }}
+
+
+
+
+
+
+
+@endsection
diff --git a/resources/views/registrasi/js/editjs.blade.php b/resources/views/registrasi/js/editjs.blade.php
index b6b31e8..1863f78 100644
--- a/resources/views/registrasi/js/editjs.blade.php
+++ b/resources/views/registrasi/js/editjs.blade.php
@@ -38,11 +38,23 @@
// }
},
success: function(response) {
- console.log(response);
+
+ if ('success' == response.status)
+ {
+ $("#textReg").text(response.datas.nomor_registrasi);
+ setJenisPenilaianList(response.jenisPenilaians,0);
+ setRegionList(response.regions,0);
- $("#textReg").text(response.datas.nomor_registrasi);
- setJenisPenilaianList(response.jenisPenilaians,0);
- setRegionList(response.regions,0);
+ // success
+ // var message = response.message;
+ // toastrku("success", message);
+
+ }
+ else if('error' == response.status)
+ {
+ var message = response.message;
+ toastrku("error", message);
+ }
},
error: function(xhr) {
},
@@ -152,8 +164,14 @@
else
{
//toastr.success(response.message);
- var url = "{{ route('registrasi.index') }}";
- $(location).attr('href',url);
+ var message = response.message;
+ toastrku("success", message);
+
+ setTimeout(function () {
+ var url = "{{ route('registrasi.index') }}";
+ $(location).attr('href',url);
+ // window.location.href = "https://www.newurl.com";
+ }, 2000);
}
},
@@ -189,10 +207,5 @@
}
});
- /*
- $('#{{$route[0]}}_jenis_penilaian').on('change', function() {
- console.log( this.value );
- });
- */
@endpush
diff --git a/resources/views/registrasi/show.blade.php b/resources/views/registrasi/show.blade.php
index d599468..0b92b7e 100644
--- a/resources/views/registrasi/show.blade.php
+++ b/resources/views/registrasi/show.blade.php
@@ -312,5 +312,4 @@
@endsection
-@include('lpj::registrasi.js.showjs')
@include('lpj::registrasi.js.editjs')
diff --git a/resources/views/registrasifinal/edit.blade.php b/resources/views/registrasifinal/edit.blade.php
new file mode 100644
index 0000000..ddaead8
--- /dev/null
+++ b/resources/views/registrasifinal/edit.blade.php
@@ -0,0 +1,106 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+@php
+ // $route = Route::currentRouteName();
+ // dd($route);
+ $route = explode('.', Route::currentRouteName());
+@endphp
+
+@section('content')
+
+@endsection
+@include('lpj::registrasifinal.js.editjs')
diff --git a/resources/views/registrasifinal/index.blade.php b/resources/views/registrasifinal/index.blade.php
new file mode 100644
index 0000000..4e50882
--- /dev/null
+++ b/resources/views/registrasifinal/index.blade.php
@@ -0,0 +1,158 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render('registrasifinal') }}
+@endsection
+
+@section('content')
+
+@endsection
+
+@push('scripts')
+
+
+@endpush
+
diff --git a/resources/views/registrasi/js/showjs.blade.php b/resources/views/registrasifinal/js/editjs.blade.php
similarity index 56%
rename from resources/views/registrasi/js/showjs.blade.php
rename to resources/views/registrasifinal/js/editjs.blade.php
index 5309d38..9464649 100644
--- a/resources/views/registrasi/js/showjs.blade.php
+++ b/resources/views/registrasifinal/js/editjs.blade.php
@@ -1,12 +1,17 @@
@push('scripts')
-
@endpush
diff --git a/resources/views/registrasifinal/show.blade.php b/resources/views/registrasifinal/show.blade.php
new file mode 100644
index 0000000..040d1e4
--- /dev/null
+++ b/resources/views/registrasifinal/show.blade.php
@@ -0,0 +1,242 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+@php
+ // $route = Route::currentRouteName();
+ // dd($route); registrasi.show
+ $route = explode('.', Route::currentRouteName());
+@endphp
+@section('content')
+
+
+
+
+
+
+ Nomor Register Permohonan:
+
+
+ {{ $permohonan->nomor_registrasi }}
+
+
+
+
+
+ Pemohon:
+
+
+ {{ $permohonan->user->nik }} | {{ $permohonan->user->name }} | {{ $permohonan->user->branch->name }}
+
+
+
+
+
+ Tujan Permohonan:
+
+
+ {{ $permohonan->tujuanPenilaian->name }}
+
+
+
+
+
+
+
+
+
+
+
+ @foreach($permohonan->debiture->documents as $dokumen)
+
+
+
+
+
+
+ Pemilik Jaminan:
+
+
+ {{ $dokumen->pemilik->name?? "" }}
+
+
+
+
+ Jenis Jaminan:
+
+
+ {{ $dokumen->jenisJaminan->name?? "" }}
+
+
+
+
+ Hubungan Pemilik Jaminan:
+
+
+ {{ $dokumen->pemilik->hubungan_pemilik->name?? "" }}
+
+
+
+
+ Alamat Pemilik Jaminan:
+
+
+ {{ $dokumen->pemilik->address ?? ""}},
+
{{ $dokumen->pemilik->village->name ?? "" }}, {{ $dokumen->pemilik->district->name ?? "" }}, {{ $dokumen->pemilik->city->name ?? "" }}, {{ $dokumen->pemilik->province->name ?? "" }} - {{ $dokumen->pemilik->village->postal_code ?? "" }}
+
+
+
+
+
+
+ @endforeach
+
+
+
+
+@endsection
diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php
index 8e753e1..39a97be 100644
--- a/routes/breadcrumbs.php
+++ b/routes/breadcrumbs.php
@@ -482,7 +482,52 @@ Breadcrumbs::for('tender.prosespenawaran.show', function (BreadcrumbTrail $trail
$trail->push('Detail Data Proses Penawaran');
});
// andy add 20241009
+// andy add Proses Penawaran Ulang
+Breadcrumbs::for('tender.prosespenawaranulang', function (BreadcrumbTrail $trail) {
+ $trail->parent('tender');
+ $trail->push('Data Proses Penawaran Ulang', route('tender.prosespenawaranulang.index'));
+});
+Breadcrumbs::for('tender.prosespenawaranulang.edit', function (BreadcrumbTrail $trail) {
+ $trail->parent('tender.prosespenawaranulang');
+ $trail->push('Tambah Data Proses Penawaran Ulang');
+});
+
+Breadcrumbs::for('tender.prosespenawaranulang.show', function (BreadcrumbTrail $trail) {
+ $trail->parent('tender.prosespenawaranulang');
+ $trail->push('Detail Data Proses Penawaran Ulang');
+});
+// andy add Proses Penawaran Ulang
+// andy add Otorisasi Tender
+Breadcrumbs::for('otorisasitender', function (BreadcrumbTrail $trail) {
+ $trail->push('Otorisasi Tender');
+});
+Breadcrumbs::for('otorisasitender.penawaran', function (BreadcrumbTrail $trail) {
+ $trail->parent('otorisasitender');
+ $trail->push('Data Otorisasi Penawaran', route('otorisasitender.penawaran.index'));
+});
+Breadcrumbs::for('otorisasitender.penawaran.edit', function (BreadcrumbTrail $trail) {
+ $trail->parent('otorisasitender.penawaran');
+ $trail->push('Tambah Data Otorisasi Penawaran ');
+});
+Breadcrumbs::for('otorisasitender.penawaran.show', function (BreadcrumbTrail $trail) {
+ $trail->parent('otorisasitender.penawaran');
+ $trail->push('Detail Data Otorisasi Penawaran');
+});
+// andy add Otorisasi Tender
+// andy add registrasi final
+Breadcrumbs::for('registrasifinal', function (BreadcrumbTrail $trail) {
+ $trail->push('Registrasi Final', route('registrasifinal.index'));
+});
+Breadcrumbs::for('registrasifinal.show', function (BreadcrumbTrail $trail) {
+ $trail->parent('registrasifinal');
+ $trail->push('Detail Registrasi Final');
+});
+Breadcrumbs::for('registrasifinal.edit', function (BreadcrumbTrail $trail) {
+ $trail->parent('registrasifinal');
+ $trail->push('Tambah registrasifinal');
+});
+// andy add registrasi final
Breadcrumbs::for('otorisator.pelaporan.index', function (BreadcrumbTrail $trail) {
diff --git a/routes/registrasi.php b/routes/registrasi.php
index e57bb56..f8b3893 100644
--- a/routes/registrasi.php
+++ b/routes/registrasi.php
@@ -2,6 +2,9 @@
use Modules\Lpj\Http\Controllers\RegistrasiController;
use Modules\Lpj\Http\Controllers\ProsesPenawaranController;
+use Modules\Lpj\Http\Controllers\ProsesPenawaranUlangController;
+use Modules\Lpj\Http\Controllers\OtorisasiPenawaranController;
+use Modules\Lpj\Http\Controllers\RegistrasiFinalController;
Route::middleware(['auth'])->group(function () {
@@ -39,11 +42,58 @@ Route::middleware(['auth'])->group(function () {
Route::get('prosespenawaran/{prosespenawaran}/edit', 'edit')->name('prosespenawaran.edit');
+ // update one
Route::put('/prosespenawaran/{prosespenawaran}', 'update')->name('prosespenawaran.update');
- Route::put('/prosespenawaranAll/{prosespenawaran}', 'updateAll')->name('prosespenawaran.updateAll');
- Route::put('/prosespenawaranStatusKJPP/{prosespenawaran}', 'updateStatusPenawaranKJPP')->name('prosespenawaran.updateStatusPenawaranKJPP');
+ // update all
+ Route::put('/prosespenawaranAll/{prosespenawaranAll}', 'updateAll')->name('prosespenawaran.updateAll');
+ // delete KJPP, status set = 0
+ Route::put('/prosespenawaranKJPPStatus/{prosespenawaranKJPPStatus}', 'updateKJPPStatus')->name('prosespenawaran.updateKJPPStatus');
});
- });
+
+ // Proses Penawaran Ulang
+ Route::controller(ProsesPenawaranUlangController::class)->group(function(){
+ Route::get('prosespenawaranulang', 'index')->name('prosespenawaranulang.index');
+ Route::get('prosespenawaranulang/datatables', 'dataForDatatables')->name('prosespenawaranulang.datatables');
+ Route::get('prosespenawaranulang/{prosespenawaranulang}/edit', 'edit')->name('prosespenawaranulang.edit');
+
+ // show data
+ Route::get('/prosespenawaranulang/{prosespenawaranulang}', 'show')->name('prosespenawaranulang.show');
+ Route::post('prosespenawaranulang/setData', 'setData')->name('prosespenawaranulang.setData');
+
+ // update KJPP data, detail penawaran
+ Route::put('/prosespenawaranulang/{prosespenawaranulang}', 'update')->name('prosespenawaranulang.update');
+ // delete KJPP, status set = 0
+ Route::put('/prosespenawaranulangKJPPStatus/{prosespenawaranulangKJPPStatus}', 'updateKJPPStatus')->name('prosespenawaranulang.updateKJPPStatus');
+
+ });
+ });
+
+ Route::name('otorisasitender.')->prefix('otorisasitender')->group(function () {
+ Route::controller(OtorisasiPenawaranController::class)->group(function(){
+ Route::get('penawaran', 'index')->name('penawaran.index');
+ Route::get('penawaran/datatables', 'dataForDatatables')->name('penawaran.datatables');
+ Route::get('penawaran/{penawaran}/edit', 'edit')->name('penawaran.edit');
+
+ // show data
+ Route::get('/penawaran/{penawaran}', 'show')->name('penawaran.show');
+ Route::post('penawaran/setData', 'setData')->name('penawaran.setData');
+
+ // update KJPP data, detail penawaran
+ Route::put('/otorisasiPenawaranKJPP/{penawaran}', 'otorisasiPenawaranKJPP')->name('penawaran.otorisasiPenawaranKJPP');
+
+ });
+ });
+
+ Route::controller(RegistrasiFinalController::class)->group(function(){
+ Route::get('/registrasifinal', 'index')->name('registrasifinal.index');
+ Route::get('/registrasifinal/datatables', 'dataForDatatables')->name('registrasifinal.datatables');
+ Route::get('/registrasifinal/{registrasifinal}', 'show')->name('registrasifinal.show');
+
+ Route::post('registrasifinal/setData', 'setData')->name('registrasifinal.setData');
+
+ Route::get('/registrasifinal/{registrasifinal}/edit', 'edit')->name('registrasifinal.edit');
+ Route::put('/registrasifinal/{registrasifinal}', 'update')->name('registrasifinal.update');
+ });
});