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 !'); } $data = []; $no_req_surat = ''; // Contoh tanggal saat ini $today = Carbon::now(); // Menambahkan 1 tahun ke tanggal saat ini $currentYear = $today->format("d-m-Y"); //get month in roman // Menambahkan 5 tahun ke tanggal saat ini $pastYear = $today->subYear(2)->format('d-m-Y'); $dateRoman = $this->numberToRoman($today->format('n')); $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 = []; $dataAccount = []; $startDate = Carbon::parse($request->startDate); //$dateCore = $startDate->format('m/d/Y'); // $Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $startDate)->get(); $Accounts = Dpk::where('cif',$request->cif) ->where('nama_cabang','like', '%'.$request->kodecabang.'%') //->whereIn('no_rek', $arrAccount) ->whereDate('period',$startDate ) ->get(); if ($Accounts->isEmpty()) { // $Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $startDate->subDays(1)->format('m/d/Y'))->get(); $Accounts = DPK::where('cif',$request->cif) ->where('nama_cabang','like', '%'.$request->kodecabang.'%') //->whereIn('no_rek', $arrAccount) ->whereDate('period',$startDate->subDays(1)->format('m/d/Y') ) ->get(); if($Accounts->isEmpty()){ // $Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $startDate->subDays(2)->format('m/d/Y'))->get(); $Accounts = DPK::where('cif',$request->cif) ->where('nama_cabang','like', '%'.$request->kodecabang.'%') //->whereIn('no_rek', $arrAccount) ->whereDate('period',$startDate->subDays(2)->format('m/d/Y') ) ->get(); if ($Accounts->isEmpty()) { // $Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $startDate->subDays(3)->format('m/d/Y'))->get(); $Accounts = DPK::where('cif',$request->cif) ->where('nama_cabang','like', '%'.$request->kodecabang.'%') //->whereIn('no_rek', $arrAccount) ->whereDate('period',$startDate->subDays(3)->format('m/d/Y') ) ->get(); if ($Accounts->isEmpty()) { //$Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $startDate->subDays(4)->format('m/d/Y'))->get(); $Accounts = DPK::where('cif',$request->cif) ->where('nama_cabang','like', '%'.$request->kodecabang.'%') //->whereIn('no_rek', $arrAccount) ->whereDate('period',$startDate->subDays(4)->format('m/d/Y') ) ->get(); if ($Accounts->isEmpty()) { //$Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $startDate->subDays(5)->format('m/d/Y'))->get(); $Accounts = DPK::where('cif',$request->cif) ->where('nama_cabang','like', '%'.$request->kodecabang.'%') //->whereIn('no_rek', $arrAccount) ->whereDate('period',$startDate->subDays(5)->format('m/d/Y') ) ->get(); } } } } } else { $Accounts = $Account->getSearchAccount($request->cif, $arrAccount, $request->kodecabang, $startDate)->get(); } foreach ($Accounts as $key => $value) { $data[$key]['ACCOUNT_NUMBER'] = $value->no_rek; $data[$key]['COMPANY_NAME'] = $value->nama_cabang; $data[$key]['SHORT_NAME'] = $value->jenis_rekening; $data[$key]['CURRENCY'] = $value->kode_mata_uang; $data[$key]['WORKING_BALANCE'] = number_format($value->jumlah_nominal, 2, ',', '.') ; } return json_encode($data); } public function postInfoSurat(Request $request) { // $noSurat = $this->generateNomorSurat(); // $request->validate([ // 'signer' => ['required'], // 'no_req_surat' => ['required', 'max:100'], // 'tgl_req_surat' => ['required'], // 'email' => ['email'], // 'tlp' => ['numeric', 'max:10'], // 'nama_tujuan' => ['required'], // 'alamat' => ['required'] // ]); //Validate the request //Validate the request $currentDate = Carbon::now(); $tglSurat = $currentDate->format('Y-m-d'); $letter = new Letters(); $letter->no_cif = $request->cus_no; $letter->no_surat = $request->no_surat; $letter->tgl_surat = $tglSurat; $letter->no_req_surat = $request->no_req_surat; $letter->tgl_req_surat = $request->tgl_req_surat; $letter->email = $request->email ; $letter->tlp = $request->tlp ; $letter->nama_tujuan = $request->nama_tujuan ; $letter->alamat = $request->alamat ; $letter->created_at = $currentDate; $letter->status = 1; $letter->save(); echo json_encode(['status' => 'success', 'message' => ' Info Surat created successfully.']); } public function numberToRoman($num) { // Be sure to convert the given parameter into an integer $n = intval($num); $result = ''; // Declare a lookup array that we will use to traverse the number: $lookup = array( 'M' => 1000, 'CM' => 900, 'D' => 500, 'CD' => 400, 'C' => 100, 'XC' => 90, 'L' => 50, 'XL' => 40, 'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1 ); foreach ($lookup as $roman => $value) { // Look for number of matches $matches = intval($n / $value); // Concatenate characters $result .= str_repeat($roman, $matches); // Substract that from the number $n = $n % $value; } return $result; } 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::where('status', 1)->paginate(10); $data['signer'] = $signer; return view('konfirmasibank::pages.index_signer', compact('data')); } 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, 'Maaf!! Anda tidak memiliki otorisasi untuk membuat konfirmasi bank.'); } $messages = [ 'deputy_director.required' => 'Nama Deputy Director wajib diisi.', 'deputy_director.string' => 'Nama Deputy Director harus berupa teks.', 'deputy_director.unique' => 'Nama Deputy Director sudah terdaftar.', 'deputy_director.regex' => 'Nama Deputy Director tidak boleh mengandung angka.', 'executive_officer.required' => 'Nama Executive Officer wajib diisi.', 'executive_officer.string' => 'Nama Executive Officer harus berupa teks.', 'executive_officer.unique' => 'Nama Executive Officer sudah terdaftar.', 'executive_officer.regex' => 'Nama Executive Officer tidak boleh mengandung angka.', 'signer_type.required' => 'Tipe penandatangan wajib diisi.', 'signer_type.string' => 'Tipe penandatangan harus berupa teks.', ]; $request->validate([ 'deputy_director' => [ 'required', 'string', 'unique:signers,deputy_director_name', 'regex:/^[a-zA-Z\s]*$/', function ($attribute, $value, $fail) use ($request) { if ($value === $request->executive_officer) { $fail('Nama Deputy Director tidak boleh sama dengan nama Executive Officer.'); } }, ], 'executive_officer' => [ 'required', 'string', 'unique:signers,executive_officer_name', 'regex:/^[a-zA-Z\s]*$/' ], 'signer_type' => 'required|string' ], $messages); try { // Membuat instance baru dari Signer $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 = Carbon::now(); $signer->status = 1; $signer->save(); return response()->json(['status' => 'success', 'message' => 'Penandatangan berhasil ditambahkan.']); } catch (Exception $e) { return response()->json([ 'status' => 'error', 'message' => $e->getMessage() ]); } } /** * 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 updateSigner(Request $request) { if (is_null($this->user) || !$this->user->can('konfirmasibank.update')) { abort(403, 'Maaf!! Anda tidak memiliki otorisasi untuk mengupdate konfirmasi bank.'); } $signer = Signer::findOrFail($request->id); $messages = [ 'deputy_director.required' => 'Nama Deputy Director wajib diisi.', 'deputy_director.string' => 'Nama Deputy Director harus berupa teks.', 'deputy_director.unique' => 'Nama Deputy Director sudah terdaftar.', 'deputy_director.regex' => 'Nama Deputy Director tidak boleh mengandung angka.', 'executive_officer.required' => 'Nama Executive Officer wajib diisi.', 'executive_officer.string' => 'Nama Executive Officer harus berupa teks.', 'executive_officer.unique' => 'Nama Executive Officer sudah terdaftar.', 'executive_officer.regex' => 'Nama Executive Officer tidak boleh mengandung angka.', 'signer_type.required' => 'Tipe penandatangan wajib diisi.', 'signer_type.string' => 'Tipe penandatangan harus berupa teks.', ]; $request->validate([ 'deputy_director' => [ 'required', 'string', 'regex:/^[a-zA-Z\s]*$/', function ($attribute, $value, $fail) use ($request) { if ($value === $request->executive_officer) { $fail('Nama Deputy Director tidak boleh sama dengan nama Executive Officer.'); } }, ], 'executive_officer' => [ 'required', 'string', 'regex:/^[a-zA-Z\s]*$/' ], 'signer_type' => 'required|string' ], $messages); try { $signer->deputy_director_name = $request->deputy_director; $signer->executive_officer_name = $request->executive_officer; $signer->signer_type = $request->signer_type; $signer->updated_at = Carbon::now(); $signer->save(); return response()->json(['status' => 'success', 'message' => 'Penandatangan berhasil diperbarui.']); } catch (Exception $e) { return response()->json([ 'status' => 'error', 'message' => $e->getMessage() ]); } } public function export(Request $request) { $arrAccount = explode(",", $request['accNo']); $dateCoreAccount = Carbon::parse($request['startDate2']); $dateCoreDepo = Carbon::parse($request['startDate2']); // dd( $dateCore); $Account = new Account(); $data = []; $DataAccounts = []; $DataPinjaman = []; $DataFasilitas = []; $DataRK = []; $rekEscrow = []; $DataAnjak = []; $GetCustomer = Nasabah::where('cif',$request['cusNo'])->first(); // $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCoreAccount)->get(); $listAccount = DPK::where('cif',$request['cusNo']) ->whereIn('no_rek', $arrAccount) ->whereDate('period', $dateCoreAccount ) ->orderBy('jenis_rekening', 'DESC') ->get(); if ($listAccount->isEmpty()) { $dateCoreDepo = $dateCoreDepo->addDays(1)->format('m/d/Y'); $dateCoreAccount = $dateCoreAccount->subDays(1)->format('m/d/Y'); // $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCoreAccount)->get(); $listAccount = DPK::where('cif',$request['cusNo']) ->whereIn('no_rek', $arrAccount) ->whereDate('period', $dateCoreAccount ) ->orderBy('jenis_rekening', 'DESC') ->get(); if($listAccount->isEmpty()){ $dateCoreDepo = carbon::parse($dateCoreDepo)->addDays(2)->format('m/d/Y'); $dateCoreAccount = carbon::parse($dateCoreAccount)->subDays(2)->format('m/d/Y'); //$listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCoreAccount)->get(); $listAccount = DPK::where('cif',$request['cusNo']) ->whereIn('no_rek', $arrAccount) ->whereDate('period', $dateCoreAccount ) ->orderBy('jenis_rekening', 'DESC') ->get(); if ($listAccount->isEmpty()) { $dateCoreDepo = carbon::parse($dateCoreDepo)->addDays(3)->format('m/d/Y'); $dateCoreAccount = carbon::parse($dateCoreAccount)->subDays(3)->format('m/d/Y'); //$listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCoreAccount)->get(); $listAccount = DPK::where('cif',$request['cusNo']) ->whereIn('no_rek', $arrAccount) ->whereDate('period', $dateCoreAccount ) ->orderBy('jenis_rekening', 'DESC') ->get(); if ($listAccount->isEmpty()) { $dateCoreDepo = carbon::parse($dateCoreDepo)->addDays(4)->format('m/d/Y'); $dateCoreAccount = carbon::parse($dateCoreAccount)->subDays(4)->format('m/d/Y'); // $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCoreAccount)->get(); $listAccount = DPK::where('cif',$request['cusNo']) ->whereIn('no_rek', $arrAccount) ->whereDate('period', $dateCoreAccount ) ->orderBy('jenis_rekening', 'DESC') ->get(); if ($listAccount->isEmpty()) { $dateCoreDepo = carbon::parse($dateCoreDepo)->addDays(5)->format('m/d/Y'); $dateCoreAccount = carbon::parse($dateCoreAccount)->subDays(5)->format('m/d/Y'); // $listAccount = $Account->getAccount($request['cusNo'], $arrAccount, $dateCoreAccount)->get(); $listAccount = DPK::where('cif',$request['cusNo']) ->whereIn('no_rek', $arrAccount) ->whereDate('period', $dateCoreAccount ) ->orderBy('jenis_rekening', 'DESC') ->get(); } } } } } // $Arrangement = $Account->getPinjaman($request['cusNo'], $dateCoreAccount)->get(); // DD($Arrangement); // try { foreach ($listAccount as $key1 => $account) { if ($account->jenis_rekening != 'DEPOSITO') { $DataAccounts[$key1]['ACCOUNT_NUMBER'] = $account->no_rek; $DataAccounts[$key1]['BATCH_DATE'] = $account->period; $DataAccounts[$key1]['CUSTOMER_NO'] = $account->cif; $DataAccounts[$key1]['SHORT_NAME'] = 'GIRO'; $DataAccounts[$key1]['CURRENCY'] = $account->kode_mata_uang; $DataAccounts[$key1]['PRODUCT'] = $account->jenis_rekening; $DataAccounts[$key1]['COMPANY_NAME'] = $account->nama_cabang; $DataAccounts[$key1]['WORKING_BALANCE'] = $account->jumlah_nominal != null ? number_format(abs($account->jumlah_nominal), 2, ',', '.') : 'NIHIL'; $DataAccounts[$key1]['MATURITY_DATE'] = '' ; $DataAccounts[$key1]['ARRANGEMENT_ID'] = ''; $DataAccounts[$key1]['FIXED_RATE'] = ''; $DataAccounts[$key1]['TERM'] = ''; } if ($account->jenis_rekening == 'DEPOSITO') { $tanggalMulai = Carbon::parse($account->tgl_mulai); $tanggalJatuhTempo = Carbon::parse($account->jatuh_tempo); $selisihHari = $tanggalMulai->diffInMonths($tanggalJatuhTempo); $DataDepo[$key1]['ACCOUNT_NUMBER'] = $account->no_rek; $DataDepo[$key1]['BATCH_DATE'] = $account->period; $DataDepo[$key1]['CUSTOMER_NO'] = $account->cif; $DataDepo[$key1]['SHORT_NAME'] = $account->jenis_rekening; //$depo->SHORT_NAME; $DataDepo[$key1]['CURRENCY'] = $account->kode_mata_uang; $DataDepo[$key1]['PRODUCT'] = $account->jenis_rekening; $DataDepo[$key1]['COMPANY_NAME'] = $account->nama_cabang; $DataDepo[$key1]['WORKING_BALANCE'] = $account->jumlah_nominal != null ? number_format(abs($account->jumlah_nominal), 2, ',', '.') : 'NIHIL'; $DataDepo[$key1]['MATURITY_DATE'] = $account->jatuh_tempo; $DataDepo[$key1]['FIXED_RATE'] = $account->suku_bunga . ' %' ; $DataDepo[$key1]['TERM'] = $selisihHari . ' BLN'; } } $loans = loan::where('sk_nasabah',$request['cusNo'])->whereDate('periode', $dateCoreAccount )->whereNot('outstanding', 0)->get(); $DataLoan = []; foreach ($loans as $keyLon => $lon) { $DataLoan[$keyLon]['ACCOUNT_NUMBER'] = $lon->no_rek; $DataLoan[$keyLon]['BATCH_DATE'] = $lon->periode; $DataLoan[$keyLon]['SHORT_NAME'] = $lon->product_loan; $DataLoan[$keyLon]['CURRENCY'] = $lon->kode_mata_uang; $DataLoan[$keyLon]['WORKING_BALANCE'] = number_format(abs($lon->outstanding), 2, ',', '.') ; $DataLoan[$keyLon]['MATURITY_DATE'] = Carbon::parse($lon->jatuh_tempo)->format('d-m-Y'); $DataLoan[$keyLon]['ARRANGEMENT_ID'] = ''; $DataLoan[$keyLon]['FIXED_RATE'] = number_format($lon->interest_rate, 2, ',', '.') ?? ''; $DataLoan[$keyLon]['TERM'] = intval($lon->tenor) ; } // $CekDepo = Dpk::where('cif',$request['cusNo'])->whereDate('period', $dateCoreAccount )->whereNot('jumlah_nominal', 0)->where('jenis_rekening', 'DEPOSITO')->first(); $fasilitas = Fasilitas::where('nomor_cif', $request['cusNo'])->where('status', 1)->get(); foreach ($fasilitas as $key3 => $val3) { $DataFasilitas[$key3]['jenis_fasilitas'] = $val3->jenis_fasilitas; $DataFasilitas[$key3]['start_date'] = $val3->start_date; $DataFasilitas[$key3]['mata_uang'] = $val3->mata_uang; $DataFasilitas[$key3]['saldo'] = number_format(floatval($val3->saldo), 2, ',', '.'); $DataFasilitas[$key3]['jangka_waktu'] = $this->convertDateToMonth($val3->jangka_waktu) . ' BLN' ?? ''; $DataFasilitas[$key3]['fixed_rate'] = number_format(floatval($val3->fixed_rate), 2, ',', '.') ?? ''; $DataFasilitas[$key3]['due_date'] = $val3->due_date ?? ''; $DataFasilitas[$key3]['nomor_rekening'] = $val3->nomor_rekening; } $signer = Signer::where('id', $request['signerId'])->where('status', 1)->get(); $batchDate = Carbon::parse($request['startDate2']); $currentDate = Carbon::now(); $tanggalIndonesia = strtoupper($batchDate->locale('id')->isoFormat('DD MMMM YYYY')); // Mengubah seluruh string menjadi huruf besar $today = strtoupper($currentDate->locale('id')->isoFormat('DD MMMM YYYY')); $letter = new Letters(); $infoSuratNew = $letter->where('no_cif', $request['cusNo'])->orderBy('id', 'DESC')->first(); $data['DataAccounts'] = $DataAccounts; $data['DataLoan'] = $DataLoan; $data['DataDepo'] = $DataDepo ; $data['DataFasilitas'] = $DataFasilitas; $data['DataSigner'] = $signer; $data['DataCustomer'] = $GetCustomer ?? ''; $data['localDate'] = $tanggalIndonesia; $data['today'] = $today; $data['infoSuratNew'] = $infoSuratNew; $pdf = PDF::loadview('konfirmasibank::exportPdf', ['data' => $data]); // Set page script to disable header on the first page // Set options for DOMPDF as needed $pdf->render(); $canvas = $pdf->get_canvas(); $cpdf = $canvas->get_cpdf(); $font = $pdf->getFontMetrics()->get_font("helvetica"); $firstPageId = $cpdf->getFirstPageId(); $objects = $cpdf->objects; $pages = array_filter($objects, function ($v) { return $v['t'] == 'page'; }); $number = 1; $no = 0; $noSurat = $infoSuratNew['no_surat'] ; $countPage = count($pages); foreach($pages as $pageId => $page) { $nos = $page['info']['pageNum']; $canvas->reopen_object($pageId + 1); $canvas->text(300, 797, $nos . "/" . $countPage, $font, 10, array(0,0,0)); $canvas->close_object(); $number++; if(($pageId + 1) !== $firstPageId) { $canvas->reopen_object($pageId + 1); $canvas->text(350, 50, "Lanjutan Surat No : $noSurat", $font, 10, array(0,0,0)); $canvas->close_object(); $number++; } } $exportTime = Carbon::now(); $filename = "Kobank_" . $request['cusNo'] .'_'.$exportTime->format('YmdHis'). '.PDF'; return $pdf->stream($filename); // } catch (Exception $e) { // return redirect()->route('konfirmasibank.timeout'); // } // return false; } public function convertDateToMonth($termVal) { $months = ''; $getPeriode = substr($termVal, -1); // Mengambil satu karakter dari kanan $trimmedStr = substr($termVal, 0, -1 * 1); if ($getPeriode == 'Y') { $months = intval($trimmedStr) * 12; } elseif ($getPeriode == 'D') { $days = $trimmedStr; // Number of days to convert $months = intval($trimmedStr / 30) ; // Get the whole number of months (assuming 30 days per month) } else { $months = $trimmedStr; } return $months; } 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 = []; $DataFasilitas = []; $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'], $request->query()['endDateFasilitas']); $Category = Category::all(); $Company = Company::all(); $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 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' => '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 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(); // 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.']); } } public function timeout(){ return view('konfirmasibank::errors.404'); } }