From 45cc07061bad034873356ffa7c99b3da4a93676f Mon Sep 17 00:00:00 2001 From: Aji Kamaludin Date: Mon, 10 Jun 2019 02:46:08 +0700 Subject: [PATCH] add export tabungan siswa --- app/Exports/SppSiswaExport.php | 16 ++++++++++ app/Exports/TabunganSiswaExport.php | 29 +++++++++++++++++++ app/Http/Controllers/TabunganController.php | 6 ++++ resources/views/siswa/show.blade.php | 2 +- .../views/siswa/tabunganexport.blade.php | 21 ++++++++++++++ routes/web.php | 4 +-- 6 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 app/Exports/SppSiswaExport.php create mode 100644 app/Exports/TabunganSiswaExport.php create mode 100644 resources/views/siswa/tabunganexport.blade.php diff --git a/app/Exports/SppSiswaExport.php b/app/Exports/SppSiswaExport.php new file mode 100644 index 0000000..5fd78cb --- /dev/null +++ b/app/Exports/SppSiswaExport.php @@ -0,0 +1,16 @@ +id = $siswa->id; + $this->siswa = $siswa; + } + public function collection() + { + return Tabungan::where('siswa_id', $this->id)->get(); + } + + public function view(): View + { + return view('siswa.tabunganexport', [ + 'tabungan' => $this->collection(), + 'siswa' => $this->siswa + ]); + } +} diff --git a/app/Http/Controllers/TabunganController.php b/app/Http/Controllers/TabunganController.php index 8abf8ad..87e5eeb 100644 --- a/app/Http/Controllers/TabunganController.php +++ b/app/Http/Controllers/TabunganController.php @@ -9,6 +9,7 @@ use App\Models\Keuangan; use Illuminate\Support\Facades\DB; use App\Exports\TabunganExport; use Maatwebsite\Excel\Facades\Excel; +use App\Exports\TabunganSiswaExport; class TabunganController extends Controller { @@ -103,4 +104,9 @@ class TabunganController extends Controller 'saldo' => format_idr($input - $output).(($input - $output) == $verify ? '' : ' invalid'), ]); } + + public function siswaexport(Siswa $siswa) + { + return Excel::download(new TabunganSiswaExport($siswa), 'tabungan_siswa-'.now().'.xlsx'); + } } diff --git a/resources/views/siswa/show.blade.php b/resources/views/siswa/show.blade.php index bcf8719..1628ba4 100644 --- a/resources/views/siswa/show.blade.php +++ b/resources/views/siswa/show.blade.php @@ -31,7 +31,7 @@

Tabungan

Cetak - Export + Export
diff --git a/resources/views/siswa/tabunganexport.blade.php b/resources/views/siswa/tabunganexport.blade.php new file mode 100644 index 0000000..fe56dd8 --- /dev/null +++ b/resources/views/siswa/tabunganexport.blade.php @@ -0,0 +1,21 @@ +

Nama : {{ $siswa->nama }} Kelas : {{ $siswa->kelas->nama }}{{ isset($siswa->kelas->periode) ? '('.$siswa->kelas->periode->nama.')' : '' }}

+ + + + + + + + + + + @foreach($tabungan as $item) + + + + + + + @endforeach + +
TanggalKDJumlahKeterangan
{{ $item->created_at->format('d-m-Y') }}{{ ($item->tipe == 'in') ? 'Menabung' : 'Penarikan Uang' }}{{ $item->jumlah }}{{ $item->keperluan }}
\ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 1cbe4db..9497b6d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -69,7 +69,7 @@ Route::middleware(['auth:web'])->group(function(){ Route::post('menabung', 'TabunganController@menabung')->name('tabungan.store'); Route::get('export-mutasi', 'TabunganController@export')->name('tabungan.export'); Route::get('cetak-tabungan/{siswa}', 'TabunganController@cetak')->name('tabungan.cetak'); - Route::get('export-tabungan/{siswa}', 'TabunganController@cetak')->name('tabungan.siswa.export'); //TODO: export tabungan siswa + Route::get('export-tabungan/{siswa}', 'TabunganController@siswaexport')->name('tabungan.siswa.export'); //Keuangan Route::get('keuangan', 'KeuanganController@index')->name('keuangan.index'); @@ -79,7 +79,7 @@ Route::middleware(['auth:web'])->group(function(){ //Pembayaran SPP Route::get('transaksi-spp','TransaksiController@index')->name('spp.index'); Route::post('print-spp/{siswa?}','TransaksiController@print')->name('spp.print'); - Route::post('export-spp/{siswa?}','TransaksiController@print')->name('spp.export');// TODO: export spp + Route::post('export-spp/{siswa?}','TransaksiController@export')->name('spp.export');// TODO: export spp });