From 1aee7390a6e8452a23fe452074014af8ea4e2bc8 Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Tue, 14 Jan 2025 22:54:48 +0800 Subject: [PATCH] from server date 2025-01-14 --- app/Http/Controllers/AdminPageController.php | 42 ++++++++++++++++--- app/Http/Controllers/LogController.php | 2 +- app/Http/Controllers/PolisController.php | 22 +++++++--- .../Reports/BalanceSheetsController.php | 4 +- .../Reports/RingkasanHarianController.php | 7 +++- .../TransactionOnlineController.php | 2 +- app/Services/Miscellaneous/PanjarServices.php | 4 +- app/Services/Reports/OnePercentService.php | 4 +- .../Reports/RingkasanHarianService.php | 3 +- app/Support/v2/GadaiV2.php | 2 +- 10 files changed, 69 insertions(+), 23 deletions(-) diff --git a/app/Http/Controllers/AdminPageController.php b/app/Http/Controllers/AdminPageController.php index 389b572..1cb8547 100644 --- a/app/Http/Controllers/AdminPageController.php +++ b/app/Http/Controllers/AdminPageController.php @@ -17,6 +17,7 @@ use App\AddTunai; use App\TuntutBaki; use App\Advansur; use App\AkruNet; +use App\AkruNetPecahan; use App\TransaksiKeuntungan; use App\Bajet; use App\BajetTahunan; @@ -3183,9 +3184,11 @@ class AdminPageController extends Controller // $total = $sum_keuntungan + $sum_bayaran + $summation_ansuran; $lastDayPreviousMonth = $tarikh->subMonthsNoOverflow()->endOfMonth()->toDateString(); - - $get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$lastDayPreviousMonth)->first(); - $get_imbangduga = optional($get_imbangduga)->toArray() ?? []; + + if(Carbon::parse($lastDayPreviousMonth)->year == Carbon::now()->year){ + $get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$lastDayPreviousMonth)->first(); + $get_imbangduga = optional($get_imbangduga)->toArray() ?? []; + } $collection_trans = Transaction::on('mysql7') ->leftJoin('transaksi_keuntungan as trans', function ($join) { @@ -3676,11 +3679,11 @@ class AdminPageController extends Controller $keuntungansebenar = ($keuntungan + $keuntunganreducing + $ansuran + $bukanansuran); - $previousYear = Carbon::now()->subYears(1); + $previousYear = Carbon::parse($request->tarikh)->subYears(); $get_norujukan = Gadai::on($cawangan['mysql']) ->selectRaw("norujukan,CASE WHEN (YEAR(t_gadai) = YEAR(t_update) and MONTH(t_gadai) = MONTH(t_update)) THEN '1' ELSE '0' END AS result") - ->whereNotNull('hargajualan')->having('result','=',1)->whereYear('t_gadai','>=','2022')->whereYear('t_gadai','<=',$previousYear)->where('sttebus','<>','')->pluck('norujukan'); + ->whereNotNull('hargajualan')->having('result','=',1)->whereYear('t_gadai','>=','2022')->whereYear('t_gadai','<=','2023')->where('sttebus','<>','')->pluck('norujukan'); $sum_keun = Transaction::on('mysql7') ->selectRaw("trans.norujukan,SUM(CASE WHEN (transaction.trans_type) <> 'A' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran") @@ -3696,11 +3699,38 @@ class AdminPageController extends Controller $total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran; + $backdate_keun_sebenar = 0; + $recentDate = Carbon::now()->subYear(); + + while ($recentDate->year > 2023) { + $exception_case = 0; + $lastDayOfYear = $recentDate->endOfYear()->toDateString(); + + $get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh', $lastDayOfYear)->first(); + $get_imbangduga = optional($get_imbangduga)->toArray() ?? []; + if(empty($get_imbangduga)){ + $requestData = new Request([ + 'tarikh' => $request->tarikh, + 'kodcaw' => $kodcaw, + ]); + $exception_case = $this->AkruKeuntunganSebenar($requestData); + } + + $backdate_keun_sebenar += isset($get_imbangduga['keun_sebenar']) ? $get_imbangduga['keun_sebenar'] : 0; + $backdate_keun_sebenar += $exception_case; + $recentDate->subYear()->startOfYear(); + } + + $total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran + $backdate_keun_sebenar; + $available_akru = AkruNet::on($cawangan['mysql']) ->where('tahun','<=',$previousYear->year) ->sum('jumlah'); - $total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq + $available_akru + $total_keuntungan_sebenar) + $parameter; + $akru_ujrah = AkruNetPecahan::on($cawangan['mysql'])->where('tahun','<=',$previousYear->year)->sum('pend_akru_ujrah'); + $akru_1percent = AkruNetPecahan::on($cawangan['mysql'])->where('tahun','<=',$previousYear->year)->sum('pend_akru_1persen'); + + $total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq + $available_akru + $total_keuntungan_sebenar + $akru_ujrah + $akru_1percent) + $parameter; if($kodcaw == '011229') $total -= 45390.37; diff --git a/app/Http/Controllers/LogController.php b/app/Http/Controllers/LogController.php index ca0e25f..7a158de 100644 --- a/app/Http/Controllers/LogController.php +++ b/app/Http/Controllers/LogController.php @@ -97,7 +97,7 @@ class LogController extends Controller - return response()->json($logsession); + return response()->json($logoutsession); } diff --git a/app/Http/Controllers/PolisController.php b/app/Http/Controllers/PolisController.php index 6ac75ec..7221351 100644 --- a/app/Http/Controllers/PolisController.php +++ b/app/Http/Controllers/PolisController.php @@ -108,12 +108,22 @@ class PolisController extends Controller return response()->json(['error' => 'Invalid kodcaw'], 403); } - $polis = Polis::on($cawangan['mysql']) - ->where('komen1','=',$request->alasan) - // ->where('tarikh','=',$request->tarikh) - ->whereBetween('tarikh', [$request->tarikh_mula, $request->tarikh_akhir]) - ->get(); - + if($request->alasan == 'all'){ + $polis = Polis::on($cawangan['mysql']) + ->select('gadai.sttebus','gadai.t_update','gadai.norujukan','gadai.nokp','polis.komen1','polis.komen2','polis.tarikh','polis.teller','polis.caj','polis.kodnegeri','polis.koddaerah','polis.tebus') + ->join('gadai','gadai.norujukan','=','polis.norujukan') + ->whereBetween('polis.tarikh', [$request->tarikh_mula, $request->tarikh_akhir]) + ->get(); + }else{ + $polis = Polis::on($cawangan['mysql']) + ->select('gadai.sttebus','gadai.t_update','gadai.norujukan','gadai.nokp','polis.komen1','polis.komen2','polis.tarikh','polis.teller','polis.caj','polis.kodnegeri','polis.koddaerah','polis.tebus') + ->join('gadai','gadai.norujukan','=','polis.norujukan') + ->where('komen1','=',$request->alasan) + // ->where('tarikh','=',$request->tarikh) + ->whereBetween('polis.tarikh', [$request->tarikh_mula, $request->tarikh_akhir]) + ->get(); + } + return response()->json($polis); } diff --git a/app/Http/Controllers/Reports/BalanceSheetsController.php b/app/Http/Controllers/Reports/BalanceSheetsController.php index 0d99a02..05e1083 100644 --- a/app/Http/Controllers/Reports/BalanceSheetsController.php +++ b/app/Http/Controllers/Reports/BalanceSheetsController.php @@ -31,8 +31,8 @@ class BalanceSheetsController extends Controller } public function updateIGBalanceSheets(Request $request){ - $cawangan = Cawangan::on('mysql7')->where('zone','<>',1)->get(); - $date = Carbon::now()->month($request->month); + $cawangan = Cawangan::on('mysql7')->where('version','v2')->get(); + $date = Carbon::create($request->year)->month($request->month); $lastDay = (clone $date)->endOfMonth(); try{ diff --git a/app/Http/Controllers/Reports/RingkasanHarianController.php b/app/Http/Controllers/Reports/RingkasanHarianController.php index 4d61edc..74143e3 100644 --- a/app/Http/Controllers/Reports/RingkasanHarianController.php +++ b/app/Http/Controllers/Reports/RingkasanHarianController.php @@ -16,9 +16,12 @@ class RingkasanHarianController extends Controller $reportRingkasanHarianService = new ReportRingkasanHarianService($kod_cawangan, $request); $reportKawalanStokService = new KawalanStokService($kod_cawangan, $request); + $ringkasan_report = $reportRingkasanHarianService->getLaporanCawangan()->getContent(); + $ringkasan_kawalan = $reportKawalanStokService->getLaporanCawangan()->getContent(); + $reports = [ - 'reportRingkasanHarian' => $reportRingkasanHarianService->getLaporanCawangan(), - 'reportKawalanStok' => $reportKawalanStokService->getLaporanCawangan(), + 'reportRingkasanHarian' => json_decode($ringkasan_report), + 'reportKawalanStok' => json_decode($ringkasan_kawalan), ]; return response()->json($reports); diff --git a/app/Http/Controllers/TransactionOnlineController.php b/app/Http/Controllers/TransactionOnlineController.php index c8f5440..213aabc 100644 --- a/app/Http/Controllers/TransactionOnlineController.php +++ b/app/Http/Controllers/TransactionOnlineController.php @@ -438,7 +438,7 @@ class TransactionOnlineController extends Controller } else { $onepercent = new OnePercentServices(); - $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'], $gadai['nilaimarhun'], $gadai['kadarupah'], $margin_semasa); + $keuntungan = $onepercent->kiraanKeuntunganRebet($gadai['bakipjm'], $gadai['nilaimarhun'], $gadai['kadarupah'], $gadai['margin_semasa']); $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'], $gadai['kadarupah'], $gadai['percentpinj']); $onepercentasal = $gadai['pinjaman'] * (1 / 100); diff --git a/app/Services/Miscellaneous/PanjarServices.php b/app/Services/Miscellaneous/PanjarServices.php index 498bafc..df34db2 100644 --- a/app/Services/Miscellaneous/PanjarServices.php +++ b/app/Services/Miscellaneous/PanjarServices.php @@ -181,7 +181,7 @@ class PanjarServices if($bakiakhir <= 0) throw new \Exception('Custom Exception: Amaun Baki Akhir Cannot Be Zero'); if($totalpanjar < 0) throw new \Exception('Custom Exception: Amaun Panjar Cannot Be Zero'); - Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->latest('tarikh')->update(array( + Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->where('tarikh','=',$current->toDateString())->update(array( 'totpanjar' => $totalpanjar, 'bakiakhir'=>$bakiakhir, 'bakieod'=>$bakiakhir @@ -330,7 +330,7 @@ class PanjarServices if($bakiakhir <= 0) throw new \Exception('Custom Exception: Amaun Baki Akhir Cannot Be Zero'); if($totalpanjar < 0) throw new \Exception('Custom Exception: Amaun Panjar Cannot Be Zero'); - Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->latest('tarikh')->update(array( + Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->where('tarikh','=',$current->toDateString())->update(array( 'totpanjar' => $totalpanjar, 'bakiakhir'=>$bakiakhir, 'bakieod'=>$bakiakhir diff --git a/app/Services/Reports/OnePercentService.php b/app/Services/Reports/OnePercentService.php index 30dddda..caf62ce 100644 --- a/app/Services/Reports/OnePercentService.php +++ b/app/Services/Reports/OnePercentService.php @@ -302,7 +302,9 @@ class OnePercentService $ujrah_current = $result_audit_current->sum('ujrah'); } /* B */ - $result_audit_previous = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_generate); + $year_sebelum = $date_sebelum->format('Y'); + $year_publish = ($month_sekarang == 1) ? $year_sebelum : $year_generate; + $result_audit_previous = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_publish); $onepercent_previous = $result_audit_previous->sum('utgonepercent'); $ujrah_previous = $result_audit_previous->sum('ujrah'); diff --git a/app/Services/Reports/RingkasanHarianService.php b/app/Services/Reports/RingkasanHarianService.php index 9ae62db..b2331bf 100644 --- a/app/Services/Reports/RingkasanHarianService.php +++ b/app/Services/Reports/RingkasanHarianService.php @@ -821,7 +821,8 @@ class RingkasanHarianService '011233' => '2021-06-28', ]; - return $tarikhTawarruq[Str::upper($this->kodCawangan)]; + $defaultDate = '2021-01-01'; + return $tarikhTawarruq[Str::upper($this->kodCawangan)] ?? $defaultDate; } private function getOutstandingImbangDuga() diff --git a/app/Support/v2/GadaiV2.php b/app/Support/v2/GadaiV2.php index 23663d5..dd006a5 100644 --- a/app/Support/v2/GadaiV2.php +++ b/app/Support/v2/GadaiV2.php @@ -244,7 +244,7 @@ class GadaiV2 $margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100; - $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa); + $keuntungan = $onepercent->kiraanKeuntunganRebet($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['margin_semasa']); $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['percentpinj']); $onepercentasal = $gadai['pinjaman'] * (1/100);