fix diskaun promosi on tebus

This commit is contained in:
nurafrinaalimi16
2026-09-02 16:41:49 +08:00
parent 280f8cefa4
commit 2363c2947d
2 changed files with 40 additions and 23 deletions
+38 -21
View File
@@ -496,7 +496,7 @@ class Penebusan
return response()->json('duplicate');
}
$ujrah=0;$onepercent=0;$rounded=0;
$ujrah=0;$onepercent=0;$rounded=0;$upah_rebet_sebenar=0;
if($gadai['hargajualan'] == null){
$harga_tebus = $this->hargaTebusNotTawarruq($kodcaw,$norujukan);
$upah_tebus = $this->kiraUpahNotTawarruq($kodcaw,$norujukan);
@@ -506,7 +506,6 @@ class Penebusan
$harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
$upah_tebus = $this->kiraupahTawarruq($norujukan);
$upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan);
$upah_rebet_sebenar = $harga_tebus['harga'] - $gadai['bakipjm'];
if($request->jeniskeuntungan == 'onepercent'){
$array_onepercent = $this->kiraupahUjrahOnePercent($kodcaw,$norujukan);
@@ -518,10 +517,14 @@ class Penebusan
$ujrah = $array_onepercent['ujrah'];
$onepercent = $array_onepercent['onepercent'];
}
// FIX: tolak diskaun DAHULU sebelum kira upah_rebet_sebenar
$harga_tebus['harga'] -= $diskaun;
$upah_rebet_sebenar = $harga_tebus['harga'] - $gadai['bakipjm'];
}
// Tolak diskaun dari harga tebus
$harga_tebus['harga'] -= $diskaun;
$bayaran_keuntungan_bersih = max(0, $upah_rebet_sebenar);
$create_tebus = Tebus::on($cawangan['mysql'])->create([
'kodcaw'=> $kodcaw,
@@ -566,21 +569,31 @@ class Penebusan
'namateller' => $request->teller
]);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upah_tebus,
'bayaran_pembiayaan' => $gadai['bakipjm'],
'keuntungan_rebet' => $upah_rebet_sebenar,
'tarikh_bayaran'=> $current,
'kodcaw'=> $kodcaw,
'ujrah' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent['ujrah'] : 0,
'ujrah_rebet' => ($request->jeniskeuntungan == 'onepercent') ? $ujrah_rebet : 0,
'onepercent' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent['onepercent'] : 0,
'onepercent_rebet' => ($request->jeniskeuntungan == 'onepercent') ? $onepercent_rebet : 0,
'margin_semasa' => ($request->jeniskeuntungan == 'onepercent') ? $margin_semasa : 0,
'tempoh' => $gadai['tempoh'],
'beza_tempoh' => ($gadai['tempoh'] - $gadai['tempohbayar']),
]);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $bayaran_keuntungan_bersih,
'bayaran_pembiayaan' => $gadai['bakipjm'],
'keuntungan_rebet' => $upah_rebet_sebenar,
'tarikh_bayaran' => $current,
'kodcaw' => $kodcaw,
'ujrah' => ($request->jeniskeuntungan == 'onepercent')
? $array_onepercent['ujrah']
: 0,
'ujrah_rebet' => ($request->jeniskeuntungan == 'onepercent')
? $ujrah_rebet
: 0,
'onepercent' => ($request->jeniskeuntungan == 'onepercent')
? $array_onepercent['onepercent']
: 0,
'onepercent_rebet' => ($request->jeniskeuntungan == 'onepercent')
? $onepercent_rebet
: 0,
'margin_semasa' => ($request->jeniskeuntungan == 'onepercent')
? $margin_semasa
: 0,
'tempoh' => $gadai['tempoh'],
'beza_tempoh' => $gadai['tempoh'] - $gadai['tempohbayar'],
]);
if($request->jenistebus == 'P'){
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bakiupah;
@@ -690,6 +703,8 @@ class Penebusan
}
}
$bayaran_keuntungan_bersih = max(0, $upah_rebet_sebenar);
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'sttebus' => "T",
't_update' => $current->toDateString(),
@@ -743,7 +758,7 @@ class Penebusan
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upah_tebus,
'bayaran_keuntungan' => $bayaran_keuntungan_bersih,
'bayaran_pembiayaan' => $bayaran_pembiayaan,
'keuntungan_rebet' => $upah_rebet_sebenar,
'tarikh_bayaran'=> $current,
@@ -1140,10 +1155,12 @@ class Penebusan
$upah_rebet_sebenar = $harga_tebus['harga'] - $gadai['bakipjm'];
$bayaran_keuntungan_bersih = max(0, $upah_rebet_sebenar);
try{
TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upah_tebus,
'bayaran_keuntungan' => $bayaran_keuntungan_bersih,
'bayaran_pembiayaan' => $bayaran_pembiayaan,
'keuntungan_rebet' => $upah_rebet_sebenar,
'tarikh_bayaran'=> $current,