update margin export pdf

This commit is contained in:
KhatamNugraha
2023-09-26 18:09:00 +07:00
parent 62b908a314
commit 60886ef174
4 changed files with 137 additions and 105 deletions

View File

@ -39,7 +39,6 @@ class ViewAccount extends Model
];
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');
@ -51,12 +50,13 @@ class ViewAccount extends Model
// dd($arrAccount);
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'),DB::raw('MAX(CATEGORY) AS CATEGORY'))
->where('CUSTOMER_NO',$cif)
->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%")
->whereBetween('OPENING_DATE', [$startDate, $endDate])
// ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660'])
->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE');
}else{
$data = DB::connection("db2")->table("STG_DB.VW_ACCOUNT")
@ -84,21 +84,29 @@ class ViewAccount extends Model
$currentYear = $today->format("Y");
$pastYear = $today->subYear(3)->format('Y');
$uppercaseKodeCabang = Str::upper($kodecabang);
$data = DB::connection("db2")->table("STG_DB.VW_ACCOUNT")
$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'),DB::raw('MAX(CATEGORY) AS CATEGORY'))
->where('CUSTOMER_NO',$cif)
->whereIn('ACCOUNT_NUMBER', $arrAccount)
->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%")
->whereBetween('OPENING_DATE', [$startDate, $endDate])
->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660'])
->whereIn('ACCOUNT_NUMBER', $arrAccount)
->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660','101'])
->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE');
// $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'),DB::raw('MAX(CATEGORY) AS CATEGORY'))
// ->where('CUSTOMER_NO',$cif)
// // ->whereIn('ACCOUNT_NUMBER', $arrAccount)
// ->where('COMPANY_NAME', 'like', "%" .$uppercaseKodeCabang."%")
// ->whereBetween('OPENING_DATE', [$startDate, $endDate])
// ->whereIn(DB::raw("LEFT(CATEGORY, 3)"),['100','600','660'])
// ->groupBy('CUSTOMER_NO','ACCOUNT_NUMBER','SHORT_NAME','SHORT_TITLE','CURRENCY','COMPANY_NAME','OPENING_DATE');
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')
$data = [];
$data = DB::connection("db2")->table("STG_DB.VW_AA_ARR_NEW")->select('ARRANGEMENT_ID','PRODUCT_LINE','PRODUCT','CUSTOMER','LINKED_APPL_ID','MATURITY_DATE')
->where('CUSTOMER', $cus_no)
->where('LINKED_APPL_ID', $acc_no)
->get();
@ -121,7 +129,9 @@ class ViewAccount extends Model
$data = DB::connection("db2")->table("STG_DB.VW_AA_ARR_NEW")
->select('*')
->where('CUSTOMER',$cus_no)
//->where(DB::raw("LEFT(CATEGORY, 1)") , 3)
->whereIn('ACCOUNT_NUMBER', $arrAccount);
return $data;
}
@ -185,4 +195,4 @@ class ViewAccount extends Model
return $data;
}
}
}

View File

@ -15,6 +15,7 @@
use Modules\Konfirmasibank\Entities\Company;
use Modules\Konfirmasibank\Entities\TermAmount;
use Dompdf\Dompdf;
use Dompdf\Options;
use Carbon\Carbon;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\Validator;
@ -77,20 +78,12 @@
$Accounts = $Account->getSearchAccount($request->cif,$arrAccount,$request->kodecabang,$request->startDate,$request->endDate)->get();
$maturityDate = '';
$aaID= '';
$product = '';
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]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER;
$data[$key]['COMPANY_NAME'] = $account->COMPANY_NAME;
@ -98,11 +91,14 @@
$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 ?? '-';
$data[$key]['OPENING_DATE'] = Carbon::parse($account->OPENING_DATE)->format('d-m-Y');
$data[$key]['MATURITY_DATE'] = (count($Arrangement) > 0) ? date('d-m-Y',strtotime($Arrangement[0]->MATURITY_DATE)) : '-';
$data[$key]['PRODUCT'] = (count($Arrangement) > 0) ? $Arrangement[0]->PRODUCT : '-';
}
return json_encode($data);
}
@ -120,103 +116,85 @@
}
$arrAccount = explode("," , $request['acc_no']);
$ViewAccount = new ViewAccount;
$data = [];
$DataAccounts = [];
$DataPinjaman = [];
$DataLimit = [];
$DataAA = [];
$ListAccount = $ViewAccount->getAccount($request['cus_no'],$arrAccount,$request['kode_cabang'],$request->startDate,$request->endDate)->get();
$listAccount = $ViewAccount->getAccount($request['cus_no'],$arrAccount,$request['kode_cabang'],$request->startDate,$request->endDate)->get();
$GetCustomer = $ViewAccount->getCustomer($request['cus_no'])->first();
$MaturityDate = '';
$product = '';
$AAID= '';
foreach ($listAccount as $key1 => $account) {
$Arrangement = $ViewAccount->getAAaccount($account->CUSTOMER_NO,$account->ACCOUNT_NUMBER);
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]['SHORT_NAME'] = $account->SHORT_NAME;
// $DataAccounts[$key1]['RESIDENCE'] = $account->RESIDENCE;
//$DataAccounts[$key1]['ADDRESS'] = $account->ADDRESS;
$DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY;
$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'] = $MaturityDate ?? 'NIHIL';
$DataAccounts[$key1]['ARRANGEMENT_ID'] = $AAID ?? 'NIHIL';
$ListBunga =$ViewAccount->getInterest($AAID ?? '');
$ListTenor =$ViewAccount->getTerm($AAID ?? '');
$DataAccounts[$key1]['MATURITY_DATE'] = (count($Arrangement) > 0) ? date('d-m-Y',strtotime($Arrangement[0]->MATURITY_DATE)) : '-' ;
$DataAccounts[$key1]['ARRANGEMENT_ID'] = (count($Arrangement) > 0) ? $Arrangement[0]->ID : '-' ;
$ListBunga =$ViewAccount->getInterest((count($Arrangement) > 0) ? $Arrangement[0]->ID : '');
$ListTenor =$ViewAccount->getTerm((count($Arrangement) > 0) ? $Arrangement[0]->ID : '');
foreach ($ListBunga as $bunga) {
if (strpos($bunga->ID ,$AAID ?? '') !== false) {
if (strpos($bunga->ID ,(count($Arrangement) > 0) ? $Arrangement[0]->ID : '') !== false) {
$DataAccounts[$key1]['FIXED_RATE'] = $bunga->FIXED_RATE;
}
}
foreach ($ListTenor as $tenor) {
if (strpos($tenor->ID ,$AAID ?? '') !== false) {
if (strpos($tenor->ID ,(count($Arrangement) > 0) ? $Arrangement[0]->ID : '') !== false) {
$DataAccounts[$key1]['TERM'] = $tenor->TERM;
}
}
}
$ListPinjaman =$ViewAccount->getPinjaman($ListAccount[0]->CUSTOMER_NO,$arrAccount )->get();
$pinjaman = [];
foreach ($ListPinjaman as $key => $item) {
$pinjaman[$key]['COMPANY_NAME'] = $item->COMPANY_NAME;
$pinjaman[$key]['CURRENCY'] = $item->CURRENCY;
$pinjaman[$key]['PRODUCT_LINE'] = $item->PRODUCT_LINE;
$pinjaman[$key]['PRODUCT'] = $item->PRODUCT;
$pinjaman[$key]['WORKING_BALANCE'] = $item->WORKING_BALANCE;
$pinjaman[$key]['MATURITY_DATE'] = $item->MATURITY_DATE;
$pinjaman[$key]['ARRANGEMENT_ID'] = $item->ARRANGEMENT_ID;
$pinjaman[$key]['FIXED_RATE'] = $item->FIXED_RATE;
$pinjaman[$key]['TERM'] = $item->TERM;
$pinjaman[$key]['CATEGORY'] = $item->CATEGORY;
}
$ListPinjaman =$ViewAccount->getPinjaman($request['cus_no'],$arrAccount )->get();
$ListLimits = $ViewAccount->getLimit($request['cus_no'],$request['periode']);
$fasilitas = Fasilitas::where('nomor_cif',$request['cus_no'] )->where('status',1)->get();
$signer = Signer::where('id', $request['signer'])->where('status',1)->get();
$currentDate = Carbon::now();
$tanggalIndonesia = $currentDate->locale('id')->isoFormat('dddd, D MMMM YYYY');
$tanggalIndonesia = $currentDate->locale('id')->isoFormat('D MMMM YYYY');
$data['DataAccounts'] = $DataAccounts;
$data['DataPinjaman'] = $pinjaman;
$data['DataAccounts'] = $listAccount;
$data['DataPinjaman'] = $ListPinjaman;
$data['DataLimit'] = $ListLimits;
$data['DataFasilitas'] = $fasilitas;
$data['DataSigner'] = $signer;
$data['DataCustomer'] = $GetCustomer ?? '';
$data['localDate'] = $tanggalIndonesia;
// Inisialisasi DOMPDF
$options = new Options();
$options->set('isHtml5ParserEnabled', true);
$options->set('isPhpEnabled', true);
$options->set(['padding-top' => 39, 'padding-right' => 10, 'padding-bottom' => 20, 'padding-left' => 15]);
$dompdf = new Dompdf($options);
$html = View::make('konfirmasibank::exportPdf', ['data' => $data])->render();
// Konfigurasi DOMPDF
$pdf = new Dompdf();
$pdf->loadHtml($html);
$dompdf->loadHtml($html);
// Mengatur jenis kertas
$pdf->setPaper('f4', 'portrait')->set_option('defaultFont', 'Arial');
$dompdf->setPaper('f4', 'portrait')->set_option('defaultFont', 'Arial');
// Render HTML menjadi PDF
$pdf->render();
$dompdf->render();
// Keluarkan file PDF ke browser
$pdf->stream('"Konfirmasi_bank_"'.$data['DataCustomer']->SHORT_NAME.'"'. $currentDate.'".pdf"');
$dompdf->stream('"Konfirmasi_bank_"'.$data['DataCustomer']->SHORT_NAME.'"'. $currentDate.'".pdf"');
return response()->download($pdf);
@ -552,4 +530,4 @@
}
}
}

View File

@ -5,15 +5,37 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
/* Contoh style tambahan */
.header {
padding: 1rem;
text-align: center;
}
.content {
padding: 2rem;
padding-top:150px
}
@page {
margin: 1cm 1cm;
}
/** Define the header rules **/
header {
position: fixed;
top: 0cm;
left: 0cm;
right: 0cm;
height: 6.5cm;
}
/** Define the footer rules **/
footer {
position: fixed;
bottom: 0cm;
left: 0cm;
right: 0cm;
}
body{
margin-top: 3.9cm;
margin-bottom: 100px;
}
/* .content {
padding-top:3.90cm;
} */
.space1 {
border: 1px solid black;
@ -55,7 +77,6 @@
</head>
<body>
<div class="content">
<p>Nomor &nbsp; : 577/SUBDIT.OPS/VIII/2023</p>
<p>Tanggal : {{ strtoupper($data['localDate']) }}</p><br>
@ -91,14 +112,14 @@
@foreach ($data['DataAccounts'] as $val)
<tr class="space1">
<td class="text-center space1">{{ $i++ }}</td>
<td class="space1">{{ $val['ACCOUNT_NUMBER'] }}</td>
<td class="space1">{{ $val['COMPANY_NAME'] }}</td>
<td class="space1">{{ $val['SHORT_NAME'] }}</td>
<td class="text-center space1 texet-center">{{ $val['CURRENCY'] }}</td>
<td class="space1">{{ $val['WORKING_BALANCE'] }}</td>
<td class="text-center space1">{{ $val['TERM'] }}</td>
<td class="text-center space1">{{ $val['FIXED_RATE'] }}</td>
<td class="text-center space1">{{ $val['MATURITY_DATE'] }}</td>
<td class="space1">{{ $val->ACCOUNT_NUMBER }}</td>
<td class="space1">{{ $val->COMPANY_NAME }}</td>
<td class="space1">{{ $val->SHORT_NAME }}</td>
<td class="text-center space1 texet-center">{{ $val->CURRENCY }}</td>
<td class="space1">{{ $val->WORKING_BALANCE }}</td>
<td class="text-center space1">{{ $val->TERM ?? 'NIHIL'}}</td>
<td class="text-center space1">{{ $val->FIXED_RATE ?? 'NIHIL' }}</td>
<td class="text-center space1">{{ $val->MATURITY_DATE ?? 'NIHIL' }}</td>
</tr>
@endforeach
@else
@ -132,14 +153,14 @@
@foreach ($data['DataPinjaman'] as $pinjaman)
<tr class="space1">
<td class="text-center space1">{{ $i++ }}</td>
<td class="space1">{{ $pinjaman['PRODUCT_LINE'] }}</td>
<td class="space1">{{ $pinjaman['COMPANY_NAME'] }}</td>
<td class="space1">{{ $pinjaman['CATEGORY'] }}</td>
<td class="text-center space1 texet-center">{{ $pinjaman['CURRENCY'] }}</td>
<td class="space1">{{ $pinjaman['WORKING_BALANCE'] }}</td>
<td class="text-center space1">{{ $pinjaman['TERM'] }}</td>
<td class="text-center space1">{{ $pinjaman['FIXED_RATE'] }}</td>
<td class="center space1">{{ $pinjaman['MATURITY_DATE'] }}</td>
<td class="space1">{{ $pinjaman->PRODUCT_LINE }}</td>
<td class="space1">{{ $pinjaman->COMPANY_NAME }}</td>
<td class="space1">{{ $pinjaman->CATEGORY }}</td>
<td class="text-center space1 texet-center">{{ $pinjaman->CURRENCY }}</td>
<td class="space1">{{ $pinjaman->WORKING_BALANCE }}</td>
<td class="text-center space1">{{ $pinjaman->TERM }}</td>
<td class="text-center space1">{{ $pinjaman->FIXED_RATE }}</td>
<td class="center space1">{{ $pinjaman->MATURITY_DATE }}</td>
</tr>
@endforeach
@else

View File

@ -65,7 +65,7 @@
<div class="d-flex flex-column mb-8 fv-row">
{{-- <input type="text" style="margin-bottom: 5px" name="cus_no" id="acc_no2" /> --}}
<input type="hidden" style="margin-bottom: 5px" name="acc_no" />
<input type="hidden" style="margin-bottom: 5px" name="acc_no" class="selected-values"/>
{{-- <input type="hidden" style="margin-bottom: 5px" name="kode_cabang" />
<input type="hidden" style="margin-bottom: 5px" name="periode" /> --}}
<div class="text-right ">
@ -195,7 +195,7 @@
<form class="form-horizontal" id="formSigner">
@csrf
<!-- Add your form fields here -->
<input type="hidden" style="margin-bottom: 5px" name="cus_no" id="acc_no2" />
<input type="hidden" style="margin-bottom: 5px" name="cus_no">
<input type="hidden" style="margin-bottom: 5px" name="kode_cabang" />
<input type="hidden" style="margin-bottom: 5px" name="startDateExport" />
<input type="hidden" style="margin-bottom: 5px" name="endDateExport" />
@ -269,6 +269,7 @@
$("input[name=cus_no]").val(cif);
$("input[name=kode_cabang]").val(kodecabang);
var no = 1;
$.ajax({
@ -299,6 +300,7 @@
$("#company_name").val(kdcabang);
$("input[name=startDateFasilitas]").val(startDate);
$("input[name=endDateFasilitas]").val(endDate);
$(".selected-values").val('');
},
error: function (error) {
@ -310,14 +312,35 @@
});
var acc_no = [];
var selectedValues = [];
$('#table4 tbody').on('change', 'tr td.tes input[type=checkbox]', function() {
$('.exportPdf').show();
// if ($(this).is(':checked')) {
// // Do something...
// acc_no.push($(this).val());
// $("input[name=acc_no]").val(acc_no)
// }else{
// acc_no.push($(this).val());
// $("input[name=acc_no]").val(acc_no)
// };
var value = $(this).val();
if ($(this).is(':checked')) {
// Do something...
acc_no.push($(this).val());
$("input[name=acc_no]").val(acc_no)
};
// Checkbox is checked, add value to the array
selectedValues.push(value);
} else {
// Checkbox is unchecked, remove value from the array
var index = selectedValues.indexOf(value);
if (index !== -1) {
selectedValues.splice(index, 1);
}
}
// Display the selected values (just for demonstration)
$('.selected-values').val(selectedValues.join(','));
});