Skip to content

Sinkronisasi Perhitungan dan Tampilan Jumlah Desa Aktif Online antara Dashboard dan OpenSID - #702

Closed
habibie11 wants to merge 3 commits into
rilis-devfrom
dev-698
Closed

Sinkronisasi Perhitungan dan Tampilan Jumlah Desa Aktif Online antara Dashboard dan OpenSID#702
habibie11 wants to merge 3 commits into
rilis-devfrom
dev-698

Conversation

@habibie11

Copy link
Copy Markdown
Contributor

issue # #698

🎯 Deskripsi

Pull request ini memperbaiki inkonsistensi jumlah data desa aktif yang ditampilkan pada kartu informasi "Desa Aktif Online" di halaman /dashboard dengan elemen "Desa / Kelurahan Aktif" di halaman /web/opensid. Sebelumnya, /web/opensid menampilkan total seluruh desa aktif (gabungan online dan offline) sedangkan /dashboard hanya desa yang hosting (online).

Selisih perhitungan lainnya disebabkan oleh perbedaan definisi "7 Hari Terakhir". Filter bawaan daterangepicker menghitung dari tengah malam pada 6 hari yang lalu (kalender 7 hari penuh), sedangkan query bawaan dashboard menghitung rolling secara akurat dari titik 7x24 jam (NOW() - INTERVAL 7 DAY).

Untuk menyamakan data tersebut dan mendukung fungsionalitas pemfilteran secara akurat, dilakukan penyesuaian pemanggilan field dari Javascript, perbaikan filter periode pada scope Eloquent, serta standarisasi fungsi tanggal pada model Desa.


🛠️ Perubahan yang Dilakukan

1. resources/views/website/opensid.blade.php

Fix — Koreksi variabel respon API untuk jumlah Desa Aktif:

  • Mengubah pemanggilan field pada manipulasi DOM $('#desa_aktif') dari data.aktif (semua desa aktif) menjadi data.desa_online agar selaras dengan data "Desa Aktif Online" di dashboard.
- $('#desa_aktif').html(`<a href="` + linkUrl + `">` + data.aktif + `</a>`)
+ $('#desa_aktif').html(`<a href="` + linkUrl + `">` + data.desa_online + `</a>`)

2. app/Models/Desa.php

Fix — Penyesuaian Query desa_online dan Standarisasi Filter Waktu pada Scope jumlahDesa:

  • Memindahkan query perhitungan desa_online agar dieksekusi di dalam rentang filter $request->period layaknya perhitungan aktif.
  • Menyesuaikan batas perhitungan rentang waktu default tanpa period request. Mengganti dari now() - interval 7 day menjadi DATE(now() - interval 6 day) pada field desa_offline, aktif, dan desa_online. Perubahan ini menyelaraskan perhitungan default query (rolling rentang waktu) agar tepat sesuai dengan parameter interval 7 hari pada daterangepicker.
- ->selectRaw("(select count(id) from desa as x where x.versi_lokal <> '' and x.versi_hosting is null and coalesce(x.tgl_akses_lokal, 0) >= now() - interval 7 day {$states} {$filterWilayah})  desa_offline")
+ ->selectRaw("(select count(id) from desa as x where x.versi_lokal <> '' and x.versi_hosting is null and coalesce(x.tgl_akses_lokal, 0) >= DATE(now() - interval 6 day) {$states} {$filterWilayah})  desa_offline")

(Dan hal yang sama juga diterapkan pada default query untuk aktif dan desa_online)

Screenshot

image image

@github-actions

Copy link
Copy Markdown

🔄 AI PR Review sedang antri di server...

Proses review akan segera dimulai di background — hasil akan muncul sebagai komentar setelah selesai.
Powered by CrewAI · PR #702

@habibie11
habibie11 requested a review from vickyrolanda July 27, 2026 08:25
@habibie11 habibie11 closed this Jul 28, 2026
@habibie11

Copy link
Copy Markdown
Contributor Author

sudah sekalian diperbaiki di #704

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.

1 participant