From 2677043077dc8c175b73b5164d4e0456e421de5d Mon Sep 17 00:00:00 2001 From: KhatamNugraha Date: Wed, 3 Apr 2024 09:21:34 +0700 Subject: [PATCH] fixing konfirmasi bank uat --- Entities/Account.php | 35 ++++++--- Http/Controllers/KonfirmasiBankController.php | 73 ++++++++++++------- Resources/views/exportPdf.blade.php | 58 ++++++++++----- Resources/views/pages/index.blade.php | 21 ++++-- .../views/pages/index_fasilitas.blade.php | 4 +- Resources/views/pages/table.blade.php | 2 +- .../views/pages/table_fasilitas.blade.php | 2 +- 7 files changed, 129 insertions(+), 66 deletions(-) diff --git a/Entities/Account.php b/Entities/Account.php index 618b6c3..cc8ede7 100644 --- a/Entities/Account.php +++ b/Entities/Account.php @@ -70,7 +70,7 @@ class Account extends Model } public function getAccount($cif, $arrAccount, $startDate){ - // $uppercaseKodeCabang = Str::upper($kodecabang); + //$uppercaseKodeCabang = Str::upper($kodecabang); $data = DB::connection("db2")->table("STG_DB.ACCOUNT AS AC") ->selectRaw('AC.CUSTOMER_NO,AC.CATEGORY, MAX(INACTIV_MARKER) as INACTIV_MARKER,AC.ACCOUNT_NUMBER,MAX(AC.BATCH_DATE) AS BATCH_DATE,MAX(AC.CURRENCY)AS CURRENCY, AC.SHORT_TITLE,MAX(AC.OPENING_DATE) AS OPENING_DATE, MAX(AC.WORKING_BALANCE) AS WORKING_BALANCE, MAX(AC.CATEGORY) AS CATEGORY,CT.SHORT_NAME,CP.COMPANY_NAME') @@ -96,20 +96,34 @@ class Account extends Model public function getAAaccount($cust, $acc){ $data = []; - $data = DB::connection("db2")->table("STG_DB.VW_AA_ACCOUNT")->select('MATURITY_DATE','PRODUCT','TERM') + $data = DB::connection("db2")->table("STG_DB.VW_AA_ACCOUNT")->select('ARRANGEMENT_ID','MATURITY_DATE','PRODUCT','TERM','RENEWAL_DATE','START_DATE','FIXED_RATE') // ->where('CUSTOMER', $cif) ->where('CUSTOMER', $cust) ->where('LINKED_APPL_ID', $acc) + ->limit(1); + return $data; + } + + public function getAA($cust, $acc, $dataCore){ + $data = []; + $data = DB::connection("db2")->table("STG_DB.VW_AA_DETAIL") + ->select('LINKED_APPL_ID','CUSTOMER','RENEWAL_DATE','START_DATE','FIXED_RATE','BATCH_DATE','PRODUCT_LINE','ARR_STATUS') + // ->where('CUSTOMER', $cif) + ->where('CUSTOMER', $cust) + ->where('ARR_STATUS','<>', 'CLOSE') + ->where('PRODUCT_LINE', 'like', "%" .'DEPOSITS' ."%") + ->whereIn(DB::raw("LINKED_APPL_ID"),$acc) + ->where('BATCH_DATE', $dataCore) + ->groupBy('LINKED_APPL_ID','CUSTOMER','RENEWAL_DATE','START_DATE','FIXED_RATE','BATCH_DATE','PRODUCT_LINE','ARR_STATUS') ->limit(100); return $data; } public function getPinjaman($cus_no, $dateCore){ - //dd($cus_no, $accNo, $dateCore); $data = []; $data = DB::connection("db2")->table("STG_DB.VW_AA_ARR") - ->select('*') + ->select('LINKED_APPL_ID','ARRANGEMENT_ID','CUSTOMER','BATCH_DATE','START_DATE','PRODUCT_LINE','PRODUCT','ARR_STATUS','CURRENCY','TERM','MATURITY_DATE','RENEWAL_DATE','FIXED_RATE') // ->join('STG_DB.ACCOUNT AS AC', 'AA.LINKED_APPL_ID', '=', 'AC.ACCOUNT_NUMBER') ->where('CUSTOMER',$cus_no) // ->whereIn(DB::raw("LINKED_APPL_ID"),$arr) @@ -117,7 +131,7 @@ class Account extends Model // ->orderBy('TERM','DESC'); ->where('BATCH_DATE', $dateCore) ->where('ARR_STATUS','<>', 'CLOSE') - //->where('LINKED_APPL_ID', $accNo) + ->where('PRODUCT_LINE', 'like', "%" .'LENDING' ."%") // ->groupBy('ARRANGEMENT_ID','ACCOUNT_NUMBER','SHORT_TITLE','SHORT_NAME','COMPANY_NAME') ->limit(100); @@ -125,6 +139,7 @@ class Account extends Model } + public function getFixedRate($arrangementId, $startDate){ $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ARR_INTEREST") @@ -139,7 +154,7 @@ class Account extends Model public function getMaturityDate($arrangementId,$startDate){ $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ACCOUNT_DETAILS") - ->select('MATURITY_DATE') + ->select('MATURITY_DATE','RENEWAL_DATE','START_DATE') ->where('ID' ,$arrangementId) ->where('BATCH_DATE' ,$startDate) ->limit(1) @@ -151,10 +166,10 @@ class Account extends Model public function getTermAmount($arrangementId){ $data = []; $data = DB::connection("db2")->table("STG_DB.AA_ARR_TERM_AMOUNT") - ->select('TERM') + ->select('*') ->where(DB::raw("LEFT(ID, 12)"),$arrangementId) - ->orderBy('TERM','DESC') - ->limit(1); + //->orderBy('TERM','DESC') + ->limit(100); return $data; } @@ -214,4 +229,4 @@ class Account extends Model -} \ No newline at end of file +} diff --git a/Http/Controllers/KonfirmasiBankController.php b/Http/Controllers/KonfirmasiBankController.php index 9aedd87..b2bfaa7 100644 --- a/Http/Controllers/KonfirmasiBankController.php +++ b/Http/Controllers/KonfirmasiBankController.php @@ -112,6 +112,7 @@ $data[$key]['CURRENCY'] = $value->CURRENCY; $data[$key]['WORKING_BALANCE'] = number_format($value->WORKING_BALANCE, 2, ',', '.') ; } + return json_encode($data ); } @@ -119,9 +120,7 @@ public function postInfoSurat(Request $request){ - $noSurat = $this->generateNomorSurat(); - - + // $noSurat = $this->generateNomorSurat(); // $request->validate([ // 'signer' => ['required'], // 'no_req_surat' => ['required', 'max:100'], @@ -139,7 +138,7 @@ $letter = new Letters(); $letter->no_cif = $request->cus_no; - $letter->no_surat = $noSurat; + $letter->no_surat = $request->no_surat; $letter->tgl_surat = $tglSurat; $letter->no_req_surat = $request->no_req_surat; $letter->tgl_req_surat = $request->tgl_req_surat; @@ -155,26 +154,26 @@ } - private function generateNomorSurat(){ - $latesNoSurat = ''; - $latestRecord = letters::latest('no_surat')->select('no_surat')->first(); - $tanggal = now(); - $tahun = $tanggal->format('Y'); - // Fungsi untuk mengonversi angka bulan menjadi romawi - $bulanRomawi = $this->numberToRoman($tanggal->format('n')); + // private function generateNomorSurat(){ + // $latesNoSurat = ''; + // $latestRecord = letters::latest('no_surat')->select('no_surat')->first(); + // $tanggal = now(); + // $tahun = $tanggal->format('Y'); + // // Fungsi untuk mengonversi angka bulan menjadi romawi + // $bulanRomawi = $this->numberToRoman($tanggal->format('n')); - if($latestRecord){ - $squence = substr($latestRecord['no_surat'], 0, 3); - $latesNoSurat = str_pad(intval($squence), 3, '0', STR_PAD_LEFT); - $NoUrut = str_pad(intval($latesNoSurat + 1), 3, '0', STR_PAD_LEFT); - $noSurat = " $NoUrut/SUBDIT.OPS/$bulanRomawi/$tahun"; - return $noSurat; - }else { - $noSurat = "001/SUBDIT.OPS/$bulanRomawi/$tahun"; - return $noSurat; - } + // if($latestRecord){ + // $squence = substr($latestRecord['no_surat'], 0, 3); + // $latesNoSurat = str_pad(intval($squence), 3, '0', STR_PAD_LEFT); + // $NoUrut = str_pad(intval($latesNoSurat + 1), 3, '0', STR_PAD_LEFT); + // $noSurat = " $NoUrut/SUBDIT.OPS/$bulanRomawi/$tahun"; + // return $noSurat; + // }else { + // $noSurat = "001/SUBDIT.OPS/$bulanRomawi/$tahun"; + // return $noSurat; + // } - } + // } function numberToRoman($num) { @@ -340,8 +339,10 @@ // dd($listAccount); $GetCustomer = $Account->getCustomer($request['cusNo'])->first(); $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCore )->get(); - + $dataAADepo = $Account->getAA($request['cusNo'],$arrAccount, $dateCore)->get(); + // dd( $dataAADepo); foreach ($listAccount as $key1 => $account) { + $tenor = ''; $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; @@ -351,13 +352,25 @@ $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'] = ''; + if ($account->CATEGORY == '6603') { + + $tanggal_1 = date_create($dataAADepo[$key1]->RENEWAL_DATE); + // waktu sekarnag + $tanggal_2 = date_create($dataAADepo[$key1]->START_DATE); + $tenor = date_diff( $tanggal_1, $tanggal_2 ); + $DataAccounts[$key1]['MATURITY_DATE'] = date('d-m-Y', strtotime($dataAADepo[$key1]->RENEWAL_DATE)) ; + $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; + $DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo[$key1]->FIXED_RATE . ' %'; + $DataAccounts[$key1]['TERM'] = intval($tenor->days/30) . ' BLN'; + } else { + $DataAccounts[$key1]['MATURITY_DATE'] = '' ; $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; $DataAccounts[$key1]['FIXED_RATE'] = ''; - $DataAccounts[$key1]['TERM'] = '' ; - + $DataAccounts[$key1]['TERM'] = ''; + } } + $Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get(); foreach ($Arrangement as $key2 => $pinjaman) { $balance = $Account->getSingleAccount($pinjaman->LINKED_APPL_ID,$startDate)->first(); @@ -413,6 +426,14 @@ // dd($data); $pdf = PDF::loadview('konfirmasibank::exportPdf',['data'=>$data]); + + + // $canvas = $domPdf->get_canvas(); + // $canvas->page_text(10, 10, "Page {PAGE_NUM} of {PAGE_COUNT}", null, 10, [0, 0, 0]); + + // $font = Font_Metrics::get_font("helvetica", "bold"); + //$domPdf->get_canvas()->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}", null, 6, array(0,0,0)); + $exportTime = Carbon::now(); $filename = "Kobank_" . $request['cusNo'] .'_'.$exportTime->format('YmdHis'). '.PDF'; diff --git a/Resources/views/exportPdf.blade.php b/Resources/views/exportPdf.blade.php index 292138a..b83296f 100644 --- a/Resources/views/exportPdf.blade.php +++ b/Resources/views/exportPdf.blade.php @@ -9,10 +9,12 @@ margin-top: 3.5cm; margin-right: 1.5cm; margin-left: 1.5cm; + margin-bottom: 2cm; } + /** Define the header rules **/ - header { + /* header { position: fixed; top: 0cm; left: 0cm; @@ -22,12 +24,12 @@ } /** Define the footer rules **/ - footer { + /* footer { position: fixed; bottom: 0cm; left: 0cm; right: 0cm; - }, + }, */ /* table { @@ -88,12 +90,25 @@ } - + .footer { + width: 100%; + text-align: center; + position: fixed; + margin-top: 1cm; + } + .header { + top: 0px; + } + .footer { + bottom: 0px; + } + .pagenum:before { + content: counter(page); + } - - + - - + + - + @@ -161,17 +176,17 @@
  • PINJAMAN YANG DIBERIKAN OLEH BANK KEPADA NASABAH
  • POSISI : {{ $data['batchDate'] }}
  • -
    No Jenis Rekening Tgl Realisasi Mata UangSaldoJangka WaktuSaldoTenor Suku BungaTgl Jatuh TempoTgl Jatuh Tempo Keterangan
    +
    - - + + - + @@ -202,7 +217,7 @@
    No Jenis Rekening Tgl Realisasi Mata UangSaldoJangka WaktuSaldoTenor Suku BungaTgl Jatuh TempoTgl Jatuh Tempo Keterangan

    - - -