Skip to content

Conversation

@pandigresik
Copy link
Contributor

Perbaikan issue #897
Bergantung pada PR https://github.com/OpenSID/API-Database-Gabungan/pull/290

Summary Perubahan

Ringkasan Perubahan

Berikut adalah perbandingan perubahan yang lebih detail terutama pada fitur pariwisata dalam sistem OpenKab:

File yang Diubah

1. app/Http/Controllers/DataPokokController.php

Perubahan:

  • Menambahkan metode cetakPariwisata(Request $request) untuk menangani cetak data pariwisata
  • Metode ini mengembalikan view data_pokok.pariwisata.cetak dengan parameter filter dari query string

Sebelum:

public function pariwisata()
{
    $title = 'Data Potensi Wisata dan Sumber Daya';

    return view('data_pokok.pariwisata.index', ['title' => $title]);
}

public function pendidikan()
{
    return view('data_pokok.pendidikan.index');
}

Sesudah:

public function pariwisata()
{
    $title = 'Data Potensi Wisata dan Sumber Daya';

    return view('data_pokok.pariwisata.index', ['title' => $title]);
}

public function cetakPariwisata(Request $request)
{
    return view('data_pokok.pariwisata.cetak', ['filter' => $request->getQueryString()]);
}

public function pendidikan()
{
    return view('data_pokok.pendidikan.index');
}

2. routes/web.php

Perubahan:

  • Menambahkan route untuk cetak pariwisata /data-pokok/pariwisata/cetak yang mengarah ke metode cetakPariwisata
  • Route ini memiliki nama 'pariwisata.cetak' dan dilindungi oleh middleware permission 'datapokok-pariwisata-read'

Sebelum:

Route::middleware(['permission:datapokok-pendidikan-read'])->get('/pendidikan', 'pendidikan')->name('pendidikan');
Route::middleware(['permission:datapokok-pendidikan-read'])->get('/pendidikan/cetak', 'cetakPendidikan')->name('pendidikan.cetak');
Route::middleware(['permission:datapokok-pariwisata-read'])->get('/pariwisata', 'pariwisata')->name('pariwisata');
Route::middleware(['permission:datapokok-jaminan-sosial-read'])->get('/jaminan-sosial', 'jaminanSosial')->name('jaminan-sosial');

Sesudah:

Route::middleware(['permission:datapokok-pendidikan-read'])->get('/pendidikan', 'pendidikan')->name('pendidikan');
Route::middleware(['permission:datapokok-pendidikan-read'])->get('/pendidikan/cetak', 'cetakPendidikan')->name('pendidikan.cetak');
Route::middleware(['permission:datapokok-pariwisata-read'])->get('/pariwisata', 'pariwisata')->name('pariwisata');
Route::middleware(['permission:datapokok-pariwisata-read'])->get('/pariwisata/cetak', 'cetakPariwisata')->name('pariwisata.cetak');
Route::middleware(['permission:datapokok-jaminan-sosial-read'])->get('/jaminan-sosial', 'jaminanSosial')->name('jaminan-sosial');

3. resources/views/data_pokok/pariwisata/index.blade.php

Perubahan Utama:

  • Menambahkan komponen filter tahun, kategori wisata, sarana wisata, dan komoditas wisata
  • Menambahkan tombol cetak
  • Memperbarui konfigurasi DataTables untuk menyertakan filter tambahan
  • Menambahkan logika untuk menampilkan/menyembunyikan filter berdasarkan kategori yang dipilih
  • Memperbarui struktur data JSON yang diproses dari API
  • Menambahkan grafik batang dan donat untuk visualisasi data

Perubahan Spesifik:

  • Menambahkan elemen filter di atas tabel
  • Memperbarui AJAX request untuk menyertakan filter tambahan
  • Menambahkan logika untuk mengganti filter berdasarkan kategori
  • Memperbarui penanganan data dari API

4. resources/views/data_pokok/pariwisata/chart.blade.php

Perubahan Utama:

  • Menambahkan fungsi randColorRGB() dan randColorHex() untuk menghasilkan warna acak
  • Memperbarui fungsi tampilGrafik() untuk menggunakan konfigurasi skala Y yang benar
  • Memperbarui fungsi modifikasiDataGrafik() untuk memproses data dengan cara yang lebih efektif
  • Memperbaiki label grafik batang untuk menampilkan label yang benar

Perubahan Spesifik:

  • Menambahkan fungsi pembuatan warna acak
  • Mengganti konfigurasi skala grafik batang
  • Memperbaiki pemrosesan data grafik batang
  • Mengganti label grafik dari "Jumlah Penginapan" menjadi label sebenarnya dari data

File Baru yang Ditambahkan

5. resources/views/data_pokok/pariwisata/cetak.blade.php

Deskripsi:

  • Template untuk mencetak data pariwisata
  • Menggunakan layout cetak dengan orientasi landscape
  • Menampilkan tabel data pariwisata lengkap dengan informasi tentang desa, jenis hiburan, jumlah penginapan, lokasi wisata, keberadaan, luas, dan tingkat pemanfaatan
  • Mengambil data dari API berdasarkan filter yang diberikan

6. resources/views/components/filter-kategori-wisata.blade.php

Deskripsi:

  • Komponen blade untuk filter kategori wisata
  • Menyediakan opsi "Sarana Wisata" dan "Potensi Wisata"
  • Menggunakan select element dengan ID filter-kategori-wisata

7. resources/views/components/filter-komoditas-wisata.blade.php

Deskripsi:

  • Komponen blade untuk filter komoditas wisata (lokasi/tempat/area wisata)
  • Menggunakan enum KomoditasPotensiWisataEnum untuk menampilkan opsi yang tersedia
  • Menggunakan select element dengan ID filter-komoditas-wisata

8. resources/views/components/filter-sarana-wisata.blade.php

Deskripsi:

  • Komponen blade untuk filter sarana wisata (jenis hiburan)
  • Menggunakan enum SaranaWisataEnum untuk menampilkan opsi yang tersedia
  • Menggunakan select element dengan ID filter-sarana-wisata

Fitur Utama yang Ditambahkan

  1. Filter Dinamis: Menambahkan kemampuan untuk memfilter data berdasarkan kategori, tahun, jenis hiburan, dan lokasi wisata
  2. Visualisasi Grafik: Menambahkan grafik batang dan donat untuk menampilkan statistik jumlah penginapan dan tingkat pemanfaatan
  3. Fungsi Cetak: Menambahkan kemampuan untuk mencetak data pariwisata dengan format yang sesuai
  4. UI Interaktif: Menambahkan logika untuk menampilkan/menyembunyikan filter berdasarkan kategori yang dipilih
  5. Integrasi API: Memperbarui pengambilan data dari API gabungan dengan parameter filter yang lebih lengkap

Ringkasan Teknis

  • Menambahkan 4 file baru: 3 komponen filter dan 1 template cetak
  • Memperbarui 4 file eksisting: controller, route, view utama, dan komponen chart
  • Menambahkan fungsionalitas filtering, printing, dan visualisasi data
  • Mengintegrasikan dengan enum yang sudah ada untuk opsi filter
  • Memperbarui DataTables untuk menangani data yang lebih kompleks
simplescreenrecorder-2026-01-12_14.10.28.mp4

@pandigresik pandigresik changed the title Dev 897 Tambahkan fungsi cetak pada data presisi pariwisata Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants