From 2ea39372bee855ae7f9b10bac3bab369f529667a Mon Sep 17 00:00:00 2001 From: Nur Izzati Date: Tue, 27 Jan 2026 16:50:52 +0800 Subject: [PATCH] update laporan lelongan keseluruhan --- .../LelonganAllExportExcel.php | 6 ++ app/Exports/LelonganExport.php | 18 ++++ app/Exports/LelonganFullExport.php | 56 ++++++++++++ app/Exports/LelonganPerTellerExport.php | 1 + app/Exports/LelonganSummaryExport.php | 1 + .../views/exports/lelongan/cawangan.blade.php | 3 + .../views/exports/lelongan/full.blade.php | 91 +++++++++++++++++++ .../views/exports/lelongan/summary.blade.php | 3 + .../reports/laporan-lelong/index.blade.php | 22 +++++ 9 files changed, 201 insertions(+) create mode 100644 app/Exports/LelonganFullExport.php create mode 100644 resources/views/exports/lelongan/full.blade.php diff --git a/app/Exports/LaporanKeseluruhan/LelonganAllExportExcel.php b/app/Exports/LaporanKeseluruhan/LelonganAllExportExcel.php index 667bb35..c7cdf43 100644 --- a/app/Exports/LaporanKeseluruhan/LelonganAllExportExcel.php +++ b/app/Exports/LaporanKeseluruhan/LelonganAllExportExcel.php @@ -34,6 +34,7 @@ class LelonganAllExportExcel extends DefaultValueBinder implements FromArray, Wi 'Baki Pembiayaan (RM)', 'Keuntungan (RM)', 'Caj Lelong (RM)', + 'Harga Asas (RM)', 'Harga Jual (RM)', 'Baki (RM)', ]; @@ -57,6 +58,7 @@ class LelonganAllExportExcel extends DefaultValueBinder implements FromArray, Wi $sum_pinjaman = 0; $sum_bakiupah = 0; $sum_cajlelong = 0; + $sum_hargaasas = 0; $sum_hargajual = 0; $sum_baki = 0; @@ -73,6 +75,7 @@ class LelonganAllExportExcel extends DefaultValueBinder implements FromArray, Wi number_format((float) ($data['sum_bakipjm'] ?? 0), 2), number_format((float) ($data['sum_bakiupah'] ?? 0), 2), number_format((float) ($data['sum_cajlelong'] ?? 0), 2), + number_format((float) ($data['sum_hargaasas'] ?? 0), 2), number_format((float) ($data['sum_hargajual'] ?? 0), 2), number_format((float) ($data['sum_baki'] ?? 0), 2), @@ -87,6 +90,7 @@ class LelonganAllExportExcel extends DefaultValueBinder implements FromArray, Wi $sum_bakipjm += (float) $data['sum_bakipjm']; $sum_bakiupah += (float) $data['sum_bakiupah']; $sum_cajlelong += (float) $data['sum_cajlelong']; + $sum_hargaasas += (float) $data['sum_hargaasas']; $sum_hargajual += (float) $data['sum_hargajual']; $sum_baki += (float) $data['sum_baki']; @@ -102,6 +106,7 @@ class LelonganAllExportExcel extends DefaultValueBinder implements FromArray, Wi number_format($sum_bakipjm, 2), number_format($sum_bakiupah, 2), number_format($sum_cajlelong, 2), + number_format($sum_hargaasas, 2), number_format($sum_hargajual, 2), number_format($sum_baki, 2), @@ -128,6 +133,7 @@ class LelonganAllExportExcel extends DefaultValueBinder implements FromArray, Wi (float) str_replace(',', '', $data[7] ?? 0), // Total Untung 1% (float) str_replace(',', '', $data[8] ?? 0), // Total Ujrah (float) str_replace(',', '', $data[9] ?? 0), // Total Ujrah + (float) str_replace(',', '', $data[10] ?? 0), // Total Ujrah ]; } diff --git a/app/Exports/LelonganExport.php b/app/Exports/LelonganExport.php index 8109596..992d4f2 100644 --- a/app/Exports/LelonganExport.php +++ b/app/Exports/LelonganExport.php @@ -48,6 +48,24 @@ class LelonganExport implements WithMultipleSheets $sheets[] = new LelonganPerTellerExport($this->cawangan_detail, $this->query, $teller_with_lelongan_data); } + // Sheet untuk senarai penuh lelongan (gabung semua teller) + $full_lelongan_data = []; + + foreach ($this->lelongan as $teller => $data) { + if (isset($data['lelongan']) && is_array($data['lelongan'])) { + foreach ($data['lelongan'] as $item) { + $item['teller'] = $teller; // optional: simpan info teller + $full_lelongan_data[] = $item; + } + } + } + + $sheets[] = new LelonganFullExport( + $this->cawangan_detail, + $this->query, + $full_lelongan_data + ); + return $sheets; } } diff --git a/app/Exports/LelonganFullExport.php b/app/Exports/LelonganFullExport.php new file mode 100644 index 0000000..a2a9228 --- /dev/null +++ b/app/Exports/LelonganFullExport.php @@ -0,0 +1,56 @@ +cawangan_detail = $cawangan_detail; + $this->query = $query; + $this->lelongan_full_data = $lelongan_full_data; + } + + public function view(): View + { + return view('exports.lelongan.full', [ + 'cawangan_detail' => $this->cawangan_detail, + 'query' => $this->query, + 'lelongan_data' => $this->lelongan_full_data, + ]); + } + + public function title(): string + { + return 'SENARAI LELONGAN PENUH'; + } + + public function columnFormats(): array + { + return [ + 'E' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // Berat + 'F' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // Nilai Marhun + 'G' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // Pinjaman + 'H' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // Keuntungan + 'I' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // caj lelong + 'J' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // baki + 'K' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // baki + 'L' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // baki + 'M' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // baki + 'N' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // baki + 'O' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, // baki + + ]; + } +} diff --git a/app/Exports/LelonganPerTellerExport.php b/app/Exports/LelonganPerTellerExport.php index 9c79588..09674a8 100644 --- a/app/Exports/LelonganPerTellerExport.php +++ b/app/Exports/LelonganPerTellerExport.php @@ -71,6 +71,7 @@ class LelonganPerTellerExport extends DefaultValueBinder implements FromView, Sh 'J' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'K' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'L' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, + 'M' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, ]; } diff --git a/app/Exports/LelonganSummaryExport.php b/app/Exports/LelonganSummaryExport.php index f6dad6d..8c11d07 100644 --- a/app/Exports/LelonganSummaryExport.php +++ b/app/Exports/LelonganSummaryExport.php @@ -68,6 +68,7 @@ class LelonganSummaryExport extends DefaultValueBinder implements FromView, Shou 'J' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'C' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, 'D' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, + 'K' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1, ]; } diff --git a/resources/views/exports/lelongan/cawangan.blade.php b/resources/views/exports/lelongan/cawangan.blade.php index b1d7c59..7c9cbb7 100644 --- a/resources/views/exports/lelongan/cawangan.blade.php +++ b/resources/views/exports/lelongan/cawangan.blade.php @@ -48,6 +48,7 @@ Baki Pembiayaan (RM) Keuntungan (RM) Caj Lelong (RM) + Harga Asas (RM) Harga Jual (RM) Baki(RM) @@ -68,6 +69,7 @@ {{ $lelongan_detail['bakipjm'] }} {{ $lelongan_detail['keuntungan'] }} {{ $lelongan_detail['cajlelong'] }} + {{ $lelongan_detail['hargaasas'] }} {{ $lelongan_detail['hargajual'] }} {{ $lelongan_detail['baki'] }} @@ -87,6 +89,7 @@ {{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_bakipjm'] }} {{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_keuntungan'] }} {{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_cajlelong'] }} + {{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_hargaasas'] }} {{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_hargajual'] }} {{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_baki'] }} diff --git a/resources/views/exports/lelongan/full.blade.php b/resources/views/exports/lelongan/full.blade.php new file mode 100644 index 0000000..5897d43 --- /dev/null +++ b/resources/views/exports/lelongan/full.blade.php @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @php + $total_berat = 0; + $total_nilaimarhun = 0; + $total_pinjaman = 0; + $total_hargajual = 0; + $total_keuntungan = 0; + $total_cajlelong = 0; + $total_baki = 0; + $total_hargaasas = 0; + $row_no = 1; + @endphp + + @foreach ($lelongan_data as $item) + @php + $total_berat += (float) $item['berat']; + $total_nilaimarhun += (float) $item['nilai_marhun']; + $total_pinjaman += (float) $item['pinjaman']; + $total_hargajual += (float) $item['hargajual']; + $total_keuntungan += (float) ($item['keuntungan'] ?? 0); + $total_cajlelong += (float) ($item['cajlelong'] ?? 0); + $total_baki += (float) ($item['baki'] ?? 0); + $total_hargaasas += (float) ($item['hargaasas'] ?? 0); + @endphp + + + + + + + + + + + + + + + + + + @endforeach + + + + + + + + + + + + + + + +
+ SENARAI LELONGAN KESELURUHAN +
+ Cawangan: {{ $cawangan_detail['nama'] ?? '-' }} | + Tarikh: {{ $query['startDate'] ?? '-' }} hingga {{ $query['endDate'] ?? '-' }} +
 
#No RujukanNamaNo KPMarhunBeratNilai Marhun (RM)Pembiayaan (RM)%Baki Pembiayaan (RM)Keuntungan (RM)Caj Lelong (RM)Harga Asas (RM)Harga Jual (RM)Baki (RM)
{{ $row_no++ }}{{ $item['no_rujukan'] ?? '' }}{{ $item['nama'] ?? '' }}'{{ $item['no_kp'] ?? '' }}{{ $item['marhun'] ?? 0 }}{{ $item['berat'] ?? 0 }}{{ $item['nilai_marhun'] ?? 0 }}{{ $item['pinjaman'] ?? 0 }}{{ $item['peratusan_margin_pinjaman'] ?? 0 }}{{ $item['bakipjm'] ?? 0 }}{{ $item['keuntungan'] ?? 0 }}{{ $item['cajlelong'] ?? 0 }}{{ $item['hargaasas'] ?? 0 }}{{ $item['hargajual'] ?? 0 }}{{ $item['baki'] ?? 0 }}
Jumlah{{ number_format($total_berat, 2) }}{{ number_format($total_nilaimarhun, 2) }}{{ number_format($total_pinjaman, 2) }}{{ number_format($total_pinjaman, 2) }}{{ number_format($total_keuntungan, 2) }}{{ number_format($total_cajlelong, 2) }}{{ number_format($total_hargaasas ?? 0, 2) }}{{ number_format($total_hargajual, 2) }}{{ number_format($total_baki, 2) }}
diff --git a/resources/views/exports/lelongan/summary.blade.php b/resources/views/exports/lelongan/summary.blade.php index 6875bde..eff8995 100644 --- a/resources/views/exports/lelongan/summary.blade.php +++ b/resources/views/exports/lelongan/summary.blade.php @@ -35,6 +35,7 @@ Baki Pembiayaan(RM) Keuntungan(RM) Caj Lelong(RM) + Harga Asas(RM) Harga Jual(RM) Baki(RM) @@ -49,6 +50,7 @@ {{ $data['summary_lelongan_teller']['total_bakipjm'] }} {{ $data['summary_lelongan_teller']['total_keuntungan'] }} {{ $data['summary_lelongan_teller']['total_cajlelong'] }} + {{ $data['summary_lelongan_teller']['total_hargaasas'] }} {{ $data['summary_lelongan_teller']['total_hargajual'] }} {{ $data['summary_lelongan_teller']['total_baki'] }} @@ -64,6 +66,7 @@ {{ $summary_lelongan['total_bakipjm'] }} {{ $summary_lelongan['total_keuntungan'] }} {{ $summary_lelongan['total_cajlelong'] }} + {{ $summary_lelongan['total_hargaasas'] }} {{ $summary_lelongan['total_hargajual'] }} {{ $summary_lelongan['total_baki'] }} diff --git a/resources/views/reports/laporan-lelong/index.blade.php b/resources/views/reports/laporan-lelong/index.blade.php index 2deef26..8110630 100644 --- a/resources/views/reports/laporan-lelong/index.blade.php +++ b/resources/views/reports/laporan-lelong/index.blade.php @@ -110,6 +110,10 @@ class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider"> Caj Lelong(RM) + + Harga Asas(RM) + Harga Jual(RM) @@ -133,6 +137,7 @@ $totalkeuntungan = 0; $totalcajlelong = 0; $totalhargajual= 0; + $totalhargaasas= 0; $totalbaki= 0; @endphp @@ -146,6 +151,7 @@ $totalkeuntungan += $lelong['sum_bakiupah']; $totalcajlelong+= $lelong['sum_cajlelong']; $totalhargajual+= $lelong['sum_hargajual']; + $totalhargaasas+= $lelong['sum_hargaasas']; $totalbaki+= $lelong['sum_baki']; @endphp @@ -227,6 +233,14 @@ + +
+
+

+ {{ number_format($lelong['sum_hargaasas'], 2) }}

+
+
+
@@ -330,6 +344,14 @@
+ +
+
+

+ {{ number_format($totalhargaasas,2) }}

+
+
+