update query filter

This commit is contained in:
KhatamNugraha
2023-09-13 11:32:03 +07:00
parent d7adee753c
commit a57961ecf4
4 changed files with 98 additions and 70 deletions

View File

@ -38,43 +38,43 @@ class ViewAccount extends Model
'ARRANGEMENT_ID'" 'ARRANGEMENT_ID'"
]; ];
public function getSearchAccount($cif , $kodecabang, $startDate, $endDate){ public function getSearchAccount($cif ,$arrAccount, $kodecabang, $startDate, $endDate){
// dd($cif , $kodecabang, $startDate, $endDate);
// $store = DB::connection('oracle'); // $store = DB::connection('oracle');
$today = Carbon::now(); $today = Carbon::now();
$currentYear = $today->format("Y"); $currentYear = $today->format("Y");
$pastYear = $today->subYear(3)->format('Y'); $pastYear = $today->subYear(3)->format('Y');
$uppercaseKodeCabang = Str::upper($kodecabang); $uppercaseKodeCabang = Str::upper($kodecabang);
$data = []; $data = [];
if ($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'))
->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) {
$data = DB::connection("db2")->table("STG_DB.VW_ACCOUNTS") if($arrAccount == null){
->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')) //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('CUSTOMER_NO',$cif)
->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%")
->whereBetween('BATCH_DATE', [$startDate, $endDate]) ->whereBetween('OPENING_DATE', [$startDate, $endDate])
->groupBy('ACCOUNT_NUMBER' , 'CUSTOMER_NO','CURRENCY','SHORT_TITLE','PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE'); ->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE');
}else { }else{
$data = DB::connection("db2")->table("STG_DB.VW_ACCOUNTS") $data = DB::connection("db2")->table("STG_DB.VW_ACCOUNT")
->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')) ->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('CUSTOMER_NO',$cif)
->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%") ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%")
->whereBetween('BATCH_DATE', [$startDate, $endDate]) ->whereIn('ACCOUNT_NUMBER', $arrAccount)
->groupBy('ACCOUNT_NUMBER' , 'CUSTOMER_NO','CURRENCY','SHORT_TITLE','PRODUCT','COMPANY_NAME','ARRANGEMENT_ID','MATURITY_DATE'); ->whereBetween('OPENING_DATE', [$startDate, $endDate])
->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE');
} }
return $data; return $data;
} }
public function getAccount($cus_no,$account,$kodecabang,$periode){ public function getAccount($cus_no,$account,$kodecabang,$periode){
$data = []; $data = [];
$data = DB::connection("db2")->table("STG_DB.VW_ACCOUNTS") $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')) ->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; 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){ public function getPinjaman($cus_no){
$data = []; $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; return $data;
} }

View File

@ -73,25 +73,35 @@
{ {
$data = []; $data = [];
$Account = new ViewAccount; $Account = new ViewAccount;
$arrAccount = [];
$carbonStartDate = Carbon::createFromFormat('Y-m-d', $request->startDate); $Accounts = $Account->getSearchAccount($request->cif,$arrAccount,$request->kodecabang,$request->startDate,$request->endDate)->get();
$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();
foreach ($Accounts as $key => $account) { foreach ($Accounts as $key => $account) {
$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]['CUSTOMER_NO'] = $account->CUSTOMER_NO;
$data[$key]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $data[$key]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER;
$data[$key]['COMPANY_NAME'] = $account->COMPANY_NAME; $data[$key]['COMPANY_NAME'] = $account->COMPANY_NAME;
$data[$key]['SHORT_TITLE'] = $account->SHORT_TITLE; $data[$key]['SHORT_TITLE'] = $account->SHORT_TITLE;
$data[$key]['WORKING_BALANCE'] = $account->WORKING_BALANCE; $data[$key]['WORKING_BALANCE'] = $account->WORKING_BALANCE;
$data[$key]['PRODUCT'] = $account->PRODUCT; $data[$key]['SHORT_NAME'] = $account->SHORT_NAME;
$data[$key]['CURRENCY'] = $account->CURRENCY; $data[$key]['CURRENCY'] = $account->CURRENCY;
$data[$key]['BATCH_DATE'] = $account->BATCH_DATE; $data[$key]['OPENING_DATE'] = $account->OPENING_DATE;
$data[$key]['MATURITY_DATE'] = $account->MATURITY_DATE ?? '-'; $data[$key]['MATURITY_DATE'] = $maturityDate ?? '-';
$data[$key]['PRODUCT'] = $product ?? '-';
} }
return json_encode($data); return json_encode($data);
} }
@ -108,44 +118,51 @@
abort(403, 'Sorry !! You are Unauthorized to view any master data !'); abort(403, 'Sorry !! You are Unauthorized to view any master data !');
} }
$arrAccount = explode("," , $request['acc_no']);
$account = explode("," , $request['acc_no']);
$ViewAccount = new ViewAccount; $ViewAccount = new ViewAccount;
$data = []; $data = [];
$DataAccounts = []; $DataAccounts = [];
$DataPinjaman = []; $DataPinjaman = [];
$DataLimit = []; $DataLimit = [];
$DataAA = [];
$ListAccount = $ViewAccount->getAccount($request['cus_no'],$account,$request['kode_cabang'],$request['periode']); $ListAccount = $ViewAccount->getSearchAccount($request['cus_no'],$arrAccount,$request['kode_cabang'],$request->startDate,$request->endDate)->get();
foreach ($ListAccount as $key1 => $account) { 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]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER;
$DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO;
$DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY;
$DataAccounts[$key1]['PRODUCT'] = $account->PRODUCT;
$DataAccounts[$key1]['PRODUCT'] = $product ?? '-';
$DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME;
$DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE;
$DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; // $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE;
$DataAccounts[$key1]['MATURITY_DATE'] = $account->MATURITY_DATE; $DataAccounts[$key1]['MATURITY_DATE'] = $MaturityDate ?? '-';
$DataAccounts[$key1]['ARRANGEMENT_ID'] = $account->ARRANGEMENT_ID; $DataAccounts[$key1]['ARRANGEMENT_ID'] = $AAID ?? '-';
$ListBunga =$ViewAccount->getInterest($account->ARRANGEMENT_ID); $ListBunga =$ViewAccount->getInterest($AAID ?? '');
$ListTenor =$ViewAccount->getTerm($account->ARRANGEMENT_ID); $ListTenor =$ViewAccount->getTerm($AAID ?? '');
foreach ($ListBunga as $bunga) { 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; $DataAccounts[$key1]['FIXED_RATE'] = $bunga->FIXED_RATE;
} }
} }
foreach ($ListTenor as $tenor) { foreach ($ListTenor as $tenor) {
if (strpos($tenor->ID ,$account->ARRANGEMENT_ID) !== false) { if (strpos($tenor->ID ,$AAID ?? '') !== false) {
$DataAccounts[$key1]['TERM'] = $tenor->TERM; $DataAccounts[$key1]['TERM'] = $tenor->TERM;
} }
} }
} }
$ListPinjaman =$ViewAccount->getPinjaman($ListAccount[0]->CUSTOMER_NO); $ListPinjaman =$ViewAccount->getPinjaman($ListAccount[0]->CUSTOMER_NO);
$pinjaman = []; $pinjaman = [];
foreach ($ListPinjaman as $key => $item) { foreach ($ListPinjaman as $key => $item) {
$ListTenor =$ViewAccount->getTerm($item->ARRANGEMENT_ID); $ListTenor =$ViewAccount->getTerm($item->ARRANGEMENT_ID);
@ -160,7 +177,7 @@
$pinjaman[$key]['PRODUCT_LINE'] = $item->PRODUCT_LINE; $pinjaman[$key]['PRODUCT_LINE'] = $item->PRODUCT_LINE;
$pinjaman[$key]['PRODUCT'] = $item->PRODUCT; $pinjaman[$key]['PRODUCT'] = $item->PRODUCT;
$pinjaman[$key]['WORKING_BALANCE'] = $item->WORKING_BALANCE; $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]['MATURITY_DATE'] = $item->MATURITY_DATE;
$pinjaman[$key]['ARRANGEMENT_ID'] = $item->ARRANGEMENT_ID; $pinjaman[$key]['ARRANGEMENT_ID'] = $item->ARRANGEMENT_ID;
@ -181,7 +198,6 @@
} }
} }
$ListLimits = $ViewAccount->getLimit($request['cus_no'],$request['periode']); $ListLimits = $ViewAccount->getLimit($request['cus_no'],$request['periode']);
$fasilitas = Fasilitas::where('nomor_cif',$request['cus_no'] )->where('status',1)->get(); $fasilitas = Fasilitas::where('nomor_cif',$request['cus_no'] )->where('status',1)->get();
@ -196,7 +212,7 @@
$data['DataSigner'] = $signer; $data['DataSigner'] = $signer;
$data['localDate'] = $tanggalIndonesia; $data['localDate'] = $tanggalIndonesia;
// DD($data);
$html = View::make('konfirmasibank::exportPdf', ['data' => $data])->render(); $html = View::make('konfirmasibank::exportPdf', ['data' => $data])->render();
$pdf = new Dompdf(); $pdf = new Dompdf();

View File

@ -94,14 +94,14 @@
@foreach ($data['DataAccounts'] as $val) @foreach ($data['DataAccounts'] as $val)
<tr class="space1"> <tr class="space1">
<td class="text-center space1">{{ $i++ }}</td> <td class="text-center space1">{{ $i++ }}</td>
<td class="space1">{{ $val['ACCOUNT_NUMBER'] }}</td> <td class="text-center space1">{{ $val['ACCOUNT_NUMBER'] }}</td>
<td class="space1">{{ $val['COMPANY_NAME'] }}</td> <td class="space1">{{ $val['COMPANY_NAME'] }}</td>
<td class="space1">{{ $val['PRODUCT'] }}</td> <td class="space1">{{ $val['PRODUCT'] }}</td>
<td class="space1 texet-center">{{ $val['CURRENCY'] }}</td> <td class="text-center space1 texet-center">{{ $val['CURRENCY'] }}</td>
<td class="space1">{{ $val['WORKING_BALANCE'] }}</td> <td class="space1">{{ $val['WORKING_BALANCE'] }}</td>
<td class="space1">{{ $val['TERM'] }}</td> <td class="text-center space1">{{ $val['TERM'] }}</td>
<td class="space1">{{ $val['FIXED_RATE'] }}</td> <td class="text-center space1">{{ $val['FIXED_RATE'] }}</td>
<td class="space1">{{ $val['MATURITY_DATE'] }}</td> <td class="text-center space1">{{ $val['MATURITY_DATE'] }}</td>
</tr> </tr>
@endforeach @endforeach
@else @else
@ -138,11 +138,11 @@
<td class="space1">{{ $pinjaman['PRODUCT_LINE'] }}</td> <td class="space1">{{ $pinjaman['PRODUCT_LINE'] }}</td>
<td class="space1">{{ $pinjaman['COMPANY_NAME'] }}</td> <td class="space1">{{ $pinjaman['COMPANY_NAME'] }}</td>
<td class="space1">{{ $pinjaman['CATEGORY'] }}</td> <td class="space1">{{ $pinjaman['CATEGORY'] }}</td>
<td class="space1 texet-center">{{ $pinjaman['CURRENCY'] }}</td> <td class="text-center space1 texet-center">{{ $pinjaman['CURRENCY'] }}</td>
<td class="space1">{{ $pinjaman['WORKING_BALANCE'] }}</td> <td class="space1">{{ $pinjaman['WORKING_BALANCE'] }}</td>
<td class="space1">{{ $pinjaman['TERM'] }}</td> <td class="text-center space1">{{ $pinjaman['TERM'] }}</td>
<td class="space1">{{ $pinjaman['FIXED_RATE'] }}</td> <td class="text-center space1">{{ $pinjaman['FIXED_RATE'] }}</td>
<td class="space1">{{ $pinjaman['MATURITY_DATE'] }}</td> <td class="center space1">{{ $pinjaman['MATURITY_DATE'] }}</td>
</tr> </tr>
@endforeach @endforeach
@else @else
@ -185,9 +185,9 @@
<td class="space1">{{ $limit->ACCOUNT_TYPE }}</td> <td class="space1">{{ $limit->ACCOUNT_TYPE }}</td>
<td class="space1 texet-center">{{ $limit->LIMIT_CURRENCY }}</td> <td class="space1 texet-center">{{ $limit->LIMIT_CURRENCY }}</td>
<td class="space1">{{ $limit->AVAIL_AMT }}</td> <td class="space1">{{ $limit->AVAIL_AMT }}</td>
<td class="space1">{{ $term }} D</td> <td class="text-center space1">{{ $term }} D</td>
<td class="space1">{{ $limit->LIMIT_PERCENTAGE }}</td> <td class="text-center space1">{{ $limit->LIMIT_PERCENTAGE }}</td>
<td class="space1">{{ $limit->EXPIRY_DATE}}</td> <td class="text-center space1">{{ $limit->EXPIRY_DATE}}</td>
</tr> </tr>
@endforeach @endforeach
@else @else
@ -204,11 +204,11 @@
<td class="space1">{{ $fasilitas->jenis_fasilitas }}</td> <td class="space1">{{ $fasilitas->jenis_fasilitas }}</td>
<td class="space1">{{ $fasilitas->cabang }}</td> <td class="space1">{{ $fasilitas->cabang }}</td>
<td class="space1">{{ $fasilitas->jenis_rekening }}</td> <td class="space1">{{ $fasilitas->jenis_rekening }}</td>
<td class="space1 texet-center">{{ $fasilitas->mata_uang }}</td> <td class="text-center space1">{{ $fasilitas->mata_uang }}</td>
<td class="space1">{{ $fasilitas->saldo }}</td> <td class="space1">{{ $fasilitas->saldo }}</td>
<td class="space1">{{ $fasilitas->jangka_waktu }} D</td> <td class="text-center space1 space1">{{ $fasilitas->jangka_waktu }} D</td>
<td class="space1">{{ $fasilitas->fixed_rate }}</td> <td class="text-center space1">{{ $fasilitas->fixed_rate }}</td>
<td class="space1">{{ $fasilitas->due_date}}</td> <td class="text-center space1">{{ $fasilitas->due_date}}</td>
</tr> </tr>
@endforeach @endforeach
@else @else

View File

@ -284,7 +284,7 @@
no++) + no++) +
'</td><td>' + items[i]['ACCOUNT_NUMBER'] + '</td><td>' + items[i]['ACCOUNT_NUMBER'] +
'</td><td>' + items[i]['COMPANY_NAME'] + '</td><td>' + items[i]['COMPANY_NAME'] +
'</td><td>' + items[i]['SHORT_TITLE'] + '</td><td>' + items[i]['SHORT_NAME'] +
'</td><td>' + items[i]['WORKING_BALANCE'] + '</td><td>' + items[i]['WORKING_BALANCE'] +
'</td><td>' + items[i]['PRODUCT'] + '</td><td>' + items[i]['PRODUCT'] +
'</td><td>' + items[i]['CURRENCY']+ '</td><td>' + items[i]['CURRENCY']+