added onepercent to gadai and ansuran

This commit is contained in:
Hafifie PKB
2023-11-14 16:08:42 +08:00
parent dd2958894a
commit 265cae8a89
4 changed files with 113 additions and 49 deletions
+87 -45
View File
@@ -144,7 +144,8 @@ class GadaiController extends Controller
'sirig' => $request->sirig,
't_gadai' => $current->toDateString(),
'sttebus' => '',
'masa' =>$current->toTimeString()
'masa' =>$current->toTimeString(),
'tagbaru' => 1
]);
return response()->json($gadai, 201);
});
@@ -336,7 +337,6 @@ class GadaiController extends Controller
}
public function kiraupahTawarruq($kodcaw,$norujukan){
$onepercentservices = new OnePercentServices();
$cawangan = Cawangan::on('mysql7')
@@ -354,7 +354,7 @@ class GadaiController extends Controller
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
// $upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
@@ -385,7 +385,7 @@ class GadaiController extends Controller
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
// $upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
$upahrebet_raw = $bilang_bln * $upah['keuntungan'];
@@ -474,6 +474,7 @@ class GadaiController extends Controller
}else{
$lelong_tawarruq = 1;
}
$onepercent = new OnePercentServices();
$old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
@@ -483,50 +484,91 @@ class GadaiController extends Controller
$baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran;
$transaction = Transaction::on('mysql7')->create([
'trans_type' => 'A',
'norujukan' => $norujukan,
'nokp' => $gadai['nokp'],
'teller' => $request->teller,
'kodcaw' => $kodcaw,
'duit_masuk' => $request->bayaran,
'created_at' => $current,
'bakiharga' => $baki_hargajualan,
'nowakil' => (int)$request->nowakil
]);
$margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100;
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa,
'bayaran_pembiayaan' => $baki_bayaran,
'keuntungan_rebet'=> $upahrebet,
'tarikh_bayaran'=> $current,
'kodcaw'=> $kodcaw
]);
$keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa);
$ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['percentpinj']);
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'bakipjm' => $baki_pinjaman,
'jbg' => 0,
't_update' => $current->toDateString(),
'bakihargajualan' => $baki_hargajualan,
'tempohbayar' => $gadai['tempoh'],
'lelong_tawarruq' => $lelong_tawarruq
));
$onepercentasal = $gadai['pinjaman'] * (1/100);
$new_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
try {
$audit = new Audit();
$audit->users = $request->teller;
$audit->actions = 'Bayaran Ansuran';
$audit->norujukan = $norujukan;
$audit->new_data = $new_data;
$audit->old_data = $old_data;
$audit->kodcaw = $kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
DB::connection('mysql7')->transaction(function () use($onepercentasal,$ujrahasal,$keuntungan,$norujukan,$gadai,$request,$kodcaw,$current,$baki_hargajualan,$upahsemasa,$baki_bayaran,$upahrebet,$cawangan,$old_data,$baki_pinjaman,$lelong_tawarruq,$margin_semasa) {
return response()->json($update_gadai, 200);
$transaction = Transaction::on('mysql7')->create([
'trans_type' => 'A',
'norujukan' => $norujukan,
'nokp' => $gadai['nokp'],
'teller' => $request->teller,
'kodcaw' => $kodcaw,
'duit_masuk' => $request->bayaran,
'created_at' => $current,
'bakiharga' => $baki_hargajualan,
'nowakil' => (int)$request->nowakil
]);
if($gadai['tempoh'] >= 12.0){
$tempoh = 12;
}else{
$tempoh = $gadai['tempoh'];
}
$bilang_bln = $tempoh - $gadai['tempohbayar'];
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa,
'bayaran_pembiayaan' => $baki_bayaran,
'keuntungan_rebet'=> $upahrebet,
'tarikh_bayaran'=> $current,
'kodcaw'=> $kodcaw,
'ujrah' => ($ujrahasal*$bilang_bln),
'ujrah_rebet' => ($keuntungan['ujrah'] * $bilang_bln),
'onepercent' => ($onepercentasal * $bilang_bln),
'onepercent_rebet' => ($keuntungan['onepercent'] * $bilang_bln),
'tempoh' => $gadai['tempoh'],
'beza_tempoh' => $bilang_bln,
'margin_semasa' => $margin_semasa,
]);
DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$baki_pinjaman,$current,$norujukan,$gadai,$baki_hargajualan,$lelong_tawarruq,$margin_semasa){
$margin_updated = ($baki_pinjaman / $gadai['nilaimarhun']) * 100;
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'bakipjm' => $baki_pinjaman,
'jbg' => 0,
't_update' => $current->toDateString(),
'bakihargajualan' => $baki_hargajualan,
'tempohbayar' => $gadai['tempoh'],
'lelong_tawarruq' => $lelong_tawarruq,
'margin_semasa' => $margin_updated,
));
});
$new_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
// $audit = new Audit();
// $audit->users = $request->teller;
// $audit->actions = 'Bayaran Ansuran';
// $audit->norujukan = $norujukan;
// $audit->new_data = $new_data;
// $audit->old_data = $old_data;
// $audit->kodcaw = $kodcaw;
// $audit->created_at = $current;
// $audit->updated_at = $current;
// $audit->save();
if(!$transaction || !$transaction_upah) {
throw new \Exception('One of the database operations failed.');
}
DB::commit();
return response()->json("success", 200);
});
}catch(\Exception $e){
return response()->json("Transaction failed: " . $e->getMessage(),500);
}
}
public function getGadaianSemasa($kodcaw){
@@ -3667,8 +3709,8 @@ class GadaiController extends Controller
$kadarujrah = $onePercentServices->getKadarUjrah($request->nilaimarhun);
$test = $this->kiraupahTawarruq('KB2','KB2231109-0001');
dd($test);
// $test = $this->kiraupahTawarruq('KB2','KB2231109-0001');
// dd($test);
return $kadarujrah;
}
+11 -3
View File
@@ -36,7 +36,7 @@ use App\StokAudit11;
use App\StokAudit12;
use App\AkruNet;
use App\Services\OnePercentServices;
use Illuminate\Http\Request;
use Carbon\Carbon;
@@ -88,6 +88,8 @@ class TebusController extends Controller
}
public function kiraupahTawarruq($kodcaw,$norujukan){
$onepercentservices = new OnePercentServices();
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
@@ -103,7 +105,9 @@ class TebusController extends Controller
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
// $upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
$upah_semasa_round = number_format($upahsemasa_raw,2);
if(strpos($upah_semasa_round,',')){
@@ -118,6 +122,8 @@ class TebusController extends Controller
}
public function kiraUpahRebet($kodcaw,$norujukan){
$onepercentservices = new OnePercentServices();
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
@@ -134,7 +140,9 @@ class TebusController extends Controller
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
$upahrebet_raw = $bilang_bln * $upah['keuntungan'];
// $upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
$upah_rebet_round = number_format($upahrebet_raw,2);
if(strpos($upah_rebet_round,',')){
+14
View File
@@ -38,6 +38,20 @@ class OnePercentServices
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);
+1 -1
View File
@@ -14,7 +14,7 @@ class TransaksiKeuntungan extends Model
* @var array
*/
protected $fillable = [
'norujukan','bayaran_keuntungan','tarikh_bayaran','kodcaw','bayaran_pembiayaan','keuntungan_rebet'
'norujukan','bayaran_keuntungan','tarikh_bayaran','kodcaw','bayaran_pembiayaan','keuntungan_rebet','ujrah','ujrah_rebet','onepercent','onepercent_rebet','tempoh','beza_tempoh','margin_semasa'
];
/**