From 4cb22a246b2217c74a9f7a05724230a5af3faafa Mon Sep 17 00:00:00 2001 From: Anang Novriadi Date: Fri, 5 Jul 2024 10:14:51 +0700 Subject: [PATCH 1/3] feature export data penduduk --- app/Exports/ExportPenduduk.php | 60 +++++++++++++++++++ .../Controllers/Data/PendudukController.php | 18 ++++++ resources/views/data/penduduk/index.blade.php | 5 ++ routes/web.php | 1 + 4 files changed, 84 insertions(+) create mode 100644 app/Exports/ExportPenduduk.php diff --git a/app/Exports/ExportPenduduk.php b/app/Exports/ExportPenduduk.php new file mode 100644 index 000000000..104173788 --- /dev/null +++ b/app/Exports/ExportPenduduk.php @@ -0,0 +1,60 @@ +leftJoin('das_data_desa', 'das_penduduk.desa_id', '=', 'das_data_desa.desa_id') + ->leftJoin('ref_pendidikan_kk', 'das_penduduk.pendidikan_kk_id', '=', 'ref_pendidikan_kk.id') + ->leftJoin('ref_kawin', 'das_penduduk.status_kawin', '=', 'ref_kawin.id') + ->leftJoin('ref_pekerjaan', 'das_penduduk.pekerjaan_id', '=', 'ref_pekerjaan.id') + ->select([ + 'das_penduduk.id', + 'das_penduduk.nama', + 'das_penduduk.nik', + 'das_penduduk.no_kk', + 'das_data_desa.nama as nama_desa', + 'das_penduduk.alamat', + 'ref_pendidikan_kk.nama as pendidikan', + 'das_penduduk.tanggal_lahir', + 'ref_pekerjaan.nama as pekerjaan', + 'ref_kawin.nama as status_kawin', + ]) + ->where('status_dasar', 1) + ->get(); + } + + /** + * @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/resources/views/data/penduduk/index.blade.php b/resources/views/data/penduduk/index.blade.php index 32a7f33e0..faf11ee25 100644 --- a/resources/views/data/penduduk/index.blade.php +++ b/resources/views/data/penduduk/index.blade.php @@ -28,6 +28,11 @@ +
+ + + +
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 From d4a3910422dd5e089591f9603ce2e84e2ade3b7c Mon Sep 17 00:00:00 2001 From: Anang Novriadi Date: Fri, 5 Jul 2024 19:42:40 +0700 Subject: [PATCH 2/3] fix elequent and title button --- app/Exports/ExportPenduduk.php | 38 +++++++++---------- resources/views/data/penduduk/index.blade.php | 4 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/Exports/ExportPenduduk.php b/app/Exports/ExportPenduduk.php index 104173788..dbdf42006 100644 --- a/app/Exports/ExportPenduduk.php +++ b/app/Exports/ExportPenduduk.php @@ -18,25 +18,25 @@ class ExportPenduduk implements FromCollection, WithHeadings */ public function collection() { - return DB::table('das_penduduk') - ->leftJoin('das_data_desa', 'das_penduduk.desa_id', '=', 'das_data_desa.desa_id') - ->leftJoin('ref_pendidikan_kk', 'das_penduduk.pendidikan_kk_id', '=', 'ref_pendidikan_kk.id') - ->leftJoin('ref_kawin', 'das_penduduk.status_kawin', '=', 'ref_kawin.id') - ->leftJoin('ref_pekerjaan', 'das_penduduk.pekerjaan_id', '=', 'ref_pekerjaan.id') - ->select([ - 'das_penduduk.id', - 'das_penduduk.nama', - 'das_penduduk.nik', - 'das_penduduk.no_kk', - 'das_data_desa.nama as nama_desa', - 'das_penduduk.alamat', - 'ref_pendidikan_kk.nama as pendidikan', - 'das_penduduk.tanggal_lahir', - 'ref_pekerjaan.nama as pekerjaan', - 'ref_kawin.nama as status_kawin', - ]) - ->where('status_dasar', 1) - ->get(); + $data = []; + $penduduks = Penduduk::with('desa', 'pendidikan_kk', 'pekerjaan', 'kawin')->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); } /** diff --git a/resources/views/data/penduduk/index.blade.php b/resources/views/data/penduduk/index.blade.php index faf11ee25..52b27b5ff 100644 --- a/resources/views/data/penduduk/index.blade.php +++ b/resources/views/data/penduduk/index.blade.php @@ -25,12 +25,12 @@ From ab5dd98d8e03be05fb022c62b5270cd9fd646e63 Mon Sep 17 00:00:00 2001 From: Andi Fahruddin Akas Date: Mon, 8 Jul 2024 20:20:01 +0800 Subject: [PATCH 3/3] [ci skip] catatan rilis --- catatan_rilis.md | 27 ++++--------------- resources/views/data/penduduk/index.blade.php | 4 +-- 2 files changed, 7 insertions(+), 24 deletions(-) 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 52b27b5ff..88be7a84b 100644 --- a/resources/views/data/penduduk/index.blade.php +++ b/resources/views/data/penduduk/index.blade.php @@ -25,12 +25,12 @@