diff --git a/app/Http/Controllers/SpkController.php b/app/Http/Controllers/SpkController.php index 5b4d9de..ec96a62 100644 --- a/app/Http/Controllers/SpkController.php +++ b/app/Http/Controllers/SpkController.php @@ -1,14 +1,22 @@ user) || !$this->user->can('debitur.view')) { + //abort(403, 'Sorry! You are not allowed to view users.'); + } + + // Retrieve data from the database + $query =Permohonan::query() + ->leftJoin('penawaran', 'penawaran.nomor_registrasi','=','permohonan.nomor_registrasi') + ->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id') + ->where('permohonan.status','=','spk') + ->select('penawaran.*', 'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name', 'permohonan.dokumen as dokumenSPK'); + + // 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(); + + $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 viewSpk() { // return Excel::download(new TujuanPenilaianExport, 'tujuan_penilaian.xlsx'); return view('lpj::spk.view'); } + + public function show($id) + { + $penawaran = PenawaranTender::find($id); + // return view('lpj::spk.show', compact('id','permohonan')); + } + + public function edit($id) + { + $penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id') + ->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id') + ->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id') + ->where('detail_penawaran.status','=',1) + ->where('penawaran.id','=', $id) + ->select('penawaran.*', 'detail_penawaran.attachment as attachmentku', + 'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran', + 'kjpp.name as kjpp_name', + 'kjpp.address as kjpp_address', + 'jenis_laporan.name as jenis_laporan_name' + )->first(); + + $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) + ->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id') + ->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id') + ->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name', + 'dokumen_jaminan.address as dokumen_jaminan_address'); + + $data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first(); + + return view('lpj::spk.edit', compact('data', 'penawaran')); + } + + public function update(Request $request, $id): JsonResponse + { + // init + $data1 = array(); + $dataPermohonan = array(); + // data + + $penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id') + ->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id') + ->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id') + ->where('detail_penawaran.status','=',1) + ->where('penawaran.id','=', $id) + ->select('penawaran.*', 'detail_penawaran.attachment as attachmentku', + 'kjpp.name as kjpp_name', + 'kjpp.address as kjpp_address', + 'jenis_laporan.name as jenis_laporan_name' + )->first(); + + $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) + ->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id') + ->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id') + ->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name'); + + $data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first(); + + $folderPath = 'uploads/spk/'; + $extension = '.pdf'; + $newFileName = "SPK_".$penawaran->nomor_registrasi."_".Auth::user()->id."_".time(). $extension; + $newFileNameWithPath = $folderPath . $newFileName; + + // update table permohonan + $dataPermohonan=['dokumen' => $newFileNameWithPath]; + $data->update($dataPermohonan); + // update table permohonan + + // pdf path + $spkpenawaran_path = Storage::url($newFileNameWithPath); + + $pdf =Pdf::loadView('lpj::spk.documentSPK', compact('data', 'penawaran')); + + $content = $pdf->download()->getOriginalContent(); + Storage::put('public/'.$newFileNameWithPath,$content); + + $data1['status'] = 'success'; + $data1['spkpenawaran_path'] = $spkpenawaran_path; + $data1['message']['message_success'] = array('Generate SPK PDF successfully'); + + return response()->json($data1); + } + + public function dokumennya() + { + // return view('lpj::spk.dokumennya'); + $id="3"; + $penawaran = PenawaranTender::leftJoin('detail_penawaran', 'detail_penawaran.penawaran_id','=','penawaran.id') + ->leftJoin('jenis_laporan', 'jenis_laporan.id','=','penawaran.jenis_laporan_id') + ->leftJoin('kjpp', 'kjpp.id','=','detail_penawaran.kjpp_rekanan_id') + ->where('detail_penawaran.status','=',1) + ->where('penawaran.id','=', $id) + ->select('penawaran.*', 'detail_penawaran.attachment as attachmentku', + 'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran', + 'kjpp.name as kjpp_name', + 'kjpp.address as kjpp_address', + 'jenis_laporan.name as jenis_laporan_name' + )->first(); + + $permohonan = Permohonan::where('nomor_registrasi','=',$penawaran->nomor_registrasi) + ->leftJoin('dokumen_jaminan', 'dokumen_jaminan.permohonan_id','=','permohonan.id') + ->leftJoin('jenis_jaminan', 'jenis_jaminan.id','=','dokumen_jaminan.jenis_jaminan_id') + ->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name', + 'dokumen_jaminan.address as dokumen_jaminan_address'); + + $data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first(); + + return view('lpj::spk.dokumennya', compact('data', 'penawaran')); + } } diff --git a/module.json b/module.json index 6ab8ec6..63e608d 100644 --- a/module.json +++ b/module.json @@ -91,6 +91,15 @@ } ] }, + { + "title": "SPK", + "path": "spk", + "icon": "ki-filled ki-file-added text-lg", + "classes": "", + "attributes": [], + "permission": "", + "roles": ["administrator", "admin"] + }, { "title": "Registrasi Final", "path": "registrasifinal", diff --git a/resources/views/spk/documentSPK.blade.php b/resources/views/spk/documentSPK.blade.php new file mode 100644 index 0000000..7fa8ade --- /dev/null +++ b/resources/views/spk/documentSPK.blade.php @@ -0,0 +1,189 @@ + + + + + + + +
+
+ |
+
+ PT BANK ARTHA GRAHA INTERNASIONAL++ Sub Direktorat Appraisal + ++ Jl. Kwitang Raya No. 24-26, Jakarta – 10420, Indonesia + ++ Telp. (021) 3903040 + + |
+
+ No. XXX / PJ / JKT / + / FR / + +
+Tanggal:
+{{ $penawaran->kjpp_name }}
+{{ $penawaran->kjpp_address }}
++ Berdasarkan surat penawaran Saudara [No proposal penawaran sesuai data pemeriksaan persetujuan penawaran] tanggal [Tgl proposal penawaran sesuai data pemeriksaan persetujuan penawaran] atas nama {{ $data->debiture->name }}, dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini. +
+| + | ||
| Tujuan Penilaian | +: | ++ {{ $data->tujuanPenilaian->name }} + | +
| Jenis Laporan | +: | ++ {{ $penawaran->jenis_laporan_name }} + | +
| Data Jaminan | +: | ++ {{ $data->jenis_jaminan_name }}, {{ $data->dokumen_jaminan_address }} + | +
| Fee / Harga Penilaian | +: | ++ {{ formatRupiah($penawaran->detail_penawaran_biaya_penawaran) }} + | +
| Jangka Waktu | +: | ++ |
| i | ++ Resume akan disampaikan dalam [SLA Resume - Data Pemeriksaan Persetujuan Penawaran] hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak. + | +|
| ii | ++ Laporan penilaian lengkap akan disampaikan dalam [SLA Final - Data Pemeriksaan Persetujuan Penawaran] hari kerja sesuai proposal penawaran. + | +|
| 1. | ++ Pembayaran sebesar 100% dari total jasa dibayarkan setelah Bank menerima buku laporan dan bukti penagihan asli (invoice / kwitansi dan faktur pajak). + | +
| 2. | ++ Segala bentuk aktivitas komunikasi lisan atau tertulis antara lain kelengkapan dokumen, imbalan jasa, laporan penilaian dan lainnya baik dari Nasabah atau KJPP harus melalui Bank. + | +
| 3. | ++ Selanjutnya sebagai tanda persetujuan, setelah saudara tandatangani di atas materai Rp 10.000,- (materai sesuai ketentuan yang berlaku) agar dikembalikan kepada kami selambat-lambatnya 1 (satu) hari kerja setelah tanggal surat ini. + | +
| 4. | ++ Apabila diperlukan surat representasi wajib diberikan bersamaan dengan dikembalikannya SPK kepada kami. + | +
| 5. | ++ Ketentuan lain mengacu pada perjanjian kerjasama yang telah disepakati. + | +
+ Demikian Surat perintah Kerja (SPK) ini dibuat dan berlaku efektif sejak SPK ini ditandatangani, atas perhatian dan kerjasamanya diucapkan terima kasih. +
+|
+ PT Bank Artha Graha Internasional. Sub Direktorat Appraisal |
+ + {{ $penawaran->kjpp_name }} + | +
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+
+
+ |
+
|
+ {{ $data->user->name }} + {{ $data->user->getRoleNames()[0] }} + |
+ (……………………………………..) | +
+
+ |
+
+ PT BANK ARTHA GRAHA INTERNASIONAL++ Sub Direktorat Appraisal + ++ Jl. Kwitang Raya No. 24-26, Jakarta – 10420, Indonesia + ++ Telp. (021) 3903040 + + |
+
+ No. XXX / PJ / JKT / + / FR / + +
+Tanggal:
+[Nama KJPP sesuai data persetujuan penawaran]
+[Alamat KJPP sesuai data persetujuan penawaran]
++ Berdasarkan surat penawaran Saudara [No proposal penawaran sesuai data pemeriksaan persetujuan penawaran] tanggal [Tgl proposal penawaran sesuai data pemeriksaan persetujuan penawaran] atas nama [Nama Debitur sesuai data register], dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini. +
+| + | ||
| Tujuan Penilaian | +: | ++ [Tujuan penilaian sesuai data penawaran – modul tender] + | +
| Jenis Laporan | +: | ++ [Modul tender – data penawaran –enis laporan] + | +
| Data Jaminan | +: | ++ [Data Jenis Aset, Lokasi Jaminan dan Legalitas Jaminan sesuai Data Penawaran – Modul Tender] + | +
| Fee / Harga Penilaian | +: | ++ [Biaya Final sesuai Data pemeriksaan persetujuan penawaran] + | +
| Jangka Waktu | +: | ++ |
| i | ++ Resume akan disampaikan dalam [SLA Resume - Data Pemeriksaan Persetujuan Penawaran] hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak. + | +|
| ii | ++ Laporan penilaian lengkap akan disampaikan dalam [SLA Final - Data Pemeriksaan Persetujuan Penawaran] hari kerja sesuai proposal penawaran. + | +|
| 1. | ++ Pembayaran sebesar 100% dari total jasa dibayarkan setelah Bank menerima buku laporan dan bukti penagihan asli (invoice / kwitansi dan faktur pajak). + | +
| 2. | ++ Segala bentuk aktivitas komunikasi lisan atau tertulis antara lain kelengkapan dokumen, imbalan jasa, laporan penilaian dan lainnya baik dari Nasabah atau KJPP harus melalui Bank. + | +
| 3. | ++ Selanjutnya sebagai tanda persetujuan, setelah saudara tandatangani di atas materai Rp 10.000,- (materai sesuai ketentuan yang berlaku) agar dikembalikan kepada kami selambat-lambatnya 1 (satu) hari kerja setelah tanggal surat ini. + | +
| 4. | ++ Apabila diperlukan surat representasi wajib diberikan bersamaan dengan dikembalikannya SPK kepada kami. + | +
| 5. | ++ Ketentuan lain mengacu pada perjanjian kerjasama yang telah disepakati. + | +
+ Demikian Surat perintah Kerja (SPK) ini dibuat dan berlaku efektif sejak SPK ini ditandatangani, atas perhatian dan kerjasamanya diucapkan terima kasih. +
+|
+ PT Bank Artha Graha Internasional. Sub Direktorat Appraisal |
+ + [Nama KJPP sesuai data persetujuan penawaran] + | +
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+
+
+ |
+
|
+ {{ $data->user->name }} + {{ $data->user->getRoleNames()[0] }} + |
+ (……………………………………..) | +
+
+ |
+
+ PT BANK ARTHA GRAHA INTERNASIONAL++ Sub Direktorat Appraisal + ++ Jl. Kwitang Raya No. 24-26, Jakarta – 10420, Indonesia + ++ Telp. (021) 3903040 + + |
+
+ No. XXX / PJ / JKT / + / FR / + +
++ Tanggal:
+{{ $penawaran->kjpp_name }}
+{{ $penawaran->kjpp_address }}
++ Berdasarkan surat penawaran Saudara [No proposal penawaran sesuai data pemeriksaan persetujuan penawaran] tanggal [Tgl proposal penawaran sesuai data pemeriksaan persetujuan penawaran] atas nama {{ $data->debiture->name }}, dengan ini PT. Bank Artha Graha Internasional.Tbk., menunjuk Saudara untuk melakukan penilaian atas agunan sebagaimana rincian dibawah ini. +
+| + | ||
| Tujuan Penilaian | +: | ++ {{ $data->tujuanPenilaian->name }} + | +
| Jenis Laporan | +: | ++ {{ $penawaran->jenis_laporan_name }} + | +
| Data Jaminan | +: | ++ {{ $data->jenis_jaminan_name }}, {{ $data->dokumen_jaminan_address }} + | +
| Fee / Harga Penilaian | +: | ++ {{ formatRupiah($penawaran->detail_penawaran_biaya_penawaran) }} + | +
| Jangka Waktu | +: | ++ |
| i | ++ Resume akan disampaikan dalam [SLA Resume - Data Pemeriksaan Persetujuan Penawaran] hari kerja terhitung setelah proses inspeksi dilaksanakan serta data yang diperlukan diterima dan lengkap, kecuali terdapat kesepakatan lain antara kedua belah pihak. + | +|
| ii | ++ Laporan penilaian lengkap akan disampaikan dalam [SLA Final - Data Pemeriksaan Persetujuan Penawaran] hari kerja sesuai proposal penawaran. + | +|
| 1. | ++ Pembayaran sebesar 100% dari total jasa dibayarkan setelah Bank menerima buku laporan dan bukti penagihan asli (invoice / kwitansi dan faktur pajak). + | +
| 2. | ++ Segala bentuk aktivitas komunikasi lisan atau tertulis antara lain kelengkapan dokumen, imbalan jasa, laporan penilaian dan lainnya baik dari Nasabah atau KJPP harus melalui Bank. + | +
| 3. | ++ Selanjutnya sebagai tanda persetujuan, setelah saudara tandatangani di atas materai Rp 10.000,- (materai sesuai ketentuan yang berlaku) agar dikembalikan kepada kami selambat-lambatnya 1 (satu) hari kerja setelah tanggal surat ini. + | +
| 4. | ++ Apabila diperlukan surat representasi wajib diberikan bersamaan dengan dikembalikannya SPK kepada kami. + | +
| 5. | ++ Ketentuan lain mengacu pada perjanjian kerjasama yang telah disepakati. + | +
+ Demikian Surat perintah Kerja (SPK) ini dibuat dan berlaku efektif sejak SPK ini ditandatangani, atas perhatian dan kerjasamanya diucapkan terima kasih. +
+|
+ PT Bank Artha Graha Internasional. Sub Direktorat Appraisal |
+ + {{ $penawaran->kjpp_name }} + | +
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+ |
|
+ + |
+
+
+ |
+
|
+ {{ $data->user->name }} + {{ $data->user->getRoleNames()[0] }} + |
+ (……………………………………..) | +