diff --git a/app/Services/Reports/RingkasanHarianService.php b/app/Services/Reports/RingkasanHarianService.php index 39bb403..bb45ef9 100644 --- a/app/Services/Reports/RingkasanHarianService.php +++ b/app/Services/Reports/RingkasanHarianService.php @@ -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')