add tunggakan for onepercent and ujrah

This commit is contained in:
Hafifie PKB
2023-12-13 23:55:10 +08:00
parent ab4be6cf11
commit b5b98d0fdf
7 changed files with 236 additions and 50 deletions
+55
View File
@@ -266,6 +266,61 @@ class GadaiV1
return response()->json($update_gadai, 200);
}
public function updateJBG(HttpRequest $request){
$cawangan_mysql = $this->cawangan_info;
$all_gadai = Gadai::on($cawangan_mysql['mysql'])->whereNotIn('sttebus',['L','T'])->get();
foreach($all_gadai as $gadai){
if($gadai['t_update'] == null){
$tarikh_update = Carbon::parse($gadai['t_gadai'].' '. $gadai['masa']);
}else{
$tarikh_update = Carbon::parse($gadai['t_update'].' 00:00:00' );
}
$tarikh_gadai = Carbon::parse($gadai['t_gadai']. ' 00:00:00');
$current = Carbon::now();
$tahun_gadai = $tarikh_gadai->year;
$bulan_gadai = $tarikh_gadai->month;
$hari_gadai = $tarikh_gadai->day;
$tahun_semasa = $current->year;
$bulan_semasa = $current->month;
$hari_semasa = $current->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;
$upah_semasa = $this->kiraupahTawarruqStokAudit($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm']);
Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array(
'jbg' => $tempoh_gadai,
'tempoh' => $tempoh_gadai,
'tunggakan' => $upah_semasa
));
}
return response()->json('successful',200);
}
public function kiraupahTawarruqStokAudit($tempoh,$tempohbayar,$kadarupah,$bakipinjaman){
$bilang_bln = $tempoh - $tempohbayar;
$upahsemasa_raw = $bilang_bln * (($kadarupah/100 )* $bakipinjaman);
$upah_semasa_round = number_format($upahsemasa_raw,2);
$upah_semasa = substr($upah_semasa_round, 0, -1);
// $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa));
if(strpos($upah_semasa,',')){
$upah_semasa = str_replace(',','',$upah_semasa);
}
return $upah_semasa;
}
}