diff --git a/app/Http/Controllers/PembayaranController.php b/app/Http/Controllers/PembayaranController.php index 3c89028..f6fe6de 100644 --- a/app/Http/Controllers/PembayaranController.php +++ b/app/Http/Controllers/PembayaranController.php @@ -110,7 +110,9 @@ class PembayaranController extends Controller public function edit($id) { $permohonan = Permohonan::find($id); - return view('lpj::pembayaran.form', compact('permohonan')); + + $persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $permohonan->id)->first(); + return view('lpj::pembayaran.form', compact('permohonan', 'persetujuanPenawaran')); } public function store(PersetujuanPenawaranRequest $request) @@ -119,27 +121,44 @@ class PembayaranController extends Controller $validated['created_by'] = Auth::id(); $validated['status'] = '0'; - if (isset($validated['penawaran_id'])) { - $persetujuanPenawaran = PersetujuanPenawaran::create( - ['penawaran_id' => $validated['penawaran_id']], - $validated, - ); + $persetujuanPenawaran = PersetujuanPenawaran::where('permohonan_id', $validated['permohonan_id'] ?? null)->first(); + $permohonan = Permohonan::find(request()->get('permohonan_id')); + if ($persetujuanPenawaran) { + // if (isset($validated['penawaran_id'])) { + + // $persetujuanPenawaran = PersetujuanPenawaran::create( + // ['penawaran_id' => $validated['penawaran_id']], + // $validated, + // ); + + $persetujuanPenawaran->fill($validated); + + if ($request->hasFile('bukti_bayar')) { + $folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id']; + $persetujuanPenawaran->bukti_bayar = $request->file('bukti_bayar')->store($folderPath, 'public'); + } + + $persetujuanPenawaran->save(); + + $permohonan->approve_bayar_by = null; + $permohonan->approve_bayar_at = null; + $permohonan->status = 'done'; + $permohonan->save(); } else { $persetujuanPenawaran = PersetujuanPenawaran::create( $validated ); + + $folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id']; + + if ($request->hasFile('bukti_bayar')) { + $persetujuanPenawaran->bukti_bayar = $request->file('bukti_bayar')->store($folderPath, 'public'); + } + $persetujuanPenawaran->save(); } - $folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id']; - - if ($request->hasFile('bukti_bayar')) { - $persetujuanPenawaran->bukti_bayar = $request->file('bukti_bayar')->store($folderPath, 'public'); - } - - $persetujuanPenawaran->save(); - // Update the status of the related permohonan to 'spk' - $permohonan = Permohonan::find(request()->get('permohonan_id')); + if ($permohonan) { $permohonan->status_bayar = request()->get('status_bayar'); $permohonan->save(); @@ -183,12 +202,15 @@ class PembayaranController extends Controller if ($permohonan) { if ($request->type === 'revisi') { + $data['status'] = 'revisi-pembayaran'; $data['status_bayar'] = 'belum_bayar'; } else { $data['status_bayar'] = 'sudah_bayar'; + $data['status'] = 'proses-laporan'; } if ($permohonan->jenis_penilaian_id == 2) { + $data['status_bayar'] = 'sudah_bayar'; $data['status'] = 'spk'; } @@ -203,7 +225,6 @@ class PembayaranController extends Controller $data['keterangan'] ); - $data['status'] = 'proses-laporan'; } $permohonan->update($data); @@ -233,12 +254,19 @@ class PembayaranController extends Controller // abort(403, 'Sorry! You are not allowed to view users.'); } - $query = Permohonan::query()->where(['status_bayar' => 'belum_bayar', 'jenis_penilaian_id' => 1]) - ->whereNotIn('id', function ($subquery) { + $query = Permohonan::query()->where(function ($query) { + $query->where(['status_bayar' => 'belum_bayar', 'jenis_penilaian_id' => 1]) + ->orWhere('status', 'revisi-pembayaran'); + }) + ->where(function ($query) { + $query->whereNotIn('id', function ($subquery) { $subquery->select('permohonan_id') ->from('persetujuan_penawaran') ->whereNotNull('permohonan_id'); - }); + }) + ->orWhere('status', 'revisi-pembayaran'); + }); + // Pencarian berdasarkan parameter search if ($request->has('search') && !empty($request->get('search'))) { diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index be16958..03cc742 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -610,6 +610,8 @@ class PenilaianController extends Controller public function updatePermohonan($permohonan, $status, $approvalField, $message) { + + $permohonan->update([ 'status' => $status, $approvalField => Auth::user()->id, @@ -727,8 +729,8 @@ class PenilaianController extends Controller 'tujuanPenilaian', 'nilaiPlafond', 'penilaian.userPenilai' => function ($q) { - $q->where('role', 'penilai')->with(['user', 'team.regions'])->first(); - }, + $q->where('role', 'penilai')->with(['user', 'team.regions']); +}, 'penilai', 'approveSo', 'approveEo', diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 7b9cb9f..0164cc4 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -1090,7 +1090,7 @@ class SurveyorController extends Controller 'address', 'village_code', 'district_code', 'city_code', 'province_code', 'nama', 'type','warna','lokasi', 'total', 'diskon', 'harga_diskon', 'sumber_data', 'harga', 'tahun','transmisi','telepon', - 'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi','tanggal' + 'kordinat_lat', 'kordinat_lng', 'tahun_pembuatan','merek_buatan','kapasitas','power','kondisi','tanggal', 'harga_penawaran' ]; @@ -1100,7 +1100,7 @@ class SurveyorController extends Controller 'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan', 'status_nara_sumber', 'harga', 'harga_diskon', 'diskon', 'total', 'nama_nara_sumber', 'peruntukan', 'penawaran', 'telepon','hak_properti', - 'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek','tanggal' + 'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek','tanggal', 'harga_penawaran' ]; } @@ -1113,7 +1113,7 @@ class SurveyorController extends Controller if (is_array($inputValue) && isset($inputValue[$index])) { $value = $inputValue[$index]; // Format hanya untuk harga, harga_diskon, dan total - if (in_array($field, ['harga', 'harga_diskon', 'total'])) { + if (in_array($field, ['harga', 'harga_diskon', 'total', 'harga_penawaran'])) { $value = preg_replace('/[^0-9]/', '', $value); // Hapus karakter non-angka } $pembanding[$field] = $value; @@ -1155,7 +1155,7 @@ class SurveyorController extends Controller 'address', 'village_code', 'district_code', 'city_code', 'province_code', 'luas_tanah', 'luas_tanah_bagunan', 'total', 'diskon', 'harga_diskon', 'status_nara_sumber', 'harga', 'nama_nara_sumber','hak_properti','telepon', - 'kordinat_lat', 'kordinat_lng', 'jenis_aset','penawaran', 'tanggal', + 'kordinat_lat', 'kordinat_lng', 'jenis_aset','penawaran', 'tanggal','harga_penawaran' ]; $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id')) diff --git a/app/Models/Authorization.php b/app/Models/Authorization.php index 9249c73..1efa4f7 100644 --- a/app/Models/Authorization.php +++ b/app/Models/Authorization.php @@ -33,9 +33,9 @@ class Authorization extends Model ]; protected $casts = [ - 'approve_so' => 'boolean', - 'approve_eo' => 'boolean', - 'approve_dd' => 'boolean', + // 'approve_so' => 'boolean', + // 'approve_eo' => 'boolean', + // 'approve_dd' => 'boolean', 'approve_so_at' => 'datetime', 'approve_eo_at' => 'datetime', 'approve_dd_at' => 'datetime', diff --git a/app/Models/Permohonan.php b/app/Models/Permohonan.php index 8bdb2f3..b6319e3 100644 --- a/app/Models/Permohonan.php +++ b/app/Models/Permohonan.php @@ -11,6 +11,7 @@ { protected $table = 'permohonan'; protected $fillable = [ + 'id', 'nomor_registrasi', 'tanggal_permohonan', 'user_id', diff --git a/resources/views/component/detail-jaminan.blade.php b/resources/views/component/detail-jaminan.blade.php index c29b9d1..8338814 100644 --- a/resources/views/component/detail-jaminan.blade.php +++ b/resources/views/component/detail-jaminan.blade.php @@ -1,6 +1,6 @@ @if (!isset($status))
| - Name + Nama | {{ $permohonan->debiture->name ?? '' }} @@ -108,7 +108,7 @@ | |||||||||||
| - Phone + No Hp | {{ $permohonan->debiture->phone ?? '' }} @@ -117,7 +117,7 @@ | |||||||||||
| - Address + Alamat |
{{ $permohonan->debiture->address ?? '' }}
@@ -178,7 +178,7 @@
-
+ Data Jaminan@@ -233,7 +233,7 @@- Alamat Pemilik Jaminan: + Alamat Jaminan:{{ $dokumen->pemilik->address ?? '' }}, diff --git a/resources/views/component/history-permohonan.blade.php b/resources/views/component/history-permohonan.blade.php index 6c17dfc..bad3fe9 100644 --- a/resources/views/component/history-permohonan.blade.php +++ b/resources/views/component/history-permohonan.blade.php @@ -1,5 +1,5 @@
-
+ Activitydiff --git a/resources/views/pembayaran/approval.blade.php b/resources/views/pembayaran/approval.blade.php index f177c2d..3e64a2b 100644 --- a/resources/views/pembayaran/approval.blade.php +++ b/resources/views/pembayaran/approval.blade.php @@ -8,7 +8,7 @@
-
+ Daftar Pembayaran@@ -348,11 +348,12 @@ if (!permohonan.approve_bayar_by) { iconPembayaranOtorisator = ` - `; - }else{ - iconPembayaranOtorisator = ` + + - `; + + + `; } return `` + iconPembayaranOtorisator + ` `;
diff --git a/resources/views/penilai/components/print-pembanding.blade.php b/resources/views/penilai/components/print-pembanding.blade.php
index 0613786..a4d6f4a 100644
--- a/resources/views/penilai/components/print-pembanding.blade.php
+++ b/resources/views/penilai/components/print-pembanding.blade.php
@@ -15,12 +15,13 @@
'jenis_aset' => 'Jenis properti',
'hak_properti' => 'Status Hak Tanah',
'address' => 'Alamat Lokasi',
- 'harga' => 'Harga Penawaran',
+ 'harga_penawaran' => 'Harga Penawaran',
'harga_diskon' => 'Indikasi Harga Transaksi',
'telepon' => 'Penjual (HP)',
'penawaran' => 'Ditawarkan Sejak',
'luas_tanah' => 'Luas Tanah',
'luas_bangunan' => 'Luas Bangunan',
+ 'tanggal' => 'Tanggal Data',
'kordinat' => 'Titik Kordinat',
];
@endphp
diff --git a/resources/views/penilai/components/resume.blade.php b/resources/views/penilai/components/resume.blade.php
index ca437cb..d6ee804 100644
--- a/resources/views/penilai/components/resume.blade.php
+++ b/resources/views/penilai/components/resume.blade.php
@@ -426,21 +426,21 @@
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
+ Simpan
@endif
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal', 'administrator']))
- LAMPIRAN FOTO DAN DOKUMEN
+ Lampiran Foto dan Dokument
- Hasil Inspeksi
+ Cetak Hasil Inspeksi
- Print
+ Cetak Laporan
@endif
-
+ Detail Penilaian@@ -111,7 +111,7 @@ @foreach ($permohonan->documents as $dokumen) -
+
@php
@@ -219,19 +219,19 @@
- LAMPIRAN FOTO DAN DOKUMEN
+ Lampiran Foto dan Dokument
@if (strtolower($permohonan->tujuanPenilaian->name) != 'rap')
- KERTAS KERJA
+ Kertas Kerja
@endif
- PAPARAN
+ Paparan
diff --git a/resources/views/penilaian/otorisator/show.blade.php b/resources/views/penilaian/otorisator/show.blade.php
index 79e8d61..74027bc 100644
--- a/resources/views/penilaian/otorisator/show.blade.php
+++ b/resources/views/penilaian/otorisator/show.blade.php
@@ -108,6 +108,47 @@
-
+
+ @endif
+
+
+
+ + Approval ++
+
+
diff --git a/resources/views/penilaian/paparan-so.blade.php b/resources/views/penilaian/paparan-so.blade.php
index d22d8c5..9a1d586 100644
--- a/resources/views/penilaian/paparan-so.blade.php
+++ b/resources/views/penilaian/paparan-so.blade.php
@@ -75,7 +75,7 @@
- Tanggal Paparan
+ Keterangan/Tanggal Paparan
|
@@ -240,7 +240,7 @@
title: 'Tanggal Paparan',
render: (item, data) => {
if(data.tanggal_paparan) {
- return `${window.formatTanggalIndonesia(data.tanggal_paparan)}`;
+ return ` ${data?.keterangan} | ${window.formatTanggalIndonesia(data.tanggal_paparan)}`;
}
return "-";
@@ -258,8 +258,8 @@
approval_eo: {
title: 'Approval EO',
render: (item, data) => {
- if (data.approve_eo) {
- return `${data.approve_eo.name} | ${window.formatTanggalIndonesia(data.approval_eo_at)}`;
+ if (data?.authorization?.approve_eo) {
+ return `${data?.authorization?.approve_eo.name} | ${window.formatTanggalIndonesia(data.approval_eo_at)}`;
}
return '';
},
diff --git a/resources/views/surveyor/components/bangunan.blade.php b/resources/views/surveyor/components/bangunan.blade.php
index 66b2d55..000dfb4 100644
--- a/resources/views/surveyor/components/bangunan.blade.php
+++ b/resources/views/surveyor/components/bangunan.blade.php
@@ -1,5 +1,5 @@
|
-
+ Analisa Bangunandiff --git a/resources/views/surveyor/components/data-pembanding.blade.php b/resources/views/surveyor/components/data-pembanding.blade.php index cc63014..7cae28e 100644 --- a/resources/views/surveyor/components/data-pembanding.blade.php +++ b/resources/views/surveyor/components/data-pembanding.blade.php @@ -79,16 +79,18 @@ let columnCount = 1; // Fungsi calculate prices yang diperbaiki function calculatePrices(type = 'main', index = null) { - let hargaInput, diskonInput, totalInput, hargaDiskonInput; + let hargaInput, diskonInput, totalInput, hargaDiskonInput, hargaPenawaranInput; // Tentukan input berdasarkan tipe (main atau pembanding) if (type === 'main') { + hargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]'); hargaInput = document.querySelector('input[name="harga"]'); diskonInput = document.querySelector('input[name="diskon"]'); totalInput = document.querySelector('input[name="total"]'); hargaDiskonInput = document.querySelector('input[name="harga_diskon"]'); } else { // Untuk pembanding, gunakan array input dengan index + const hargaPenawarans = document.getElementsByName('harga_penawaran_pembanding[]'); const hargaInputs = document.getElementsByName('harga_pembanding[]'); const diskonInputs = document.getElementsByName('diskon_pembanding[]'); const totalInputs = document.getElementsByName('total_pembanding[]'); @@ -96,6 +98,7 @@ // Pastikan index valid if (index !== null && index < hargaInputs.length) { + hargaPenawaranInput = hargaPenawarans[index] hargaInput = hargaInputs[index]; diskonInput = diskonInputs[index]; totalInput = totalInputs[index]; @@ -106,11 +109,12 @@ } // Validasi input - if (!hargaInput || !diskonInput || !totalInput || !hargaDiskonInput) { + if (!hargaPenawaranInput || !hargaInput || !diskonInput || !totalInput || !hargaDiskonInput) { return; } // Ambil nilai numerik dari input + const hargaPenawaran = parseFloat(hargaPenawaranInput.value.replace(/[^\d]/g, '') || '0'); const harga = parseFloat(hargaInput.value.replace(/[^\d]/g, '') || '0'); let diskonInput_value = diskonInput.value.replace(',', '.'); let diskon = parseFloat(diskonInput_value.replace(/[^\d.]/g, '') || '0'); @@ -120,10 +124,11 @@ diskon = Math.min(diskon, 100); const total = harga; - const hargaSetelahDiskon = harga - (harga * (diskon / 100)); + const hargaPermeterSetelahDiskon = harga - (harga * (diskon / 100)) + const hargaSetelahDiskon = hargaPenawaran - (hargaPenawaran * (diskon / 100)); // Update nilai dengan format currency - totalInput.value = formatCurrency(total.toString()); + totalInput.value = formatCurrency(hargaPermeterSetelahDiskon.toString()); hargaDiskonInput.value = formatCurrency(hargaSetelahDiskon.toString()); } @@ -211,7 +216,8 @@ 'hak_properti_pembanding[]': currentData.hak_properti, 'telepon_pembanding[]': currentData.telepon, 'penawaran_pembanding[]': currentData.penawaran, - 'tanggal_pembanding[]': currentData.tanggal + 'tanggal_pembanding[]': currentData.tanggal, + 'harga_penawaran_pembanding[]':currentData.harga_penawaran }; @@ -261,11 +267,15 @@ function initializePriceCalculation() { // Event listener untuk input utama const mainHargaInput = document.querySelector('input[name="harga"]'); + const mainHargaPenawaranInput = document.querySelector('input[name="harga_penawaran"]'); const mainDiskonInput = document.querySelector('input[name="diskon"]'); if (mainHargaInput) { mainHargaInput.addEventListener('input', () => calculatePrices('main')); } + if (mainHargaPenawaranInput) { + mainHargaPenawaranInput.addEventListener('input', () => calculatePrices('main')); + } if (mainDiskonInput) { mainDiskonInput.addEventListener('input', () => calculatePrices('main')); @@ -273,11 +283,17 @@ // Event listener untuk input pembanding const pembandingHargaInputs = document.getElementsByName('harga_pembanding[]'); + const pembandingHargaPenawaranInput = document.getElementsByName('harga_penawaran_pembanding[]'); + + const pembandingDiskonInputs = document.getElementsByName('diskon_pembanding[]'); pembandingHargaInputs.forEach((input, index) => { input.addEventListener('input', () => calculatePrices('pembanding', index)); }); + pembandingHargaPenawaranInput.forEach((input, index) => { + input.addEventListener('input', () => calculatePrices('pembanding', index)); + }); pembandingDiskonInputs.forEach((input, index) => { input.addEventListener('input', () => calculatePrices('pembanding', index)); diff --git a/resources/views/surveyor/components/fakta.blade.php b/resources/views/surveyor/components/fakta.blade.php index b74d427..18afcab 100644 --- a/resources/views/surveyor/components/fakta.blade.php +++ b/resources/views/surveyor/components/fakta.blade.php @@ -1,8 +1,8 @@ {{-- analisa fakta --}}
-
+ - Analisis Fakta + Analisa Fakta
diff --git a/resources/views/surveyor/components/header.blade.php b/resources/views/surveyor/components/header.blade.php
index cd0ddea..fd21e6e 100644
--- a/resources/views/surveyor/components/header.blade.php
+++ b/resources/views/surveyor/components/header.blade.php
@@ -1,5 +1,5 @@
-
-
+
+
-
@php
$title = $title ?? 'Form Inspeksi';
@endphp
@@ -121,8 +121,8 @@
-
+
+ Nama Cadeb/Debitur
@@ -142,8 +142,8 @@
-
-
+
+ Deskripsi Aset jaminan
@@ -250,8 +250,8 @@
-
-
+
+ Titik Koordinat Google Maps
@@ -278,8 +278,8 @@
-
-
+
+ Status
@@ -307,7 +307,9 @@
@php
$hubCadebPemilik = $dokumen->pemilik->hubungan_pemilik->name ?? 'N/A';
@endphp
- {{ $hubCadebPemilik }}
+
- + {{ $hubCadebPemilik }} + @@ -361,7 +363,7 @@
+ Hubungan Cadeb/Debitur dengan Penghuni Jaminan
diff --git a/resources/views/surveyor/components/informasi.blade.php b/resources/views/surveyor/components/informasi.blade.php
index 9e7f005..077c4f2 100644
--- a/resources/views/surveyor/components/informasi.blade.php
+++ b/resources/views/surveyor/components/informasi.blade.php
@@ -1,6 +1,6 @@
-
+
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')
ATURAN TATA KOTA
diff --git a/resources/views/surveyor/components/inspeksi.blade.php b/resources/views/surveyor/components/inspeksi.blade.php
index 3aca2e9..459a6b3 100644
--- a/resources/views/surveyor/components/inspeksi.blade.php
+++ b/resources/views/surveyor/components/inspeksi.blade.php
@@ -47,7 +47,7 @@
@endforeach
@endif
+ Tanda Tangan@@ -68,12 +68,12 @@
-
+ Analisa Lingkungandiff --git a/resources/views/surveyor/components/pembanding-tanah-bangunan-unit.blade.php b/resources/views/surveyor/components/pembanding-tanah-bangunan-unit.blade.php index b48debe..6bbf80c 100644 --- a/resources/views/surveyor/components/pembanding-tanah-bangunan-unit.blade.php +++ b/resources/views/surveyor/components/pembanding-tanah-bangunan-unit.blade.php @@ -188,12 +188,23 @@ |
|||||||||
| Harga Penawaran/ Transaksi(Rp) | ++ + | ++ + | +||||||||||
| Telepon Contact Person | + value="{{ $inspectionData['asset']['telepon'] ?? $permohonan->debiture->phone ?? '' }}"> | @@ -204,7 +215,7 @@ | Status Narasumber | + value="{{ $inspectionData['asset']['status_nara_sumber'] ?? $dokumen->pemilik->hubungan_pemilik->name ?? '' }}"> | @@ -214,7 +225,7 @@ | Nama Narasumber | + value="{{ $inspectionData['asset']['nama_nara_sumber'] ?? $permohonan->debiture->name ?? '' }}"> | @@ -437,14 +448,14 @@ | ||||
| + value="{{ $inspectionData['asset']['total'] ?? '' }}" readonly> | - + | |||||||||||
| Hubungan Penghuni Jaminan dengan Debitur |
- @if (isset($basicData['hubPenghuni']))
+ @if (isset($selectedData))
-
+ Analisa Tanahdiff --git a/resources/views/surveyor/detail.blade.php b/resources/views/surveyor/detail.blade.php index 1709f13..b92ab01 100644 --- a/resources/views/surveyor/detail.blade.php +++ b/resources/views/surveyor/detail.blade.php @@ -24,7 +24,7 @@ @if ($permohonan->status == 'revisi-survey')
-
+
Catatan Revisi
@@ -38,7 +38,7 @@
-
+
Form Jaminan
diff --git a/resources/views/surveyor/index.blade.php b/resources/views/surveyor/index.blade.php
index 451e49d..05a3447 100644
--- a/resources/views/surveyor/index.blade.php
+++ b/resources/views/surveyor/index.blade.php
@@ -7,7 +7,7 @@
-
+ Surveyor |