diff --git a/app/Exports/ExportPenduduk.php b/app/Exports/ExportPenduduk.php new file mode 100644 index 000000000..dbdf42006 --- /dev/null +++ b/app/Exports/ExportPenduduk.php @@ -0,0 +1,60 @@ +get(); + + foreach ($penduduks as $penduduk) { + array_push($data, (object)[ + 'id' => $penduduk->id, + 'nama' => $penduduk->nama, + 'nik' => $penduduk->nik, + 'no_kk' => $penduduk->no_kk, + 'nama_desa' => $penduduk->desa->nama, + 'alamat' => $penduduk->alamat, + 'pendidikan' => $penduduk->pendidikan_kk->nama, + 'tanggal_lahir' => $penduduk->tanggal_lahir, + 'pekerjaan' => $penduduk->pekerjaan->nama, + 'status_kawin' => $penduduk->pekerjaan->nama, + ]); + } + + return collect($data); + } + + /** + * @return array + */ + public function headings(): array + { + return [ + 'ID', + 'NAMA', + 'NIK', + 'NO.KK', + 'DESA', + 'ALAMAT', + 'PENDIDIKAN DALAM KK', + 'TANGGAL LAHIR', + 'PEKERJAAN', + 'STATUS KAWIN' + ]; + } +} diff --git a/app/Http/Controllers/Data/PendudukController.php b/app/Http/Controllers/Data/PendudukController.php index a0ac526c9..2a4608c7e 100644 --- a/app/Http/Controllers/Data/PendudukController.php +++ b/app/Http/Controllers/Data/PendudukController.php @@ -31,6 +31,8 @@ namespace App\Http\Controllers\Data; +use Maatwebsite\Excel\Facades\Excel; + use App\Http\Controllers\Controller; use App\Imports\ImporPendudukKeluarga; use App\Models\DataDesa; @@ -39,6 +41,7 @@ use Illuminate\Http\Response; use Illuminate\Support\Facades\DB; use Yajra\DataTables\DataTables; +use App\Exports\ExportPenduduk; class PendudukController extends Controller { @@ -177,4 +180,19 @@ public function importExcel(Request $request) return redirect()->route('data.penduduk.index')->with('success', 'Import data sukses.'); } + + /** + * Export data penduduk ke dalam file Excel. + * + * @return Response + */ + public function exportExcel(Penduduk $penduduk) { + try { + return Excel::download(new ExportPenduduk, 'data-penduduk.xlsx'); + } catch (\Exception $e) { + report($e); + + return back()->with('error', 'Export data gagal. '.$e->getMessage()); + } + } } diff --git a/catatan_rilis.md b/catatan_rilis.md index 092a090db..a26665c2d 100644 --- a/catatan_rilis.md +++ b/catatan_rilis.md @@ -1,34 +1,17 @@ -Di rilis versi v2407.0.0 di versi ini terdapat modul themes dan perbaikan lain yang diminta Komunitas. +Di rilis versi v2407.0.1 di versi ini [untuk diisi] dan perbaikan lain yang diminta Komunitas. -Terima kasih pada @arifpriadi dan @nyomanjyotisa telah ikut berkontribusi. +Terima kasih pada [untuk diisi] telah ikut berkontribusi. #### FITUR -1. [#262](https://github.com/OpenSID/OpenDK/issues/262) Penambahan modul themes. -2. [#960](https://github.com/OpenSID/OpenDK/issues/960) Penambahan filter berdasarkan desa pada modul berkaitan dengan data desa. -3. [#962](https://github.com/OpenSID/OpenDK/issues/962) Penambahan unduh dan lihat pada halaman unduhan dokumen website. -4. [#958](https://github.com/OpenSID/OpenDK/issues/958) Penambahan informasi jika jenis penyakit belum tersedia pada modul epidemi penyakit. -5. [#959](https://github.com/OpenSID/OpenDK/issues/959) Penambahan informasi jika tipe potensi belum tersedia pada modul potensi. -6. [#640](https://github.com/OpenSID/OpenDK/issues/640) Penambahan halaman web tipologi. +1. [#399](https://github.com/OpenSID/OpenDK/issues/399) Penambahan unduh data penduduk. #### BUG -1. [#930](https://github.com/OpenSID/OpenDK/issues/930) Perbaikan link email pada halaman website. -2. [#934](https://github.com/OpenSID/OpenDK/issues/934) Perbaikan tampilan widget pegawai kecamatan. -3. [#927](https://github.com/OpenSID/OpenDK/issues/927) Perbaikan keterangan gagal impor jika desa tidak terdaftar. -4. [#963](https://github.com/OpenSID/OpenDK/issues/963) Perbaikan slug pada menu. -5. [#961](https://github.com/OpenSID/OpenDK/issues/961) Perbaikan ubah profil saat data desa sudah ada. -6. [#966](https://github.com/OpenSID/OpenDK/issues/966) Perbaikan order pada modul pengurus. -7. [#967](https://github.com/OpenSID/OpenDK/issues/967) Perbaikan order pada modul jabatan. +1. #### TEKNIS -1. [#845](https://github.com/OpenSID/OpenDK/issues/845) Penggunaan laravel pint. -2. [#957](https://github.com/OpenSID/OpenDK/issues/957) Penyesuaian carbon menggunakan bawaan laravel. -3. [#968](https://github.com/OpenSID/OpenDK/issues/968) Penyesuaian modul regulasi menggunakan datatable. -4. [#969](https://github.com/OpenSID/OpenDK/issues/969) Penyesuaian modul potensi menggunakan datatable. -5. [#965](https://github.com/OpenSID/OpenDK/issues/965) Penyesuaian seeders dan factories. -6. [#964](https://github.com/OpenSID/OpenDK/issues/964) Penyesuaian Lang (bahasa) yang tidak digunakan. -7. [#970](https://github.com/OpenSID/OpenDK/issues/970) Penyesuaian modul event menggunakan datatable. \ No newline at end of file +1. \ No newline at end of file diff --git a/resources/views/data/penduduk/index.blade.php b/resources/views/data/penduduk/index.blade.php index 32a7f33e0..88be7a84b 100644 --- a/resources/views/data/penduduk/index.blade.php +++ b/resources/views/data/penduduk/index.blade.php @@ -25,7 +25,12 @@
- + + +
+
+ +
diff --git a/routes/web.php b/routes/web.php index 518515636..d276cb882 100644 --- a/routes/web.php +++ b/routes/web.php @@ -379,6 +379,7 @@ Route::get('show/{id}', ['as' => 'data.penduduk.show', 'uses' => 'PendudukController@show']); Route::get('import', ['as' => 'data.penduduk.import', 'uses' => 'PendudukController@import']); Route::post('import-excel', ['as' => 'data.penduduk.import-excel', 'uses' => 'PendudukController@importExcel']); + Route::get('export-excel', ['as' => 'data.penduduk.export-excel', 'uses' => 'PendudukController@exportExcel']); }); // Keluarga