From 0a592d5cfecf9f6effdb3e442507f4cb2a1f7151 Mon Sep 17 00:00:00 2001 From: Vinsensiaaa Date: Tue, 14 Nov 2023 08:46:02 +0700 Subject: [PATCH] Melakukan penambahan menu --- .../Admin/SisaSalurDanaController.php | 154 ++++++++++++++++++ app/Models/SisaSalurDana.php | 21 +++ ...09_110625_create_sisa_salur_dana_table.php | 35 ++++ .../admin/sisa_salur_dana/create.blade.php | 122 ++++++++++++++ .../admin/sisa_salur_dana/edit.blade.php | 61 +++++++ .../admin/sisa_salur_dana/index.blade.php | 123 ++++++++++++++ .../admin/sisa_salur_dana/show.blade.php | 72 ++++++++ resources/views/partials/menu.blade.php | 1 + routes/web.php | 15 +- 9 files changed, 603 insertions(+), 1 deletion(-) create mode 100644 app/Http/Controllers/Admin/SisaSalurDanaController.php create mode 100644 app/Models/SisaSalurDana.php create mode 100644 database/migrations/2023_11_09_110625_create_sisa_salur_dana_table.php create mode 100644 resources/views/admin/sisa_salur_dana/create.blade.php create mode 100644 resources/views/admin/sisa_salur_dana/edit.blade.php create mode 100644 resources/views/admin/sisa_salur_dana/index.blade.php create mode 100644 resources/views/admin/sisa_salur_dana/show.blade.php diff --git a/app/Http/Controllers/Admin/SisaSalurDanaController.php b/app/Http/Controllers/Admin/SisaSalurDanaController.php new file mode 100644 index 0000000..255ec31 --- /dev/null +++ b/app/Http/Controllers/Admin/SisaSalurDanaController.php @@ -0,0 +1,154 @@ +siteTitle = "Sisa Salur Dana"; + parent::__construct(); + } + + public function index() + { + $data = null; + return view('admin.sisa_salur_dana.index',compact('data')) + ->with('i', (request()->input('page', 1) - 1) * 10); + } + + public function create() + { + $this->setSubtitle("Tambah Data"); + return view('admin.sisa_salur_dana.create'); + } + + + public function show(SisaSalurDana $SisaSalurDana) + { + SisaSalurDana::where("id",$SisaSalurDana->id)->get(); + $this->setSubtitle("Detail Jenis Belanja"); + return view('admin.sisa_salur_dana.show',compact('SisaSalurDana')); + } + + public function store(Request $request) + { + $request->validate([ + 'tahun' => 'required', + 'kode_rekening' => 'required', + 'jumlah' => 'required', + ]); + $req = $request->all(); + $this->validate($request, [ + 'file' => 'required|mimes:pdf,xlsx,xls,png,gif,jpg,jpeg', + ]); + $data["tahun"] = $req["tahun"]; + $data["kode_rekening"] = $req["kode_rekening"]; + $data["jumlah"] = replaceMoney($req["jumlah"]); + $file = $request->file('file'); + if ($file){ + $ext = $file->getClientOriginalExtension(); + $NewFileName = $data["tahun"].$data["kode_rekening"].".".$ext; + $tujuan_upload = 'uploadFiles/sisa_salur_dana'; + File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true); + $file->move($tujuan_upload, $NewFileName); + $data["dokumen"] = $NewFileName; + } + if ($request->isMethod('post')){ + $SisaSalurDana = SisaSalurDana::where("tahun",getTA())->where("kode_rekening",$req["kode_rekening"])->first(); + if ($SisaSalurDana){ + return redirect(URL::to("/admin/SisaSalurDana/"))->with('error','Data Sisa Salur Dana gagal diTambah! No Rekening : '.$req["kode_rekening"].' sudah ada!'); + } + else{ + //var_dump($data); exit; + $SisaSalurDana = SisaSalurDana::create($data); + return redirect(URL::to("/admin/SisaSalurDana/".$SisaSalurDana->id))->with('success','Data Tagihan Berhasil Ditambah'); + } + } + } + + + public function edit(SisaSalurDana $SisaSalurDana) + { + $this->setSubtitle("Ubah Data"); + return view('admin.sisa_salur_dana.edit',compact('SisaSalurDana')); + } + + public function download($id) + { + $SisaSalurDana = SisaSalurDana::where("id",$id)->first(); + $headers = [ + 'Content-Disposition' => 'attachment;filename='.$SisaSalurDana->dokumen + ]; + $path = config('constants.upload_path').getTA()."/".$SisaSalurDana->dokumen; + + return response()->file($path, $headers); + } + + public function update(Request $request, SisaSalurDana $SisaSalurDana ) + { + $request->validate([ + 'tahun' => 'required', + 'kode_rekening' => 'required', + 'jumlah' => 'required', + ]); + + $req = $request->all(); + $data["tahun"] = $req["tahun"]; + $data["kode_rekening"] = $req["kode_rekening"]; + $data["jumlah"] = replaceMoney($req["jumlah"]); + + $file = $request->file('file'); + if ($file){ + $ext = $file->getClientOriginalExtension(); + $NewFileName = $data["tahun"].$data["kode_rekening"].".".$ext; + $tujuan_upload = 'uploadFiles/sisa_salur_dana'; + File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true); + $file->move($tujuan_upload, $NewFileName); + $data["dokumen"] = $NewFileName; + } + $SisaSalurDana->update($req); + + return redirect()->route('SisaSalurDana.index') + ->with('success','Data Sisa Salur Belanja berhasil diubah!'); + } + + public function destroy(SisaSalurDana $SisaSalurDana) + { + SisaSalurDana::where("id",$SisaSalurDana->id)->delete(); + $SisaSalurDana->delete(); + return redirect()->route('SisaSalurDana.index') + ->with('success','Data Sisa Salur Belanja berhasil dihapus!'); + } + + public function datatable(Request $request) + { + $post = $request->all(); + $offset = $post["start"]; + $limit = $post["length"]; + $src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):""; + $select = DB::raw("ID,TAHUN,KODE_REKENING,JUMLAH"); + $sqltr = SisaSalurDana::select($select); + $dataTotal = $sqltr->count(); + $data = $sqltr->orderBy("ID"); + if (!empty($src)){ + $data->whereRaw(" ( lower(KODE_REKENING) like '%$src% OR lower(JUMLAH) like '%$src%') "); + } + $dataFilter = $data->count(); + + return response()->json([ + "recordsTotal" => $dataTotal, + "recordsFiltered" => $dataFilter, + "data"=> $data->skip($offset)->take($limit)->get() + ]); + } +} \ No newline at end of file diff --git a/app/Models/SisaSalurDana.php b/app/Models/SisaSalurDana.php new file mode 100644 index 0000000..a160013 --- /dev/null +++ b/app/Models/SisaSalurDana.php @@ -0,0 +1,21 @@ +id(); + $table->string("tahun",50); + $table->string("kode_rekening",50); + $table->string('jumlah',50); + $table->string("dokumen",100)->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('sisa_salur_dana'); + } +} diff --git a/resources/views/admin/sisa_salur_dana/create.blade.php b/resources/views/admin/sisa_salur_dana/create.blade.php new file mode 100644 index 0000000..c180c45 --- /dev/null +++ b/resources/views/admin/sisa_salur_dana/create.blade.php @@ -0,0 +1,122 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/SisaSalurDana","label"=>$siteTitle], + ["url"=>"/admin/SisaSalurDana","label"=>$sitesubTitle] + ]; +@endphp + +@extends('layouts.app') + +@section('content') +
+
+
+
@php echo $sitesubTitle; @endphp
+
+ +
+
+ +
+ @csrf + +
+
+
+ + +
+
+
+
+ + +
+
+ +
+
+ Jumlah + +
+
+
+
+ + +
+
+
+ +
+
+
+@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/sisa_salur_dana/edit.blade.php b/resources/views/admin/sisa_salur_dana/edit.blade.php new file mode 100644 index 0000000..50af5a5 --- /dev/null +++ b/resources/views/admin/sisa_salur_dana/edit.blade.php @@ -0,0 +1,61 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/SisaSalurDana","label"=>$siteTitle], + ["url"=>"/admin/SisaSalurDana","label"=>$sitesubTitle] + ]; +@endphp + +@extends('layouts.app') + +@section('content') +
+
+
+
@php echo $sitesubTitle; @endphp
+
+ +
+
+ +
+ @csrf + @method('PUT') +
+
+
+ Tahun + +
+
+
+
+ + +
+
+
+
+ Jumlah + +
+
+
+
+ + +
+
+
+ +
+
+
+@endsection +@section('scripts') + +@endsection \ No newline at end of file diff --git a/resources/views/admin/sisa_salur_dana/index.blade.php b/resources/views/admin/sisa_salur_dana/index.blade.php new file mode 100644 index 0000000..6087ac1 --- /dev/null +++ b/resources/views/admin/sisa_salur_dana/index.blade.php @@ -0,0 +1,123 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/SisaSalurDana","label"=>$siteTitle], + ["url"=>"/admin/SisaSalurDana","label"=>$sitesubTitle] + ]; +@endphp + +@extends('layouts.empty') + +@section('styles') + + + + + +@endsection + +@section('content') +
+
+
@php echo $sitesubTitle; @endphp
+ +
+
+ + + + + + + + + + +
NoTahunKode RekeningJumlahAction
+
+
+ + @section('scripts') + + + + + + + + + + + + + + + + + + + @endsection +@stop \ No newline at end of file diff --git a/resources/views/admin/sisa_salur_dana/show.blade.php b/resources/views/admin/sisa_salur_dana/show.blade.php new file mode 100644 index 0000000..d812e81 --- /dev/null +++ b/resources/views/admin/sisa_salur_dana/show.blade.php @@ -0,0 +1,72 @@ +@php + $siteBreadcumb = [ + ["url"=>"/admin/SisaSalurDana","label"=>$siteTitle], + ["url"=>"/admin/SisaSalurDana","label"=>$sitesubTitle] + ]; +@endphp + +@section('styles') + + + + + +@endsection + +@extends('layouts.empty') + +@section('content') +
+
+
@php echo $sitesubTitle; @endphp
+
+ Back +
+
+
+
+ @csrf +
+
+
+ Tahun: + +
+
+ Kode Rekening: + +
+
+ Jumlah: + +
+
+ Dokumen Salur Dana
+ @if ($SisaSalurDana->dokumen != null) + id") }}" data-file="{{ $SisaSalurDana->dokumen }}"> Download File + @endif +
+
+
+
+
+
+@endsection +@section('scripts') + + + + + + + + + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/partials/menu.blade.php b/resources/views/partials/menu.blade.php index 684b8b8..82fe779 100644 --- a/resources/views/partials/menu.blade.php +++ b/resources/views/partials/menu.blade.php @@ -105,6 +105,7 @@ + @endif diff --git a/routes/web.php b/routes/web.php index 81be176..6a496ae 100644 --- a/routes/web.php +++ b/routes/web.php @@ -16,10 +16,12 @@ use App\Http\Controllers\Admin\RolessController; use App\Http\Controllers\Admin\PermissionsController; use App\Http\Controllers\Admin\MstJenisDanaController; use App\Http\Controllers\Admin\MstDauRinciController; +use App\Http\Controllers\Admin\SisaSalurDanaController; use App\Http\Controllers\Admin\MstJenisBelanjaController; use App\Http\Controllers\Admin\MstSubJenisBelanjaController; use App\Http\Controllers\Admin\MstSatuanController; use App\Http\Controllers\Admin\PengaturanController; +use App\Http\Controllers\Admin\SisaSalurDana; use App\Http\Controllers\NotifikasiController; Route::get('/', [AuthController::class, 'showFormLogin']); @@ -28,7 +30,7 @@ Route::post('login', [AuthController::class, 'login']); Route::get('register', [AuthController::class, 'showFormRegister'])->name('register'); Route::post('register', [AuthController::class, 'register']); Route::group(['middleware' => 'auth'], function () { - Route::group(['prefix' => 'admin', 'middleware'=>'role:admin|superadmin'], function () { + Route::group(['prefix' => 'admin', 'middleware'=>'role:admin|superadmin'], function () { Route::post('users/datatable', [MstPenggunaController::class,'datatable']); Route::get('users/{userId}/lock-upload/{reset}', [MstPenggunaController::class, 'lockUploadData']); Route::get('users/lock-upload-all/{userId}/{reset}', [MstPenggunaController::class, 'lockUploadData']); @@ -50,10 +52,21 @@ Route::group(['middleware' => 'auth'], function () { Route::post('MstJenisBelanja/{id}/datatable-sub', [MstSubJenisBelanjaController::class,'datatable']); Route::post('MstJenisBelanja/{id}/store-sub', [MstSubJenisBelanjaController::class,'store']); Route::resource('MstSubJenisBelanja', MstSubJenisBelanjaController::class); + Route::post('MstSatuan/datatable', [MstSatuanController::class,'datatable']); Route::resource('MstSatuan', MstSatuanController::class); Route::get('Pengaturan', [PengaturanController::class,'index']); Route::post('Pengaturan/adjust-anggaran', [PengaturanController::class,'rekonAnggaran']); + + Route::get('SisaSalurDana', [SisaSalurDanaController::class,'index']); + Route::resource('SisaSalurDana', SisaSalurDanaController::class); + Route::post('SisaSalurDana/datatable', [SisaSalurDanaController::class,'datatable']); + Route::resource('SisaSalurDana', SisaSalurDanaController::class); + Route::get('SisaSalurDana/{SisaSalurDana}/create-sub', [SisaSalurDanaController::class,'create']); + Route::post('SisaSalurDana/{id}/datatable-sub', [SisaSalurDanaController::class,'datatable']); + Route::post('SisaSalurDana/{id}', [SisaSalurDanaController::class,'store']); + Route::get('SisaSalurDana/download/{id}', [SisaSalurDanaController::class,'download']); + }); Route::get('users/change-password/{userId}', [MstPenggunaController::class,'changePass'])->name("users.changepass");