create nad update gadai table migration and add services class for one percent
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
use App\Services\OnePercentServices;
|
||||
|
||||
class TestOnePercent extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'onepercent:test';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Update JBG for every active gadai';
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
protected $onepercentserv;
|
||||
public function __construct(OnePercentServices $onepercentserv)
|
||||
{
|
||||
$this->onepercentserv = $onepercentserv;
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$pemb = $this->ask('Pembiayaan?');
|
||||
$nm = $this->ask('Nilaimarhun?');
|
||||
$ku = $this->ask('Kadarujrah?');
|
||||
$marg = $this->ask('Margin?');
|
||||
|
||||
$test = $this->onepercentserv->kiraanKeuntunganSebenar($pemb,$nm,$ku,$marg);
|
||||
|
||||
dd($test);
|
||||
return $test;
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,8 @@ class Kernel extends ConsoleKernel
|
||||
*/
|
||||
protected $commands = [
|
||||
Commands\DailyGadai::class,
|
||||
Commands\TestOnePercent::class,
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
|
||||
|
||||
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 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];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user