From 48ba5c808c8cf4bedb03138e03d6b5a0d50524af Mon Sep 17 00:00:00 2001 From: Hafifie PKB Date: Mon, 25 Mar 2024 13:20:11 +0800 Subject: [PATCH] fix auto tawarruq tebus --- app/Support/v2/Penebusan.php | 66 ++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/app/Support/v2/Penebusan.php b/app/Support/v2/Penebusan.php index 1332843..d2f0582 100644 --- a/app/Support/v2/Penebusan.php +++ b/app/Support/v2/Penebusan.php @@ -649,12 +649,33 @@ class Penebusan $gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); + $ujrah=0;$onepercent=0;$rounded=0; + if($gadai['hargajualan'] == null){ + $harga_tebus = $this->hargaTebusNotTawarruq($kodcaw,$norujukan); + $upah_tebus = $this->kiraUpahNotTawarruq($kodcaw,$norujukan); + $upah_rebet = 0; + $upah_rebet_sebenar = 0; + }else{ + $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); + $array_onepercent_rebet = $this->kiraupahUjrahOnePercentRebate($kodcaw,$norujukan); + $margin_semasa = ($gadai['bakipjm']/$gadai['nilaimarhun']) * 100; + $ujrah = $array_onepercent['ujrah']; + $onepercent = $array_onepercent['onepercent']; + } + } + $update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array( 'sttebus' => "T", 't_update' => $current->toDateString(), )); - $upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan); + // $upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan); $create_tebus = Tebus::on($cawangan['mysql'])->create([ 'kodcaw'=> $kodcaw, @@ -664,22 +685,24 @@ class Penebusan 'jenistebus' => $request->jenistebus, 'glcode' => "0", 't_tebus' => $current->toDateString(), - 'jbg' => $request->jbg, - 'kadarupah' => $request->kadarupah, - 'nilaimarhun' => $request->nilai_marhun, - 'pinjaman' => $request->pinjaman, - 'ansuran' => $request->ansuran, + 'jbg' => $gadai['tempoh'], + 'kadarupah' => $gadai['kadarupah'], + 'nilaimarhun' => $gadai['nilaimarhun'], + 'pinjaman' => $gadai['pinjaman'], + 'ansuran' => 0.00, 'addpinjaman' => $request->addpinjaman, - 'bakipjm' => $request->bakipinjaman, - 'bakiupah' => $request->bakiupah, + 'bakipjm' => $harga_tebus['harga'], + 'bakiupah' => $upah_tebus, 'terima' => "*", 'kodgl' => "0", 'nowakil' => $request->nowakil, 'rebate' => $rebet, 'marhuntebus' => $request->marhun, - 'historygadaian' => $request->historygadaian, + 'historygadaian' => $norujukan, 'tarikhbyrn' => $current->toDateString(), - 'teller' => $request->teller + 'teller' => $request->teller, + 'ujrah' => $ujrah, + 'onepercent' => $onepercent, ]); $create_inoutmar = InOutMar::on($cawangan['mysql'])->create([ @@ -700,23 +723,32 @@ class Penebusan $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ 'norujukan' => $norujukan, - 'bayaran_keuntungan' => $request->bakiupah, - 'bayaran_pembiayaan' => $bayaran_pembiayaan, - 'keuntungan_rebet' => $request->bakiupah, + 'bayaran_keuntungan' => $upah_tebus, + 'bayaran_pembiayaan' => $gadai['bakipjm'], + 'keuntungan_rebet' => $upah_rebet_sebenar, 'tarikh_bayaran'=> $current, - 'kodcaw'=> $kodcaw + 'kodcaw'=> $kodcaw, + 'ujrah' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent['ujrah'] : 0, + 'ujrah_rebet' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent_rebet['ujrah'] : 0, + 'onepercent' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent['onepercent'] : 0, + 'onepercent_rebet' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent_rebet['onepercent'] : 0, + 'margin_semasa' => ($request->jeniskeuntungan == 'onepercent') ? $margin_semasa : 0, + 'tempoh' => $gadai['tempoh'], + 'beza_tempoh' => ($gadai['tempoh'] - $gadai['tempohbayar']), ]); + $baki_hargajualan = $gadai['bakihargajualan'] - $request->bakipinjaman; $transaction = Transaction::on('mysql7')->create([ 'trans_type' => $request->jenistebus, 'norujukan' => $norujukan, 'nokp' => $gadai['nokp'], 'teller' => $request->teller, 'kodcaw' => $kodcaw, - 'duit_masuk' => $request->totalbayaran, + 'duit_masuk' => $harga_tebus['harga'], 'created_at' => $current, - 'bakiharga' => 0, - 'duitpelanggan' => $request->bayaranpelanggan, + 'bakiharga' => $baki_hargajualan, + 'nowakil' => (int)$request->nowakil, + 'duitpelanggan' => isset($request->duitpelanggan) ? $request->duitpelanggan : 0, 'bakipelanggan' => $request->bakipelanggan ]);