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 - +
+ @csrf + + + + +
- + @@ -143,7 +144,7 @@
- +
@@ -233,10 +234,11 @@ }); // Handle form submission when the "Submit" button inside the modal is clicked - $("#submitFormBtn").click(function(e) { + $("#submitFasilitas").click(function(e) { // Serialize the form data e.preventDefault(); - var formData = $("#myFormInput").serialize(); + var formData = $("#inputFasilitas").serialize(); + // Send an AJAX request to the form submission route $.ajax({ type: 'POST', @@ -244,13 +246,14 @@ data: formData, dataType: 'json', success: function(response) { + alert('tes'); // Handle success response (e.g., show a success message) + $("#myModal").modal('hide'); var _data = JSON.parse(data); toastr.success(_data.message); - form[0].reset(); - $('#table4').ajax.reload(); // Optionally, close the modal - $("#myModal").modal('hide'); + location.reload(); + }, error: function(xhr, status, error) { // Handle error response (if applicable) @@ -288,9 +291,10 @@ $('input[name="due_date"]').val(response.due_date); $('input[name="jangka_waktu"]').val(response.jangka_waktu); $('input[name="fixed_rate"]').val(response.fixed_rate); + $('#ket').val(response.keterangan); $('#id').val(response.id); - $("#myModalEdit").modal('show'); + $(".myModalEdit").modal('show'); }, error: function(xhr, status, error) { // Handle error response (if applicable) @@ -364,7 +368,6 @@ }) - }); @endpush diff --git a/Resources/views/pages/index_signer.blade.php b/Resources/views/pages/index_signer.blade.php new file mode 100644 index 0000000..b7e5298 --- /dev/null +++ b/Resources/views/pages/index_signer.blade.php @@ -0,0 +1,264 @@ + + @php + $route = explode('.', Route::currentRouteName()); + @endphp + + + +
+ +
+
+ +
+
+
+
+ @include('konfirmasibank::pages.table_signer') +
+ +
+
+ +
+ + + + + + + + + + @push('customscript') + + @endpush + + + + diff --git a/Resources/views/pages/table_fasilitas.blade.php b/Resources/views/pages/table_fasilitas.blade.php index f7ce38d..3b0bab8 100644 --- a/Resources/views/pages/table_fasilitas.blade.php +++ b/Resources/views/pages/table_fasilitas.blade.php @@ -48,6 +48,7 @@ -
- {!! $data['fasilitas']->links() !!} -
+{{ $data['fasilitas']->appends(['cus_no_fasilitas' =>''.$data['fasilitas'][0]['nomor_rekening'].'','company_name' =>''.$data['queryParam']['company_name'].'' ,'batch_date' =>''.$data['queryParam']['batch_date'].'','status'=>1])->links('pagination::bootstrap-5') }} +{{-- {!! $data['fasilitas']->links('pagination::bootstrap-5') !!} --}} + {{-- {!! $data['fasilitas']->links() !!} --}} + diff --git a/Resources/views/pages/table_signer.blade.php b/Resources/views/pages/table_signer.blade.php new file mode 100644 index 0000000..06edb99 --- /dev/null +++ b/Resources/views/pages/table_signer.blade.php @@ -0,0 +1,45 @@ + + + + + + + + + + + @php + $no = 1; + @endphp + @if (count($data['signer']) > 0) + @foreach ($data['signer'] as $item) + + + + + + + @endforeach + @else + + + + @endif + + + + + +
NoDeputy DirectorExecutive OfficerAksi
{{($no++ )}}{{$item['deputy_director_name']}}{{$item['executive_officer_name']}} + {!!getIcon("pencil", "fs-1 text-warning","duotune") !!} + {!! getIcon("trash", "fs-1 text-danger","duotune") !!} +
Tidak Ada Data Yang Ditampilkan
+ +{{ $data['signer']->appends(['status'=>1])->links('pagination::bootstrap-5') }} +{{-- {!! $data['fasilitas']->links('pagination::bootstrap-5') !!} --}} + {{-- {!! $data['fasilitas']->links() !!} --}} + diff --git a/Resources/views/partials/menu/_system.blade.php b/Resources/views/partials/menu/_system.blade.php index f132392..6389f92 100644 --- a/Resources/views/partials/menu/_system.blade.php +++ b/Resources/views/partials/menu/_system.blade.php @@ -21,6 +21,12 @@ Data Nasabah + + + + + Signer +
diff --git a/Routes/web.php b/Routes/web.php index 1d398a5..9a198d0 100644 --- a/Routes/web.php +++ b/Routes/web.php @@ -21,10 +21,16 @@ Route::group(['middleware' => ['auth', 'verified']], function () { Route::get('konfirmasibank/fasilitas', 'KonfirmasiBankController@fasilitas')->name('konfirmasibank.fasilitas'); Route::get('konfirmasibank/getData',array('as'=>'getData','uses'=>'KonfirmasiBankController@getData')); Route::post('konfirmasibank/export', [KonfirmasiBankController::class, 'export'])->name('konfirmasibank.export'); - Route::get('konfirmasibank/addFasilitas',[KonfirmasiBankController::class,'addFasilitas'])->name('konfirmasibank.addFasilitas'); + + Route::get('konfirmasibank/fasilitas',[KonfirmasiBankController::class,'fasilitas'])->name('konfirmasibank.fasilitas'); Route::get('konfirmasibank/create',[KonfirmasiBankController::class,'create'])->name('konfirmasibank.create'); Route::post('konfirmasibank/postFasilitas','KonfirmasiBankController@postFasilitas')->name('konfirmasibank.postFasilitas'); Route::post('konfirmasibank/editFasilitas','KonfirmasiBankController@editFasilitas')->name('konfirmasibank.editFasilitas'); Route::post('konfirmasibank/update','KonfirmasiBankController@updateFasilitas')->name('konfirmasibank.updateFasilitas'); Route::post('konfirmasibank/destroy','KonfirmasiBankController@destroyFasilitas')->name('konfirmasibank.destroyFasilitas'); + Route::get('konfirmasibank/signer', [KonfirmasiBankController::class, 'signer'])->name('konfirmasibank.signer'); + Route::post('konfirmasibank/postSigner', [KonfirmasiBankController::class, 'postSigner'])->name('konfirmasibank.postSigner'); + Route::post('konfirmasibank/editSigner','KonfirmasiBankController@editSigner')->name('konfirmasibank.editSigner'); + Route::post('konfirmasibank/updateSigner','KonfirmasiBankController@updateSigner')->name('konfirmasibank.updateSigner'); + Route::post('konfirmasibank/destroySigner','KonfirmasiBankController@destroySigner')->name('konfirmasibank.destroySigner'); }); \ No newline at end of file