middleware(function ($request, $next) { $this->user = Auth::guard('web')->user(); return $next($request); }); addVendor('chained-select'); } public function index(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } // dd($request); $data = []; // Contoh tanggal saat ini $today = Carbon::now(); // Menambahkan 1 tahun ke tanggal saat ini $currentYear = $today->format("Y"); // Menambahkan 5 tahun ke tanggal saat ini $pastYear = $today->subYear(3)->format('Y'); $signer = Signer::where('status',1)->get(); $company = Company::all(); $data['currentYear'] = $currentYear; $data['pastYear'] = $pastYear; $data['signer'] = $signer; $data['company'] = $company; // dd($data); return view('konfirmasibank::pages.index',compact('data','request')); } public function create(){ return view('konfirmasibank::pages.index',compact('data')); } public function getData(Request $request) { $data = []; $Account = new ViewAccount; $arrAccount = []; $startDate = Carbon::parse($request->startDate); $dateCore = $startDate->subDays(2)->format('m/d/Y'); $Accounts = $Account->getSearchAccount($request->cif,$arrAccount,$request->kodecabang, $dateCore)->get(); // $product = ''; // foreach ($Accounts as $key => $account) { // $Arrangement = $Account->getAAaccount($request->cif , $account->ACCOUNT_NUMBER)->first(); // $data[$key]['CUSTOMER_NO'] = $account->CUSTOMER_NO; // $data[$key]['INACTIV_MARKER'] = $account->INACTIV_MARKER; // $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]['BATCH_DATE'] = $account->BATCH_DATE; // $data[$key]['OPENING_DATE'] = ''; // $data[$key]['MATURITY_DATE'] = ''; // $data[$key]['PRODUCT'] = ''; // } return json_encode($Accounts ); } /* ----- export pdf ----- */ public function export(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.report')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } $arrAccount = explode("," , $request['acc_no']); $startDate = Carbon::parse($request['startDate']); $dateCore = $startDate->subDays(2); $ViewAccount = new ViewAccount; $data = []; $DataAccounts = []; $DataPinjaman = []; $DataLimit = []; $DataAA = []; $listAccount = $ViewAccount->getAccount($request['cus_no'],$arrAccount,$request['kode_cabang'], $dateCore)->get(); $GetCustomer = $ViewAccount->getCustomer($request['cus_no'])->first(); // dd( $Arrangement); $MaturityDate = ''; $product = ''; $AAID= ''; foreach ($listAccount as $key1 => $account) { //$Arrangement = $ViewAccount->getAAaccount($account->CUSTOMER_NO,$account->ACCOUNT_NUMBER); $Arrangement = $ViewAccount->getAAaccount($request['cus_no'] , $account->ACCOUNT_NUMBER)->first(); $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; $DataAccounts[$key1]['PRODUCT'] = $Arrangement->PRODUCT ?? 'NIHIL'; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE; $DataAccounts[$key1]['MATURITY_DATE'] = $Arrangement->MATURITY_DATE ?? 'NIHIL' ; $DataAccounts[$key1]['ARRANGEMENT_ID'] = $Arrangement->ARRANGEMENT_ID ?? 'NIHIL'; $DataAccounts[$key1]['FIXED_RATE'] = $Arrangement->FIXED_RATE ?? 'NIHIL'; $DataAccounts[$key1]['TERM'] = $Arrangement->TERM ?? 'NIHIL'; } $ListPinjaman =$ViewAccount->getPinjaman($request['cus_no'],$arrAccount , $dateCore )->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('D MMMM YYYY'); $data['DataAccounts'] = $DataAccounts; $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 $dompdf->loadHtml($html); // Mengatur jenis kertas $dompdf->setPaper('f4', 'portrait')->set_option('defaultFont', 'Arial'); // Render HTML menjadi PDF $dompdf->render(); // Keluarkan file PDF ke browser $dompdf->stream('"Konfirmasi_bank_"'.$data['DataCustomer']->SHORT_NAME.'"'. $currentDate.'".pdf"'); return response()->download($dompdf); } public function exportWord2(Request $request){ if (is_null($this->user) || !$this->user->can('konfirmasibank.report')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } $arrAccount = explode("," , $request['acc_no']); $startDate = Carbon::parse($request['startDate']); $dateCore = $startDate->subDays(2); $ViewAccount = new ViewAccount; $data = []; $DataAccounts = []; $DataPinjaman = []; $DataLimit = []; $DataAA = []; $listAccount = $ViewAccount->getAccount($request['cus_no'],$arrAccount,$request['kode_cabang'], $dateCore)->get(); $GetCustomer = $ViewAccount->getCustomer($request['cus_no'])->first(); // dd( $Arrangement); $MaturityDate = ''; $product = ''; $AAID= ''; foreach ($listAccount as $key1 => $account) { //$Arrangement = $ViewAccount->getAAaccount($account->CUSTOMER_NO,$account->ACCOUNT_NUMBER); $Arrangement = $ViewAccount->getAAaccount($request['cus_no'] , $account->ACCOUNT_NUMBER)->first(); $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; // $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; // $DataAccounts[$key1]['PRODUCT'] = $Arrangement->PRODUCT ?? 'NIHIL'; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE; // $DataAccounts[$key1]['ARRANGEMENT_ID'] = $Arrangement->ARRANGEMENT_ID ?? 'NIHIL'; $DataAccounts[$key1]['TERM'] = $Arrangement->TERM ?? 'NIHIL'; $DataAccounts[$key1]['FIXED_RATE'] = $Arrangement->FIXED_RATE ?? 'NIHIL'; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['MATURITY_DATE'] = $Arrangement->MATURITY_DATE ?? 'NIHIL' ; } $ListPinjaman =$ViewAccount->getPinjaman($request['cus_no'],$arrAccount , $dateCore )->get(); foreach ($ListPinjaman as $key2 => $pinjaman) { //$Arrangement = $ViewAccount->getAAaccount($request['cus_no'] , $account->ACCOUNT_NUMBER)->first(); $DataPinjaman[$key2]['JENIS_PINJAMAN'] = $pinjaman->PRODUCT_LINE; $DataPinjaman[$key2]['TGL_REALISASI'] = $pinjaman->START_DATE; $DataPinjaman[$key2]['SALDO'] = $pinjaman->WORKING_BALANCE; $DataPinjaman[$key2]['JANGKA_WAKTU'] = $pinjaman->TERM ?? 'NIHIL'; $DataPinjaman[$key2]['FIXED_RATE'] = $pinjaman->FIXED_RATE ?? 'NIHIL'; $DataPinjaman[$key2]['MATURITY_DATE'] = $pinjaman->MATURITY_DATE ?? 'NIHIL' ; $DataPinjaman[$key2]['KET'] = ''; } // $ListLimits = $Viewpinjaman->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)->first(); $currentDate = Carbon::now(); $tanggalIndonesia = $currentDate->locale('id')->isoFormat('D MMMM YYYY'); //You can get xml code of your table and insert it insite template //Create table $document_with_table = new PhpWord(); $section = $document_with_table->addSection(); $table = $section->addTable(array('borderSize' => 12, 'fontSize' =>10, 'borderColor' => 'green', 'width' => 11200, 'unit' => TblWidth::TWIP)); //Add Tablle 1 // Add header row with custom styling Table1 $headerRow = $table->addRow(); $headerRow->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Rekening'); $headerRow->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Cabang'); $headerRow->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Jenis Rekening'); $headerRow->addCell(1000, ['bgColor' => 'CCCCCC'])->addText('Mata Uang'); $headerRow->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Saldo'); $headerRow->addCell(1000, ['bgColor' => 'CCCCCC'])->addText('Jangka Waktu'); $headerRow->addCell(1000, ['bgColor' => 'CCCCCC'])->addText('Suku Bunga'); $headerRow->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Tgl Realisasi'); $headerRow->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Jatuh Tempo'); // Add a row to the table // Add data rows dynamically foreach ($DataAccounts as $key => $rowData) { $dataRow = $table->addRow(); foreach ($rowData as $cellData) { $dataRow->addCell()->addText($cellData); } } // Membuat tabel kedua $section->addTextBreak(1); // // $section->addText(""); // $table2 = $section->addTable(array('borderSize' => 12, 'fontSize' =>10, 'borderColor' => 'green', 'width' => 11200, 'unit' => TblWidth::TWIP)); // $headerRow2 = $table2->addRow(); // $headerRow2->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Rekening'); // $headerRow2->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Cabang'); // $headerRow2->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Jenis Rekening'); // $headerRow2->addCell(1000, ['bgColor' => 'CCCCCC'])->addText('Mata Uang'); // $headerRow2->addCell(2000, ['bgColor' => 'CCCCCC'])->addText('Saldo'); // $headerRow2->addCell(1000, ['bgColor' => 'CCCCCC'])->addText('Jangka Waktu'); // $headerRow2->addCell(1000, ['bgColor' => 'CCCCCC'])->addText('Suku Bunga'); // foreach ($DataPinjaman as $key2 => $rowData2) { // $dataRow2 = $table2->addRow(); // foreach ($rowData2 as $cellData2) { // $dataRow2->addCell()->addText($cellData2); // } // } // Set border properties for the entire table $table->getStyle()->setBorderSize(1); // Set border size in pt $table->getStyle()->setBorderColor('000000'); // Set border color (black) // Alternatively, you can set border properties for individual cells foreach ($table->getRows() as $row) { foreach ($row->getCells() as $cell) { $cell->getStyle()->setBorderSize(1); $cell->getStyle()->setBorderColor('000000'); } } // Create writer to convert document to xml $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($document_with_table, 'Word2007'); // Get all document xml code $fullxml = $objWriter->getWriterPart('Document')->write(); // Get only table xml code $tablexml = preg_replace('/^[\s\S]*().*/', '$1', $fullxml); //Open template with ${table} $template_document = new \PhpOffice\PhpWord\TemplateProcessor('konfirmasibank_template.docx'); // Replace mark by xml code of table $template_document->setValues([ 'table1'=> $tablexml, 'street'=> $GetCustomer->ADDRESS, 'address'=> $GetCustomer->STREET, 'customerName'=> $GetCustomer->SHORT_NAME, 'customerNo'=> $GetCustomer->CUSTOMER_NO, 'director'=> $signer->deputy_director_name, 'executiveOfficer'=> $signer->executive_officer_name, 'date' => $tanggalIndonesia ]); $template_document->saveAs("Konfirmasibank_".$currentDate->format('YmdHis').".docx"); return json_encode(['status' => 'success', 'message' => ' Download Surat successfully .']); } public function signer(Request $request){ if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } $data = []; // $signer = Signer::paginate(10); $signer = Signer::where('status',1)->paginate(10); $data['signer'] = $signer; // dd( $data['signer']); return view('konfirmasibank::pages.index_signer',compact('data')); } public function exportWord(Request $request){ //ob_start(); $currentDate = Carbon::now(); $arrAccount = explode("," , $request['acc_no']); $startDate = Carbon::parse($request['startDate']); $dateCore = $startDate->subDays(2); $ViewAccount = new ViewAccount; $data = []; $DataAccounts = []; $DataPinjaman = []; $DataLimit = []; $DataAA = []; $listAccount = $ViewAccount->getAccount($request['cus_no'],$arrAccount,$request['kode_cabang'], $dateCore)->get(); $GetCustomer = $ViewAccount->getCustomer($request['cus_no'])->first(); // dd( $Arrangement); $MaturityDate = ''; $product = ''; $AAID= ''; foreach ($listAccount as $key1 => $account) { //$Arrangement = $ViewAccount->getAAaccount($account->CUSTOMER_NO,$account->ACCOUNT_NUMBER); $Arrangement = $ViewAccount->getAAaccount($request['cus_no'] , $account->ACCOUNT_NUMBER)->first(); $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->WORKING_BALANCE; $DataAccounts[$key1]['TERM'] = $Arrangement->TERM ?? 'NIHIL'; $DataAccounts[$key1]['FIXED_RATE'] = $Arrangement->FIXED_RATE ?? 'NIHIL'; $DataAccounts[$key1]['MATURITY_DATE'] = $Arrangement->MATURITY_DATE ?? 'NIHIL' ; } $ListPinjaman =$ViewAccount->getPinjaman($request['cus_no'],$arrAccount , $dateCore )->get(); foreach ($ListPinjaman as $key2 => $pinjaman) { //$Arrangement = $ViewAccount->getAAaccount($request['cus_no'] , $account->ACCOUNT_NUMBER)->first(); $DataPinjaman[$key2]['JENIS_PINJAMAN'] = $pinjaman->PRODUCT_LINE; $DataPinjaman[$key2]['TGL_REALISASI'] = $pinjaman->START_DATE; $DataPinjaman[$key2]['SALDO'] = $pinjaman->WORKING_BALANCE; $DataPinjaman[$key2]['JANGKA_WAKTU'] = $pinjaman->TERM ?? 'NIHIL'; $DataPinjaman[$key2]['FIXED_RATE'] = $pinjaman->FIXED_RATE ?? 'NIHIL'; $DataPinjaman[$key2]['MATURITY_DATE'] = $pinjaman->MATURITY_DATE ?? 'NIHIL' ; $DataPinjaman[$key2]['KET'] = ''; } $signer = Signer::where('id', $request['signer'])->where('status',1)->first(); $currentDate = Carbon::now(); $tanggalIndonesia = $currentDate->locale('id')->isoFormat('D MMMM YYYY'); $GetCustomer = $ViewAccount->getCustomer($request['cus_no'])->first(); $phpWord = new \PhpOffice\PhpWord\PhpWord(); $section = $phpWord->addSection(array('marginLeft' => 600, 'marginRight' => 600, 'marginTop' => 2500, 'marginBottom' => 600) ); $header = array('size' => 10, 'bold' => false); $styleTable = array('borderSize' => 2, 'borderColor' => '00000'); $styleFirstRow = array('bgColor' => 'CCCCCC','cellMargin' => 0, 'spaceBefore' => 0,'spaceAfter' => 0,'spacing' => 0); $styleCell = array('valign' => 'center','spaceBefore' => 0,'spaceAfter' => 0,'spacing' => 0, 'bgColor' => 'CCCCCC'); $styleCellBTLR = array('valign' => 'center', 'textDirection' => \PhpOffice\PhpWord\Style\Cell::TEXT_DIR_BTLR); $fontStyle = array('align' => 'center', 'size' => 10, ); $section->addText(htmlspecialchars('NOMOR : --------------------------'), $fontStyle); $section->addText(htmlspecialchars('TANGGAL : --------------------------'), $fontStyle); $section->addTextBreak(1); $section->addText(htmlspecialchars($GetCustomer->STREET), $fontStyle); $section->addText(htmlspecialchars($GetCustomer->ADDRESS), $fontStyle); $section->addText(htmlspecialchars('Sesuai dengan surat saudara Nomor --------------------------- tanggal ----------------------- dengan ini kami sampaikan data – data nasabah sesuai permintaan saudara sebagai berikut :'), $fontStyle); $section->addText(htmlspecialchars('NAMA NASABAH : '.$GetCustomer->SHORT_NAME.''), $fontStyle); $section->addText(htmlspecialchars('NOMOR CIF : '.$GetCustomer->CUSTOMER_NO.''), $fontStyle); $section->addTextBreak(1); // $phpWord->addTableStyle('Fancy Table', $styleTable, $styleFirstRow); $section->addText(htmlspecialchars('SIMPANAN NASABAH YANG BERSANGKUTAN PADA BANK'), $header); $section->addText(htmlspecialchars("{$tanggalIndonesia}"), $header); $table = $section->addTable(array('borderSize' => 6, 'fontSize' =>10, 'borderColor' => 'black', 'width' => 10500, 'unit' => TblWidth::TWIP)); $table->addRow(300); $table->addCell(600, $styleCell)->addText(htmlspecialchars("NO"), $fontStyle, array('align' => 'center','spaceAfter'=>0)); $table->addCell(2000, $styleCell)->addText(htmlspecialchars('JENIS REKENING'), $fontStyle,array('align' => 'center','spaceAfter'=>0)); $table->addCell(1500, $styleCell)->addText(htmlspecialchars('TGL REALISASI'), $fontStyle,array('align' => 'center','spaceAfter'=>0)); $table->addCell(1000, $styleCell)->addText(htmlspecialchars('SALDO'), $fontStyle,array('align' => 'center','spaceAfter'=>0)); $table->addCell(1500, $styleCell)->addText(htmlspecialchars('JANGKA WAKTU'), $fontStyle,array('align' => 'center','spaceAfter'=>0)); $table->addCell(1000, $styleCell)->addText(htmlspecialchars('SUKU BUNGA'), $fontStyle,array('align' => 'center','spaceAfter'=>0)); $table->addCell(1500, $styleCell)->addText(htmlspecialchars('TGL JT TEMPO'), $fontStyle,array('align' => 'center','spaceAfter'=>0)); $table->addCell(1000, $styleCell)->addText(htmlspecialchars('KET'), $fontStyle,array('align' => 'center','spaceAfter'=>0)); $no = 1; foreach ($DataAccounts as $key1 => $value1) { $rupiah = $this->convertToRupiah($value1['WORKING_BALANCE']); $table->addRow(); $table->addCell(600)->addText(htmlspecialchars($no++), $fontStyle, array('align' => 'center','spaceAfter'=>0)); $table->addCell(2000)->addText(htmlspecialchars(" {$value1['SHORT_NAME']}"), array('align' => 'left','spaceAfter'=>0)); $table->addCell(1500)->addText(htmlspecialchars(" {$value1['OPENING_DATE']}"), array('align' => 'center','spaceAfter'=>0)); $table->addCell(1000)->addText(htmlspecialchars(" {$rupiah}"), array('align' => 'left','spaceAfter'=>0)); $table->addCell(1500)->addText(htmlspecialchars(" {$value1['TERM']}"), array('align' => 'center','spaceAfter'=>0)); $table->addCell(1000)->addText(htmlspecialchars(" {$value1['FIXED_RATE']}"), array('align' => 'center','spaceAfter'=>0)); $table->addCell(1500)->addText(htmlspecialchars(" {$value1['MATURITY_DATE']}"), array('align' => 'center','spaceAfter'=>0)); $table->addCell(1000)->addText(htmlspecialchars(""), array('align' => 'center','spaceAfter'=>0)); } // 3. Table Pinjaman $section->addTextBreak(1); $section->addText(htmlspecialchars('PINJAMAN YANG DIBERIKAN BANK KEPADA NASABAH'), $header); $section->addText(htmlspecialchars("{$tanggalIndonesia}"), $header); $table2 = $section->addTable(array('borderSize' => 6, 'fontSize' =>10, 'borderColor' => 'black', 'width' => 10500, 'unit' => TblWidth::TWIP)); $table2->addRow(300); $table2->addCell(600, $styleCell)->addText(htmlspecialchars("NO"), $fontStyle, array('align' => 'center','spaceAfter'=>0)); $table2->addCell(2000, $styleCell)->addText(htmlspecialchars('JENIS REKENING'), $fontStyle, array('align' => 'center')); $table2->addCell(1500, $styleCell)->addText(htmlspecialchars('TGL REALISASI'), $fontStyle, array('align' => 'center')); $table2->addCell(1000, $styleCell)->addText(htmlspecialchars('SALDO'), $fontStyle, array('align' => 'center')); $table2->addCell(1500, $styleCell)->addText(htmlspecialchars('JANGKA WAKTU'), $fontStyle, array('align' => 'center')); $table2->addCell(1000, $styleCell)->addText(htmlspecialchars('SUKU BUNGA'), $fontStyle, array('align' => 'center')); $table2->addCell(1500, $styleCell)->addText(htmlspecialchars('TGL JT TEMPO'), $fontStyle, array('align' => 'center')); $table2->addCell(1000, $styleCell)->addText(htmlspecialchars('KET'), $fontStyle, array('align' => 'center')); $no = 1; foreach ($DataPinjaman as $key2 => $value2) { $rupiah = $this->convertToRupiah($value2['SALDO']); $table2->addRow(); $table2->addCell(600)->addText(htmlspecialchars($no++), $fontStyle, array('align' => 'center')); $table2->addCell(1500)->addText(htmlspecialchars(" {$value2['JENIS_PINJAMAN']}"), array('align' => 'center')); $table2->addCell(1000)->addText(htmlspecialchars(" {$value2['TGL_REALISASI']}"), array('align' => 'center')); $table2->addCell(1500)->addText(htmlspecialchars(" {$rupiah}"), array('align' => 'right')); $table2->addCell(1000)->addText(htmlspecialchars(" {$value2['JANGKA_WAKTU']}"), array('align' => 'center')); $table2->addCell(1500)->addText(htmlspecialchars(" {$value2['FIXED_RATE']}"), array('align' => 'center')); $table2->addCell(1500)->addText(htmlspecialchars(" {$value2['MATURITY_DATE']}"), array('align' => 'center')); $table2->addCell(1000)->addText(htmlspecialchars("")); } //Table Signature $section->addTextBreak(1); $section->addText(htmlspecialchars('Demikian data ini kami sampaikan agar dapat digunakan sebagaimana mestinya'), $header); $signatureStyle = array('size'=>10, 'align' =>'center' ); $table3 = $section->addTable(array('width' => 2000, 'unit' => 'pct', 'align' => 'left')); $table3->addRow(1000); $table3->addCell(2000)->addText(htmlspecialchars('')); $table3->addCell(2000)->addText(htmlspecialchars(''), $signatureStyle); $table3->addRow(); $table3->addCell(2000)->addText(htmlspecialchars('Frangky'), array('marginLeft' => 600,'size'=>10, )); $table3->addCell(2000)->addText(htmlspecialchars('Sifera Officer'), $signatureStyle); $table3->addRow(); $table3->addCell(2000)->addText(htmlspecialchars('Director'), array('marginLeft' => 600,'size'=>10, )); $table3->addCell(2000)->addText(htmlspecialchars('Executive Officer'), $signatureStyle); $filename = 'KonfirmasiBank_'.$currentDate->format('YmdHis').'.docx'; // Create writer to convert document to xml $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); $objWriter->save($filename); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.$filename); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($filename)); flush(); readfile($filename); unlink($filename); // deletes the temporary file $objWriter->save($filename); } public function convertToRupiah($amount) { $formattedAmount = number_format($amount, 0, ',', '.'); return $formattedAmount; } public function postSigner(Request $request){ if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { abort(403, 'Sorry !! You are Unauthorized to create any konfirmasibank.create !'); } $currentDate = Carbon::now(); $validated = $request->validate([ 'deputy_director' => 'required|string', 'executive_officer' => 'required|string', 'signer_type' => 'required|string' ]); if ($validated) { try { // Create New User $signer = new Signer(); $signer->deputy_director_name = $request->deputy_director; $signer->executive_officer_name = $request->executive_officer; $signer->signer_type = $request->signer_type; $signer->created_at = $currentDate; $signer->status = 1; $signer->save(); // return redirect()->route('konfirmasibank.addFasilitas')->with('success', 'Data berhasil ditambahkan'); echo json_encode(['status' => 'success', 'message' => ' Add signer successfully .']); } catch (Exception $e) { return json_encode([ 'status' => 'error', 'message' => $e->getMessage() ]); } } return false; } /** * Show the form for editing the specified resource. * * @param int $id * * @return Response */ public function editSigner(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.update')) { abort(403, 'Sorry !! You are Unauthorized to edit any role !'); } $signer = Signer::find($request->id); return json_encode( $signer); } public function fasilitas(Request $request){ if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } $data = []; $fasilitas = Fasilitas::where('status',1)->where('nomor_cif',$request->query()['cus_no_fasilitas'])->paginate(10)->appends($request->query()['cus_no_fasilitas'],$request->query()['company_name'],$request->query()['startDateFasilitas']); $Category = Category::all(); $Company = Company::all(); // dd($fasilitas); $limitReference = LimitReference::all(); $data['queryParam'] = $request->query(); $data['fasilitas'] = $fasilitas; $data['limitReference'] = $limitReference; $data['Category'] = $Category; $data['Company'] = $Company; return view('konfirmasibank::pages.index_fasilitas',compact('data')); } public function updateSigner(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.update')) { abort(403, 'Sorry !! You are Unauthorized to edit any role !'); } $today = Carbon::now(); $validator = Validator::make($request->all(), [ 'deputy_director' => 'required|string', 'executive_officer' => 'required|string', 'signer_type' => 'required|string' ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); // Return validation errors as JSON } if ($validator) { try { $signer = Signer::findOrFail($request->id); $signer->deputy_director_name = $request->deputy_director; $signer->executive_officer_name = $request->executive_officer; $signer->signer_type = $request->signer_type; $signer->updated_at = $today; $signer->save(); echo json_encode(['status' => 'success', 'message' => ' signer updated successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => ' signer updated failed.']); } return; } echo json_encode(['status' => 'error', 'message' => ' signer updated failed.']); } public function postFasilitas(Request $request){ if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { abort(403, 'Sorry !! You are Unauthorized to create any konfirmasibank.create !'); } $validated = $request->validate([ 'nomor_rekening' => 'required|string|max:10|unique:fasilitas,nomor_rekening', 'jenis_fasilitas' => 'required|string', 'cabang' => 'required|string', 'mata_uang' => 'required|string', 'jenis_rekening' => 'required|string', 'saldo' => 'required|string', 'start_date' => 'required|string', 'due_date' => 'required|string', 'fixed_rate' => 'required|string' ]); $startDate = Carbon::parse($request->start_date); $endDate = Carbon::parse($request->due_date); $jangkaWaktu = $endDate->diffInDays($startDate); if ($validated) { try { // Create New User $fasilitas = new Fasilitas(); $fasilitas->nomor_cif = $request->nomor_cif; $fasilitas->nomor_rekening = $request->nomor_rekening; $fasilitas->cabang = $request->cabang; $fasilitas->jenis_fasilitas = $request->jenis_fasilitas; $fasilitas->jenis_rekening = $request->jenis_rekening; $fasilitas->mata_uang = $request->mata_uang; $fasilitas->saldo = $request->saldo; $fasilitas->start_date = $request->start_date; $fasilitas->due_date = $request->due_date; $fasilitas->jangka_waktu = $jangkaWaktu; $fasilitas->fixed_rate = $request->fixed_rate; $fasilitas->keterangan = $request->keterangan; $fasilitas->save(); echo json_encode(['status' => 'success', 'message' => 'Add fasilitas successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); // return json_encode([ // 'status' => 'error', // 'message' => $e->getMessage() // ]); } } return false; } /** * Show the form for editing the specified resource. * * @param int $id * * @return Response */ public function editFasilitas(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.update')) { abort(403, 'Sorry !! You are Unauthorized to edit any role !'); } $fasilitas = Fasilitas::find($request->id); return json_encode( $fasilitas); } /** * Update the specified resource in storage. * * @param Request $request * @param int $id * * @return Response */ public function updateFasilitas(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.update')) { abort(403, 'Sorry !! You are Unauthorized to edit any role !'); } $today = Carbon::now(); // Menambahkan 1 tahun ke tanggal saat ini // $currentYear = $today->format("YYYY-MM-DD"); // Validation Data\ $validator = Validator::make($request->all(), [ 'nomor_rekening_edit' => 'required|string', 'cabang_edit' => 'required|string', 'jenis_fasilitas_edit' => 'required|string', 'jenis_rekening_edit' => 'required|string', 'mata_uang_edit' => 'required|string', 'saldo_edit' => 'required|string', 'start_date_edit' => 'required|string', 'due_date_edit' => 'required|string', 'fixed_rate_edit' => 'required|string' // Other validation rules ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 422); // Return validation errors as JSON } $startDate = Carbon::parse($request->start_date_edit); $endDate = Carbon::parse($request->due_date_edit); $jangkaWaktu = $endDate->diffInDays($startDate); if ($validator) { try { $fasilitas = Fasilitas::findOrFail($request->id); $fasilitas->nomor_rekening = $request->nomor_rekening_edit; $fasilitas->cabang = $request->cabang_edit; $fasilitas->jenis_fasilitas = $request->jenis_fasilitas_edit; $fasilitas->jenis_rekening = $request->jenis_rekening_edit; $fasilitas->mata_uang = $request->mata_uang_edit; $fasilitas->saldo = $request->saldo_edit; $fasilitas->start_date = $request->start_date_edit; $fasilitas->due_date = $request->due_date_edit; $fasilitas->jangka_waktu = $jangkaWaktu; $fasilitas->fixed_rate = $request->fixed_rate_edit; $fasilitas->keterangan = $request->keterangan_edit; $fasilitas->updated_at = $today; $fasilitas->save(); echo json_encode(['status' => 'success', 'message' => ' fasilitas updated successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => ' fasilitas updated failed.']); } return; } echo json_encode(['status' => 'error', 'message' => ' fasilitas updated failed.']); } /** * Remove the specified resource from storage. * * @param int $id * * @return Renderable */ public function destroyFasilitas(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.delete')) { abort(403, 'Sorry !! You are Unauthorized to delete any konfirmasibank module !'); } $fasilitas = Fasilitas::findOrFail($request->id); try { $fasilitas->status = 0; $fasilitas->save(); echo json_encode(['status' => 'success', 'message' => ' fasilitas deleted successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => ' fasilitas deleted failed.']); } } public function destroySigner(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.delete')) { abort(403, 'Sorry !! You are Unauthorized to delete any konfirmasibank module !'); } $signer = Signer::findOrFail($request->id); try { $signer->status = 0; $signer->save(); echo json_encode(['status' => 'success', 'message' => ' Signer deleted successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => ' Signer deleted failed.']); } } }