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 = []; $no_req_surat = ''; // Contoh tanggal saat ini $today = Carbon::now(); // Menambahkan 1 tahun ke tanggal saat ini $currentYear = $today->format("Y"); //get month in roman $dateRoman = $this->numberToRoman($today->format('n')); // Menambahkan 5 tahun ke tanggal saat ini $pastYear = $today->subYear(3)->format('Y'); $signer = Signer::where('status',1)->get(); $company = Company::all(); $infoSurat = Letters::orderBy('created_at','desc')->first(); if($infoSurat){ $no_req_surat = $infoSurat['no_req_surat']; }else{ $no_req_surat = '001/SUBDIT.OPS/'. $dateRoman.'/'.$currentYear; } $data['currentYear'] = $currentYear; $data['pastYear'] = $pastYear; $data['signer'] = $signer; $data['company'] = $company; $data['no_req_surat'] = $no_req_surat; 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 Account; $arrAccount = []; $startDate = Carbon::parse($request->startDate); $dateCore = $startDate->subDays(2)->format('m/d/Y'); $Accounts = $Account->getSearchAccount($request->cif,$arrAccount,$request->kodecabang, $dateCore)->get(); return json_encode($Accounts ); } /* ----- export pdf ----- */ public function export(Request $request){ $arrAccount = explode("," , $request['accNo']); $startDate = Carbon::parse($request['startDate2']); $dateCore = $startDate->subDays(2); $Account = new Account; $data = []; $DataAccounts = []; $DataPinjaman = []; // dd($listAccount); $GetCustomer = $Account->getCustomer($request['cusNo'])->first(); $listAccount = $Account->getAccount($request['cusNo'], $dateCore )->get(); // $Arrangement = $Account->getPinjaman($request['cusNo'],$startDate)->get(); foreach ($listAccount as $key1 => $account) { $Arrangement = $Account->getPinjaman($request['cusNo'],$startDate)->get(); //dd($Arrangement); $months = ''; $PRODUCTFIXED_RATE = '' ; $MATURITY_DATE =''; $PRODUCT = '' ; $ARRANGEMENT_ID ='' ; if($Arrangement){ foreach ($Arrangement as $key2 => $pinjaman) { $MaturityDate = $Account->getMaturityDate($pinjaman->ARRANGEMENT_ID, $startDate )->first(); $TermAmount = $Account->getTermAmount($pinjaman->ARRANGEMENT_ID,$startDate)->first(); $FixedRate = $Account->getFixedRate($pinjaman->ARRANGEMENT_ID,$startDate)->first(); // String asli $StringTerm = $TermAmount->TERM; // Panjang string $panjang_string = strlen($StringTerm); // Panjang bagian yang ingin dihapus dari kanan $panjang_hapus = 1; // Menghapus bagian dari kanan string $string_baru = substr($StringTerm, 0, $panjang_string - $panjang_hapus); $Term1 = substr($TermAmount->TERM, -1); if($TermAmount){ if( $Term1 = 'Y'){ $monthsInYear = 12; $months = intval( $string_baru) * $monthsInYear; $PRODUCTFIXED_RATE = $FixedRate ? $FixedRate->FIXED_RATE : ''; $PRODUCT = $pinjaman->PRODUCT_LINE ; $MATURITY_DATE = $MaturityDate ? $MaturityDate->MATURITY_DATE : ''; $ARRANGEMENT_ID = $pinjaman->ARRANGEMENT_ID ; // $term = $days; }elseif($Term1 = 'M') { $averageDaysInMonth = 30.44; $months = intval($string_baru) / $averageDaysInMonth; // return $days; }else{ $months = $TermAmount->TERM; } } $DataPinjaman[$key2]['ARRANGEMENT_ID'] = $pinjaman->ARRANGEMENT_ID; $DataPinjaman[$key2]['START_DATE'] = $pinjaman->START_DATE; $DataPinjaman[$key2]['CURRENCY'] = $pinjaman->CURRENCY; $DataPinjaman[$key2]['PRODUCT_LINE'] = $pinjaman->PRODUCT_LINE; $DataPinjaman[$key2]['WORKING_BALANCE'] = number_format($account->WORKING_BALANCE, 2, ',', '.') ?? ''; $DataPinjaman[$key2]['TERM'] = $months . ' D'; $DataPinjaman[$key2]['FIXED_RATE'] = $FixedRate ? $FixedRate->FIXED_RATE : ''; $DataPinjaman[$key2]['MATURITY_DATE'] = $MaturityDate ? $MaturityDate->MATURITY_DATE : '' ; $DataPinjaman[$key2]['ACCOUNT_NUMBER'] = $pinjaman->LINKED_APPL_ID; } } $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $DataAccounts[$key1]['OPENING_DATE'] = $account->OPENING_DATE; $DataAccounts[$key1]['BATCH_DATE'] = $account->BATCH_DATE; $DataAccounts[$key1]['CUSTOMER_NO'] = $account->CUSTOMER_NO; $DataAccounts[$key1]['SHORT_NAME'] = $account->SHORT_NAME; $DataAccounts[$key1]['CURRENCY'] = $account->CURRENCY; $DataAccounts[$key1]['PRODUCT'] = $PRODUCT; $DataAccounts[$key1]['COMPANY_NAME'] = $account->COMPANY_NAME; $DataAccounts[$key1]['WORKING_BALANCE'] = number_format($account->WORKING_BALANCE, 2, ',', '.'); $DataAccounts[$key1]['MATURITY_DATE'] = ''; $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; $DataAccounts[$key1]['FIXED_RATE'] = ''; $DataAccounts[$key1]['TERM'] = '' ; } $ListLimits = $Account->getLimit($request['cusNo'],$request['startDate2'])->get(); $fasilitas = Fasilitas::where('nomor_cif',$request['cusNo'] )->where('status',1)->get(); $signer = Signer::where('id', $request['signerId'])->where('status',1)->get(); $currentDate = Carbon::now(); $tanggalIndonesia = $currentDate->locale('id')->isoFormat('D MMMM YYYY'); $letter = new Letters; $infoSuratNew = $letter->where('no_cif',$request['cusNo'])->orderBy('id','DESC')->first(); $infoSuratOld = $letter->where('no_cif',$request['cusNo'])->orderBy('id','ASC')->first(); $data['DataAccounts'] = $DataAccounts; $data['DataPinjaman'] = $DataPinjaman; $data['DataLimit'] = $ListLimits; $data['DataFasilitas'] = $fasilitas; $data['DataSigner'] = $signer; $data['DataCustomer'] = $GetCustomer ?? ''; $data['localDate'] = $tanggalIndonesia; $data['infoSuratOld'] = $infoSuratOld; $data['infoSuratNew'] = $infoSuratNew; $pdf = PDF::loadview('konfirmasibank::exportPdf',['data'=>$data]); return $pdf->stream(); } 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.']); } } }