diff --git a/Entities/ViewAccount.php b/Entities/ViewAccount.php index 81c8ac2..17bceac 100644 --- a/Entities/ViewAccount.php +++ b/Entities/ViewAccount.php @@ -38,43 +38,43 @@ class ViewAccount extends Model 'ARRANGEMENT_ID'" ]; - public function getSearchAccount($cif , $kodecabang, $startDate, $endDate){ - // dd($cif , $kodecabang, $startDate, $endDate); + public function getSearchAccount($cif ,$arrAccount, $kodecabang, $startDate, $endDate){ // $store = DB::connection('oracle'); $today = Carbon::now(); $currentYear = $today->format("Y"); $pastYear = $today->subYear(3)->format('Y'); $uppercaseKodeCabang = Str::upper($kodecabang); + $data = []; - if ($cif != null && $kodecabang == null && $startDate == null) { - $data = DB::connection("db2")->table("STG_DB.VW_ACCOUNTS") - ->select( 'ACCOUNT_NUMBER','CUSTOMER_NO','CURRENCY',DB::raw('MAX(CATEGORY) AS CATEGORY'),'SHORT_TITLE',DB::raw('MAX(BATCH_DATE) AS BATCH_DATE'),'PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE',DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE')) - ->where('CUSTOMER_NO',$cif) - ->whereBetween('BATCH_DATE', [$startDate, $endDate]) - ->groupBy('ACCOUNT_NUMBER' , 'CUSTOMER_NO','CURRENCY','SHORT_TITLE','PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE'); - } elseif ($cif != null && $kodecabang != null && $startDate == null) { + // dd($arrAccount); - $data = DB::connection("db2")->table("STG_DB.VW_ACCOUNTS") - ->select( 'ACCOUNT_NUMBER','CUSTOMER_NO','CURRENCY',DB::raw('MAX(CATEGORY) AS CATEGORY'),'SHORT_TITLE',DB::raw('MAX(BATCH_DATE) AS BATCH_DATE'),'PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE',DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE')) + if($arrAccount == null){ + //dd('1'); + $data = DB::connection("db2")->table("STG_DB.VW_ACCOUNT") + ->select( 'CUSTOMER_NO', 'ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE',DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE')) ->where('CUSTOMER_NO',$cif) ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") - ->whereBetween('BATCH_DATE', [$startDate, $endDate]) - ->groupBy('ACCOUNT_NUMBER' , 'CUSTOMER_NO','CURRENCY','SHORT_TITLE','PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE'); - }else { - $data = DB::connection("db2")->table("STG_DB.VW_ACCOUNTS") - ->select( 'ACCOUNT_NUMBER','CUSTOMER_NO','CURRENCY',DB::raw('MAX(CATEGORY) AS CATEGORY'),'SHORT_TITLE',DB::raw('MAX(BATCH_DATE) AS BATCH_DATE'),'PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE',DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE')) + ->whereBetween('OPENING_DATE', [$startDate, $endDate]) + ->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE'); + }else{ + $data = DB::connection("db2")->table("STG_DB.VW_ACCOUNT") + ->select( 'CUSTOMER_NO', 'ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE',DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE')) ->where('CUSTOMER_NO',$cif) ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") - ->whereBetween('BATCH_DATE', [$startDate, $endDate]) - ->groupBy('ACCOUNT_NUMBER' , 'CUSTOMER_NO','CURRENCY','SHORT_TITLE','PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE'); + ->whereIn('ACCOUNT_NUMBER', $arrAccount) + ->whereBetween('OPENING_DATE', [$startDate, $endDate]) + ->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE'); } return $data; } + + public function getAccount($cus_no,$account,$kodecabang,$periode){ + $data = []; $data = DB::connection("db2")->table("STG_DB.VW_ACCOUNTS") ->select( 'ACCOUNT_NUMBER','CUSTOMER_NO','CURRENCY',DB::raw('MAX(CATEGORY) AS CATEGORY'),'SHORT_TITLE',DB::raw('MAX(BATCH_DATE) AS BATCH_DATE'),'PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE',DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE')) @@ -84,10 +84,22 @@ class ViewAccount extends Model return $data; } + public function getAAaccount($cus_no,$acc_no){ + $data = []; + $data = DB::connection("db2")->table("STG_DB.VW_AA_ACCOUNT")->select('ARRANGEMENT_ID','PRODUCT_LINE','PRODUCT','CUSTOMER','LINKED_APPL_ID','MATURITY_DATE') + ->where('CUSTOMER', $cus_no) + ->where('LINKED_APPL_ID', $acc_no) + ->get(); + return $data; + } + public function getPinjaman($cus_no){ $data = []; - $data = DB::connection("db2")->table("STG_DB.VW_AA_ARRANGEMENT")->select('CUSTOMER','STREET','ADDRESS','SHORT_NAME','CO_CODE','PRODUCT_LINE','PRODUCT','CURRENCY','COMPANY_NAME',DB::raw('MAX(CATEGORY) AS CATEGORY'),DB::raw('MAX(BATCH_DATE) AS BATCH_DATE'),DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE'),DB::raw('MAX(OPENING_DATE) AS OPENING_DATE'),DB::raw('MAX(MATURITY_DATE) AS MATURITY_DATE'),DB::raw('MAX(MATURITY_DATE) AS MATURITY_DATE'), DB::raw('MAX(ARRANGEMENT_ID) AS ARRANGEMENT_ID'))->where('CUSTOMER',$cus_no)->groupBy('CUSTOMER','STREET','ADDRESS','SHORT_NAME','CO_CODE','PRODUCT_LINE','PRODUCT','CURRENCY','COMPANY_NAME')->get(); + $data = DB::connection("db2")->table("STG_DB.VW_AA_ARRANGEMENT") + ->select('ARRANGEMENT_ID','LINKED_APPL_ID','CUSTOMER','PRODUCT','PRODUCT_LINE','CURRENCY',DB::raw('MAX(WORKING_BALANCE) AS WORKING_BALANCE'),'BATCH_DATE', DB::raw('MAX(OPENING_DATE) AS OPENING_DATE'),'MATURITY_DATE',DB::raw('MAX(CATEGORY) AS CATEGORY'),'MATURITY_DATE','SHORT_NAME','STREET','ADDRESS','COMPANY_NAME') + ->where('CUSTOMER',$cus_no) + ->groupBy('ARRANGEMENT_ID','LINKED_APPL_ID','CUSTOMER','PRODUCT','PRODUCT_LINE','CURRENCY','BATCH_DATE','MATURITY_DATE','SHORT_NAME','STREET','ADDRESS','COMPANY_NAME')->get(); return $data; } @@ -145,4 +157,4 @@ class ViewAccount extends Model return $data; } -} +} \ No newline at end of file diff --git a/Http/Controllers/KonfirmasiBankController.php b/Http/Controllers/KonfirmasiBankController.php index 11fd747..b7338bd 100644 --- a/Http/Controllers/KonfirmasiBankController.php +++ b/Http/Controllers/KonfirmasiBankController.php @@ -73,25 +73,35 @@ { $data = []; $Account = new ViewAccount; + $arrAccount = []; - $carbonStartDate = Carbon::createFromFormat('Y-m-d', $request->startDate); - $formattedStartDate = $carbonStartDate->format('d/m/Y'); - $carbonEndDate = Carbon::createFromFormat('Y-m-d', $request->endDate); - $formattedEndDate = $carbonEndDate->format('d/m/Y'); - - $Accounts = $Account->getSearchAccount($request->cif, $request->kodecabang,$formattedStartDate,$formattedEndDate)->get(); - + $Accounts = $Account->getSearchAccount($request->cif,$arrAccount,$request->kodecabang,$request->startDate,$request->endDate)->get(); + foreach ($Accounts as $key => $account) { - $data[$key]['CUSTOMER_NO'] = $account->CUSTOMER_NO; - $data[$key]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; - $data[$key]['COMPANY_NAME'] = $account->COMPANY_NAME; - $data[$key]['SHORT_TITLE'] = $account->SHORT_TITLE; - $data[$key]['WORKING_BALANCE'] = $account->WORKING_BALANCE; - $data[$key]['PRODUCT'] = $account->PRODUCT; - $data[$key]['CURRENCY'] = $account->CURRENCY; - $data[$key]['BATCH_DATE'] = $account->BATCH_DATE; - $data[$key]['MATURITY_DATE'] = $account->MATURITY_DATE ?? '-'; + + $Arrangement = $Account->getAAaccount($account->CUSTOMER_NO,$account->ACCOUNT_NUMBER); + $maturityDate = ''; + $aaID= ''; + $product = ''; + foreach ($Arrangement as $key2 => $value) { + + $aaID = $value->ARRANGEMENT_ID; + $maturityDate = $value->MATURITY_DATE; + $product = $value->PRODUCT; + } + + $data[$key]['CUSTOMER_NO'] = $account->CUSTOMER_NO; + $data[$key]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; + $data[$key]['COMPANY_NAME'] = $account->COMPANY_NAME; + $data[$key]['SHORT_TITLE'] = $account->SHORT_TITLE; + $data[$key]['WORKING_BALANCE'] = $account->WORKING_BALANCE; + $data[$key]['SHORT_NAME'] = $account->SHORT_NAME; + $data[$key]['CURRENCY'] = $account->CURRENCY; + $data[$key]['OPENING_DATE'] = $account->OPENING_DATE; + $data[$key]['MATURITY_DATE'] = $maturityDate ?? '-'; + $data[$key]['PRODUCT'] = $product ?? '-'; } + return json_encode($data); } @@ -108,44 +118,51 @@ abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } - - $account = explode("," , $request['acc_no']); + $arrAccount = explode("," , $request['acc_no']); $ViewAccount = new ViewAccount; $data = []; $DataAccounts = []; $DataPinjaman = []; $DataLimit = []; - - $ListAccount = $ViewAccount->getAccount($request['cus_no'],$account,$request['kode_cabang'],$request['periode']); + $DataAA = []; + $ListAccount = $ViewAccount->getSearchAccount($request['cus_no'],$arrAccount,$request['kode_cabang'],$request->startDate,$request->endDate)->get(); foreach ($ListAccount as $key1 => $account) { + $DataAA = $ViewAccount->getAAaccount($account->CUSTOMER_NO,$account->ACCOUNT_NUMBER); + + foreach ($DataAA as $key2 => $aa) { + $product = $aa->PRODUCT; + $AAID = $aa->ARRANGEMENT_ID; + $MaturityDate = $aa->MATURITY_DATE; + } $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; - $DataAccounts[$key1]['PRODUCT'] = $account->PRODUCT; + + $DataAccounts[$key1]['PRODUCT'] = $product ?? '-'; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE; - $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; - $DataAccounts[$key1]['MATURITY_DATE'] = $account->MATURITY_DATE; - $DataAccounts[$key1]['ARRANGEMENT_ID'] = $account->ARRANGEMENT_ID; - $ListBunga =$ViewAccount->getInterest($account->ARRANGEMENT_ID); - $ListTenor =$ViewAccount->getTerm($account->ARRANGEMENT_ID); + // $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; + $DataAccounts[$key1]['MATURITY_DATE'] = $MaturityDate ?? '-'; + $DataAccounts[$key1]['ARRANGEMENT_ID'] = $AAID ?? '-'; + $ListBunga =$ViewAccount->getInterest($AAID ?? ''); + $ListTenor =$ViewAccount->getTerm($AAID ?? ''); foreach ($ListBunga as $bunga) { - if (strpos($bunga->ID ,$account->ARRANGEMENT_ID) !== false) { + if (strpos($bunga->ID ,$AAID ?? '') !== false) { $DataAccounts[$key1]['FIXED_RATE'] = $bunga->FIXED_RATE; } } foreach ($ListTenor as $tenor) { - if (strpos($tenor->ID ,$account->ARRANGEMENT_ID) !== false) { + if (strpos($tenor->ID ,$AAID ?? '') !== false) { $DataAccounts[$key1]['TERM'] = $tenor->TERM; } } } - $ListPinjaman =$ViewAccount->getPinjaman($ListAccount[0]->CUSTOMER_NO); + $pinjaman = []; foreach ($ListPinjaman as $key => $item) { $ListTenor =$ViewAccount->getTerm($item->ARRANGEMENT_ID); @@ -160,7 +177,7 @@ $pinjaman[$key]['PRODUCT_LINE'] = $item->PRODUCT_LINE; $pinjaman[$key]['PRODUCT'] = $item->PRODUCT; $pinjaman[$key]['WORKING_BALANCE'] = $item->WORKING_BALANCE; - $pinjaman[$key]['BATCH_DATE'] = $item->OPENING_DATE; + // $pinjaman[$key]['BATCH_DATE'] = $item->OPENING_DATE; $pinjaman[$key]['MATURITY_DATE'] = $item->MATURITY_DATE; $pinjaman[$key]['ARRANGEMENT_ID'] = $item->ARRANGEMENT_ID; @@ -181,7 +198,6 @@ } } - $ListLimits = $ViewAccount->getLimit($request['cus_no'],$request['periode']); $fasilitas = Fasilitas::where('nomor_cif',$request['cus_no'] )->where('status',1)->get(); @@ -196,7 +212,7 @@ $data['DataSigner'] = $signer; $data['localDate'] = $tanggalIndonesia; - + // DD($data); $html = View::make('konfirmasibank::exportPdf', ['data' => $data])->render(); $pdf = new Dompdf(); @@ -546,4 +562,4 @@ } - } + } \ No newline at end of file diff --git a/Resources/views/exportPdf.blade.php b/Resources/views/exportPdf.blade.php index 6062f8b..247c090 100644 --- a/Resources/views/exportPdf.blade.php +++ b/Resources/views/exportPdf.blade.php @@ -94,14 +94,14 @@ @foreach ($data['DataAccounts'] as $val)