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') +
| No | +Tahun | +Kode Rekening | +Jumlah | +Action | + +
|---|
Mapping Rek DBH/DAK
Jenis Belanja
Jenis Dana
Sisa Salur Dana
Satuan
Pengaturan