From 5fc212f6afdf3e4df44b07a833ca4dda1ae95879 Mon Sep 17 00:00:00 2001 From: afrina Date: Tue, 1 Sep 2026 15:09:35 +0800 Subject: [PATCH] Prod kopkb (#8) Co-authored-by: nurafrinaalimi16 Co-authored-by: dev_kopkb Co-authored-by: root Reviewed-on: https://git.koppkb.com/KoPKB/api_arrahn/pulls/8 Co-authored-by: afrina Co-committed-by: afrina --- app/Http/Controllers/LelongController.php | 2 +- app/Services/Reports/OnePercentService.php | 2 +- app/Support/v2/GadaiV2.php | 70 +++++++++++----------- 3 files changed, 38 insertions(+), 36 deletions(-) diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index d11d76a..d959f20 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -605,7 +605,7 @@ class LelongController extends Controller if($cawangan['tagarrahnbid'] == 1){ if(env('APP_ENV') != 'production'){ - $link = 'http://niklah.arrahn.com.my/api/portalApi'; + $link = 'https://adminbid-kopkb.erahn.com.my/api/portalApi'; }else{ $link = 'https://adminbid-kopkb.erahn.com.my/api/portalApi'; } diff --git a/app/Services/Reports/OnePercentService.php b/app/Services/Reports/OnePercentService.php index c747c07..5abfcde 100644 --- a/app/Services/Reports/OnePercentService.php +++ b/app/Services/Reports/OnePercentService.php @@ -398,7 +398,7 @@ class OnePercentService $t_gadai = Carbon::parse($gadai->t_gadai); $t_bayaran = Carbon::parse($trans->tarikh_bayaran); - if ($t_gadai->month === $t_bayaran->month && $t_gadai->year === $t_bayaran->year) { + if (($t_gadai->month == $t_bayaran->month) && ($t_gadai->year == $t_bayaran->year)) { return false; }else{ return true; diff --git a/app/Support/v2/GadaiV2.php b/app/Support/v2/GadaiV2.php index bab4e6e..b3febe1 100644 --- a/app/Support/v2/GadaiV2.php +++ b/app/Support/v2/GadaiV2.php @@ -58,31 +58,34 @@ class GadaiV2 } } - private function getKadarUpahAnggota($nokp,$total_nilai_marhun = 0,$groupid = 2) : Float{ - //Log::info('DEBUG NOKP:' . $nokp); - if($nokp){ - $customer = Customer::on('mysql7') - ->select('tag_anggota') - ->where(function($q) use ($nokp) { - $q->where('kpbaru', $nokp) - ->orWhere('kplama', $nokp); - }) - ->first(); - $customer = $customer ? $customer->toArray() : []; - if(isset($customer) && $customer['tag_anggota'] == 1){ - return 0.16; - }else{ - return KadarUpah::where('min', '<=', $total_nilai_marhun) - ->where('max', '>=', $total_nilai_marhun) - ->where('group_id', $groupid) - ->value('kadarujrah'); - } - } - - return 0.0; - + private function getKadarUpahAnggota($nokp, $total_nilai_marhun = 0, $groupid = 2): ?float +{ + if (!$nokp) { + return null; // tiada nokp = tak boleh tentukan kadar } + $customer = Customer::on('mysql7') + ->select('tag_anggota') + ->where(function ($q) use ($nokp) { + $q->where('kpbaru', $nokp) + ->orWhere('kplama', $nokp); + }) + ->first(); + + $customer = $customer ? $customer->toArray() : []; + + if (isset($customer['tag_anggota']) && $customer['tag_anggota'] == 1) { + return 0.00; // ahli — kadar 0.00 memang sah + } + + $kadar = KadarUpah::where('min', '<=', $total_nilai_marhun) + ->where('max', '>=', $total_nilai_marhun) + ->where('group_id', $groupid) + ->value('kadarujrah'); + + return is_null($kadar) ? null : (float) $kadar; // tak jumpa row = null (block) +} + public function createMarhun($norujukan,HttpRequest $request){ $current = Carbon::now(); $current = new Carbon(); @@ -108,19 +111,18 @@ class GadaiV2 $total_nilai_marhun = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->sum('n_marhun'); $total_berat = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->sum('berat'); - $kadar_raw = $this->getKadarUpahAnggota($request->nokp, $total_nilai_marhun, $cawangan['group_id']); + $kadar_raw = $this->getKadarUpahAnggota($request->nokp, $total_nilai_marhun, $cawangan['group_id']); - if (empty($kadar_raw) || $kadar_raw == 0) { - - Log::error('[BLOCKED] Kadar upah kosong / 0', [ - 'nokp' => $request->nokp, - 'total_nilai_marhun' => $total_nilai_marhun, - 'group_id' => $cawangan['group_id'], - ]); - - throw new \Exception("Kadar upah kosong / 0, transaksi dibatalkan!"); - } +if (is_null($kadar_raw)) { + Log::error('[BLOCKED] Kadar upah tidak dijumpai', [ + 'nokp' => $request->nokp, + 'total_nilai_marhun' => $total_nilai_marhun, + 'group_id' => $cawangan['group_id'], + ]); + throw new \Exception("Kadar upah tidak dijumpai, transaksi dibatalkan!"); +} +// $kadar_raw = 0.00 (ahli) akan lepas ke sini dan diteruskan // query kadar upah lama // $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->first();