update function laporan ringkasan

This commit is contained in:
Amirah
2024-01-15 08:46:36 +08:00
parent 781b1bd4b7
commit 51708b5f5b
@@ -104,6 +104,8 @@ class RingkasanHarianService
$getUjrahSebenarKaunter = $this->getUjrahSebenarKaunter();
$getTotalOnePercentOnline = $this->getTotalOnePercentOnline();
$getTotalUjrahOnline = $this->getTotalUjrahOnline();
$getUpahSimpanKaunterLama = $this->getUpahSimpanKaunterLama();
$getKeuntunganSebenarKaunterLama = $this->getKeuntunganSebenarKaunterLama();
array_push($laporan_harian, [
'total_gadai' => $total_gadai,
@@ -166,6 +168,8 @@ class RingkasanHarianService
'ujrahSebenarKaunter' => $getUjrahSebenarKaunter,
'totalOnePercentOnline' => $getTotalOnePercentOnline,
'totalUjrahOnline' => $getTotalUjrahOnline,
'upahSimpanKaunterLama' => $getUpahSimpanKaunterLama,
'keuntunganSebenarKaunterLama' => $getKeuntunganSebenarKaunterLama,
]);
return response()->json($laporan_harian);
@@ -985,6 +989,55 @@ class RingkasanHarianService
return floatval($upahsimpanujrah);
}
private function getUpahSimpanKaunterLama()
{
$keuntungan_data_kaunter = 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('transaksi_keuntungan.tarikh_bayaran', '>=', $this->startDate)->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $this->endDate)
->where('trans.teller', '<>', 'Online')
->pluck('transaksi_keuntungan.norujukan');
$gadaiDataKaunter = Gadai::on($this->connectionCawangan)->whereIn('norujukan', $keuntungan_data_kaunter)->whereNull('hargajualan')->pluck('norujukan');
$keuntungan_kaunter_query = TransaksiKeuntungan::on('mysql7')
->whereIn('norujukan', $gadaiDataKaunter)
->where('margin_semasa', '=' ,0.00);
$keuntungan_kaunter = $keuntungan_kaunter_query->sum('bayaran_keuntungan');
// $upahtebus = Tebus::on($this->connectionCawangan)
// ->whereDate('t_tebus', '>=', $this->startDate)->whereDate('t_tebus', '<=', $this->endDate)
// ->sum('upahdibayar');
$upahlelong = Lelong::on($this->connectionCawangan)
->whereDate('t_jual', '>=', $this->startDate)->whereDate('t_jual', '<=', $this->endDate)
->sum('bakiupah');
$total_keuntunganbukanansuran_data_kaunter = 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')
->whereDate('trans.created_at', '>=', $this->startDate)->whereDate('trans.created_at', '<=', $this->endDate)
->where('trans.kodcaw', '=', $this->kodCawangan)
->where('transaksi_keuntungan.margin_semasa', '=' ,0.00);
$total_keuntunganbukanansuran_kaunter = $total_keuntunganbukanansuran_data_kaunter->sum('keuntungan_rebet');
$upahsimpankaunterlama = $keuntungan_kaunter + $upahlelong + $total_keuntunganbukanansuran_kaunter;
return floatval($upahsimpankaunterlama);
}
private function getKeuntunganSebenarKaunter()
{
$total_keuntunganansuran_data_kaunter = TransaksiKeuntungan::on('mysql7')
@@ -1017,6 +1070,40 @@ class RingkasanHarianService
return floatval($keuntungansebenarkaunter);
}
private function getKeuntunganSebenarKaunterLama()
{
$total_keuntunganansuran_data_kaunter = 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)
->pluck('transaksi_keuntungan.norujukan');
$gadaiDataKaunter = Gadai::on($this->connectionCawangan)->whereIn('norujukan', $total_keuntunganansuran_data_kaunter)->whereNotNull('hargajualan')->pluck('norujukan');
$keuntunganansuran_kaunter_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');
})
->where('trans.teller', '<>', 'Online')
->where('trans.trans_type', '=', 'A')
->whereIn('transaksi_keuntungan.norujukan', $gadaiDataKaunter)
->where('transaksi_keuntungan.margin_semasa', '=' ,0.00)
->whereDate('transaksi_keuntungan.tarikh_bayaran', '>=', $this->startDate)->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $this->endDate);
$total_keuntunganansuran_kaunter = $keuntunganansuran_kaunter_query->sum('bayaran_keuntungan');
$keuntungansebenarkaunter = $total_keuntunganansuran_kaunter;
return floatval($keuntungansebenarkaunter);
}
private function getOnepercentSebenarKaunter()
{
$total_keuntunganansuran_data_kaunter = TransaksiKeuntungan::on('mysql7')