Merged in api-laporan-ujrah (pull request #91)

update funtion laporan ringkasan 15.01.24
This commit is contained in:
nur amirah zulkipli
2024-01-15 05:18:44 +00:00
@@ -106,6 +106,7 @@ class RingkasanHarianService
$getTotalUjrahOnline = $this->getTotalUjrahOnline();
$getUpahSimpanKaunterLama = $this->getUpahSimpanKaunterLama();
$getKeuntunganSebenarKaunterLama = $this->getKeuntunganSebenarKaunterLama();
$getTotalKeuntunganOnlineLama = $this->getTotalKeuntunganOnlineLama();
array_push($laporan_harian, [
'total_gadai' => $total_gadai,
@@ -170,6 +171,7 @@ class RingkasanHarianService
'totalUjrahOnline' => $getTotalUjrahOnline,
'upahSimpanKaunterLama' => $getUpahSimpanKaunterLama,
'keuntunganSebenarKaunterLama' => $getKeuntunganSebenarKaunterLama,
'totalKeuntunganOnlineLama' => $getTotalKeuntunganOnlineLama,
]);
return response()->json($laporan_harian);
@@ -452,6 +454,73 @@ class RingkasanHarianService
}
private function getTotalKeuntunganOnlineLama()
{
$total_keuntunganansuran_data_online = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function ($join) {
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->whereDate('trans.created_at', '>=', $this->startDate)->whereDate('trans.created_at', '<=', $this->endDate)
->where('trans.teller', '=', 'Online')
->where('trans.trans_type', '=', 'A')
->where('transaksi_keuntungan.margin_semasa', '=' ,0.00)
->where('trans.kodcaw', $this->kodCawangan)
->pluck('transaksi_keuntungan.norujukan');
$gadaiDataOnline = Gadai::on($this->connectionCawangan)->whereIn('norujukan', $total_keuntunganansuran_data_online)->whereNotNull('hargajualan')->pluck('norujukan');
$keuntunganansuran_online_query = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function ($join) {
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->whereDate('trans.created_at', '>=', $this->startDate)->whereDate('trans.created_at', '<=', $this->endDate)
->where('trans.teller', '=', 'Online')
->where('trans.trans_type', '=', 'A')
->where('trans.kodcaw', $this->kodCawangan)
->where('transaksi_keuntungan.margin_semasa', '=' ,0.00)
->whereIn('trans.norujukan', $gadaiDataOnline)
->whereDate('transaksi_keuntungan.tarikh_bayaran', '>=', $this->startDate)->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $this->endDate);
$total_keuntunganansuran_online = $keuntunganansuran_online_query->sum('bayaran_keuntungan');
$total_keuntunganbukanansuran_data_online = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function ($join) {
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.trans_type', '!=', 'A')
->where('trans.teller', '=', 'Online')
->where('transaksi_keuntungan.margin_semasa', '=' ,0.00)
->whereDate('trans.created_at', '>=', $this->startDate)->whereDate('trans.created_at', '<=', $this->endDate)
->where('trans.kodcaw', '=', $this->kodCawangan)
->pluck('transaksi_keuntungan.norujukan');
$gadaiDataOnline = Gadai::on($this->connectionCawangan)->whereIn('norujukan', $total_keuntunganbukanansuran_data_online)->whereNotNull('hargajualan')->pluck('norujukan');
$keuntunganbukanansuran_online_query = TransaksiKeuntungan::on('mysql7')
->whereIn('norujukan', $gadaiDataOnline)
->where('margin_semasa', '=' ,0.00)
->whereDate('tarikh_bayaran', '>=', $this->startDate)->whereDate('tarikh_bayaran', '<=', $this->endDate);
$total_keuntunganbukanansuran_online = $keuntunganbukanansuran_online_query->sum('keuntungan_rebet');
$keuntungansebenaronline = $total_keuntunganansuran_online + $total_keuntunganbukanansuran_online;
$upahansurOnlineQuery = Advansur::on($this->connectionCawangan)
->where('teller', '=', 'Online')
->whereDate('tarikh', '>=', $this->startDate)->whereDate('tarikh', '<=', $this->endDate);
$upahansurOnline = $upahansurOnlineQuery->sum('upahdibayar');
$upahsimpanonline = $upahansurOnline;
$total_keuntungan_online = floatval($upahsimpanonline) + floatval($keuntungansebenaronline);
return floatval($total_keuntungan_online);
}
private function getTotalOnePercentOnline()
{
$total_keuntunganansuran_data_online = TransaksiKeuntungan::on('mysql7')