diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index 56d066e..76ab0f2 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -598,7 +598,7 @@ class LelongController extends Controller if($cawangan['tagarrahnbid'] == 1){ if(env('APP_ENV') != 'production'){ - $link = 'http://adminbid.arrahn/api/portalApi'; + $link = 'http://niklah.arrahn.com.my/api/portalApi'; }else{ $link = 'http://adminbid.arrahn/api/portalApi'; } diff --git a/app/Http/Controllers/TebusController.php b/app/Http/Controllers/TebusController.php index 44d6da0..4d69eaf 100644 --- a/app/Http/Controllers/TebusController.php +++ b/app/Http/Controllers/TebusController.php @@ -182,6 +182,13 @@ class TebusController extends Controller return $response; } + public function tebusUpdateTambahPinjaman($kodcaw,$norujukan,Request $request){ + $master = new MasterServices($kodcaw); + $response = $master->tebusUpdateTambahPinjaman($kodcaw,$norujukan,$request); + + return $response; + } + public function getLaporanTebus($kodcaw,$tarikh){ $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); @@ -2000,14 +2007,4 @@ class TebusController extends Controller return $response; } - - public function tebusTransaksiUpdate($kodcaw,$norujukan,Request $request){ - $master = new MasterServices($kodcaw); - $response = $master->tebusTransaksiUpdate($kodcaw,$norujukan,$request); - - return $response; - } - - - } diff --git a/app/Services/MasterServices.php b/app/Services/MasterServices.php index b304244..1f903f9 100644 --- a/app/Services/MasterServices.php +++ b/app/Services/MasterServices.php @@ -223,6 +223,12 @@ class MasterServices return $response; } + public function tebusUpdateTambahPinjaman($kodcaw,$norujukan,HttpRequest $request){ + $onepercent = new OnePercentEngine($this->cawangan); + $response = $onepercent->tebusUpdateAutoTawarruq($kodcaw,$norujukan,$request); + return $response; + } + public function kiraupahUjrahOnePercent($kodcaw,$norujukan){ $response = $this->engine->kiraupahUjrahOnePercent($kodcaw,$norujukan); @@ -247,19 +253,6 @@ class MasterServices } } - public function tebusTransaksiUpdate($kodcaw,$norujukan,HttpRequest $request){ - if($request->jeniskeuntungan == 'onepercent'){ - $onepercent = new OnePercentEngine($this->cawangan); - $response = $onepercent->tebusTransaksiUpdate($kodcaw,$norujukan,$request); - - }else{ - $tawarruq = new TawarruqEngine($this->cawangan); - $response = $tawarruq->tebusTransaksiUpdate($kodcaw,$norujukan,$request); - } - - return $response; - } - /* End Penebusan */ public function test(){ diff --git a/app/Support/OnePercent.php b/app/Support/OnePercent.php index 2bb5d18..e924fc1 100644 --- a/app/Support/OnePercent.php +++ b/app/Support/OnePercent.php @@ -186,6 +186,13 @@ class OnePercent extends MasterServices return $response; } + public function tebusUpdateTambahPinjaman($kodcaw,$norujukan,HttpRequest $request){ + $tebus = new Penebusan($this->kodcaw,$this->cawangan_info); + $response = $tebus->transaksiTambahPembiayaan($this->kodcaw,$norujukan,$request); + + return $response; + } + public function kiraupahUjrahOnePercent($kodcaw,$norujukan){ $tebus = new Penebusan($this->kodcaw,$this->cawangan_info); $response = $tebus->kiraupahUjrahOnePercent($this->kodcaw,$norujukan); diff --git a/app/Support/v2/Penebusan.php b/app/Support/v2/Penebusan.php index ac88d87..6e9bcb2 100644 --- a/app/Support/v2/Penebusan.php +++ b/app/Support/v2/Penebusan.php @@ -947,21 +947,14 @@ class Penebusan $array_trans_base = $request->only(['pinjaman','teller']); try{ - $failover_response = $this->handleFailOverTransaction($kodcaw,'create',$norujukan,$request->teller); - // DB::connection($cawangan['mysql'])->transaction(function () use ($failover_response,$kodcaw,$norujukan,$gadai,$cawangan,$array_tebus,$array_trans) { + DB::connection($cawangan['mysql'])->beginTransaction(); $this->saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus); - $this->createTransaction($cawangan,$kodcaw,$norujukan,$array_trans,$failover_response['id']); - // }); + $this->createTransaction($cawangan,$kodcaw,$norujukan,$array_trans); DB::connection('mysql7')->beginTransaction(); - // DB::connection('mysql7')->transaction(function () use ($kodcaw,$norujukan,$gadai,$array_tebus_base,$array_trans_base) { - $this->saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base); - $this->createTransactionBase($norujukan,$kodcaw,$array_trans_base); - // }); - - $this->handleFailOverTransaction($kodcaw,'done',$norujukan,$request->teller,$failover_response['id']); - + $this->saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base); + $this->createTransactionBase($norujukan,$kodcaw,$array_trans_base); $array_response = [ 'result' => 'success', 'data' => 1 @@ -973,10 +966,6 @@ class Penebusan return response()->json($array_response); }catch(\Exception $e){ - if (isset($failover_response['id'])) { - $this->handleFailOverTransaction($kodcaw,'fail',$norujukan,$request->teller,$failover_response['id'],$e->getCode(),$e->getMessage()); - } - DB::connection($cawangan['mysql'])->rollBack(); DB::connection('mysql7')->rollBack(); $array_response = [ @@ -996,7 +985,7 @@ class Penebusan } - private function transaksiTambahPembiayaan($kodcaw,$norujukan,HttpRequest $request){ + public function transaksiTambahPembiayaan($kodcaw,$norujukan,HttpRequest $request){ $current = Carbon::now(); $current = new Carbon(); @@ -1004,6 +993,11 @@ class Penebusan $gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); + $array_tebus = $request->only(['jeniskeuntungan', 'nopelanggan','jenistebus','addpinjaman','nowakil','marhun','teller']); + $array_trans = $request->only(['nopelanggan', 'noic','pinjaman','marhun','teller','jenistebus']); + $array_tebus_base = $request->only(['totalbayaran', 'bakiupah','jeniskeuntungan','bakipinjaman','jenistebus','teller','nowakil','duitpelanggan']); + $array_trans_base = $request->only(['pinjaman','teller']); + try{ //check duplicate $data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','AT')->first(); @@ -1011,8 +1005,40 @@ class Penebusan if(!empty($data)){ return 'duplicate'; } - }catch(\Exception $e){ + + DB::connection($cawangan['mysql'])->beginTransaction(); + $this->saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus); + $this->createTransaction($cawangan,$kodcaw,$norujukan,$array_trans); + DB::connection('mysql7')->beginTransaction(); + $this->saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base); + $this->createTransactionBase($norujukan,$kodcaw,$array_trans_base); + + $array_response = [ + 'result' => 'success', + 'data' => 1 + ]; + + DB::connection($cawangan['mysql'])->commit(); + DB::connection('mysql7')->commit(); + + return response()->json($array_response); + }catch(\Exception $e){ + DB::connection($cawangan['mysql'])->rollBack(); + DB::connection('mysql7')->rollBack(); + + $array_response = [ + 'result' => 'error', + 'data' => $e->getMessage() + ]; + + Log::error('Transaction failed', [ + 'exception' => $e->getMessage(), + 'line' => $e->getLine(), + 'file' => $e->getFile(), + ]); + + return response()->json($array_response); } } @@ -1038,17 +1064,13 @@ class Penebusan private function saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus){ $current = Carbon::now(); - $current = new Carbon(); - /* Rebet Still looking for the calculation */ $rebet = 0; $harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan,$array_tebus['jeniskeuntungan']); - $upah_tebus = $this->kiraupahTawarruq($norujukan); $upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan); - $array_onepercent_rebet = $this->kiraupahUjrahOnePercentRebate($kodcaw,$norujukan); try{ $onepercent_rebet = $array_onepercent_rebet['onepercent'] - $upah_rebet['onepercent']; @@ -1088,7 +1110,12 @@ class Penebusan private function saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base){ $current = Carbon::now(); - $bayaran_pembiayaan = $array_tebus_base['totalbayaran'] - $array_tebus_base['bakiupah']; + + if($array_tebus_base['jenistebus'] == 'AT'){ + $bayaran_pembiayaan = $array_tebus_base['totalbayaran'] - $array_tebus_base['bakiupah']; + }else{ + $bayaran_pembiayaan = $array_tebus_base['bakipinjaman']; + } $margin_semasa = ($gadai['bakipjm']/$gadai['nilaimarhun']) * 100; @@ -1122,14 +1149,22 @@ class Penebusan 'beza_tempoh' => ($gadai['tempoh'] - $gadai['tempohbayar']), ]); - $baki_hargajualan = $gadai['bakihargajualan'] - $array_tebus_base['bakipinjaman']; + if($array_tebus_base['jenistebus'] == 'P'){ + $duit_masuk = $array_tebus_base['bakiupah']; + }else if($array_tebus_base['jenistebus'] == 'AT'){ + $duit_masuk = $array_tebus_base['totalbayaran']; + }else{ + $duit_masuk = $harga_tebus['harga']; + } + + $baki_hargajualan = ($array_tebus_base['jenistebus'] == 'P') ? $gadai['bakihargajualan'] = $array_tebus_base['bakiupah'] : $gadai['bakihargajualan'] - $array_tebus_base['bakipinjaman']; Transaction::on('mysql7')->create([ 'trans_type' => $array_tebus_base['jenistebus'], 'norujukan' => $norujukan, 'nokp' => $gadai['nokp'], 'teller' => $array_tebus_base['teller'], 'kodcaw' => $kodcaw, - 'duit_masuk' => $array_tebus_base['totalbayaran'], + 'duit_masuk' => $duit_masuk, 'created_at' => $current, 'bakiharga' => $baki_hargajualan, 'nowakil' => (int)$array_tebus_base['nowakil'], @@ -1141,7 +1176,7 @@ class Penebusan } } - private function createTransaction($cawangan,$kodcaw,$norujukan,$array_trans,$fail_id = 0){ + private function createTransaction($cawangan,$kodcaw,$norujukan,$array_trans){ $current = Carbon::now(); /* Create Gadai */ @@ -1173,7 +1208,11 @@ class Penebusan $karatbaru = $marhunloop['karat']; $harga_emas = HargaEmas::on('mysql7')->select('harga')->where('karat','=',$karatbaru)->first(); - $harga = ($array_trans['jenisAT'] == 'hargalama') ? $marhunloop['harga'] : $harga_emas['harga']; + if(isset($array_trans['jenisAT'])){ + $harga = ($array_trans['jenisAT'] == 'hargalama') ? $marhunloop['harga'] : $harga_emas['harga']; + }else{ + $harga = $harga_emas['harga']; + } $nilai_marhun = (floatval($harga) * floatval($marhunloop['berat'])); @@ -1269,8 +1308,6 @@ class Penebusan 'tag_tebus' => $array_trans['jenistebus'], )); - $this->handleFailOverTransaction($kodcaw,'update',$new_sag_number,$array_trans['teller'],$fail_id); - }catch(\Exception $e){ throw new \Exception("Error in Transaction: " . $e->getMessage()); } @@ -1283,7 +1320,6 @@ class Penebusan $komuditi_current = KomuditiPurchase::on('mysql7')->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->first(); $unit_current = isset($komuditi_current['unit_komuditi']) ? $komuditi_current['unit_komuditi']: 0; - throw new \Exception('testis'); try{ $update_unit = $unit_current - $array_trans_base['pinjaman']; @@ -1306,53 +1342,5 @@ class Penebusan } } - private function handleFailOverTransaction($kodcaw,$status,$norujukan,$teller,$fail_id = 0,$code_error = 500,$error_message = ''){ - $current = Carbon::now(); - - if($status == 'create'){ - return FailoverTransaction::on('mysql7')->create([ - 'kodcaw' => $kodcaw, - 'teller' => $teller, - 'old_norujukan' => $norujukan, - 'new_norujukan' => null, - 'db_caw' => false, - 'db_online' => false, - 'status' => 'pending' - ]); - }else if($status == 'update'){ - return FailoverTransaction::on('mysql7')->where('id',$fail_id)->update([ - 'new_norujukan' => $norujukan, - 'db_caw' => true, - 'db_online' => false, - 'status' => 'pending' - ]); - - }else if($status == 'done'){ - return FailoverTransaction::on('mysql7')->where('id',$fail_id)->where('old_norujukan',$norujukan)->update([ - 'db_caw' => true, - 'db_online' => true, - 'status' => 'resolved', - 'resolve_time' => $current - ]); - }else{ - FailoverTransaction::on('mysql7')->where('id',$fail_id)->where('old_norujukan',$norujukan)->update([ - 'old_norujukan' => $norujukan, - 'status' => 'failed', - ]); - - FailoverTransactionFailed::on('mysql7')->create([ - 'original_id' => $fail_id, - 'kodcaw' => $kodcaw, - 'norujukan' => $norujukan, - 'code_error' => $code_error, - 'error_message' => $error_message, - ]); - - return; - - } - - } - } \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index a3b8b27..3f7334e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -150,7 +150,7 @@ $router->group(['prefix'=>'api'], function () use ($router){ $router->put('updatetebus/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusUpdate']); $router->put('updateautotawarruq/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusUpdateAutoTawarruq']); $router->get('listpenebusanhistory/{kodcaw}',['uses'=>'TebusController@listhistorypenebusan']); - $router->post('updatetransaksi/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusTransaksiUpdate']); + $router->put('updatetambahpinjaman/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusUpdateTambahPinjaman']); //API FARIS $router->put('tebus/serah_marhun_teller/{kodcaw}/{norujukan}',['uses'=>'GadaiController@barcodescanTebus']); // $router->get('tebus_serahan/{kodcaw}',['uses'=>'TebusController@SerahMarhunTeller']); diff --git a/tests/TestCase.php b/tests/TestCase.php index 136846b..1782d8e 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -1,7 +1,8 @@ table($table); + + foreach ($data as $key => $value) { + $query->where($key, $value); + } + + $record = $query->first(); + + if (!$record) { + // Check if a record exists but doesn't match the expected attributes + $actualRecord = DB::connection($connection)->table($table)->where('norujukan', $data['norujukan'])->first(); + + if ($actualRecord) { + $mismatchedColumns = []; + foreach ($data as $key => $value) { + if ($actualRecord->$key !== $value) { + $expectedValue = stripslashes($value); // Remove backslashes from expected + $mismatchedColumns[$key] = [ + 'expected' => $expectedValue, + 'actual' => $actualRecord->$key, + ]; + } + } + + PHPUnit::fail( + "A record exists in the table [{$table}] but does not match the expected attributes. " . + "Mismatched columns: " . json_encode($mismatchedColumns) + ); + } + + PHPUnit::fail( + "Failed asserting that a record exists in the table [{$table}] with the attributes " . json_encode($data) + ); + } + + PHPUnit::assertNotNull($record, "Record exists and matches the expected attributes."); +} } diff --git a/tests/Traits/DatabaseTransactions.php b/tests/Traits/DatabaseTransactions.php new file mode 100644 index 0000000..f1bc75e --- /dev/null +++ b/tests/Traits/DatabaseTransactions.php @@ -0,0 +1,50 @@ +connections as $connection) { + DB::connection($connection)->beginTransaction(); + } + } + + /** + * Rollback transactions on all specified database connections. + */ + protected function tearDown(): void + { + foreach ($this->connections as $connection) { + DB::connection($connection)->rollBack(); + } + + parent::tearDown(); + } + + /** + * Set the database connections for transactions. + * + * @param string|array $connections + * @return void + */ + protected function setTransactionConnections(array $connections): void + { + $this->connections = $connections; + } +} \ No newline at end of file diff --git a/tests/TransactionTest.php b/tests/TransactionTest.php new file mode 100644 index 0000000..93b76c6 --- /dev/null +++ b/tests/TransactionTest.php @@ -0,0 +1,228 @@ +where('kodcaw', 'KB2')->first(); + $this->setTransactionConnections([$cawangan['mysql'], 'mysql7']); + $current = new Carbon(); + $array_test = [ + 'norujukan' => 'KB2240327-0009', + "nopelanggan" => "M03-00133879", + "jenistebus" => "AT", + "jbg" => 6.5, + "kadarupah" => 0.56, + "pinjaman_lama" => 2000, + "pinjaman" => 2000, + "ansuran" => 0, + "addpinjaman" => 0, + "bakipinjaman" => 2221, + "bakiupah" => 221, + "historygadaian" => "KB2240327-0009", + "marhun" => "1 R/L,", + "kuantiti_marhun" => 1, + "total_berat" => 8.5, + "kadarkeuntungan" => 0.56, + "noic" => "980412035872", + "jenisbayarantebus" => "nottawarruq", + "teller" => "MOHD KHALID ABDUL RAHMAN", + "jeniskeuntungan" => "onepercent", + "nilai_marhun" => 2943.21, + "jenisAT" => "none", + "totalbayaran" => 221, + "bayaran" => 300, + "bakipelanggan" => 79, + "nowakil" => 0, + "total_nilai_marhun" => 3171.265, + "marhun_detail" => "1 R/L,", + ]; + + // Create a mock request + $request = new Request($array_test); + + $penebusan_services = new V2Penebusan('KB2',$cawangan); + $response = $penebusan_services->transaksiPembiayaanSemula('KB2','KB2240327-0009',$request); + $responseArray = json_decode($response->getContent(), true); + $this->assertIsArray($responseArray, 'Response is not an array'); + $this->assertEquals('success', $responseArray['result'], 'Result should be success'); + $this->assertEquals(1, $responseArray['data'], 'Data should be 1'); + + /* Tebus Assert */ + $this->assertDatabaseHasThroughNorujukan('tebus', [ + 'kodcaw'=> "KB2", + 'norujukan'=> "KB2240327-0009", + 'nopelanggan' => "M03-00133879", + 'jenisbyr' => "TN", + 'jenistebus' => "A", + 'glcode' => "0", + 't_tebus' => $current->toDateString(), + 'jbg' => "6.50", + 'kadarupah' => "0.56", + 'nilaimarhun' => "2943.21", + 'pinjaman' => "2000.00", + 'ansuran' => "0.00", + 'addpinjaman' => 0, + 'bakipjm' => "2221", + 'bakiupah' => "221", + 'terima' => "*", + 'kodgl' => "0", + 'nowakil' => 0, + 'rebate' => 0, + 'marhuntebus' => "1 R/L,", + 'historygadaian' => "KB2240327-0009", + 'tarikhbyrn' => $current->toDateString(), + 'teller' => "MOHD KHALID ABDUL RAHMAN", + 'ujrah' => 0, + 'onepercent' => 0, + ], $cawangan['mysql']); + + + $this->assertDatabaseHasThroughNorujukan('gadai', [ + 'norujukan' => 'KB2240327-0009', + 'sttebus' => 'T' + ], $cawangan['mysql']); + } + + public function testTransactionP(){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw', 'KB2')->first(); + $this->setTransactionConnections([$cawangan['mysql'], 'mysql7']); + $current = new Carbon(); + $array_test = [ + 'norujukan' => 'KB2240327-0009', + 'nopelanggan' => 'M03-00133879', + 'jenistebus' => 'P', + 'jbg' => 6.5, + 'kadarupah' => 0.56, + 'pinjaman_lama' => 2000, + 'pinjaman' => 2010, + 'ansuran' => 0, + 'addpinjaman' => 10, + 'bakipinjaman' => 2221, + 'bakiupah' => 221, + 'history_gadaian' => 'KB2240327-0009', + 'marhun' => '1 R/L,', + 'kuantiti_marhun' => 1, + 'total_berat' => 8.5, + 'kadarkeuntungan' => 0.56, + "noic" => "980412035872", + 'jenisbayarantebus' => 'tawarruq', + "teller" => "MOHD KHALID ABDUL RAHMAN", + 'jeniskeuntungan' => 'onepercent', + 'nilai_marhun' => 3171.265, + // 'jenisAT' => 'Tiada', + // 'totalbayaran' => 'Tiada', + 'bayaran' => 222, + 'bakipelanggan' => 1, + 'nowakil' => 0, //Sebenar Tiada Kena Add dalam series + // 'total_nilai_marhun' => 'Tiada', + 'keuntungan_6bln' => 6753.6, + 'keuntungan_sebulan' => 1125.6, + // 'marhun_detail' => 'Tiada', + ]; + + // Create a mock request + $request = new Request($array_test); + + $penebusan_services = new V2Penebusan('KB2',$cawangan); + $response = $penebusan_services->transaksiTambahPembiayaan('KB2','KB2240327-0009',$request); + + $responseArray = json_decode($response->getContent(), true); + $this->assertIsArray($responseArray, 'Response is not an array'); + $this->assertEquals('success', $responseArray['result'], 'Result should be success'); + $this->assertEquals(1, $responseArray['data'], 'Data should be 1'); + + /* Tebus Assert */ + $this->assertDatabaseHasThroughNorujukan('tebus', [ + 'kodcaw'=> "KB2", + 'norujukan'=> "KB2240327-0009", + 'nopelanggan' => "M03-00133879", + 'jenisbyr' => "TN", + 'jenistebus' => "P", + 'glcode' => "0", + 't_tebus' => $current->toDateString(), + 'jbg' => "6.50", + 'kadarupah' => "0.56", + 'nilaimarhun' => "2943.21", + 'pinjaman' => "2000.00", + 'ansuran' => "0.00", + 'addpinjaman' => "10.00", + 'bakipjm' => "2221.00", + 'bakiupah' => "221.00", + 'terima' => "*", + 'kodgl' => "0", + 'nowakil' => 0, + 'rebate' => "0.00", + 'marhuntebus' => "1 R/L,", + 'historygadaian' => "KB2240327-0009", + 'tarikhbyrn' => $current->toDateString(), + 'teller' => "MOHD KHALID ABDUL RAHMAN", + 'ujrah' => "91.00", + 'onepercent' => "130.00", + ], $cawangan['mysql']); + + /* Gadai Assert */ + + /* Create Gadai */ + $gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$current->toDateString())->orderBy('sirig', 'desc')->first(); + $gadaiTransaction = optional($gadaiTransaction)->toArray(); + + /* Gadai Baru */ + $this->assertDatabaseHasThroughNorujukan('gadai',[ + 'kodcaw'=>'KB2', + 'norujukan' => $gadaiTransaction['norujukan'], + 'nopelanggan' => "M03-00133879", + "nokp" => "980412035872", + 'sirig' => $gadaiTransaction['sirig'], + 't_gadai' => $current->toDateString(), + 'sttebus' => '', + 'masa' =>$current->toTimeString(), + 'tagbaru' => 1, + 'nilaimarhun' => "3171.27", + 'berat'=> "0.00", + 'pinjaman' => "2010.00", + 'kadarupah' => "0.56", + // 'marhun' => "1 R\/L,", + 'percentpinj' => "0.63", + 'teller' => "MOHD KHALID ABDUL RAHMAN", + 'bakipjm' => "2010.00", + 'bakiupah' => "121.50", + 'jbg' => "0.50", + 't_update' => $current->toDateString(), + 'cetak' => 0, + 'upah12' => "243.00", + 'hargajualan' => "2253.00", + 'bakihargajualan' => "2253.00", + 'tagserah' => 0, + 't_matang' => "2025-05-24", + 't_matang1' => "2025-11-24", + 'tempoh' => "0.50", + 'kuantiti' => 0, + 'tagkomuditi' => 0, + 'upahdibayar' => "0.00", + 'tempohbayar' => 0.00, + 'lelong_tawarruq' => 1, + 'kadarujrah' => "0.56", + 'ujrah' => "0.15", + 'onepercent' => "20.10", + 'margin_semasa' => "0.63", + 'tagbaru' => 1, + 'tunggakanujrah' => "0.05", + 'tunggakanonepercent' => "10.05", + ], $cawangan['mysql']); + + $this->assertDatabaseHasThroughNorujukan('marhun',[ + + ]); + + } +}