Files
api_arrahn/app/Services/OnePercentServices.php
T
2023-11-14 16:08:42 +08:00

72 lines
2.2 KiB
PHP

<?php
namespace App\Services;
use App\KadarUpah;
class OnePercentServices
{
protected $maks_margin = 80;
protected $one_percent = 1;
private function kiraanUjrah(float $nilaimarhun = 0.0,float $kadarujrah = 0.0,float $margin = 0.0){
//periksa adakah kadar ujrah ini diberi percentage
if($kadarujrah >= 1){
return;
}
$ujrah = ($kadarujrah/100) * $nilaimarhun;
$formula_margin = ($this->maks_margin - $margin) / $this->maks_margin;
$ujrah_margin = $formula_margin * $kadarujrah;
$rebate_ujrah = $nilaimarhun*($ujrah_margin/100);
$ujrah_sebenar = $ujrah - $rebate_ujrah;
return $ujrah_sebenar;
}
private function kiraanOnePercent(float $pembiayaan = 0.0){
//periksa adakah pembiayaan adalah null atau kosong.
if($pembiayaan == 0 || $pembiayaan == null)
return;
$onepercent = ($this->one_percent/100) * $pembiayaan;
return $onepercent;
}
public function kiraanUjrahSebenar(float $nilaimarhun = 0.0,float $kadarujrah = 0.0,float $margin = 0.0){
if($kadarujrah >= 1){
return;
}
$ujrah = ($kadarujrah/100) * $nilaimarhun;
$formula_margin = ($this->maks_margin - $margin) / $this->maks_margin;
$rebate_ujrah = $formula_margin * $ujrah;
$ujrah_sebenar = $ujrah - $rebate_ujrah;
return $ujrah_sebenar;
}
public function kiraanKeuntunganSebenar(float $pembiayaan = 0.0,float $nilaimarhun = 0.0,float $kadarujrah = 0.0,float $margin = 0.0){
$onepercent = $this->kiraanOnePercent($pembiayaan);
$ujrah_sebenar = $this->kiraanUjrah($nilaimarhun,$kadarujrah,$margin);
$keuntungan = $onepercent + $ujrah_sebenar;
return ['keuntungan' => $keuntungan,'onepercent' => $onepercent, 'ujrah' => $ujrah_sebenar];
}
public function getKadarUjrah(float $nilaimarhun = 0.0) : Float{
$kadarujrah = KadarUpah::on('mysql7')->select('kadarujrah')->where([['min','<=',$nilaimarhun],['max','>=',$nilaimarhun]])->get()->toArray();
return isset($kadarujrah[0]) ? $kadarujrah[0]['kadarujrah'] : 0;
}
}