From 8c60320532a905e0e7f48fc0354020a788f3c8c7 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Tue, 18 Nov 2025 17:28:04 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(Roles):=20Tambahkan=20role=20EO=20App?= =?UTF-8?q?raisal=20ke=20berbagai=20komponen=20LPJ?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Perubahan Utama: - 🔧 **Role Management**: Menambahkan role 'EO Appraisal' ke berbagai komponen untuk akses tombol simpan - 🐛 **Fix Kondisi**: Memperbaiki logika kondisi untuk data MIG (Migrasi) di print-out-sederhana - 💅 **UI Enhancement**: Konversi table ke div untuk bagian keterangan dengan format yang lebih rapi - 🎨 **Code Style**: Fix indentation dan whitespace di PermohonanController ## Detail Perubahan: ### File yang Dimodifikasi: 1. **`resources/views/penilai/components/call-report.blade.php`** (Line 507): - Menambahkan `'EO Appraisal'` ke array role yang memiliki akses tombol simpan - Sebelumnya: `['senior-officer', 'surveyor', 'administrator']` - Sekarang: `['senior-officer', 'surveyor', 'administrator','EO Appraisal']` 2. **`resources/views/penilai/components/lpj-sederhana-standar.blade.php`** (Line 47): - Menambahkan `'EO Appraisal'` dan `'penilai'` ke role yang dapat menyimpan data - Memperluas akses untuk role penilai dan EO Appraisal 3. **`resources/views/penilai/components/memo.blade.php`** (Line 318): - Menambahkan `'EO Appraisal'` ke role yang dapat menyimpan memo - Memastikan konsistensi akses antar komponen 4. **`resources/views/penilai/components/print-out-sederhana.blade.php`**: - **Line 558-580**: Memperbaiki urutan kondisi pengecekan data MIG - Memindahkan fallback data tanah dan bangunan ke atas - Menambahkan kondisi `@if(!$permohonan->is_mig)` untuk data non-MIG - Menjaga data `npw_tambahan` tetap diproses setelahnya - **Line 647-700**: Konversi table ke div untuk bagian keterangan - Mengganti struktur ` - - - - - - - - @php $totalNilaiPasarWajar += str_replace(['Rp', '.'], '', $npw['nilai_2']); @endphp - @endforeach - @else - {{-- Fallback untuk data tanpa npw_tambahan --}} + {{-- Fallback untuk data tanpa npw_tambahan --}} + @if(!$permohonan->is_mig) @if (isset($lpjData['luas_tanah'])) @@ -602,6 +580,29 @@ @php $totalNilaiPasarWajar += str_replace(['Rp', '.'], '', $lpjData['nilai_bangunan_2']); @endphp @endif @endif + @if (isset($lpjData['npw_tambahan'])) + @foreach ($lpjData['npw_tambahan'] as $npw) + + + + + + + + + @php $totalNilaiPasarWajar += str_replace(['Rp', '.'], '', $npw['nilai_2']); @endphp + @endforeach + @endif @@ -643,36 +644,64 @@ @if (!empty($keterangan)) @if (is_array($keterangan)) - @foreach ($keterangan as $item) -
` menjadi `
` dengan styling yang lebih rapi - Menambahkan handling untuk berbagai format data (array, string, quoted) - Implementasi bullet points yang lebih konsisten - Menambahkan fallback message "Tidak ada catatan khusus" 5. **`resources/views/penilai/components/rap-penilai.blade.php`** (Line 72 & 115): - Menambahkan `'EO Appraisal'` ke role yang dapat menyimpan data RAP - Fix whitespace yang tidak perlu 6. **`resources/views/penilai/components/signature-approval.blade.php`** (Line 117): - Fix whitespace dan formatting 7. **`app/Http/Controllers/PermohonanController.php`** (Line 55): - Fix indentation yang tidak konsisten - Memperbaiki format kode untuk better readability --- app/Http/Controllers/PermohonanController.php | 2 +- .../penilai/components/call-report.blade.php | 2 +- .../lpj-sederhana-standar.blade.php | 2 +- .../views/penilai/components/memo.blade.php | 2 +- .../components/print-out-sederhana.blade.php | 133 +++++++++++------- .../penilai/components/rap-penilai.blade.php | 4 +- .../components/signature-approval.blade.php | 2 +- 7 files changed, 88 insertions(+), 59 deletions(-) diff --git a/app/Http/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php index cf911e3..9963b28 100644 --- a/app/Http/Controllers/PermohonanController.php +++ b/app/Http/Controllers/PermohonanController.php @@ -52,7 +52,7 @@ if ($validate) { if(auth()->user()->hasRole('admin')){ $validate['status'] = "preregister"; - } + } try { // Process file upload $filePath = null; diff --git a/resources/views/penilai/components/call-report.blade.php b/resources/views/penilai/components/call-report.blade.php index 44f2bf8..d5584a0 100644 --- a/resources/views/penilai/components/call-report.blade.php +++ b/resources/views/penilai/components/call-report.blade.php @@ -504,7 +504,7 @@
- @if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator'])) + @if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator','EO Appraisal']))
- {{ $npw['name'] }} - - {{ $npw['luas'] }} m2 - X - {{ formatRupiah($npw['nilai_1'] ?? 0, 0, false) ?? '' }} - - = - - {{ formatRupiah($npw['nilai_2'] ?? 0, 0, false) ?? '' }} -
Tanah
+ {{ $npw['name'] }} + + {{ $npw['luas'] }} m2 + X + {{ formatRupiah($npw['nilai_1'] ?? 0, 0, false) ?? '' }} + + = + + {{ formatRupiah($npw['nilai_2'] ?? 0, 0, false) ?? '' }} +
Total Nilai Pasar Wajar =
- - - -
- @php - $items_ = explode('- ', $item); - @endphp - @foreach ($items_ as $item_) - @if(!empty($item_)) - - {{ trim($item_) }}
- @endif - @endforeach -
- @endforeach +
+ @foreach ($keterangan as $index => $item) + @php + $cleanItem = trim($item); + $isNumbered = preg_match('/^\d+\./', $cleanItem); + $isBullet = preg_match('/^[-•]/', $cleanItem); + @endphp +
+ @if ($isNumbered || $isBullet) + {{ $cleanItem }} + @else + @if ($index > 0 && !empty($cleanItem))- @endif{{ $cleanItem }} + @endif +
+ @endforeach +
@else - - - - -
- @php - $items = explode('- ', $keterangan); - @endphp - @foreach ($items as $item) - - {{ trim($item) }}
- @endforeach -
+ @php + // Handle string format - normalize line endings first + $keterangan = str_replace(["\r\n", "\r"], "\n", $keterangan); + $items = []; + + if (strpos($keterangan, '"') !== false) { + // Handle quoted strings (array format) + preg_match_all('/"([^"]*)"/', $keterangan, $matches); + $items = $matches[1]; + } else { + // Handle line-separated items + $rawItems = explode("\n", $keterangan); + foreach ($rawItems as $item) { + $cleanItem = trim($item); + // Skip empty items + if (!empty($cleanItem)) { + $items[] = $cleanItem; + } + } + } + @endphp +
+ @foreach ($items as $index => $item) + @php + $cleanItem = trim($item); + if (!empty($cleanItem)) + @endphp +
+ @if (preg_match('/^\d+\./', $cleanItem)) + {{ $cleanItem }} + @elseif (preg_match('/^[-•]/', $cleanItem)) + {{ $cleanItem }} + @else + - {{ $cleanItem }} + @endif +
+ @endforeach +
@endif + @else +
Tidak ada catatan khusus
@endif diff --git a/resources/views/penilai/components/rap-penilai.blade.php b/resources/views/penilai/components/rap-penilai.blade.php index 4393b3a..43ce9aa 100644 --- a/resources/views/penilai/components/rap-penilai.blade.php +++ b/resources/views/penilai/components/rap-penilai.blade.php @@ -69,7 +69,7 @@ @include('lpj::surveyor.components.header') @include('lpj::surveyor.components.rap')
- @if (Auth::user()->hasAnyRole(['senior-officer', 'penilai', 'administrator'])) + @if (Auth::user()->hasAnyRole(['senior-officer', 'penilai', 'administrator','EO Appraisal']))