feat(shoraka): defer gadai persistence until commodity confirmation and add simulation support
This commit is contained in:
@@ -184,13 +184,16 @@ class GadaianController extends Controller
|
||||
'norujukan' => $norujukan,
|
||||
'nopelanggan' => $customer_info['nopelanggan'],
|
||||
'nokp' => $noic,
|
||||
'sirig' => $new_sirig
|
||||
]);
|
||||
'sirig' => $new_sirig,
|
||||
'shoraka_new' => true,
|
||||
])->throw()->json();
|
||||
$norujukan = $gadai['norujukan'];
|
||||
Session::put('norujukan', $norujukan);
|
||||
} else {
|
||||
$norujukan = Session::get('norujukan');
|
||||
$nokp = Session::get('nokp');
|
||||
$nopelanggan = Session::get('nopelanggan');
|
||||
$gadai_session = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/check/sag', ['kodcaw' => $auth_user['cawangan'], 'norujukan' => $norujukan, 'nokp' => $nokp])->json();
|
||||
$gadai_session = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/check/sag', ['kodcaw' => $auth_user['cawangan'], 'norujukan' => $norujukan, 'nokp' => $nokp])->throw()->json();
|
||||
if ($gadai_session == null) {
|
||||
$gadai_transaction = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/gadai/' . $auth_user['cawangan'] . '/' . $current->toDateString())->json();
|
||||
if ($gadai_transaction) {
|
||||
@@ -209,9 +212,11 @@ class GadaianController extends Controller
|
||||
'norujukan' => $norujukan_baru,
|
||||
'nopelanggan' => $nopelanggan,
|
||||
'nokp' => $nokp,
|
||||
'sirig' => $new_sirig
|
||||
]);
|
||||
$norujukan = $norujukan_baru;
|
||||
'sirig' => $new_sirig,
|
||||
'shoraka_new' => true,
|
||||
])->throw()->json();
|
||||
$norujukan = $gadai_baru['norujukan'];
|
||||
Session::put('norujukan', $norujukan);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -353,6 +358,7 @@ class GadaianController extends Controller
|
||||
return $shoraka->hold($request, $request->norujukan_gadai, 'gadai', [
|
||||
'cara_terima' => $caraTerima,
|
||||
'pinjaman' => $pinjamanAmt,
|
||||
'temporary_gadai' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -544,31 +550,55 @@ class GadaianController extends Controller
|
||||
$keuntungan6bulan = $keuntungan_sebln * 6;
|
||||
$keuntungan12bulan = $keuntungan_sebln * 12;
|
||||
$hargajualan = $request->pinjaman + $keuntungan12bulan;
|
||||
$gadai = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/gadai/norujukan/' . $auth_user['cawangan'] . '/' . $request->norujukan_gadai, [
|
||||
'kodcaw' => $auth_user['cawangan'],
|
||||
'nilaimarhun' => round($total_nilai_marhun, 2),
|
||||
'berat' => round($request->total_berat, 2),
|
||||
'pinjaman' => round($request->pinjaman, 2),
|
||||
'kadarupah' => round($kadarupah, 2),
|
||||
'marhun' => $request->marhun_detail,
|
||||
'percentpinj' => $margin_pinjaman,
|
||||
'teller' => $auth_user['name'],
|
||||
'upah6' => $keuntungan6bulan,
|
||||
'upah12' => $keuntungan12bulan,
|
||||
'hargajualan' => $hargajualan,
|
||||
'kuantiti_marhun' => $request->kuantiti_marhun,
|
||||
'transaction' => 'Ubah Gadai',
|
||||
'kadarujrah' => round($kadarupah, 2),
|
||||
'ujrah' => $ujrah,
|
||||
'onepercent' => $onepercent,
|
||||
'margin_semasa' => $margin_pinjaman,
|
||||
'kadar_rebate' => $this->parseMoney($request->kadar_rebate),
|
||||
'rebate' => $this->parseMoney($request->rebate),
|
||||
])->json();
|
||||
$update_komuditi = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/komuditi/update', [
|
||||
'unit_komuditi' => round($request->pinjaman, 2),
|
||||
'norujukan' => $request->norujukan_gadai
|
||||
])->json();
|
||||
try {
|
||||
$gadai = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/gadai/norujukan/' . $auth_user['cawangan'] . '/' . $request->norujukan_gadai, [
|
||||
'kodcaw' => $auth_user['cawangan'],
|
||||
'nilaimarhun' => round($total_nilai_marhun, 2),
|
||||
'berat' => round($request->total_berat, 2),
|
||||
'pinjaman' => round($request->pinjaman, 2),
|
||||
'kadarupah' => round($kadarupah, 2),
|
||||
'marhun' => $request->marhun_detail,
|
||||
'percentpinj' => $margin_pinjaman,
|
||||
'teller' => $auth_user['name'],
|
||||
'upah6' => $keuntungan6bulan,
|
||||
'upah12' => $keuntungan12bulan,
|
||||
'hargajualan' => $hargajualan,
|
||||
'kuantiti_marhun' => $request->kuantiti_marhun,
|
||||
'transaction' => 'Ubah Gadai',
|
||||
'kadarujrah' => round($kadarupah, 2),
|
||||
'ujrah' => $ujrah,
|
||||
'onepercent' => $onepercent,
|
||||
'margin_semasa' => $margin_pinjaman,
|
||||
'kadar_rebate' => $this->parseMoney($request->kadar_rebate),
|
||||
'rebate' => $this->parseMoney($request->rebate),
|
||||
]);
|
||||
} catch (\Illuminate\Http\Client\ConnectionException $exception) {
|
||||
return back()->withInput()->with('gadai_edit_error',
|
||||
'Sambungan terganggu. Semak rekod gadai sebelum mencuba semula.');
|
||||
}
|
||||
if (!$gadai->successful()) {
|
||||
$message = 'Ubah Gadai tidak berjaya. Sila semak dengan operasi.';
|
||||
if ($gadai->status() === 409 || $gadai->status() === 422) {
|
||||
$apiMessage = $gadai->json()['message'] ?? null;
|
||||
if (is_string($apiMessage) && $apiMessage !== '') {
|
||||
$message = $apiMessage;
|
||||
}
|
||||
}
|
||||
return back()->withInput()->with('gadai_edit_error', $message);
|
||||
}
|
||||
try {
|
||||
$update_komuditi = Http::withOptions(['verify' => config('app.api_verify')])->put(config('api.url') . '/api/komuditi/update', [
|
||||
'unit_komuditi' => round($request->pinjaman, 2),
|
||||
'norujukan' => $request->norujukan_gadai
|
||||
]);
|
||||
} catch (\Illuminate\Http\Client\ConnectionException $exception) {
|
||||
return back()->with('gadai_edit_error',
|
||||
'Rekod gadai telah dikemas kini tetapi kemas kini komoditi tidak dapat disahkan. Sila semak dengan operasi.');
|
||||
}
|
||||
if (!$update_komuditi->successful()) {
|
||||
return back()->with('gadai_edit_error',
|
||||
'Rekod gadai telah dikemas kini tetapi kemas kini komoditi gagal. Sila semak dengan operasi.');
|
||||
}
|
||||
|
||||
event(new GadaiNotify('lulus', $auth_user['cawangan']));
|
||||
|
||||
@@ -582,7 +612,7 @@ class GadaianController extends Controller
|
||||
$norujukan = $request->norujukan;
|
||||
$auth_user = Auth::user();
|
||||
|
||||
Http::withOptions(['verify' => config('app.api_verify')])->delete(config('api.url') . '/api/gadai/batal/' . $auth_user['cawangan'] . '/' . $norujukan);
|
||||
Http::withOptions(['verify' => config('app.api_verify')])->delete(config('api.url') . '/api/gadai/batal/' . $auth_user['cawangan'] . '/' . $norujukan)->throw();
|
||||
$request->session()->forget('page_reload');
|
||||
$request->session()->forget('norujukan');
|
||||
$request->session()->forget('borang_online_printed');
|
||||
|
||||
Reference in New Issue
Block a user