Load pembiayaan detail modal whenever user clicks. not loaded it all at page startup
This commit is contained in:
@@ -8,23 +8,15 @@ use Illuminate\Support\Facades\Http;
|
||||
|
||||
class BayaranHistoryService
|
||||
{
|
||||
public $norujukanList;
|
||||
public $norujukan;
|
||||
|
||||
public function __construct($norujukanList) {
|
||||
$this->norujukanList = $norujukanList;
|
||||
public function __construct($norujukan) {
|
||||
$this->norujukan = $norujukan;
|
||||
}
|
||||
|
||||
public function getBayaranHistory()
|
||||
{
|
||||
$getBayaranHistory = function () {
|
||||
return Http::pool(function (Pool $pool){
|
||||
foreach ($this->norujukanList as $norujukan) {
|
||||
$pool->get(config('api.url') . '/api/transaction/' . $norujukan);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$bayaranHistoryResponse = array_map(fn($x) => $x->json(), $getBayaranHistory());
|
||||
$bayaranHistory = Http::arrahn()->get('/api/transaction/online/query', ['date' => $this->norujukan])->json();
|
||||
|
||||
$formatBayaranHistoryData = function ($x) {
|
||||
if (sizeof($x) === 0) {
|
||||
@@ -41,12 +33,12 @@ class BayaranHistoryService
|
||||
}, $x);
|
||||
};
|
||||
|
||||
return array_map($formatBayaranHistoryData, $bayaranHistoryResponse);
|
||||
return $formatBayaranHistoryData($bayaranHistory);
|
||||
}
|
||||
|
||||
public static function from($norujukanList)
|
||||
public static function from($norujukan)
|
||||
{
|
||||
return new static($norujukanList);
|
||||
return new static($norujukan);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ use Illuminate\Support\Facades\Http;
|
||||
|
||||
class MarhunService
|
||||
{
|
||||
public $norujukanList;
|
||||
public $norujukan;
|
||||
|
||||
public function __construct($norujukanList) {
|
||||
$this->norujukanList = $norujukanList;
|
||||
public function __construct($norujukan) {
|
||||
$this->norujukan = $norujukan;
|
||||
}
|
||||
|
||||
public function getMarhunDetails()
|
||||
@@ -30,18 +30,18 @@ class MarhunService
|
||||
};
|
||||
|
||||
$marhunDetailPipelines = [
|
||||
fn($x) => array_map($getMarhunDetails, $x),
|
||||
fn($x) => array_map(fn($y) => $x == null ? [] : $y, $x),
|
||||
fn($x) => $getMarhunDetails($x),
|
||||
fn($x) => $x == null ? [] : $x,
|
||||
fn($x) => array_map(fn($y) => array_merge([], ...$y), $x),
|
||||
fn($x) => array_map($formatMarhunDetailData, $x),
|
||||
fn($x) => $formatMarhunDetailData($x),
|
||||
];
|
||||
|
||||
return array_reduce($marhunDetailPipelines, fn($x, $y) => $y($x), $this->norujukanList);
|
||||
return array_reduce($marhunDetailPipelines, fn($x, $y) => $y($x), $this->norujukan);
|
||||
}
|
||||
|
||||
public static function from($norujukanList)
|
||||
public static function from($norujukan)
|
||||
{
|
||||
return new static($norujukanList);
|
||||
return new static($norujukan);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ class PembiayaanService
|
||||
$pembiayaan = array_filter($getPembiayaan(), fn($x) => $x->hargajualan != null || $x->hargajualan != 0);
|
||||
$pembiayaan = $this->setUpahTawarruq($pembiayaan);
|
||||
$pembiayaan = $this->formatPembiayaanData($pembiayaan);
|
||||
$pembiayaan = $this->attachMarhunModalData($pembiayaan);
|
||||
$pembiayaan = $this->checkPembiayaanPaymentDisabled($pembiayaan);
|
||||
|
||||
return $pembiayaan;
|
||||
@@ -101,51 +100,28 @@ class PembiayaanService
|
||||
return $formatted;
|
||||
}
|
||||
|
||||
private function attachMarhunModalData($pembiayaan)
|
||||
public function getMarhunModalData($norujukan)
|
||||
{
|
||||
$marhunModalData = $this->getMarhunModalData($pembiayaan);
|
||||
|
||||
return array_map(
|
||||
function ($x, $y) {
|
||||
$x->marhunModalData = $y;
|
||||
return $x;
|
||||
},
|
||||
$pembiayaan,
|
||||
$marhunModalData,
|
||||
);
|
||||
}
|
||||
|
||||
public function getMarhunModalData($pembiayaan)
|
||||
{
|
||||
$norujukanList = array_map(fn($x) => $x->norujukan, $pembiayaan);
|
||||
|
||||
$marhunDetails = MarhunService::from($norujukanList)->getMarhunDetails();
|
||||
|
||||
$bayaranHistoryDetails = BayaranHistoryService::from($norujukanList)->getBayaranHistory();
|
||||
|
||||
return array_map(
|
||||
fn($x, $y, $z) => [
|
||||
'nilaimarhun' => $x->nilaimarhun,
|
||||
'berat' => $x->berat,
|
||||
'bakiupah' => $x->bakiupah,
|
||||
'pinjaman' => $x->pinjaman,
|
||||
'bakipjm' => $x->bakipjm,
|
||||
'taglel' => $x->taglel,
|
||||
'marhun' => $x->marhun,
|
||||
'pinjaman' => $x->pinjaman,
|
||||
'norujukan' => $x->norujukan,
|
||||
'hargajualan' => $x->hargajualan,
|
||||
'kodcaw' => $x->kodcaw,
|
||||
'tempoh' => $x->tempoh,
|
||||
'cawangan_name' => $x->cawangan_name,
|
||||
'marhun_details' => $y,
|
||||
'bayaran_history' => $z,
|
||||
],
|
||||
$pembiayaan,
|
||||
$marhunDetails,
|
||||
$bayaranHistoryDetails,
|
||||
);
|
||||
|
||||
$gadaianDetails = Http::arrahn()->get('/api/gadai/norujukan/' . $norujukan)->json()[0][0];
|
||||
|
||||
$attachCawanganName = function ($x) use ($gadaianDetails) {
|
||||
$x['cawangan_name'] = Http::arrahn()->get('/api/cawangan/detail/' . $gadaianDetails['kodcaw'])->json()[0]['cawangan'];
|
||||
return $x;
|
||||
};
|
||||
|
||||
$gadaianDetails = $attachCawanganName($gadaianDetails);
|
||||
|
||||
$marhunDetails = MarhunService::from($norujukan)->getMarhunDetails();
|
||||
|
||||
$bayaranHistoryDetails = BayaranHistoryService::from($norujukan)->getBayaranHistory();
|
||||
|
||||
|
||||
return [
|
||||
'gadaianDetails' => $gadaianDetails,
|
||||
'marhunDetails' => $marhunDetails,
|
||||
'bayaranHistoryDetails' => $bayaranHistoryDetails,
|
||||
];
|
||||
}
|
||||
|
||||
private function getNorujukanRecentlyAttemptPayment($norujukanList)
|
||||
|
||||
Reference in New Issue
Block a user