From 460c958148ededb0a00aa5a09e45536ba4f7ef1d Mon Sep 17 00:00:00 2001 From: Amirah Date: Mon, 1 Jan 2024 10:08:19 +0800 Subject: [PATCH 1/2] add function onepercent ringkasan harian --- .../Reports/RingkasanHarianService.php | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/app/Services/Reports/RingkasanHarianService.php b/app/Services/Reports/RingkasanHarianService.php index d288eff..14cbc80 100644 --- a/app/Services/Reports/RingkasanHarianService.php +++ b/app/Services/Reports/RingkasanHarianService.php @@ -98,6 +98,7 @@ class RingkasanHarianService $serahanbayaranOnline = $this->getSerahanBayaranOnline(); $totalSerahan = $this->getTotalSerahan(); $totalPendahuluan = $this->getTotalPendahuluan(); + $getOnePercentSimpanKaunter = $this->getOnePercentSimpanKaunter(); array_push($laporan_harian, [ 'total_gadai' => $total_gadai, @@ -154,6 +155,7 @@ class RingkasanHarianService 'totalserahan' => $totalSerahan, 'serahanbayaranOnline' => $serahanbayaranOnline, 'totalpendahuluan' => $totalPendahuluan, + 'OnePercentSimpanKaunter' => $getOnePercentSimpanKaunter, ]); return response()->json($laporan_harian); @@ -756,6 +758,52 @@ class RingkasanHarianService return floatval($upahsimpankaunter); } + private function getOnePercentSimpanKaunter() + { + $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); + + $keuntungan_onepercent = $keuntungan_kaunter_query->sum('ujrah'); + + + $onepercenttebus = Tebus::on($this->connectionCawangan) + ->whereDate('t_tebus', '>=', $this->startDate)->whereDate('t_tebus', '<=', $this->endDate) + ->sum('onepercent'); + + + $onepercentlelong = Lelong::on($this->connectionCawangan) + ->whereDate('t_jual', '>=', $this->startDate)->whereDate('t_jual', '<=', $this->endDate) + ->sum('onepercent'); + + $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); + + $total_keuntungan_onepercent_bukanansuran_kaunter = $total_keuntunganbukanansuran_data_kaunter->sum('onepercent_rebet'); + + $upahsimpanonepercent = $keuntungan_onepercent + $onepercenttebus + $onepercentlelong + $total_keuntungan_onepercent_bukanansuran_kaunter; + + return floatval($upahsimpanonepercent); + } + private function getKeuntunganSebenarKaunter() { $total_keuntunganansuran_data_kaunter = TransaksiKeuntungan::on('mysql7') From b9f5e75f5ff80ab51d5dd532a6903fd881abf469 Mon Sep 17 00:00:00 2001 From: Amirah Date: Mon, 1 Jan 2024 12:36:31 +0800 Subject: [PATCH 2/2] update function ringkasan harian ujrah --- .../Reports/RingkasanHarianService.php | 251 +++++++++++++++++- 1 file changed, 248 insertions(+), 3 deletions(-) diff --git a/app/Services/Reports/RingkasanHarianService.php b/app/Services/Reports/RingkasanHarianService.php index 14cbc80..d6e4121 100644 --- a/app/Services/Reports/RingkasanHarianService.php +++ b/app/Services/Reports/RingkasanHarianService.php @@ -99,6 +99,11 @@ class RingkasanHarianService $totalSerahan = $this->getTotalSerahan(); $totalPendahuluan = $this->getTotalPendahuluan(); $getOnePercentSimpanKaunter = $this->getOnePercentSimpanKaunter(); + $getUjrahSimpanKaunter = $this->getUjrahSimpanKaunter(); + $getOnepercentSebenarKaunter = $this->getOnepercentSebenarKaunter(); + $getUjrahSebenarKaunter = $this->getUjrahSebenarKaunter(); + $getTotalOnePercentOnline = $this->getTotalOnePercentOnline(); + $getTotalUjrahOnline = $this->getTotalUjrahOnline(); array_push($laporan_harian, [ 'total_gadai' => $total_gadai, @@ -155,7 +160,12 @@ class RingkasanHarianService 'totalserahan' => $totalSerahan, 'serahanbayaranOnline' => $serahanbayaranOnline, 'totalpendahuluan' => $totalPendahuluan, - 'OnePercentSimpanKaunter' => $getOnePercentSimpanKaunter, + 'onePercentSimpanKaunter' => $getOnePercentSimpanKaunter, + 'ujrahSimpanKaunter' => $getUjrahSimpanKaunter, + 'onepercentSebenarKaunter' => $getOnepercentSebenarKaunter, + 'ujrahSebenarKaunter' => $getUjrahSebenarKaunter, + 'totalOnePercentOnline' => $getTotalOnePercentOnline, + 'totalUjrahOnline' => $getTotalUjrahOnline, ]); return response()->json($laporan_harian); @@ -438,6 +448,132 @@ class RingkasanHarianService } + private function getTotalOnePercentOnline() + { + $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('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) + ->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('onepercent'); + + $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') + ->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) + ->whereDate('tarikh_bayaran', '>=', $this->startDate)->whereDate('tarikh_bayaran', '<=', $this->endDate); + + $total_keuntunganbukanansuran_online = $keuntunganbukanansuran_online_query->sum('onepercent_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_onepercent_online = floatval($upahsimpanonline) + floatval($keuntungansebenaronline); + + return floatval($total_onepercent_online); + + } + + private function getTotalUjrahOnline() + { + $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('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) + ->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('ujrah'); + + $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') + ->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) + ->whereDate('tarikh_bayaran', '>=', $this->startDate)->whereDate('tarikh_bayaran', '<=', $this->endDate); + + $total_keuntunganbukanansuran_online = $keuntunganbukanansuran_online_query->sum('ujrah_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_ujrah_online = floatval($upahsimpanonline) + floatval($keuntungansebenaronline); + + return floatval($total_ujrah_online); + + } + private function getTotalKeuntunganKaunter() { $total_keuntunganansuran_data_online = TransaksiKeuntungan::on('mysql7') @@ -775,8 +911,7 @@ class RingkasanHarianService $keuntungan_kaunter_query = TransaksiKeuntungan::on('mysql7') ->whereIn('norujukan', $gadaiDataKaunter); - $keuntungan_onepercent = $keuntungan_kaunter_query->sum('ujrah'); - + $keuntungan_onepercent = $keuntungan_kaunter_query->sum('onepercent'); $onepercenttebus = Tebus::on($this->connectionCawangan) ->whereDate('t_tebus', '>=', $this->startDate)->whereDate('t_tebus', '<=', $this->endDate) @@ -804,6 +939,52 @@ class RingkasanHarianService return floatval($upahsimpanonepercent); } + private function getUjrahSimpanKaunter() + { + $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); + + $keuntungan_ujrah = $keuntungan_kaunter_query->sum('ujrah'); + + + $ujrahtebus = Tebus::on($this->connectionCawangan) + ->whereDate('t_tebus', '>=', $this->startDate)->whereDate('t_tebus', '<=', $this->endDate) + ->sum('ujrah'); + + + $ujrahlelong = Lelong::on($this->connectionCawangan) + ->whereDate('t_jual', '>=', $this->startDate)->whereDate('t_jual', '<=', $this->endDate) + ->sum('ujrah'); + + $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); + + $total_keuntungan_onepercent_bukanansuran_kaunter = $total_keuntunganbukanansuran_data_kaunter->sum('ujrah_rebet'); + + $upahsimpanujrah = $keuntungan_ujrah + $ujrahtebus + $ujrahlelong + $total_keuntungan_onepercent_bukanansuran_kaunter; + + return floatval($upahsimpanujrah); + } + private function getKeuntunganSebenarKaunter() { $total_keuntunganansuran_data_kaunter = TransaksiKeuntungan::on('mysql7') @@ -836,6 +1017,70 @@ class RingkasanHarianService return floatval($keuntungansebenarkaunter); } + private function getOnepercentSebenarKaunter() + { + $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) + ->pluck('transaksi_keuntungan.norujukan'); + + $gadaiDataKaunter = Gadai::on($this->connectionCawangan)->whereIn('norujukan', $total_keuntunganansuran_data_kaunter)->whereNotNull('hargajualan')->pluck('norujukan'); + + $onepercentansuran_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) + ->whereDate('transaksi_keuntungan.tarikh_bayaran', '>=', $this->startDate)->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $this->endDate); + + $total_onepercent_ansuran_kaunter = $onepercentansuran_kaunter_query->sum('onepercent'); + + $onepercentsebenarkaunter = $total_onepercent_ansuran_kaunter; + + return floatval($onepercentsebenarkaunter); + } + + private function getUjrahSebenarKaunter() + { + $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) + ->pluck('transaksi_keuntungan.norujukan'); + + $gadaiDataKaunter = Gadai::on($this->connectionCawangan)->whereIn('norujukan', $total_keuntunganansuran_data_kaunter)->whereNotNull('hargajualan')->pluck('norujukan'); + + $ujrahansuran_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) + ->whereDate('transaksi_keuntungan.tarikh_bayaran', '>=', $this->startDate)->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $this->endDate); + + $total_ujrah_ansuran_kaunter = $ujrahansuran_kaunter_query->sum('ujrah'); + + $ujrahsebenarkaunter = $total_ujrah_ansuran_kaunter; + + return floatval($ujrahsebenarkaunter); + } + public function getSerahanBayaranOnline() { $serahanpkb = '1000/020';