calculation for kadar anggota koperasi

This commit is contained in:
nurafrinaalimi16
2025-11-10 19:11:13 +08:00
parent fed2cfea72
commit a3cb756f6b
4 changed files with 141 additions and 22 deletions
+31 -6
View File
@@ -4,6 +4,7 @@ namespace App\Support\v2;
use App\Audit;
use App\Cawangan;
use App\Customer;
use App\KadarUpah;
use App\Support\v2\Calculation;
use Carbon\Carbon;
@@ -57,6 +58,31 @@ 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;
}
public function createMarhun($norujukan,HttpRequest $request){
$current = Carbon::now();
$current = new Carbon();
@@ -83,14 +109,13 @@ class GadaiV2
$total_berat = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->sum('berat');
//query kadar upah baru
$kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->where('group_id',$cawangan['group_id'])->first();
$kadar_raw = $this->getKadarUpahAnggota($request->nokp,$total_nilai_marhun,$cawangan['group_id']);
// query kadar upah lama
// $kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->first();
$onepercentservices = new Calculation();
$keuntungan = $onepercentservices->kiraanKeuntunganSebenar($request->pinjaman,$total_nilai_marhun,$kadar_raw['kadarujrah'],$margin_pinjam);
$keuntungan = $onepercentservices->kiraanKeuntunganSebenar($request->pinjaman,$total_nilai_marhun,$kadar_raw,$margin_pinjam);
// $upah1 = $request->pinjaman * ($kadar_raw['kadarupdah']/100);
// $upah6 = $upah1 * 6;
// $upah12 = $upah1 * 12;
@@ -102,7 +127,7 @@ class GadaiV2
$hargajualan = $request->pinjaman + $upah12;
$akrual = $this->kiraupahTawarruqStokAuditUjrahOnePercent(0.5,0,$kadar_raw['kadarujrah'],$request->pinjaman,$total_nilai_marhun,$margin_pinjam);
$akrual = $this->kiraupahTawarruqStokAuditUjrahOnePercent(0.5,0,$kadar_raw,$request->pinjaman,$total_nilai_marhun,$margin_pinjam);
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
@@ -110,7 +135,7 @@ class GadaiV2
'nilaimarhun' => $total_nilai_marhun,
'berat'=> $total_berat,
'pinjaman' => $request->pinjaman,
'kadarupah' => $kadar_raw['kadarujrah'],
'kadarupah' => $kadar_raw,
'marhun' => $request->marhun,
'percentpinj' => $margin_pinjam,
'teller' => $request->teller,
@@ -131,7 +156,7 @@ class GadaiV2
'upahdibayar' => 0.00,
'tempohbayar' => 0.00,
'lelong_tawarruq' => 1,
'kadarujrah' => $kadar_raw['kadarujrah'],
'kadarujrah' => $kadar_raw,
'ujrah' => $ujrah,
'onepercent' => $onepercent,
'margin_semasa' => $margin_pinjam,