Merged in afiqhamzah/fix/change_implementation_get_ujrah_detail (pull request #166)

Change implementation get ujrah detail
This commit is contained in:
Afiq Hamzah
2024-06-09 03:23:17 +00:00
@@ -13,7 +13,7 @@ use App\Audit;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Carbon\Carbon; use Carbon\Carbon;
use App\Services\OnePercentServices; use App\Services\OnePercentServices;
use Log; use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request as HttpRequest; use Illuminate\Http\Request as HttpRequest;
use App\Support\v2\GadaiV2 as Version2Gadai; use App\Support\v2\GadaiV2 as Version2Gadai;
@@ -24,27 +24,30 @@ use Illuminate\Support\Facades\Http;
class TransactionOnlineController extends Controller class TransactionOnlineController extends Controller
{ {
public function getTransactionOnline(Request $request){ public function getTransactionOnline(Request $request)
$transactionOnline = TransactionOnline::on('mysql7')->where('billplz_id',$request->billplz_id)->first(); {
$transactionOnline = TransactionOnline::on('mysql7')->where('billplz_id', $request->billplz_id)->first();
return response()->json($transactionOnline); return response()->json($transactionOnline);
} }
public function getLatestNosiri(){ public function getLatestNosiri()
{
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon();
$nosiri = TransactionOnline::on('mysql7')->where('tarikh','=',$current->toDateString())->orderBy('nosiri','desc')->first(); $nosiri = TransactionOnline::on('mysql7')->where('tarikh', '=', $current->toDateString())->orderBy('nosiri', 'desc')->first();
return response()->json($nosiri); return response()->json($nosiri);
} }
public function create(Request $request){ public function create(Request $request)
{
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw',$request->kodcaw)->first(); $cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
$sag = Gadai::on($cawangan['mysql'])->where('norujukan',$request->norujukan)->first(); $sag = Gadai::on($cawangan['mysql'])->where('norujukan', $request->norujukan)->first();
$transaction = TransactionOnline::on('mysql7')->create([ $transaction = TransactionOnline::on('mysql7')->create([
'nokp' => $request->nokp, 'nokp' => $request->nokp,
@@ -57,36 +60,38 @@ class TransactionOnlineController extends Controller
'tarikh' => $current->toDateString(), 'tarikh' => $current->toDateString(),
'masa' => $current->toTimeString(), 'masa' => $current->toTimeString(),
'customer_name' => $request->customer_name, 'customer_name' => $request->customer_name,
'tempohbayar'=>$sag['tempoh'], 'tempohbayar' => $sag['tempoh'],
'jenisbayaran' => $request->jenisbayaran ? $request->jenisbayaran : 'A' 'jenisbayaran' => $request->jenisbayaran ? $request->jenisbayaran : 'A'
]); ]);
return response()->json($transaction,201); return response()->json($transaction, 201);
} }
public function updateStatus(Request $request){ public function updateStatus(Request $request)
$transaction = TransactionOnline::on('mysql7')->where('billplz_id','=',$request->billplz_id)->update(array( {
$transaction = TransactionOnline::on('mysql7')->where('billplz_id', '=', $request->billplz_id)->update(array(
'status' => $request->status, 'status' => $request->status,
'paid_at' => $request->paid_at 'paid_at' => $request->paid_at
)); ));
return response()->json($transaction,200); return response()->json($transaction, 200);
} }
public function updateTransactionOnline(){ public function updateTransactionOnline()
$transactions = TransactionOnline::on('mysql7')->where([['status','=','PAID'],['update_status',0]])->get(); {
$transactions = TransactionOnline::on('mysql7')->where([['status', '=', 'PAID'], ['update_status', 0]])->get();
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon();
foreach($transactions as $index=>$transaction){ foreach ($transactions as $index => $transaction) {
$cawangan = Cawangan::on('mysql7') $cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$transaction['kodcaw']) ->where('kodcaw', '=', $transaction['kodcaw'])
->first(); ->first();
$gadai_data = Gadai::on($cawangan['mysql'])->where([['norujukan',$transaction['norujukan']],['nokp',$transaction['nokp']]])->first(); $gadai_data = Gadai::on($cawangan['mysql'])->where([['norujukan', $transaction['norujukan']], ['nokp', $transaction['nokp']]])->first();
if($transaction->jenisbayaran == 'A'){ if ($transaction->jenisbayaran == 'A') {
if($gadai_data['hargajualan'] > 0){ if ($gadai_data['hargajualan'] > 0) {
$response = $this->updateGadaiMarhunOnline($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at'],$transaction['tempohbayar']); $response = $this->updateGadaiMarhunOnline($transaction['kodcaw'], $transaction['norujukan'], $transaction['total_payment'], $transaction['paid_at'], $transaction['tempohbayar']);
}else{ } else {
$this->createAdvansur($transaction['kodcaw'],$transaction['norujukan'],$transaction['total_payment'],$transaction['paid_at']); $this->createAdvansur($transaction['kodcaw'], $transaction['norujukan'], $transaction['total_payment'], $transaction['paid_at']);
} }
} }
@@ -99,9 +104,9 @@ class TransactionOnlineController extends Controller
'descpt' => 'SERAHAN BAYAR ONLINE - ' . $transaction['norujukan'], 'descpt' => 'SERAHAN BAYAR ONLINE - ' . $transaction['norujukan'],
'serahan' => $transaction['total_payment'], 'serahan' => $transaction['total_payment'],
'teller' => 'ONLINE' 'teller' => 'ONLINE'
]); ]);
TransactionOnline::on('mysql7')->where([['norujukan',$transaction['norujukan']],['billplz_id',$transaction['billplz_id']]])->update([ TransactionOnline::on('mysql7')->where([['norujukan', $transaction['norujukan']], ['billplz_id', $transaction['billplz_id']]])->update([
'update_status' => 1, 'update_status' => 1,
'update_serahan' => 1 'update_serahan' => 1
]); ]);
@@ -110,47 +115,49 @@ class TransactionOnlineController extends Controller
return response()->json('success'); return response()->json('success');
} }
public function kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar){ public function kiraupahTawarruq($kodcaw, $norujukan, $tempohbayar)
{
$cawangan = Cawangan::on('mysql7') $cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw) ->where('kodcaw', '=', $kodcaw)
->first(); ->first();
$gadai_data = Gadai::on($cawangan['mysql']) $gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan) ->where('norujukan', '=', $norujukan)
->first(); ->first();
$bilang_bln = $tempohbayar - $gadai_data['tempohbayar']; $bilang_bln = $tempohbayar - $gadai_data['tempohbayar'];
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']); $upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah'] / 100) * $gadai_data['pinjaman']);
$upah_semasa_round = number_format($upahsemasa_raw,2); $upah_semasa_round = number_format($upahsemasa_raw, 2);
$upah_semasa = substr($upah_semasa_round, 0, -1); $upah_semasa = substr($upah_semasa_round, 0, -1);
if(strpos($upah_semasa,',')){ if (strpos($upah_semasa, ',')) {
$upah_semasa = str_replace(',','',$upah_semasa); $upah_semasa = str_replace(',', '', $upah_semasa);
} }
// $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa)); // $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa));
return $upah_semasa; return $upah_semasa;
} }
public function kiraUpahRebet($kodcaw,$norujukan,$tempohbayar){ public function kiraUpahRebet($kodcaw, $norujukan, $tempohbayar)
{
$cawangan = Cawangan::on('mysql7') $cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw) ->where('kodcaw', '=', $kodcaw)
->first(); ->first();
$gadai_data = Gadai::on($cawangan['mysql']) $gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan) ->where('norujukan', '=', $norujukan)
->first(); ->first();
$bilang_bln = $tempohbayar - $gadai_data['tempohbayar']; $bilang_bln = $tempohbayar - $gadai_data['tempohbayar'];
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']); $upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah'] / 100) * $gadai_data['bakipjm']);
$upah_rebet_round = number_format($upahrebet_raw,2); $upah_rebet_round = number_format($upahrebet_raw, 2);
$upah_rebet = substr($upah_rebet_round, 0, -1); $upah_rebet = substr($upah_rebet_round, 0, -1);
if(strpos($upah_rebet,',')){ if (strpos($upah_rebet, ',')) {
$upah_rebet = str_replace(',','',$upah_rebet); $upah_rebet = str_replace(',', '', $upah_rebet);
} }
// $upah_rebet = floatval(preg_replace('/[^\d.]/', '', $upah_rebet)); // $upah_rebet = floatval(preg_replace('/[^\d.]/', '', $upah_rebet));
return $upah_rebet; return $upah_rebet;
} }
@@ -288,31 +295,32 @@ class TransactionOnlineController extends Controller
// return response()->json("success",200); // return response()->json("success",200);
// } // }
public function updateGadaiMarhunOnline($kodcaw,$norujukan,$bayaran,$paid_at,$tempohbayar){ public function updateGadaiMarhunOnline($kodcaw, $norujukan, $bayaran, $paid_at, $tempohbayar)
{
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $cawangan = Cawangan::on('mysql7')->where('kodcaw', '=', $kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); $gadai = Gadai::on($cawangan['mysql'])->where('norujukan', '=', $norujukan)->first();
if($tempohbayar == 0.0){ if ($tempohbayar == 0.0) {
$tempohbayar = $gadai['tempoh']; $tempohbayar = $gadai['tempoh'];
} }
$upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan,$tempohbayar); $upahrebet = $this->kiraUpahRebet($kodcaw, $norujukan, $tempohbayar);
$total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk'); $total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan', '=', $norujukan], ['trans_type', '=', 'A']])->sum('duit_masuk');
$total_bayaran_semasa = $total_bayaran_prev + $bayaran; $total_bayaran_semasa = $total_bayaran_prev + $bayaran;
if($total_bayaran_semasa >= $gadai['bakiupah']){ if ($total_bayaran_semasa >= $gadai['bakiupah']) {
$lelong_tawarruq = 0; $lelong_tawarruq = 0;
}else{ } else {
$lelong_tawarruq = 1; $lelong_tawarruq = 1;
} }
$onepercent = new OnePercentServices(); $onepercent = new OnePercentServices();
$old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); $old_data = Gadai::on($cawangan['mysql'])->where('norujukan', '=', $norujukan)->first();
$margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100; $margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100;
$baki_hargajualan = $gadai['bakihargajualan'] - $bayaran; $baki_hargajualan = $gadai['bakihargajualan'] - $bayaran;
@@ -321,7 +329,7 @@ class TransactionOnlineController extends Controller
try { try {
DB::connection('mysql7')->transaction(function () use($norujukan,$gadai,$kodcaw,$current,$baki_hargajualan,$cawangan,$old_data,$lelong_tawarruq,$margin_semasa,$bayaran,$tempohbayar) { DB::connection('mysql7')->transaction(function () use ($norujukan, $gadai, $kodcaw, $current, $baki_hargajualan, $cawangan, $old_data, $lelong_tawarruq, $margin_semasa, $bayaran, $tempohbayar) {
$transaction = Transaction::on('mysql7')->create([ $transaction = Transaction::on('mysql7')->create([
'trans_type' => 'A', 'trans_type' => 'A',
@@ -334,41 +342,41 @@ class TransactionOnlineController extends Controller
'bakiharga' => $baki_hargajualan, 'bakiharga' => $baki_hargajualan,
]); ]);
if($gadai['tempoh'] >= 12.0){ if ($gadai['tempoh'] >= 12.0) {
$tempoh = 12; $tempoh = 12;
}else{ } else {
$tempoh = $gadai['tempoh']; $tempoh = $gadai['tempoh'];
} }
$bilang_bln = $tempoh - $gadai['tempohbayar']; $bilang_bln = $tempoh - $gadai['tempohbayar'];
if($gadai['tagbaru'] == 0){ if ($gadai['tagbaru'] == 0) {
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar); $upahsemasa = $this->kiraupahTawarruq($kodcaw, $norujukan, $tempohbayar);
$baki_bayaran = $bayaran - $upahsemasa; $baki_bayaran = $bayaran - $upahsemasa;
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$tempohbayar); $upahsemasa = $this->kiraupahTawarruq($kodcaw, $norujukan, $tempohbayar);
$upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan,$tempohbayar); $upahrebet = $this->kiraUpahRebet($kodcaw, $norujukan, $tempohbayar);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan, 'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa, 'bayaran_keuntungan' => $upahsemasa,
'bayaran_pembiayaan' => $baki_bayaran, 'bayaran_pembiayaan' => $baki_bayaran,
'keuntungan_rebet'=> $upahrebet, 'keuntungan_rebet' => $upahrebet,
'tarikh_bayaran'=> $current, 'tarikh_bayaran' => $current,
'kodcaw'=> $kodcaw, 'kodcaw' => $kodcaw,
'ujrah' => 0, 'ujrah' => 0,
'ujrah_rebet' => 0, 'ujrah_rebet' => 0,
'onepercent' => 0, 'onepercent' => 0,
'onepercent_rebet' => 0, 'onepercent_rebet' => 0,
'tempoh' => $gadai['tempoh'], 'tempoh' => $gadai['tempoh'],
'beza_tempoh' => $bilang_bln, 'beza_tempoh' => $bilang_bln,
'margin_semasa' => $margin_semasa, 'margin_semasa' => $margin_semasa,
]); ]);
} else { } else {
$onepercent = new OnePercentServices(); $onepercent = new OnePercentServices();
$keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa); $keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'], $gadai['nilaimarhun'], $gadai['kadarupah'], $margin_semasa);
$ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['percentpinj']); $ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'], $gadai['kadarupah'], $gadai['percentpinj']);
$onepercentasal = $gadai['pinjaman'] * (1/100); $onepercentasal = $gadai['pinjaman'] * (1 / 100);
$gadaionepercent = new Version2Gadai($kodcaw,$cawangan); $gadaionepercent = new Version2Gadai($kodcaw, $cawangan);
$upahsemasa = $gadaionepercent->kiraupahOnePercent($norujukan); $upahsemasa = $gadaionepercent->kiraupahOnePercent($norujukan);
$upahrebet = $gadaionepercent->kiraUpahRebet($norujukan); $upahrebet = $gadaionepercent->kiraUpahRebet($norujukan);
@@ -382,29 +390,29 @@ class TransactionOnlineController extends Controller
$keun = $onepercent->getRoundedMethod($onepercentasal * $bilang_bln); $keun = $onepercent->getRoundedMethod($onepercentasal * $bilang_bln);
$keuntungan_rebate = $onepercent->getRoundedMethod($keuntungan['onepercent'] * $bilang_bln); $keuntungan_rebate = $onepercent->getRoundedMethod($keuntungan['onepercent'] * $bilang_bln);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([ $transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan, 'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa, 'bayaran_keuntungan' => $upahsemasa,
'bayaran_pembiayaan' => $baki_bayaran, 'bayaran_pembiayaan' => $baki_bayaran,
'keuntungan_rebet'=> $upahrebet, 'keuntungan_rebet' => $upahrebet,
'tarikh_bayaran'=> $current, 'tarikh_bayaran' => $current,
'kodcaw'=> $kodcaw, 'kodcaw' => $kodcaw,
'ujrah' => $ujrah, 'ujrah' => $ujrah,
'ujrah_rebet' => $ujrah_rebate, 'ujrah_rebet' => $ujrah_rebate,
'onepercent' => $keun, 'onepercent' => $keun,
'onepercent_rebet' => $keuntungan_rebate, 'onepercent_rebet' => $keuntungan_rebate,
'tempoh' => $gadai['tempoh'], 'tempoh' => $gadai['tempoh'],
'beza_tempoh' => $bilang_bln, 'beza_tempoh' => $bilang_bln,
'margin_semasa' => $margin_semasa, 'margin_semasa' => $margin_semasa,
]); ]);
} }
$baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran; $baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran;
DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$baki_pinjaman,$current,$norujukan,$gadai,$baki_hargajualan,$lelong_tawarruq,$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; $margin_updated = ($baki_pinjaman / $gadai['nilaimarhun']) * 100;
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array( $update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan', '=', $norujukan)->update(array(
'bakipjm' => $baki_pinjaman, 'bakipjm' => $baki_pinjaman,
'jbg' => 0, 'jbg' => 0,
't_update' => $current->toDateString(), 't_update' => $current->toDateString(),
@@ -415,7 +423,7 @@ class TransactionOnlineController extends Controller
)); ));
}); });
$new_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first(); $new_data = Gadai::on($cawangan['mysql'])->where('norujukan', '=', $norujukan)->first();
$audit = new Audit(); $audit = new Audit();
$audit->users = 'Online'; $audit->users = 'Online';
@@ -428,34 +436,33 @@ class TransactionOnlineController extends Controller
$audit->updated_at = $current; $audit->updated_at = $current;
$audit->save(); $audit->save();
if(!$transaction || !$transaction_upah) { if (!$transaction || !$transaction_upah) {
throw new \Exception('One of the database operations failed.'); throw new \Exception('One of the database operations failed.');
} }
DB::commit(); DB::commit();
}); });
}catch(\Exception $e){ } catch (\Exception $e) {
Log::error("Transaction failed: " . $e->getMessage()); Log::error("Transaction failed: " . $e->getMessage());
return response()->json("Transaction failed: " . $e->getMessage(),500); return response()->json("Transaction failed: " . $e->getMessage(), 500);
} }
return response()->json("success",200); return response()->json("success", 200);
} }
public function createAdvansur($kodcaw,$norujukan,$bayaran,$paid_at){ public function createAdvansur($kodcaw, $norujukan, $bayaran, $paid_at)
{
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $cawangan = Cawangan::on('mysql7')->where('kodcaw', '=', $kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan',$norujukan)->first(); $gadai = Gadai::on($cawangan['mysql'])->where('norujukan', $norujukan)->first();
$create_advansur = Advansur::on($cawangan['mysql'])->create([ $create_advansur = Advansur::on($cawangan['mysql'])->create([
'tarikh'=> Carbon::parse($paid_at)->toDateString(), 'tarikh' => Carbon::parse($paid_at)->toDateString(),
'noresit'=> 0, 'noresit' => 0,
'norujukan' => $norujukan, 'norujukan' => $norujukan,
'nopelanggan' => $gadai['nopelanggan'], 'nopelanggan' => $gadai['nopelanggan'],
'nilaimarhun' => $gadai['nilaimarhun'], 'nilaimarhun' => $gadai['nilaimarhun'],
@@ -473,26 +480,28 @@ class TransactionOnlineController extends Controller
'historygadaian' => $norujukan 'historygadaian' => $norujukan
]); ]);
return response()->json($create_advansur ,201); return response()->json($create_advansur, 201);
} }
public function getTransactionOnlineLogin(Request $request){ public function getTransactionOnlineLogin(Request $request)
$transactionOnline = TransactionOnline::on('mysql7')->where('billplz_id',$request->billplz_id)->get(); {
$transactionOnline = TransactionOnline::on('mysql7')->where('billplz_id', $request->billplz_id)->get();
return response()->json($transactionOnline); return response()->json($transactionOnline);
} }
public function searchSAGOnline(Request $request){ public function searchSAGOnline(Request $request)
{
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon();
$boolmasa = false; $boolmasa = false;
$transaction_online = TransactionOnline::on('mysql7')->where([['norujukan',$request->norujukan],['status','PAID'],['update_status',0],['tarikh',$current->toDateString()]])->first(); $transaction_online = TransactionOnline::on('mysql7')->where([['norujukan', $request->norujukan], ['status', 'PAID'], ['update_status', 0], ['tarikh', $current->toDateString()]])->first();
$transaction_masa = TransactionOnline::on('mysql7')->where([['norujukan',$request->norujukan],['status','NOT PAID'],['tarikh',$current->toDateString()]]) $transaction_masa = TransactionOnline::on('mysql7')->where([['norujukan', $request->norujukan], ['status', 'NOT PAID'], ['tarikh', $current->toDateString()]])
->orderBy('masa', 'desc')->first(); ->orderBy('masa', 'desc')->first();
if($transaction_masa){ if ($transaction_masa) {
$carbonmasa = new Carbon($transaction_masa['masa']); $carbonmasa = new Carbon($transaction_masa['masa']);
$carbonmasaexpired = new Carbon($transaction_masa['masa']); $carbonmasaexpired = new Carbon($transaction_masa['masa']);
$carbonmasaexpired->addMinutes(10); $carbonmasaexpired->addMinutes(10);
@@ -500,48 +509,50 @@ class TransactionOnlineController extends Controller
$boolmasa = ($carbonmasaexpired->greaterThanOrEqualTo($current) && $carbonmasa->lessThanOrEqualTo($current)) ? true : false; $boolmasa = ($carbonmasaexpired->greaterThanOrEqualTo($current) && $carbonmasa->lessThanOrEqualTo($current)) ? true : false;
} }
if($transaction_online || $boolmasa){ if ($transaction_online || $boolmasa) {
return response()->json(true); return response()->json(true);
}else{ } else {
return response()->json(false); return response()->json(false);
} }
} }
public function getListUnsuccessful(){ public function getListUnsuccessful()
$list = TransactionOnline::on('mysql7')->where('status','NOT PAID')->orderBy('id', 'desc')->take(10)->get(); {
$list = TransactionOnline::on('mysql7')->where('status', 'NOT PAID')->orderBy('id', 'desc')->take(10)->get();
return response()->json($list); return response()->json($list);
} }
public function updateUnsuccessfulTransaction(Request $request){ public function updateUnsuccessfulTransaction(Request $request)
$transaction = TransactionOnline::on('mysql7')->where('billplz_id','=',$request->billplz_id)->update(array( {
$transaction = TransactionOnline::on('mysql7')->where('billplz_id', '=', $request->billplz_id)->update(array(
'status' => $request->status, 'status' => $request->status,
'paid_at' => $request->paid_at 'paid_at' => $request->paid_at
)); ));
return response()->json($transaction,200); return response()->json($transaction, 200);
} }
public function CustomerInfo(Request $request){ public function CustomerInfo(Request $request)
{
$cawangan_all = Cawangan::on('mysql7')->get(); $cawangan_all = Cawangan::on('mysql7')->get();
$gadai_all = []; $gadai_all = [];
$akanlelongarray = []; $akanlelongarray = [];
foreach($cawangan_all as $index=>$cawangan){ foreach ($cawangan_all as $index => $cawangan) {
$gadai = Gadai::on($cawangan['mysql']) $gadai = Gadai::on($cawangan['mysql'])
->where([['sttebus','=',''],['taglel',0],['nokp','=',$request->ic]]) ->where([['sttebus', '=', ''], ['taglel', 0], ['nokp', '=', $request->ic]])
->orderBy('t_gadai','desc') ->orderBy('t_gadai', 'desc')
->get()->toArray(); ->get()->toArray();
//dd($gadai, $cawangan); //dd($gadai, $cawangan);
if(sizeof($gadai) != 0){ if (sizeof($gadai) != 0) {
foreach($gadai as $gad) foreach ($gadai as $gad) {
{
if($gad['tagbaru'] == 1){ if ($gad['tagbaru'] == 1) {
$jenis = 'onepercent'; $jenis = 'onepercent';
}else{ } else {
$jenis = 'asal'; $jenis = 'asal';
} }
@@ -549,35 +560,33 @@ class TransactionOnlineController extends Controller
'jeniskeuntungan' => $jenis 'jeniskeuntungan' => $jenis
]); ]);
$result = (new TebusController)->upahTawarruq($gad['kodcaw'],$gad['norujukan'],$array_utg); $result = (new TebusController)->upahTawarruq($gad['kodcaw'], $gad['norujukan'], $array_utg);
if($jenis == 'onepercent') { if ($jenis == 'onepercent') {
$gad['keuntungan'] = $result['pendapatan']; $gad['keuntungan'] = $result['pendapatan'];
} else { } else {
$gad['keuntungan'] = $result; $gad['keuntungan'] = $result;
} }
array_push($gadai_all,$gad); array_push($gadai_all, $gad);
} }
} }
if($cawangan['tagarrahnbid'] == 1){ if ($cawangan['tagarrahnbid'] == 1) {
$akanlelong = Gadai::on($cawangan['mysql']) $akanlelong = Gadai::on($cawangan['mysql'])
->where([['sttebus','=', ''],['taglel',1],['nokp','=',$request->ic]]) ->where([['sttebus', '=', ''], ['taglel', 1], ['nokp', '=', $request->ic]])
->get()->toArray(); ->get()->toArray();
} } else {
else{
$akanlelong = Gadai::on($cawangan['mysql']) $akanlelong = Gadai::on($cawangan['mysql'])
->where([['sttebus','=', ''],['taglel',1],['nokp','=',$request->ic]]) ->where([['sttebus', '=', ''], ['taglel', 1], ['nokp', '=', $request->ic]])
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan') ->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->get()->toArray(); ->get()->toArray();
} }
if(sizeof($akanlelong) != 0){ if (sizeof($akanlelong) != 0) {
foreach($akanlelong as $lelong) foreach ($akanlelong as $lelong) {
{ $result = (new TebusController)->kiraupahTawarruq($lelong['kodcaw'], $lelong['norujukan'], $array_utg);
$result = (new TebusController)->kiraupahTawarruq($lelong['kodcaw'],$lelong['norujukan'],$array_utg);
$lelong['keuntungan'] = $result; $lelong['keuntungan'] = $result;
array_push($akanlelongarray,$lelong); array_push($akanlelongarray, $lelong);
} }
} }
} }
@@ -586,31 +595,36 @@ class TransactionOnlineController extends Controller
array( array(
'gadai' => $gadai_all, 'gadai' => $gadai_all,
'lelong' => $akanlelongarray 'lelong' => $akanlelongarray
),200); ),
200
);
} }
public function updateTagPortal(Request $request){ public function updateTagPortal(Request $request)
$transaction = TransactionOnline::on('mysql7')->where('billplz_id','=',$request->billplz_id)->update(array( {
$transaction = TransactionOnline::on('mysql7')->where('billplz_id', '=', $request->billplz_id)->update(array(
'tagportal' => 1 'tagportal' => 1
)); ));
return response()->json($transaction,200); return response()->json($transaction, 200);
} }
public function getUjrah($kodcaw, $norujukan) public function getUjrah($kodcaw, $norujukan)
{ {
try { try {
$base_url = config('app.url');
$gadai = Http::get($base_url . "/api/gadai/norujukan/$kodcaw/$norujukan")->json()[0]; $gadai = (new GadaiController())->showOneGadaibyRujukanAndCawangan($kodcaw, $norujukan)
$jenis_keuntungan = $gadai['tagbaru'] === 1 ? 'onepercent' : 'asal'; ->getData()[0];
$jenis_keuntungan = $gadai->tagbaru === 1 ? 'onepercent' : 'asal';
$upah_tawarruq = Http::get($base_url . "/api/upahtawarruq/$kodcaw/$norujukan", ['jeniskeuntungan' => $jenis_keuntungan])->json(); $request_upah_tawarruq = new Request(['jeniskeuntungan' => $jenis_keuntungan]);
$upah_rebet_tawarruq = Http::get($base_url . "/api/upahrebettawarruq/$kodcaw/$norujukan", ['jeniskeuntungan' => $jenis_keuntungan])->json(); $request_upah_rebet_tawarruq = new Request(['jeniskeuntungan' => $jenis_keuntungan]);
if($jenis_keuntungan === 'onepercent'){ $upah_tawarruq = (new TebusController())->upahTawarruq($kodcaw, $norujukan, $request_upah_tawarruq);
$upah_rebet_tawarruq = (new TebusController())->upahRebetTawarruq($kodcaw, $norujukan, $request_upah_rebet_tawarruq);
if ($jenis_keuntungan === 'onepercent') {
$ujrah_sebenar = (float)$upah_tawarruq['ujrah']; $ujrah_sebenar = (float)$upah_tawarruq['ujrah'];
$ujrah_rebet = $ujrah_sebenar - (float)$upah_rebet_tawarruq['ujrah']; $ujrah_rebet = $ujrah_sebenar - (float)$upah_rebet_tawarruq['ujrah'];
@@ -624,10 +638,9 @@ class TransactionOnlineController extends Controller
'ujrah_sebenar' => (float)$upah_tawarruq, 'ujrah_sebenar' => (float)$upah_tawarruq,
'ujrah_rebet' => (float)$upah_rebet_tawarruq, 'ujrah_rebet' => (float)$upah_rebet_tawarruq,
]; ];
} catch (\Throwable $th) { } catch (\Throwable $th) {
Log::error($th); Log::error($th);
return $th;
} }
} }
} }