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 = []; // Tanggal awal // Contoh tanggal saat ini $today = Carbon::now(); // dd( $today->format()); // Menambahkan 1 tahun ke tanggal saat ini $currentYear = $today->format("Y-m-d"); // Menambahkan 5 tahun ke tanggal saat ini $pastYear = $today->subYear(3)->format('Y-m-d'); $signer = Signer::where('status',1)->get(); $data['currentYear'] = $currentYear; $data['pastYear'] = $pastYear; $data['signer'] = $signer; // dd($data); return view('konfirmasibank::pages.index',compact('data')); } public function create(){ return view('konfirmasibank::pages.index',compact('data')); } public function getData(Request $request) { $data = []; $Account = new ViewAccount; $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(); 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 ?? '-'; } return json_encode($data); } public function postExp(Request $request){ dd($request); } /* ----- 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 !'); } $account = explode("," , $request['acc_no']); $ViewAccount = new ViewAccount; $data = []; $DataAccounts = []; $DataPinjaman = []; $DataLimit = []; $ListAccount = $ViewAccount->getAccount($request['cus_no'],$account,$request['kode_cabang'],$request['periode']); foreach ($ListAccount as $key1 => $account) { $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]['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); foreach ($ListBunga as $bunga) { if (strpos($bunga->ID ,$account->ARRANGEMENT_ID) !== false) { $DataAccounts[$key1]['FIXED_RATE'] = $bunga->FIXED_RATE; } } foreach ($ListTenor as $tenor) { if (strpos($tenor->ID ,$account->ARRANGEMENT_ID) !== 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); $ListBunga =$ViewAccount->getInterest($item->ARRANGEMENT_ID); $ListCategory =$ViewAccount->getCategory($item->CATEGORY); $pinjaman[$key]['CUSTOMER'] = $item->CUSTOMER; $pinjaman[$key]['SHORT_NAME'] = $item->SHORT_NAME; $pinjaman[$key]['STREET'] = $item->STREET; $pinjaman[$key]['ADDRESS'] = $item->ADDRESS; $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]['BATCH_DATE'] = $item->OPENING_DATE; $pinjaman[$key]['MATURITY_DATE'] = $item->MATURITY_DATE; $pinjaman[$key]['ARRANGEMENT_ID'] = $item->ARRANGEMENT_ID; foreach ($ListBunga as $bunga) { if (strpos($bunga->ID ,$item->ARRANGEMENT_ID) !== false) { $pinjaman[$key]['FIXED_RATE'] = $bunga->FIXED_RATE; } } foreach ($ListTenor as $tenor) { if (strpos($tenor->ID ,$item->ARRANGEMENT_ID) !== false) { $pinjaman[$key]['TERM'] = $tenor->TERM; } } foreach ($ListCategory as $category) { if ($category->ID == $item->CATEGORY) { $pinjaman[$key]['CATEGORY'] = $category->SHORT_NAME; } } } $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'); $data['DataAccounts'] = $DataAccounts; $data['DataPinjaman'] = $pinjaman; $data['DataLimit'] = $ListLimits; $data['DataFasilitas'] = $fasilitas; $data['DataSigner'] = $signer; $data['localDate'] = $tanggalIndonesia; $html = View::make('konfirmasibank::exportPdf', ['data' => $data])->render(); $pdf = new Dompdf(); $pdf->loadHtml($html); // Mengatur jenis kertas $pdf->setPaper('f4', 'landscape')->set_option('defaultFont', 'Arial'); // Render HTML menjadi PDF $pdf->render(); // Keluarkan file PDF ke browser $pdf->stream('"Konfirmasi_bank_"'.$ListPinjaman[0]->SHORT_NAME.'"'. $currentDate.'".pdf"'); return response()->download($pdf); } 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 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)->paginate(10)->appends($request->query()['cus_no_fasilitas'],$request->query()['company_name'],$request->query()['startDateFasilitas'],$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) { 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.']); } } }