add export tabungan siswa

pull/1/head
Aji Kamaludin 5 years ago
parent a5d7562fdd
commit 45cc07061b
No known key found for this signature in database
GPG Key ID: 23E2BDC458317AF8

@ -0,0 +1,16 @@
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
class SppSiswaExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
//
}
}

@ -0,0 +1,29 @@
<?php
namespace App\Exports;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use App\Models\Tabungan;
use App\Models\Siswa;
class TabunganSiswaExport implements FromView
{
public function __construct($siswa)
{
$this->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
]);
}
}

@ -9,6 +9,7 @@ use App\Models\Keuangan;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use App\Exports\TabunganExport; use App\Exports\TabunganExport;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
use App\Exports\TabunganSiswaExport;
class TabunganController extends Controller class TabunganController extends Controller
{ {
@ -103,4 +104,9 @@ class TabunganController extends Controller
'saldo' => format_idr($input - $output).(($input - $output) == $verify ? '' : ' invalid'), 'saldo' => format_idr($input - $output).(($input - $output) == $verify ? '' : ' invalid'),
]); ]);
} }
public function siswaexport(Siswa $siswa)
{
return Excel::download(new TabunganSiswaExport($siswa), 'tabungan_siswa-'.now().'.xlsx');
}
} }

@ -31,7 +31,7 @@
<h3 class="card-title">Tabungan</h3> <h3 class="card-title">Tabungan</h3>
<div class="card-options"> <div class="card-options">
<a href="{{ route('tabungan.cetak', $siswa->id) }}" target="_blank" class="btn btn-primary mr-1">Cetak</a> <a href="{{ route('tabungan.cetak', $siswa->id) }}" target="_blank" class="btn btn-primary mr-1">Cetak</a>
<a href="#!" target="_blank" class="btn btn-primary">Export</a> <a href="{{ route('tabungan.siswa.export', $siswa->id) }}" target="_blank" class="btn btn-primary">Export</a>
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">

@ -0,0 +1,21 @@
<p><b>Nama :</b> {{ $siswa->nama }} <b>Kelas : </b> {{ $siswa->kelas->nama }}{{ isset($siswa->kelas->periode) ? '('.$siswa->kelas->periode->nama.')' : '' }}</p>
<table>
<thead>
<tr>
<th><b>Tanggal</b></th>
<th><b>KD</b></th>
<th><b>Jumlah</b></th>
<th><b>Keterangan</b></th>
</tr>
</thead>
<tbody>
@foreach($tabungan as $item)
<tr>
<td>{{ $item->created_at->format('d-m-Y') }}</td>
<td>{{ ($item->tipe == 'in') ? 'Menabung' : 'Penarikan Uang' }}</td>
<td>{{ $item->jumlah }}</td>
<td>{{ $item->keperluan }}</td>
</tr>
@endforeach
</tbody>
</table>

@ -69,7 +69,7 @@ Route::middleware(['auth:web'])->group(function(){
Route::post('menabung', 'TabunganController@menabung')->name('tabungan.store'); Route::post('menabung', 'TabunganController@menabung')->name('tabungan.store');
Route::get('export-mutasi', 'TabunganController@export')->name('tabungan.export'); Route::get('export-mutasi', 'TabunganController@export')->name('tabungan.export');
Route::get('cetak-tabungan/{siswa}', 'TabunganController@cetak')->name('tabungan.cetak'); 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 //Keuangan
Route::get('keuangan', 'KeuanganController@index')->name('keuangan.index'); Route::get('keuangan', 'KeuanganController@index')->name('keuangan.index');
@ -79,7 +79,7 @@ Route::middleware(['auth:web'])->group(function(){
//Pembayaran SPP //Pembayaran SPP
Route::get('transaksi-spp','TransaksiController@index')->name('spp.index'); Route::get('transaksi-spp','TransaksiController@index')->name('spp.index');
Route::post('print-spp/{siswa?}','TransaksiController@print')->name('spp.print'); 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
}); });

Loading…
Cancel
Save