tarikh upah dan imbang duga refined dan calculation ujrah

This commit is contained in:
Hafifie PKB
2024-02-01 09:33:51 +08:00
parent 4726ea7c5c
commit 363402dcf0
11 changed files with 273 additions and 23 deletions
+69
View File
@@ -675,4 +675,73 @@ class Penebusan
return response()->json($update_gadai, 201);
}
public function kiraupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
$tempoh_func = $this->kiraanTarikhJBG($gadai_data['t_gadai'],$tarikh);
if($tempoh_func >= 12.0){
$tempoh = 12;
}else{
$tempoh = $tempoh_func;
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
$upah_semasa_round = number_format($upahsemasa_raw,2);
if(strpos($upah_semasa_round,',')){
$upah_semasa_round = str_replace(',','',$upah_semasa_round);
}
$upah_semasa = substr($upah_semasa_round, 0, -1);
if(strpos($upah_semasa,',')){
$upah_semasa = str_replace(',','',$upah_semasa);
}
$array_return = [
'upahsemasa' => $upah_semasa,
'tempoh' => $tempoh,
];
return $array_return;
}
private function kiraanTarikhJBG($tarikhgadai,$tarikh){
$tarikh_gadai = Carbon::parse($tarikhgadai. ' 00:00:00');
$tarikh = new Carbon($tarikh);
$tahun_gadai = $tarikh_gadai->year;
$bulan_gadai = $tarikh_gadai->month;
$hari_gadai = $tarikh_gadai->day;
$tahun_semasa = $tarikh->year;
$bulan_semasa = $tarikh->month;
$hari_semasa = $tarikh->day;
if($hari_semasa >= $hari_gadai){
$beza_hari = $hari_semasa - $hari_gadai + 1;
}else if($hari_semasa < $hari_gadai){
$bulan_semasa = $bulan_semasa - 1;
$beza_hari = ($hari_semasa + 30) - $hari_gadai + 1;
}
$extensivemonth_gadai = 0;
if($beza_hari >= 1 && $beza_hari <= 15){
$extensivemonth_gadai = 0.5;
}else if($beza_hari >= 16){
$extensivemonth_gadai = 1;
}else{
$extensivemonth_gadai = 0;
}
$beza_tahun = $tahun_semasa - $tahun_gadai;
$beza_bulan = ($bulan_semasa + ($beza_tahun * 12)) - $bulan_gadai;
$tempoh_gadai = $beza_bulan + $extensivemonth_gadai;
return $tempoh_gadai;
}
}