From 79b115bcb6306d5f6ac50354d2c8bda32726f366 Mon Sep 17 00:00:00 2001 From: KhatamNugraha Date: Wed, 5 Jun 2024 14:27:41 +0700 Subject: [PATCH] fixing query konbank --- Entities/Account.php | 67 ++++++++++++++----- Http/Controllers/KonfirmasiBankController.php | 67 +++++++++---------- Resources/views/exportPdf.blade.php | 44 +++++++++++- 3 files changed, 122 insertions(+), 56 deletions(-) diff --git a/Entities/Account.php b/Entities/Account.php index ca4d9fe..a2f6956 100644 --- a/Entities/Account.php +++ b/Entities/Account.php @@ -77,7 +77,7 @@ class Account extends Model ->where('LIMIT_REF', null) ->where('AC.BATCH_DATE', $startDate) ->whereIn('AC.ACCOUNT_NUMBER', $arrAccount) - ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101']) + ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','101']) // ->groupBy('CUSTOMER_NO', 'ACCOUNT_NUMBER', 'SHORT_TITLE', 'SHORT_NAME', 'COMPANY_NAME', 'CATEGORY', 'LIMIT_REF') ->orderBy('CATEGORY', 'ASC') ->limit(100); @@ -103,7 +103,7 @@ class Account extends Model // return $data; // } - public function getAA($cust, $acc, $dataCore) + public function getAA($cust, $acc, $dataCore) { //$uppercaseKodeCabang = Str::upper($kodecabang); $dateString = $dataCore->format('m/d/Y'); @@ -126,27 +126,60 @@ class Account extends Model return $data; } - public function getArr($cust, $acc, $dataCore) + // public function getArr($cust, $acc, $dataCore) + + // { + + // //$uppercaseKodeCabang = Str::upper($kodecabang); + // //$dateString = $dataCore->format('d/m/Y'); + // // dd($dateString); + // $timestamp = strtotime($dataCore); + + // // Format the timestamp into a date format + // $date = date("Y", $timestamp); + + // $data = DB::connection("db2")->table("MIS.PRODEV_DEPO") + // ->selectRaw('*') + // ->where('NOMOR_CIF', $cust) + // ->whereYear('BATCH_DATE', $date) + // ->where('NOMOR_REKENING', $acc) + // ->where('STATUS_REKENING', 'like', "%" .'CURRENT' ."%") + // // ->groupBy('ARR.ID', 'ARR.LINKED_APPL_ID', 'ARR.CUSTOMER', 'ARR.PRODUCT_LINE','ARR.BATCH_DATE','AD.MATURITY_DATE','AI.FIXED_RATE','ARR.BATCH_DATE') + // ->orderBy('BATCH_DATE', 'DESC') + // ->limit(1); + // return $data; + // } + + public function getDepo($cust, $acc, $dataCore) { - //$uppercaseKodeCabang = Str::upper($kodecabang); - //$dateString = $dataCore->format('d/m/Y'); - // dd($dateString); $timestamp = strtotime($dataCore); - // Format the timestamp into a date format - $date = date("Y", $timestamp); + $date = date("m/d/Y", $timestamp); + $matYear = date("Y", $timestamp); - $data = DB::connection("db2")->table("MIS.PRODEV_DEPO") - ->selectRaw('*') - ->where('NOMOR_CIF', $cust) - ->whereYear('BATCH_DATE', $date) - ->where('NOMOR_REKENING', $acc) - ->where('STATUS_REKENING', 'like', "%" .'CURRENT' ."%") - // ->groupBy('ARR.ID', 'ARR.LINKED_APPL_ID', 'ARR.CUSTOMER', 'ARR.PRODUCT_LINE','ARR.BATCH_DATE','AD.MATURITY_DATE','AI.FIXED_RATE','ARR.BATCH_DATE') - ->orderBy('BATCH_DATE', 'DESC') - ->limit(1); + $data = DB::connection("db2")->table("MIS.FACT_DPK AS DPK") + ->selectRaw('DPK.NO_REK, + DPK.SUKU_BUNGA, + DPK.JUMLAH_NOMINAL, + DPK.KODE_SUB_PRODUK, + PER.DATE AS PERIOD, + MAT.DATE AS JATUH_TEMPO, + CUR.KODE_MATA_UANG, + DPK.SK_STATUS_DEPOSITO') + ->join('MIS.DIM_PERIOD AS PER', 'DPK.SK_PERIOD', '=', 'PER.SK_PERIOD') + ->join('MIS.DIM_PERIOD AS MAT', 'DPK.SK_JATUH_TEMPO', '=', 'MAT.SK_PERIOD') + ->join('MIS.DIM_MATA_UANG AS CUR', 'DPK.SK_MATA_UANG', '=', 'CUR.SK_MATA_UANG') + // ->where('CUSTOMER_NO', $cif) + // ->where('LIMIT_REF', null) + ->where('PER.DATE', $date) + ->whereYear('MAT.DATE', '>', $matYear) + ->whereIn('DPK.NO_REK', $acc) + //->whereIn('DPK.NO_REK', '<>',$arrExp) + // ->groupBy('CUSTOMER_NO', 'ACCOUNT_NUMBER', 'SHORT_TITLE', 'SHORT_NAME', 'COMPANY_NAME', 'CATEGORY', 'LIMIT_REF') + // ->orderBy('CATEGORY', 'ASC') + ->limit(100); return $data; } diff --git a/Http/Controllers/KonfirmasiBankController.php b/Http/Controllers/KonfirmasiBankController.php index 6564194..07f8b7a 100644 --- a/Http/Controllers/KonfirmasiBankController.php +++ b/Http/Controllers/KonfirmasiBankController.php @@ -408,41 +408,19 @@ class KonfirmasiBankController extends Controller foreach ($listAccount as $key1 => $account) { - if ($account->CATEGORY == '6603' || $account->CATEGORY == '6602') { - $dataAADepo = $Account->getArr($request['cusNo'], $account->ACCOUNT_NUMBER, $dateCore)->first(); - // dd($days); - if ($dataAADepo != null) { - $dataAADepo = $Account->getArr($account->CUSTOMER_NO, $account->ACCOUNT_NUMBER, $dateCore)->first(); - $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $dataAADepo->NOMOR_REKENING; - $DataAccounts[$key1]['OPENING_DATE'] = $dataAADepo->TANGGAL_BUKA_REKENING; - $DataAccounts[$key1]['BATCH_DATE'] = $dataAADepo->BATCH_DATE; - $DataAccounts[$key1]['CUSTOMER_NO'] = $dataAADepo->NOMOR_CIF; - $DataAccounts[$key1]['SHORT_NAME'] = 'DEPOSITO'; - $DataAccounts[$key1]['CURRENCY'] = $dataAADepo->MATA_UANG; - // $DataAccounts[$key1]['PRODUCT'] = $account->SHORT_TITLE; - $DataAccounts[$key1]['COMPANY_NAME'] = $dataAADepo->CABANG; - $DataAccounts[$key1]['WORKING_BALANCE'] = number_format($dataAADepo->SALDO_REKENING, 2, ',', '.') ; - $DataAccounts[$key1]['MATURITY_DATE'] = Carbon::parse($dataAADepo->MATURITY_DATE)->format('d-m-Y'); - $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; - $DataAccounts[$key1]['FIXED_RATE'] = $dataAADepo->SUKU_BUNGA. ' %'; - $DataAccounts[$key1]['TERM'] = substr($dataAADepo->TENOR, 0, -1) . ' BLN'; - } - - }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'] = 'GIRO'; //$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'] = ''; - } + $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'] = 'GIRO'; //$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') { @@ -453,6 +431,21 @@ class KonfirmasiBankController extends Controller } + $DataDepo = []; + $Deposito = $Account->getDepo($request['cusNo'], $arrAccount, $dateCore)->get(); + foreach ($Deposito as $keyDep => $depo) { + + $DataDepo[$keyDep]['ACCOUNT_NUMBER'] = $depo->NO_REK; + $DataDepo[$keyDep]['BATCH_DATE'] = $depo->PERIOD; + $DataDepo[$keyDep]['SHORT_NAME'] = 'DEPOSITO'; + $DataDepo[$keyDep]['CURRENCY'] = $depo->KODE_MATA_UANG; + $DataDepo[$keyDep]['WORKING_BALANCE'] = number_format($depo->JUMLAH_NOMINAL, 2, ',', '.') ; + $DataDepo[$keyDep]['MATURITY_DATE'] = Carbon::parse($depo->JATUH_TEMPO)->format('d-m-Y'); + $DataDepo[$keyDep]['ARRANGEMENT_ID'] = ''; + $DataDepo[$keyDep]['FIXED_RATE'] = $depo->SUKU_BUNGA; + $DataDepo[$keyDep]['TERM'] = substr($depo->KODE_SUB_PRODUK, 0, -1); + } + $Arrangement = $Account->getPinjaman($request['cusNo'], $dateCore)->get(); @@ -542,7 +535,7 @@ class KonfirmasiBankController extends Controller $data['DataCustomer'] = $GetCustomer ?? ''; $data['localDate'] = $tanggalIndonesia; $data['today'] = $today; - $data['dataAADepo'] = $dataAADepo; + $data['DataDepo'] = $DataDepo; $data['infoSuratNew'] = $infoSuratNew; $data['totalOutstanding'] = $totalOutstanding; @@ -833,4 +826,4 @@ class KonfirmasiBankController extends Controller } -} \ No newline at end of file +} diff --git a/Resources/views/exportPdf.blade.php b/Resources/views/exportPdf.blade.php index a6570d0..d241f30 100644 --- a/Resources/views/exportPdf.blade.php +++ b/Resources/views/exportPdf.blade.php @@ -159,7 +159,47 @@ {{ $val['ACCOUNT_NUMBER'] }} @endforeach - @if ($data['dataAADepo'] == null) + + @if (count( $data['DataDepo']) > 0) + + @php + $noDepo = 0; + if (count( $data['DataAccounts']) > 0) { + $noDepo = count($data['DataAccounts']) + 1 ; + }else{ + $noDepo = 1 ; + } + @endphp + @foreach ($data['DataDepo'] as $keyDep => $depo) + + {{ $noDepo++ }} + DEPOSITO + + {{ $depo['CURRENCY'] }} + {{$depo['WORKING_BALANCE']}} + {{ $depo['TERM'] }} BLN + {{ $depo['FIXED_RATE'] }} % + {{ $depo['MATURITY_DATE'] }} + {{ $depo['ACCOUNT_NUMBER'] }} + + @endforeach + + @else + + {{ $no+1 }} + DEPOSITO + + + NIHIL + + + + + + @endif + + + {{-- @if ($data['dataAADepo'] == null) @php $no= count($data['DataAccounts']); @endphp @@ -175,7 +215,7 @@ - @endif + @endif --}} @else