diff --git a/Database/Migrations/2023_08_04_062326_fasilitas.php b/Database/Migrations/2023_08_04_062326_fasilitas.php index ab7164e..a8cf529 100644 --- a/Database/Migrations/2023_08_04_062326_fasilitas.php +++ b/Database/Migrations/2023_08_04_062326_fasilitas.php @@ -16,6 +16,7 @@ return new class extends Migration Schema::table('', function (Blueprint $table) { Schema::create('fasilitas', function (Blueprint $table) { $table->id(); + $table->string('nomor_cif'); $table->string('nomor_rekening'); $table->string('jenis_fasilitas'); $table->string('saldo'); @@ -44,4 +45,4 @@ return new class extends Migration { Schema::dropIfExists('fasilitas'); } -}; \ No newline at end of file +}; diff --git a/Database/Migrations/2023_08_15_031450_update_table_fasilitas.php b/Database/Migrations/2023_08_15_031450_update_table_fasilitas.php new file mode 100644 index 0000000..1c06d53 --- /dev/null +++ b/Database/Migrations/2023_08_15_031450_update_table_fasilitas.php @@ -0,0 +1,32 @@ +string('nomor_cif'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('fasilitas', function (Blueprint $table) { + + }); + } +}; \ No newline at end of file diff --git a/Database/Migrations/2023_08_15_105035_update_table_fasilitas_2.php b/Database/Migrations/2023_08_15_105035_update_table_fasilitas_2.php new file mode 100644 index 0000000..8ab1d56 --- /dev/null +++ b/Database/Migrations/2023_08_15_105035_update_table_fasilitas_2.php @@ -0,0 +1,33 @@ +string('cabang'); + $table->string('periode'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('fasilitas', function (Blueprint $table) { + + }); + } +}; \ No newline at end of file diff --git a/Database/Migrations/2023_08_16_075125_create_signers_table.php b/Database/Migrations/2023_08_16_075125_create_signers_table.php new file mode 100644 index 0000000..1f4af36 --- /dev/null +++ b/Database/Migrations/2023_08_16_075125_create_signers_table.php @@ -0,0 +1,40 @@ +id(); + $table->string('nomor_cif'); + $table->string('deputy_director_name'); + $table->string('executive_officer_name'); + $table->string('keterangan'); + $table->string('status', 1)->default('1'); + $table->timestamps(); + $table->softDeletes(); + $table->unsignedBigInteger("created_by")->nullable(); + $table->unsignedBigInteger("updated_by")->nullable(); + $table->unsignedBigInteger("deleted_by")->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('signers'); + } +}; \ No newline at end of file diff --git a/Database/Migrations/2023_08_16_093957_update_fasilitas_table_3.php b/Database/Migrations/2023_08_16_093957_update_fasilitas_table_3.php new file mode 100644 index 0000000..c543733 --- /dev/null +++ b/Database/Migrations/2023_08_16_093957_update_fasilitas_table_3.php @@ -0,0 +1,32 @@ +string('signer_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('fasilitas', function (Blueprint $table) { + + }); + } +}; \ No newline at end of file diff --git a/Entities/Signer.php b/Entities/Signer.php new file mode 100644 index 0000000..f6b4c4b --- /dev/null +++ b/Entities/Signer.php @@ -0,0 +1,30 @@ +subYear(3)->format('Y'); + $signer = Signer::all(); $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 = []; @@ -60,12 +68,14 @@ $Accounts = $Account->getSearchAccount($request->cif, $request->kodecabang,$request->periode)->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); @@ -75,11 +85,13 @@ /* ----- export pdf ----- */ - public function export(Request $request) { + 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 !'); } + dd($request); + $account = explode("," , $request['acc_no']); $ViewAccount = new ViewAccount; @@ -170,17 +182,89 @@ } + 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 !'); + } - public function addFasilitas(Request $request){ + $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' + ]); + + if ($validated) { + try { + // Create New User + $signer = new Signer(); + $signer->deputy_director_name = $request->deputy_director; + $signer->executive_officer_name = $request->executive_officer; + $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('created_by',$this->user->id)->paginate(10); + $fasilitas = Fasilitas::paginate(10)->appends($request->query()['cus_no_fasilitas'],$request->query()['company_name'],$request->query()['batch_date'], $request->query()['status']); + // dd($fasilitas); $limitReference = LimitReference::all(); + $data['queryParam'] = $request->query(); $data['fasilitas'] = $fasilitas; $data['limitReference'] = $limitReference; @@ -190,12 +274,54 @@ + 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' + ]); + + 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->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', @@ -210,6 +336,7 @@ try { // Create New User $fasilitas = new Fasilitas(); + $fasilitas->nomor_cif = $request->nomor_cif; $fasilitas->nomor_rekening = $request->nomor_rekening; $fasilitas->jenis_fasilitas = $request->jenis_fasilitas; $fasilitas->saldo = $request->saldo; @@ -220,7 +347,8 @@ $fasilitas->keterangan = $request->keterangan; $fasilitas->save(); - return redirect()->route('konfirmasibank.addFasilitas')->with('success', 'Data berhasil ditambahkan'); + // return redirect()->route('konfirmasibank.addFasilitas')->with('success', 'Data berhasil ditambahkan'); + echo json_encode(['status' => 'success', 'message' => ' Data berhasil ditambahkan.']); } catch (Exception $e) { return json_encode([ @@ -274,7 +402,6 @@ // Validation Data\ $validator = Validator::make($request->all(), [ - 'nomor_rekening' => 'required|string|max:10|unique:fasilitas,nomor_rekening', 'jenis_fasilitas' => 'required|string', 'saldo' => 'required|string', 'start_date' => 'required|string', @@ -324,7 +451,7 @@ * @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 !'); } @@ -340,5 +467,23 @@ } } + 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.']); + } + } + + + } \ No newline at end of file diff --git a/Resources/views/pages/index.blade.php b/Resources/views/pages/index.blade.php index 4f61725..3d8c88d 100644 --- a/Resources/views/pages/index.blade.php +++ b/Resources/views/pages/index.blade.php @@ -56,16 +56,22 @@ class="path2"> Export Report -
@@ -198,6 +204,11 @@ }); $(".fasilitasButton").show(); + var kdcabang = $("#kodecabang").val(); + var periode = $("#periode").val(); + $("#cus_no_fasilitas").val(items[0]['CUSTOMER_NO']); + $("#company_name").val(kdcabang); + $("#batch_date").val(periode); }, error: function (error) { diff --git a/Resources/views/pages/index_fasilitas.blade.php b/Resources/views/pages/index_fasilitas.blade.php index c655ac7..f27fbaa 100644 --- a/Resources/views/pages/index_fasilitas.blade.php +++ b/Resources/views/pages/index_fasilitas.blade.php @@ -20,11 +20,12 @@ @include('konfirmasibank::pages.table_fasilitas') +