Merged in feature/kadar-anggota (pull request #444)

change kadar anggota to 1%
This commit is contained in:
dev_kopkb
2026-08-26 15:00:40 +00:00
+21 -19
View File
@@ -58,30 +58,33 @@ class GadaiV2
} }
} }
private function getKadarUpahAnggota($nokp,$total_nilai_marhun = 0,$groupid = 2) : Float{ private function getKadarUpahAnggota($nokp, $total_nilai_marhun = 0, $groupid = 2): ?float
//Log::info('DEBUG NOKP:' . $nokp); {
if($nokp){ if (!$nokp) {
return null; // tiada nokp = tak boleh tentukan kadar
}
$customer = Customer::on('mysql7') $customer = Customer::on('mysql7')
->select('tag_anggota') ->select('tag_anggota')
->where(function($q) use ($nokp) { ->where(function ($q) use ($nokp) {
$q->where('kpbaru', $nokp) $q->where('kpbaru', $nokp)
->orWhere('kplama', $nokp); ->orWhere('kplama', $nokp);
}) })
->first(); ->first();
$customer = $customer ? $customer->toArray() : []; $customer = $customer ? $customer->toArray() : [];
if(isset($customer) && $customer['tag_anggota'] == 1){
return 0.16; if (isset($customer['tag_anggota']) && $customer['tag_anggota'] == 1) {
}else{ return 0.00; // ahli — kadar 0.00 memang sah
return KadarUpah::where('min', '<=', $total_nilai_marhun) }
$kadar = KadarUpah::where('min', '<=', $total_nilai_marhun)
->where('max', '>=', $total_nilai_marhun) ->where('max', '>=', $total_nilai_marhun)
->where('group_id', $groupid) ->where('group_id', $groupid)
->value('kadarujrah'); ->value('kadarujrah');
}
}
return 0.0; return is_null($kadar) ? null : (float) $kadar; // tak jumpa row = null (block)
}
}
public function createMarhun($norujukan,HttpRequest $request){ public function createMarhun($norujukan,HttpRequest $request){
$current = Carbon::now(); $current = Carbon::now();
@@ -110,17 +113,16 @@ class GadaiV2
$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) { if (is_null($kadar_raw)) {
Log::error('[BLOCKED] Kadar upah tidak dijumpai', [
Log::error('[BLOCKED] Kadar upah kosong / 0', [
'nokp' => $request->nokp, 'nokp' => $request->nokp,
'total_nilai_marhun' => $total_nilai_marhun, 'total_nilai_marhun' => $total_nilai_marhun,
'group_id' => $cawangan['group_id'], 'group_id' => $cawangan['group_id'],
]); ]);
throw new \Exception("Kadar upah tidak dijumpai, transaksi dibatalkan!");
}
throw new \Exception("Kadar upah kosong / 0, transaksi dibatalkan!"); // $kadar_raw = 0.00 (ahli) akan lepas ke sini dan diteruskan
}
// query kadar upah lama // query kadar upah lama
// $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->first(); // $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->first();