diff --git a/Http/Controllers/KonfirmasiBankController.php b/Http/Controllers/KonfirmasiBankController.php index 42d5f2a..9248b14 100644 --- a/Http/Controllers/KonfirmasiBankController.php +++ b/Http/Controllers/KonfirmasiBankController.php @@ -359,16 +359,32 @@ class KonfirmasiBankController extends Controller $GetCustomer = $Account->getCustomer($request['cusNo'])->first(); $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCore)->get(); + try { + foreach ($listAccount as $key1 => $account) { + $dataAADepo = $Account->getAA($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first(); + if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') { + if ($dataAADepo != null) { - foreach ($listAccount as $key1 => $account) { - $dataAADepo = $Account->getAA($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first(); - if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') { - if ($dataAADepo != null) { + $tenor = ''; + $tanggal_1 = date_create($dataAADepo->RENEWAL_DATE); + $tanggal_2 = date_create($dataAADepo->START_DATE); + $tenor = date_diff($tanggal_1, $tanggal_2); + $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; + $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; + $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; + $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; + $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; + $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; + $DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE; + $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; + $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE != null ? number_format($account->WORKING_BALANCE, 2, ',', '.') : 'NIHIL'; + $DataAccounts[$key1]['MATURITY_DATE'] = date('d-m-Y', strtotime($dataAADepo->RENEWAL_DATE)) ; + $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; + $DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo->FIXED_RATE . ' %'; + $DataAccounts[$key1]['TERM'] = intval($tenor->days / 30) . ' BLN'; + } - $tenor = ''; - $tanggal_1 = date_create($dataAADepo->RENEWAL_DATE); - $tanggal_2 = date_create($dataAADepo->START_DATE); - $tenor = date_diff($tanggal_1, $tanggal_2); + }else{ $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; @@ -378,183 +394,161 @@ class KonfirmasiBankController extends Controller $DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE != null ? number_format($account->WORKING_BALANCE, 2, ',', '.') : 'NIHIL'; - $DataAccounts[$key1]['MATURITY_DATE'] = date('d-m-Y', strtotime($dataAADepo->RENEWAL_DATE)) ; + $DataAccounts[$key1]['MATURITY_DATE'] = '' ; $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; - $DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo->FIXED_RATE . ' %'; - $DataAccounts[$key1]['TERM'] = intval($tenor->days / 30) . ' BLN'; + $DataAccounts[$key1]['FIXED_RATE'] = ''; + $DataAccounts[$key1]['TERM'] = ''; + } + //get data anjak + + if ($account->CATEGORY == '1019') { + array_push($rekEscrow, $account->ACCOUNT_NUMBER); + } - }else{ - $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; - $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; - $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; - $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; - $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; - $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; - $DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE; - $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; - $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE != null ? number_format($account->WORKING_BALANCE, 2, ',', '.') : 'NIHIL'; - $DataAccounts[$key1]['MATURITY_DATE'] = '' ; - $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; - $DataAccounts[$key1]['FIXED_RATE'] = ''; - $DataAccounts[$key1]['TERM'] = ''; - } - //get data anjak - - if ($account->CATEGORY == '1019') { - array_push($rekEscrow, $account->ACCOUNT_NUMBER); } + $Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get(); - } - - $Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get(); - - foreach ($Arrangement as $key2 => $pinjaman) { - $limtiCheck = $Account->getLimitCheck($pinjaman->LINKED_APPL_ID, $startDate)->first(); - $DataPinjaman[$key2]['ARRANGEMENT_ID'] = $pinjaman->ARRANGEMENT_ID; - $DataPinjaman[$key2]['START_DATE'] = $pinjaman->START_DATE; - $DataPinjaman[$key2]['CURRENCY'] = $pinjaman->CURRENCY; - $DataPinjaman[$key2]['PRODUCT'] = $pinjaman->PRODUCT; - $DataPinjaman[$key2]['WORKING_BALANCE'] = number_format($limtiCheck->AVAIL_AMT, 2, ',', '.') ?? ''; - $DataPinjaman[$key2]['TERM'] = $this->convertDateToMonth($pinjaman->TERM) ?? ''; - $DataPinjaman[$key2]['FIXED_RATE'] = $pinjaman->FIXED_RATE ?? ''; - $DataPinjaman[$key2]['MATURITY_DATE'] = date('d-m-Y', strtotime($pinjaman->MATURITY_DATE)) ?? ''; - $DataPinjaman[$key2]['ACCOUNT_NUMBER'] = $pinjaman->LINKED_APPL_ID; + foreach ($Arrangement as $key2 => $pinjaman) { + $limtiCheck = $Account->getLimitCheck($pinjaman->LINKED_APPL_ID, $startDate)->first(); + $DataPinjaman[$key2]['ARRANGEMENT_ID'] = $pinjaman->ARRANGEMENT_ID; + $DataPinjaman[$key2]['START_DATE'] = $pinjaman->START_DATE; + $DataPinjaman[$key2]['CURRENCY'] = $pinjaman->CURRENCY; + $DataPinjaman[$key2]['PRODUCT'] = $pinjaman->PRODUCT; + $DataPinjaman[$key2]['WORKING_BALANCE'] = number_format($limtiCheck->AVAIL_AMT, 2, ',', '.') ?? ''; + $DataPinjaman[$key2]['TERM'] = $this->convertDateToMonth($pinjaman->TERM) ?? ''; + $DataPinjaman[$key2]['FIXED_RATE'] = $pinjaman->FIXED_RATE ?? ''; + $DataPinjaman[$key2]['MATURITY_DATE'] = date('d-m-Y', strtotime($pinjaman->MATURITY_DATE)) ?? ''; + $DataPinjaman[$key2]['ACCOUNT_NUMBER'] = $pinjaman->LINKED_APPL_ID; - } + } - $listAccountRK = $Account->getAccountRK($request['cusNo'], $dateCore)->get(); + $listAccountRK = $Account->getAccountRK($request['cusNo'], $dateCore)->get(); - foreach ($listAccountRK as $rk => $valRk) { - if ($valRk->CATEGORY == '1003') { - $rateRK = ""; - $rateDebitRk = $Account->getRateRk($valRk->ACCOUNT_NUMBER, $dateCore)->first(); - if ($rateDebitRk) { - if( $rateDebitRk->DR_INT_RATE == "0") { - $rateRK = $rateDebitRk->DR_INT_RATE; + + + foreach ($listAccountRK as $rk => $valRk) { + if ($valRk->CATEGORY == '1003') { + $rateRK = ""; + $rateDebitRk = $Account->getRateRk($valRk->ACCOUNT_NUMBER, $dateCore)->first(); + if ($rateDebitRk) { + if( $rateDebitRk->DR_INT_RATE == "0") { + $rateRK = $rateDebitRk->DR_INT_RATE; + } else { + $rateRK = substr($rateDebitRk->DR_INT_RATE, 0, -2); + } } else { - $rateRK = substr($rateDebitRk->DR_INT_RATE, 0, -2); + $rateRK = ''; } - } else { - $rateRK = ''; + + + $DataRK[$rk]['ACCOUNT_NUMBER'] = $valRk->ACCOUNT_NUMBER; + $DataRK[$rk]['OPENING_DATE'] = $valRk->OPENING_DATE; + $DataRK[$rk]['BATCH_DATE'] = $valRk->BATCH_DATE; + $DataRK[$rk]['CUSTOMER_NO'] = $valRk->CUSTOMER_NO; + $DataRK[$rk]['SHORT_NAME'] = 'PRK KOMERSIL'; + $DataRK[$rk]['CURRENCY'] = $valRk->CURRENCY; + $DataRK[$rk]['PRODUCT'] = $valRk->SHORT_TITLE; + $DataRK[$rk]['WORKING_BALANCE'] = $valRk->AVAIL_AMT != null ? number_format($valRk->AVAIL_AMT, 2, ',', '.') : 'NIHIL'; + $DataRK[$rk]['MATURITY_DATE'] = date('d-m-Y', strtotime($valRk->EXPIRY_DATE)) ?? ''; + $DataRK[$rk]['ARRANGEMENT_ID'] = ''; + $DataRK[$rk]['FIXED_RATE'] = $rateRK; + $DataRK[$rk]['TERM'] = '12'; + } - - $DataRK[$rk]['ACCOUNT_NUMBER'] = $valRk->ACCOUNT_NUMBER; - $DataRK[$rk]['OPENING_DATE'] = $valRk->OPENING_DATE; - $DataRK[$rk]['BATCH_DATE'] = $valRk->BATCH_DATE; - $DataRK[$rk]['CUSTOMER_NO'] = $valRk->CUSTOMER_NO; - $DataRK[$rk]['SHORT_NAME'] = 'PRK KOMERSIL'; - $DataRK[$rk]['CURRENCY'] = $valRk->CURRENCY; - $DataRK[$rk]['PRODUCT'] = $valRk->SHORT_TITLE; - $DataRK[$rk]['WORKING_BALANCE'] = $valRk->AVAIL_AMT != null ? number_format($valRk->AVAIL_AMT, 2, ',', '.') : 'NIHIL'; - $DataRK[$rk]['MATURITY_DATE'] = date('d-m-Y', strtotime($valRk->EXPIRY_DATE)) ?? ''; - $DataRK[$rk]['ARRANGEMENT_ID'] = ''; - $DataRK[$rk]['FIXED_RATE'] = $rateRK; - $DataRK[$rk]['TERM'] = '12'; - } - } + + $fasilitas = Fasilitas::where('nomor_cif', $request['cusNo'])->where('status', 1)->get(); + foreach ($fasilitas as $key3 => $val3) { + $DataFasilitas[$key3]['jenis_fasilitas'] = $val3->jenis_fasilitas; + $DataFasilitas[$key3]['start_date'] = $val3->start_date; + $DataFasilitas[$key3]['mata_uang'] = $val3->mata_uang; + $DataFasilitas[$key3]['saldo'] = number_format(floatval($val3->saldo), 2, ',', '.'); + $DataFasilitas[$key3]['jangka_waktu'] = $this->convertDateToMonth($val3->jangka_waktu) . ' BLN' ?? ''; + $DataFasilitas[$key3]['fixed_rate'] = $val3->fixed_rate ?? ''; + $DataFasilitas[$key3]['due_date'] = $val3->due_date ?? ''; + $DataFasilitas[$key3]['nomor_rekening'] = $val3->nomor_rekening; + } + + //Get DatA Anjak + $ListAnjak = $Account->getAccountAnjak($rekEscrow, $dateCore)->get(); + $totalOutstanding = $ListAnjak->sum('OUTSTANDING') != null ? number_format(abs($ListAnjak->sum('OUTSTANDING')), 2, ',', '.') : 'NIHIL'; - $fasilitas = Fasilitas::where('nomor_cif', $request['cusNo'])->where('status', 1)->get(); - foreach ($fasilitas as $key3 => $val3) { - $DataFasilitas[$key3]['jenis_fasilitas'] = $val3->jenis_fasilitas; - $DataFasilitas[$key3]['start_date'] = $val3->start_date; - $DataFasilitas[$key3]['mata_uang'] = $val3->mata_uang; - $DataFasilitas[$key3]['saldo'] = number_format(floatval($val3->saldo), 2, ',', '.'); - $DataFasilitas[$key3]['jangka_waktu'] = $this->convertDateToMonth($val3->jangka_waktu) . ' BLN' ?? ''; - $DataFasilitas[$key3]['fixed_rate'] = $val3->fixed_rate ?? ''; - $DataFasilitas[$key3]['due_date'] = $val3->due_date ?? ''; - $DataFasilitas[$key3]['nomor_rekening'] = $val3->nomor_rekening; - } + $ListLimits = $Account->getLimit($request['cusNo'], $request['startDate2'])->get(); + $signer = Signer::where('id', $request['signerId'])->where('status', 1)->get(); + $batchDate = Carbon::parse($request['startDate2']); + $currentDate = Carbon::now(); + $tanggalIndonesia = strtoupper($batchDate->locale('id')->isoFormat('D MMMM YYYY')); // Mengubah seluruh string menjadi huruf besar + $today = strtoupper($currentDate->locale('id')->isoFormat('D MMMM YYYY')); + $letter = new Letters(); + $infoSuratNew = $letter->where('no_cif', $request['cusNo'])->orderBy('id', 'DESC')->first(); - //Get DatA Anjak - $ListAnjak = $Account->getAccountAnjak($rekEscrow, $dateCore)->get(); - $totalOutstanding = $ListAnjak->sum('OUTSTANDING') != null ? number_format(abs($ListAnjak->sum('OUTSTANDING')), 2, ',', '.') : 'NIHIL'; - - // dd($totalOutstanding); - - // foreach ($ListAnjak as $key4 => $val4) { - // $DataAnjak[$key4]['PRODUCT_LOAN'] = $val4->PRODUCT_LOAN; - // $DataAnjak[$key4]['LOAN_CCY'] = $val4->LOAN_CCY; - // $DataAnjak[$key4]['CUSTOMER_NO'] = $val4->PAYIN_ACCOUNT; - // $DataAnjak[$key4]['TENOR'] = $val4->TENOR; - // $DataAnjak[$key4]['OUTSTANDING'] = $val4->OUTSTANDING != null ? number_format(abs($val4->OUTSTANDING), 2, ',', '.') : 'NIHIL'; - // $DataAnjak[$key4]['MATURITY_DATE'] = date('d-m-Y', strtotime($val4->MATURITY_DATE)) ?? ''; - // ; - // $DataAnjak[$key4]['ACCOUNT_NUMBER'] = $val4->ACCOUNT_NUMBER; - // $DataAnjak[$key4]['CURRENT_INTEREST_RATE'] = $val4->CURRENT_INTEREST_RATE; - // $DataAnjak[$key4]['TERM'] = $val4->CURRENT_INTEREST_RATE; - // } - - $ListLimits = $Account->getLimit($request['cusNo'], $request['startDate2'])->get(); - $signer = Signer::where('id', $request['signerId'])->where('status', 1)->get(); - $batchDate = Carbon::parse($request['startDate2']); - $currentDate = Carbon::now(); - $tanggalIndonesia = strtoupper($batchDate->locale('id')->isoFormat('D MMMM YYYY')); // Mengubah seluruh string menjadi huruf besar - $today = strtoupper($currentDate->locale('id')->isoFormat('D MMMM YYYY')); - $letter = new Letters(); - $infoSuratNew = $letter->where('no_cif', $request['cusNo'])->orderBy('id', 'DESC')->first(); - - $data['DataAccounts'] = $DataAccounts; - $data['DataPinjaman'] = $DataPinjaman; - $data['DataRK'] = $DataRK ; - $data['DataLimit'] = $ListLimits; - $data['DataFasilitas'] = $DataFasilitas; - $data['DataSigner'] = $signer; - $data['DataCustomer'] = $GetCustomer ?? ''; - $data['localDate'] = $tanggalIndonesia; - $data['today'] = $today; - $data['dataAADepo'] = $dataAADepo; - $data['infoSuratNew'] = $infoSuratNew; - $data['totalOutstanding'] = $totalOutstanding; + $data['DataAccounts'] = $DataAccounts; + $data['DataPinjaman'] = $DataPinjaman; + $data['DataRK'] = $DataRK ; + $data['DataLimit'] = $ListLimits; + $data['DataFasilitas'] = $DataFasilitas; + $data['DataSigner'] = $signer; + $data['DataCustomer'] = $GetCustomer ?? ''; + $data['localDate'] = $tanggalIndonesia; + $data['today'] = $today; + $data['dataAADepo'] = $dataAADepo; + $data['infoSuratNew'] = $infoSuratNew; + $data['totalOutstanding'] = $totalOutstanding; - $pdf = PDF::loadview('konfirmasibank::exportPdf', ['data' => $data]); - // Set page script to disable header on the first page - // Set options for DOMPDF as needed + $pdf = PDF::loadview('konfirmasibank::exportPdf', ['data' => $data]); + // Set page script to disable header on the first page + // Set options for DOMPDF as needed - $pdf->render(); + $pdf->render(); - $canvas = $pdf->get_canvas(); - $cpdf = $canvas->get_cpdf(); + $canvas = $pdf->get_canvas(); + $cpdf = $canvas->get_cpdf(); - $font = $pdf->getFontMetrics()->get_font("helvetica"); + $font = $pdf->getFontMetrics()->get_font("helvetica"); - $firstPageId = $cpdf->getFirstPageId(); - $objects = $cpdf->objects; - $pages = array_filter($objects, function ($v) { - return $v['t'] == 'page'; - }); + $firstPageId = $cpdf->getFirstPageId(); + $objects = $cpdf->objects; + $pages = array_filter($objects, function ($v) { + return $v['t'] == 'page'; + }); - $number = 1; - $no = 0; - $noSurat = $infoSuratNew['no_surat'] ; - $countPage = count($pages); - foreach($pages as $pageId => $page) { - $nos = $page['info']['pageNum']; - $canvas->reopen_object($pageId + 1); - $canvas->text(300, 797, $nos . "/" . $countPage, $font, 10, array(0,0,0)); - $canvas->close_object(); - $number++; - - if(($pageId + 1) !== $firstPageId) { + $number = 1; + $no = 0; + $noSurat = $infoSuratNew['no_surat'] ; + $countPage = count($pages); + foreach($pages as $pageId => $page) { + $nos = $page['info']['pageNum']; $canvas->reopen_object($pageId + 1); - $canvas->text(350, 50, "Lanjutan Surat No : $noSurat", $font, 10, array(0,0,0)); + $canvas->text(300, 797, $nos . "/" . $countPage, $font, 10, array(0,0,0)); $canvas->close_object(); $number++; + + if(($pageId + 1) !== $firstPageId) { + $canvas->reopen_object($pageId + 1); + $canvas->text(350, 50, "Lanjutan Surat No : $noSurat", $font, 10, array(0,0,0)); + $canvas->close_object(); + $number++; + } } + + $exportTime = Carbon::now(); + $filename = "Kobank_" . $request['cusNo'] .'_'.$exportTime->format('YmdHis'). '.PDF'; + + return $pdf->stream($filename); + + } catch (Exception $e) { + echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); } - $exportTime = Carbon::now(); - $filename = "Kobank_" . $request['cusNo'] .'_'.$exportTime->format('YmdHis'). '.PDF'; - - return $pdf->stream($filename); + return false; } diff --git a/Resources/views/exportPdf.blade.php b/Resources/views/exportPdf.blade.php index 2ae8eb6..d9052c7 100644 --- a/Resources/views/exportPdf.blade.php +++ b/Resources/views/exportPdf.blade.php @@ -117,7 +117,7 @@
  • Telp : {{$data['infoSuratNew']['tlp']}}