Merged in izzati-hotfix-laporan-lelong (pull request #152)
update laporan lelongan keseluruhan
This commit is contained in:
@@ -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
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports;
|
||||
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Maatwebsite\Excel\Concerns\FromView;
|
||||
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
||||
use Maatwebsite\Excel\Concerns\WithTitle;
|
||||
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
|
||||
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||
|
||||
class LelonganFullExport implements FromView, ShouldAutoSize, WithTitle, WithColumnFormatting
|
||||
{
|
||||
protected $cawangan_detail;
|
||||
protected $query;
|
||||
protected $lelongan_full_data;
|
||||
|
||||
public function __construct($cawangan_detail, $query, $lelongan_full_data)
|
||||
{
|
||||
$this->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
|
||||
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<th>Baki Pembiayaan (RM)</th>
|
||||
<th>Keuntungan (RM)</th>
|
||||
<th>Caj Lelong (RM)</th>
|
||||
<th>Harga Asas (RM)</th>
|
||||
<th>Harga Jual (RM)</th>
|
||||
<th>Baki(RM)</th>
|
||||
</tr>
|
||||
@@ -68,6 +69,7 @@
|
||||
<td>{{ $lelongan_detail['bakipjm'] }}</td>
|
||||
<td>{{ $lelongan_detail['keuntungan'] }}</td>
|
||||
<td>{{ $lelongan_detail['cajlelong'] }}</td>
|
||||
<td>{{ $lelongan_detail['hargaasas'] }}</td>
|
||||
<td>{{ $lelongan_detail['hargajual'] }}</td>
|
||||
<td>{{ $lelongan_detail['baki'] }}</td>
|
||||
|
||||
@@ -87,6 +89,7 @@
|
||||
<td>{{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_bakipjm'] }}</td>
|
||||
<td>{{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_keuntungan'] }}</td>
|
||||
<td>{{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_cajlelong'] }}</td>
|
||||
<td>{{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_hargaasas'] }}</td>
|
||||
<td>{{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_hargajual'] }}</td>
|
||||
<td>{{ $teller_with_lelongan_data['data']['summary_lelongan_teller']['total_baki'] }}</td>
|
||||
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
<table border="1" cellspacing="0" cellpadding="3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="14" style="text-align: center; font-weight: bold; font-size: 16px;">
|
||||
SENARAI LELONGAN KESELURUHAN
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="14" style="text-align: center;">
|
||||
Cawangan: {{ $cawangan_detail['nama'] ?? '-' }} |
|
||||
Tarikh: {{ $query['startDate'] ?? '-' }} hingga {{ $query['endDate'] ?? '-' }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr><td colspan="14"> </td></tr>
|
||||
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>No Rujukan</th>
|
||||
<th>Nama</th>
|
||||
<th>No KP</th>
|
||||
<th>Marhun</th>
|
||||
<th>Berat</th>
|
||||
<th>Nilai Marhun (RM)</th>
|
||||
<th>Pembiayaan (RM)</th>
|
||||
<th>%</th>
|
||||
<th>Baki Pembiayaan (RM)</th>
|
||||
<th>Keuntungan (RM)</th>
|
||||
<th>Caj Lelong (RM)</th>
|
||||
<th>Harga Asas (RM)</th>
|
||||
<th>Harga Jual (RM)</th>
|
||||
<th>Baki (RM)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@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
|
||||
<tr>
|
||||
<td>{{ $row_no++ }}</td>
|
||||
<td>{{ $item['no_rujukan'] ?? '' }}</td>
|
||||
<td>{{ $item['nama'] ?? '' }}</td>
|
||||
<td>'{{ $item['no_kp'] ?? '' }}</td>
|
||||
<td>{{ $item['marhun'] ?? 0 }}</td>
|
||||
<td>{{ $item['berat'] ?? 0 }}</td>
|
||||
<td>{{ $item['nilai_marhun'] ?? 0 }}</td>
|
||||
<td>{{ $item['pinjaman'] ?? 0 }}</td>
|
||||
<td>{{ $item['peratusan_margin_pinjaman'] ?? 0 }}</td>
|
||||
<td>{{ $item['bakipjm'] ?? 0 }}</td>
|
||||
<td>{{ $item['keuntungan'] ?? 0 }}</td>
|
||||
<td>{{ $item['cajlelong'] ?? 0 }}</td>
|
||||
<td>{{ $item['hargaasas'] ?? 0 }}</td>
|
||||
<td>{{ $item['hargajual'] ?? 0 }}</td>
|
||||
<td>{{ $item['baki'] ?? 0 }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
<tr>
|
||||
<td colspan="5"><strong>Jumlah</strong></td>
|
||||
<td><strong>{{ number_format($total_berat, 2) }}</strong></td>
|
||||
<td><strong>{{ number_format($total_nilaimarhun, 2) }}</strong></td>
|
||||
<td><strong>{{ number_format($total_pinjaman, 2) }}</strong></td>
|
||||
<td></td>
|
||||
<td><strong>{{ number_format($total_pinjaman, 2) }}</strong></td>
|
||||
<td><strong>{{ number_format($total_keuntungan, 2) }}</strong></td>
|
||||
<td><strong>{{ number_format($total_cajlelong, 2) }}</strong></td>
|
||||
<td><strong>{{ number_format($total_hargaasas ?? 0, 2) }}</strong></td>
|
||||
<td><strong>{{ number_format($total_hargajual, 2) }}</strong></td>
|
||||
<td><strong>{{ number_format($total_baki, 2) }}</strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -35,6 +35,7 @@
|
||||
<th>Baki Pembiayaan(RM)</th>
|
||||
<th>Keuntungan(RM)</th>
|
||||
<th>Caj Lelong(RM)</th>
|
||||
<th>Harga Asas(RM)</th>
|
||||
<th>Harga Jual(RM)</th>
|
||||
<th>Baki(RM)</th>
|
||||
|
||||
@@ -49,6 +50,7 @@
|
||||
<td>{{ $data['summary_lelongan_teller']['total_bakipjm'] }}</td>
|
||||
<td>{{ $data['summary_lelongan_teller']['total_keuntungan'] }}</td>
|
||||
<td>{{ $data['summary_lelongan_teller']['total_cajlelong'] }}</td>
|
||||
<td>{{ $data['summary_lelongan_teller']['total_hargaasas'] }}</td>
|
||||
<td>{{ $data['summary_lelongan_teller']['total_hargajual'] }}</td>
|
||||
<td>{{ $data['summary_lelongan_teller']['total_baki'] }}</td>
|
||||
|
||||
@@ -64,6 +66,7 @@
|
||||
<td>{{ $summary_lelongan['total_bakipjm'] }}</td>
|
||||
<td>{{ $summary_lelongan['total_keuntungan'] }}</td>
|
||||
<td>{{ $summary_lelongan['total_cajlelong'] }}</td>
|
||||
<td>{{ $summary_lelongan['total_hargaasas'] }}</td>
|
||||
<td>{{ $summary_lelongan['total_hargajual'] }}</td>
|
||||
<td>{{ $summary_lelongan['total_baki'] }}</td>
|
||||
|
||||
|
||||
@@ -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)
|
||||
</th>
|
||||
<th
|
||||
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">
|
||||
Harga Asas(RM)
|
||||
</th>
|
||||
<th
|
||||
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">
|
||||
Harga Jual(RM)
|
||||
@@ -133,6 +137,7 @@
|
||||
$totalkeuntungan = 0;
|
||||
$totalcajlelong = 0;
|
||||
$totalhargajual= 0;
|
||||
$totalhargaasas= 0;
|
||||
$totalbaki= 0;
|
||||
@endphp
|
||||
<tbody>
|
||||
@@ -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 @@
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<div class="flex items-center">
|
||||
<div class="ml-3">
|
||||
<p class="text-gray-900 whitespace-no-wrap">
|
||||
{{ number_format($lelong['sum_hargaasas'], 2) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<div class="flex items-center">
|
||||
<div class="ml-3">
|
||||
@@ -330,6 +344,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<div class="flex items-center">
|
||||
<div class="ml-3">
|
||||
<p class="text-gray-900 whitespace-no-wrap">
|
||||
{{ number_format($totalhargaasas,2) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<div class="flex items-center">
|
||||
<div class="ml-3">
|
||||
|
||||
Reference in New Issue
Block a user