tambah laporan baki lelong di adminportal

This commit is contained in:
BTMS2
2025-06-11 12:35:39 +08:00
parent ae0ef7ecf4
commit c3b916cc74
3 changed files with 168 additions and 0 deletions
+92
View File
@@ -252,4 +252,96 @@ class LelonganService
}, $marhun_lelongan);
return $marhun_lelongan;
}
public function getCawanganReportBakiLelongBelumTuntut()
{
$cawangan_connection = Cawangan::where('kodcaw', $this->kod_cawangan)->first()->mysql;
$query_total_lelongan = Lelong::on($cawangan_connection)
->join('gadai', 'gadai.norujukan', '=', 'lelong.norujukan') // Joining gadai table
->select(
'lelong.t_lelong',
'lelong.norujukan',
'gadai.nokp',
'gadai.masa',
'lelong.berat',
'lelong.nilaimarhun',
'gadai.pinjaman',
'gadai.percentpinj',
'lelong.teller',
'gadai.bakipjm', // Fetch pinjaman from gadai
'gadai.marhun' // Fetch marhun from gadai
)
->whereNull('lelong.trkhtuntut');
$query_total_lelongan->when(!empty($this->startDate) and !empty($this->endDate), function ($q) {
return $q->where('lelong.t_lelong', '>=', $this->startDate)
->where('lelong.t_lelong', '<=', $this->endDate);
});
$total_lelongan = $this->getTotalLelongan($query_total_lelongan);
// dd($total_lelongan);
$total_summary_lelongan_teller = $this->getTotalSummaryLelonganGroupByTeller($query_total_lelongan);
$total_summary_lelongan = $this->getTotalSummaryLelongan($query_total_lelongan);
$customer_info = $this->getCustomerInfo($total_lelongan);
$marhun_lelongan = $this->getMarhunLelongan($total_lelongan, $cawangan_connection);
$cawangan_detail = $this->getCawanganDetail($cawangan_connection);
$total_lelongan = $total_lelongan->zip($customer_info, $marhun_lelongan)->map(function ($data) {
[$lelong, $customer_info, $marhun_lelongan] = $data;
return [
'no_rujukan' => $lelong['norujukan'],
'nama' => $customer_info['nama'],
'alamat' => $customer_info['alamat1'],
'no_kp' => $lelong['nokp'],
'masa' => $lelong['masa'],
'marhun' => $marhun_lelongan,
'berat' => $lelong['berat'],
'nilai_marhun' => $lelong['nilaimarhun'],
'pinjaman' => $lelong['pinjaman'],
'peratusan_margin_pinjaman' => $lelong['percentpinj'],
'bakipjm' => $lelong['bakipjm'],
'keuntungan' => $lelong['bakiupah'],
'cajlelong' => $lelong['cajlelong'],
'hargajual' => $lelong['hargajual'],
'baki' => $lelong['baki'],
'teller' => $lelong['teller'],
't_lelong' => $lelong['t_lelong'],
];
});
$total_lelongan = $total_lelongan->groupBy('teller');
$lelongan_tellers = $total_lelongan->keys();
$total_lelongan = $total_lelongan
->zip($total_summary_lelongan_teller)
->map(function ($data) {
[$lelongan, $summary] = $data;
return [
'lelongan' => $lelongan,
'summary_lelongan_teller' => $summary,
];
});
$total_lelongan = $lelongan_tellers->combine($total_lelongan);
$data = [
'query' => [
'startDate' => Helper::formatDate($this->startDate),
'endDate' => Helper::formatDate($this->endDate),
],
'cawangan_detail' => $cawangan_detail,
'lelongan' => $total_lelongan,
'summary_lelongan' => $total_summary_lelongan,
];
return json_encode($data);
}
}