separation pasal version1 and version2 fix upah xdetect

This commit is contained in:
Hafifie PKB
2023-12-11 09:50:21 +08:00
parent 2a8e972b34
commit fb8b82c897
14 changed files with 171 additions and 53 deletions
+1 -1
View File
@@ -75,7 +75,7 @@ class OnePercent extends MasterServices
/* Start Penebusan */
public function tebusTawarruq($kodcaw,$norujukan){
public function tebusTawarruq($kodcaw,$norujukan,$jeniskeuntungan){
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
$response = $tebus->tebusTawarruq($this->kodcaw,$norujukan);
+2 -2
View File
@@ -59,9 +59,9 @@ class Tawarruq extends MasterServices
/* Start Penebusan */
public function tebusTawarruq($kodcaw,$norujukan){
public function tebusTawarruq($kodcaw,$norujukan,$jeniskeuntungan){
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
$response = $tebus->hargaTebusTawarruq($this->kodcaw,$norujukan);
$response = $tebus->tebusTawarruq($this->kodcaw,$norujukan);
return $response;
}
+4 -4
View File
@@ -143,9 +143,9 @@ class GadaiV1
->first();
if($gadai_data['tempoh'] >= 12.0){
$tempoh = 12;
$tempoh = 12;
}else{
$tempoh = $gadai_data['tempoh'];
$tempoh = $gadai_data['tempoh'];
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
@@ -199,8 +199,8 @@ class GadaiV1
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan);
$upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan);
$upahsemasa = $this->kiraupahTawarruq($norujukan);
$upahrebet = $this->kiraUpahRebet($norujukan);
$total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk');
+62 -3
View File
@@ -23,7 +23,7 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use PDO;
class Penebusan extends Tawarruq
class Penebusan
{
protected $kodcaw;
protected $cawangan_info;
@@ -77,6 +77,65 @@ class Penebusan extends Tawarruq
return $hargatebus;
}
public function kiraupahTawarruq($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
if($gadai_data['tempoh'] >= 12.0){
$tempoh = 12;
}else{
$tempoh = $gadai_data['tempoh'];
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
$upah_semasa_round = number_format($upahsemasa_raw,2);
if(strpos($upah_semasa_round,',')){
$upah_semasa_round = str_replace(',','',$upah_semasa_round);
}
$upah_semasa = substr($upah_semasa_round, 0, -1);
if(strpos($upah_semasa,',')){
$upah_semasa = str_replace(',','',$upah_semasa);
}
return $upah_semasa;
}
public function kiraUpahRebet($norujukan){
$cawangan = $this->cawangan_info;
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
if($gadai_data['tempoh'] >= 12.0){
$tempoh = 12;
}else{
$tempoh = $gadai_data['tempoh'];
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
$upah_rebet_round = number_format($upahrebet_raw,2);
if(strpos($upah_rebet_round,',')){
$upah_rebet_round = str_replace(',','',$upah_rebet_round);
}
$upah_rebet = substr($upah_rebet_round, 0, -1);
if(strpos($upah_rebet,',')){
$upah_rebet = str_replace(',','',$upah_rebet);
}
return $upah_rebet;
}
public function kiraUpahRebetSebenar($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
@@ -363,7 +422,7 @@ class Penebusan extends Tawarruq
->where('norujukan','=',$norujukan)
->sum('keuntungan_rebet');
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan);
$upah_rebet = $this->kiraUpahRebet($norujukan);
$rebet_raw =$gadai_data['upah12'] - $transaction_keuntungan - $upah_rebet;
@@ -536,7 +595,7 @@ class Penebusan extends Tawarruq
't_update' => $current->toDateString(),
));
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan);
$upah_rebet = $this->kiraUpahRebet($norujukan);
$create_tebus = Tebus::on($cawangan['mysql'])->create([
'kodcaw'=> $kodcaw,
+6
View File
@@ -60,6 +60,9 @@ class Calculation
$onepercent = $this->kiraanOnePercent($pembiayaan);
$ujrah_sebenar = $this->kiraanUjrahSebenar($nilaimarhun,$kadarujrah,$margin);
$onepercent = $this->getRoundedMethod($onepercent);
$ujrah_sebenar = $this->getRoundedMethod($ujrah_sebenar);
$keuntungan = $onepercent + $ujrah_sebenar;
return ['keuntungan' => $keuntungan,'onepercent' => $onepercent, 'ujrah' => $ujrah_sebenar];
@@ -70,6 +73,9 @@ class Calculation
$onepercent = $this->kiraanOnePercent($pembiayaan);
$ujrah_sebenar = $this->kiraanUjrah($nilaimarhun,$kadarujrah,$margin);
$onepercent = $this->getRoundedMethod($onepercent);
$ujrah_sebenar = $this->getRoundedMethod($ujrah_sebenar);
$keuntungan = $onepercent + $ujrah_sebenar;
return ['keuntungan' => $keuntungan,'onepercent' => $onepercent, 'ujrah' => $ujrah_sebenar];
-2
View File
@@ -263,7 +263,6 @@ class GadaiV2
}
$bilang_bln = $tempoh - $gadai['tempohbayar'];
$rounded = $upahsemasa - (($keuntungan['ujrah'] * $bilang_bln) + ($onepercentasal * $bilang_bln));
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
@@ -279,7 +278,6 @@ class GadaiV2
'tempoh' => $gadai['tempoh'],
'beza_tempoh' => $bilang_bln,
'margin_semasa' => $margin_semasa,
'rounded' => $rounded,
]);
DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$baki_pinjaman,$current,$norujukan,$gadai,$baki_hargajualan,$lelong_tawarruq,$margin_semasa){
+35 -9
View File
@@ -77,9 +77,7 @@ class Penebusan
$hargatebus = str_replace(',','',$hargatebus);
}
$rounded = $hargatebus - $harga_tebus;
Log::info([$harga_tebus,$rebet]);
$arrayharga = ['harga' => $hargatebus, 'rounded' => $rounded];
$arrayharga = ['harga' => $hargatebus];
return $arrayharga;
}
@@ -139,9 +137,15 @@ class Penebusan
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
$keuntungan_semasa = $onepercentservices->getRoundedMethod($bilang_bln * $upah['onepercent']);
$ujrah_semasa = $onepercentservices->getRoundedMethod($bilang_bln * $upah['ujrah']);
$upahsemasa_raw = $onepercentservices->getRoundedMethod($upahsemasa_raw);
return $upahsemasa_raw;
$array_upah = ['pendapatan' => $upahsemasa_raw,
'keuntungan' => $keuntungan_semasa,
'ujrah' => $ujrah_semasa];
return $array_upah;
}
public function upahRebetTawarruq($kodcaw,$norujukan,$jeniskeuntungan){
@@ -171,6 +175,29 @@ class Penebusan
return $upahrebet_raw;
}
public function kiraupahTawarruq($norujukan){
$onepercentservices = new Calculation();
$cawangan = $this->cawangan_info;
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
if($gadai_data['tempoh'] >= 12.0){
$tempoh = 12;
}else{
$tempoh = $gadai_data['tempoh'];
}
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
$upahsemasa_raw = $onepercentservices->getRoundedMethod($upahsemasa_raw);
return $upahsemasa_raw;
}
public function tebusSeparuhTawarruq($kodcaw,$norujukan,HttpRequest $request){
$cawangan = Cawangan::on('mysql7')
@@ -181,7 +208,7 @@ class Penebusan
->where('norujukan','=',$norujukan)
->first();
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
$upahsemasa = $this->kiraupahTawarruq($norujukan);
$array_recno_marhun = $request->array_recno;
@@ -446,7 +473,7 @@ class Penebusan
$upah_rebet_sebenar = 0;
}else{
$harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
$upah_tebus = $this->kiraupahTawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
$upah_tebus = $this->kiraupahTawarruq($norujukan);
$upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan);
$upah_rebet_sebenar = $harga_tebus['harga'] - $gadai['bakipjm'];
@@ -516,7 +543,6 @@ class Penebusan
'margin_semasa' => ($request->jeniskeuntungan == 'onepercent') ? $margin_semasa : 0,
'tempoh' => $gadai['tempoh'],
'beza_tempoh' => ($gadai['tempoh'] - $gadai['tempohbayar']),
'rounded' => $harga_tebus['rounded'],
]);
if($request->jenistebus == 'P'){
@@ -580,7 +606,7 @@ class Penebusan
if($request->jenisbayarantebus == "tawarruq")
{
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan);
}
else if($request->jenisbayarantebus == "nottawarruq")
{
@@ -597,7 +623,7 @@ class Penebusan
't_update' => $current->toDateString(),
));
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan,$request->jeniskeuntungan);
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan);
$create_tebus = Tebus::on($cawangan['mysql'])->create([
'kodcaw'=> $kodcaw,