<?php
session_start();
require_once 'db.php';

// Pastikan instansi_id ada (default 1 jika dari CLI / tanpa session)
$instansi_id = $_SESSION['instansi_id'] ?? 1;

$skpd_list = [
    [
        'nama_skpd' => 'Sekretariat Daerah',
        'singkatan' => 'Setda',
        'keywords' => 'sekda, kebijakan pemda, tata kelola pemerintahan, rapat koordinasi'
    ],
    [
        'nama_skpd' => 'Sekretariat DPRD',
        'singkatan' => 'Setwan',
        'keywords' => 'anggota dprd, pokir dprd, sidang paripurna, tuntutan warga ke dprd'
    ],
    [
        'nama_skpd' => 'Badan Perencanaan Pembangunan, Riset dan Inovasi Daerah',
        'singkatan' => 'Bapperida',
        'keywords' => 'bappeda, bapperida, musrenbang, rencana pembangunan, rkpd, kemiskinan ekstrem, inovasi daerah'
    ],
    [
        'nama_skpd' => 'Badan Pengelolaan Keuangan dan Aset Daerah',
        'singkatan' => 'BPKAD',
        'keywords' => 'apbd, penyerapan anggaran, aset daerah, ganti rugi lahan, sertifikat tanah daerah'
    ],
    [
        'nama_skpd' => 'Badan Pengelolaan Pajak dan Retribusi Daerah',
        'singkatan' => 'BPPRD',
        'keywords' => 'pajak daerah, retribusi, pbb, pajak restoran, pajak reklame, kebocoran pajak, bapenda'
    ],
    [
        'nama_skpd' => 'Badan Kepegawaian dan Pengembangan Sumber Daya Manusia',
        'singkatan' => 'BKPSDM',
        'keywords' => 'cpns, pppk, netralitas asn, mutasi jabatan, sanksi asn, kelulusan pppk'
    ],
    [
        'nama_skpd' => 'Badan Kesatuan Bangsa dan Politik',
        'singkatan' => 'Kesbangpol',
        'keywords' => 'ormas, pilkada, konflik sosial, kerukunan umat beragama, radikalisme'
    ],
    [
        'nama_skpd' => 'Badan Penanggulangan Bencana Daerah',
        'singkatan' => 'BPBD',
        'keywords' => 'banjir, tanah longsor, puting beliung, posko bencana, bantuan logistik bencana, siaga darurat, karhutla'
    ],
    [
        'nama_skpd' => 'Dinas Pendidikan',
        'singkatan' => 'Disdik',
        'keywords' => 'sekolah rusak, bangunan sd, bangunan smp, guru honorer, ppdb, ijazah ditahan, beasiswa, kepala sekolah, seragam sekolah'
    ],
    [
        'nama_skpd' => 'Dinas Pekerjaan Umum dan Penataan Ruang',
        'singkatan' => 'Dinas PUPR',
        'keywords' => 'jalan rusak, jalan berlubang, jembatan, proyek jalan, aspal, drainase, trotoar, tanggul, pengawasan proyek, perbaikan jalan, genangan'
    ],
    [
        'nama_skpd' => 'Dinas Perumahan dan Pemukiman',
        'singkatan' => 'Disperkim',
        'keywords' => 'bedah rumah, rutilahu, perumahan kumuh, pju, lampu jalan, air bersih, pamsimas, sanitasi, taman kota, drainase lingkungan'
    ],
    [
        'nama_skpd' => 'Dinas Sosial',
        'singkatan' => 'Dinsos',
        'keywords' => 'bansos, bantuan sosial, pkh, orang terlantar, ODGJ, kemiskinan, penyandang disabilitas, panti jompo, bantuan bencana'
    ],
    [
        'nama_skpd' => 'Dinas Koperasi Usaha Mikro dan Tenaga Kerja',
        'singkatan' => 'Diskopumker',
        'keywords' => 'umkm, koperasi, harga bahan pokok, pengangguran, PHK, UMR, UMK, THR belum dibayar, lowongan kerja'
    ],
    [
        'nama_skpd' => 'Dinas Perhubungan',
        'singkatan' => 'Dishub',
        'keywords' => 'kemacetan, lalu lintas, juru parkir, jukir liar, retribusi parkir, rambu lalu lintas, angkutan umum, penerangan jalan, uji kir'
    ],
    [
        'nama_skpd' => 'Dinas Komunikasi dan Informatika',
        'singkatan' => 'Diskominfo',
        'keywords' => 'sinyal lemah, blank spot, website down, jaringan internet, hoaks, SPBE, media center, radio daerah'
    ],
    [
        'nama_skpd' => 'Dinas Pemuda Olahraga Kebudayaan dan Pariwisata',
        'singkatan' => 'Disporabudpar',
        'keywords' => 'stadion, fasilitas olahraga, atlet, gelanggang olahraga, pembinaan pemuda, bonus atlet, cagar budaya, pariwisata, tempat wisata'
    ],
    [
        'nama_skpd' => 'Dinas Perdagangan dan Perindustrian',
        'singkatan' => 'Disperdagin',
        'keywords' => 'harga bahan pokok, beras mahal, minyak goreng, pasar tradisional, lapak pasar, kecurangan timbangan, operasi pasar, industri'
    ],
    [
        'nama_skpd' => 'Dinas Ketahanan Pangan , Pertanian dan Perikanan',
        'singkatan' => 'DKP3',
        'keywords' => 'gagal panen, pupuk langka, serangan hama, harga gabah, ternak, penyakit PMK, alokasi pupuk, ketahanan pangan, nelayan, ikan'
    ],
    [
        'nama_skpd' => 'Dinas Kependudukan dan Catatan Sipil',
        'singkatan' => 'Disdukcapil',
        'keywords' => 'ktp elektronik, e-ktp, akta kelahiran, kartu keluarga, blangko ktp habis, antrean draf, pelayanan adminduk'
    ],
    [
        'nama_skpd' => 'Dinas Pemberdayaan Perempuan, Perlindungan Anak, Pemberdayaan Masyarakat, Pengendalian Penduduk dan Keluarga Berencana',
        'singkatan' => 'DP3APMP2KB',
        'keywords' => 'kekerasan anak, pelecehan seksual, KDRT, perlindungan anak, stunting, pernikahan dini, posyandu, pemberdayaan masyarakat'
    ],
    [
        'nama_skpd' => 'Dinas Lingkungan Hidup',
        'singkatan' => 'DLH',
        'keywords' => 'sampah, tpa, tps, penumpukan sampah, pencemaran udara, limbah, pohon tumbang, kebersihan kota, bau sampah'
    ],
    [
        'nama_skpd' => 'Dinas Arsip dan Perpustakaan Daerah',
        'singkatan' => 'Disarpus',
        'keywords' => 'perpustakaan daerah, minat baca, literasi, arsip daerah'
    ],
    [
        'nama_skpd' => 'Dinas Kesehatan',
        'singkatan' => 'Dinkes',
        'keywords' => 'puskesmas, rsud, pelayanan kesehatan, obat habis, DBD, stunting, imunisasi, antrean rumah sakit, wabah, malpraktik, tenaga medis'
    ],
    [
        'nama_skpd' => 'Dinas Penanaman Modal dan Pelayanan Terpadu Satu Pintu',
        'singkatan' => 'DPMPTSP',
        'keywords' => 'izin usaha, perizinan, investasi, OSS, kendala perizinan, calo izin'
    ],
    [
        'nama_skpd' => 'Satuan Polisi Pamong Praja',
        'singkatan' => 'Satpol PP',
        'keywords' => 'penertiban, pkl, penggusuran, razia, pekat, pedagang kaki lima, tempat hiburan, miras, ketertiban umum, balap liar'
    ],
    [
        'nama_skpd' => 'Rumah Sakit Daerah Idaman',
        'singkatan' => 'RSD Idaman',
        'keywords' => 'antrean berobat, rawat inap penuh, klaim bpjs, fasilitas rsud, dokter spesialis, rsd idaman'
    ],
    [
        'nama_skpd' => 'Inspektorat',
        'singkatan' => 'Inspektorat',
        'keywords' => 'audit, temuan bpk, penyalahgunaan dana desa, tindak lanjut inspektorat, pengawasan internal'
    ],
    [
        'nama_skpd' => 'Kecamatan Liang Anggang',
        'singkatan' => 'Kec. Liang Anggang',
        'keywords' => 'pelayanan kecamatan liang anggang, camat liang anggang, konflik antar warga, kebersihan wilayah liang anggang'
    ],
    [
        'nama_skpd' => 'Kecamatan Landasan Ulin',
        'singkatan' => 'Kec. Landasan Ulin',
        'keywords' => 'pelayanan kecamatan landasan ulin, camat landasan ulin, konflik antar warga, kebersihan wilayah landasan ulin'
    ],
    [
        'nama_skpd' => 'Kecamatan Cempaka',
        'singkatan' => 'Kec. Cempaka',
        'keywords' => 'pelayanan kecamatan cempaka, camat cempaka, konflik antar warga, kebersihan wilayah cempaka'
    ],
    [
        'nama_skpd' => 'Kecamatan Banjarbaru Utara',
        'singkatan' => 'Kec. Banjarbaru Utara',
        'keywords' => 'pelayanan kecamatan banjarbaru utara, camat banjarbaru utara, konflik antar warga, kebersihan wilayah banjarbaru utara'
    ],
    [
        'nama_skpd' => 'Kecamatan Banjarbaru Selatan',
        'singkatan' => 'Kec. Banjarbaru Selatan',
        'keywords' => 'pelayanan kecamatan banjarbaru selatan, camat banjarbaru selatan, konflik antar warga, kebersihan wilayah banjarbaru selatan'
    ],
    [
        'nama_skpd' => 'Kelurahan Landasan Ulin Barat',
        'singkatan' => 'Kel. Landasan Ulin Barat',
        'keywords' => 'lurah landasan ulin barat, dana kelurahan, sengketa tanah warga, pelayanan surat landasan ulin barat'
    ],
    [
        'nama_skpd' => 'Kelurahan Landasan Ulin Utara',
        'singkatan' => 'Kel. Landasan Ulin Utara',
        'keywords' => 'lurah landasan ulin utara, dana kelurahan, sengketa tanah warga, pelayanan surat landasan ulin utara'
    ],
    [
        'nama_skpd' => 'Kelurahan Landasan Ulin Tengah',
        'singkatan' => 'Kel. Landasan Ulin Tengah',
        'keywords' => 'lurah landasan ulin tengah, dana kelurahan, sengketa tanah warga, pelayanan surat landasan ulin tengah'
    ],
    [
        'nama_skpd' => 'Kelurahan Landasan Ulin Selatan',
        'singkatan' => 'Kel. Landasan Ulin Selatan',
        'keywords' => 'lurah landasan ulin selatan, dana kelurahan, sengketa tanah warga, pelayanan surat landasan ulin selatan'
    ],
    [
        'nama_skpd' => 'Kelurahan Syamsuddin Noor',
        'singkatan' => 'Kel. Syamsuddin Noor',
        'keywords' => 'lurah syamsuddin noor, dana kelurahan, sengketa tanah warga, pelayanan surat syamsuddin noor'
    ],
    [
        'nama_skpd' => 'Kelurahan Landasan Ulin Timur',
        'singkatan' => 'Kel. Landasan Ulin Timur',
        'keywords' => 'lurah landasan ulin timur, dana kelurahan, sengketa tanah warga, pelayanan surat landasan ulin timur'
    ],
    [
        'nama_skpd' => 'Kelurahan Guntung Manggis',
        'singkatan' => 'Kel. Guntung Manggis',
        'keywords' => 'lurah guntung manggis, dana kelurahan, sengketa tanah warga, pelayanan surat guntung manggis'
    ],
    [
        'nama_skpd' => 'Kelurahan Guntung Payung',
        'singkatan' => 'Kel. Guntung Payung',
        'keywords' => 'lurah guntung payung, dana kelurahan, sengketa tanah warga, pelayanan surat guntung payung'
    ],
    [
        'nama_skpd' => 'Kelurahan Cempaka',
        'singkatan' => 'Kel. Cempaka',
        'keywords' => 'lurah cempaka, dana kelurahan, sengketa tanah warga, pelayanan surat cempaka'
    ],
    [
        'nama_skpd' => 'Kelurahan Bangkal',
        'singkatan' => 'Kel. Bangkal',
        'keywords' => 'lurah bangkal, dana kelurahan, sengketa tanah warga, pelayanan surat bangkal'
    ],
    [
        'nama_skpd' => 'Kelurahan Palam',
        'singkatan' => 'Kel. Palam',
        'keywords' => 'lurah palam, dana kelurahan, sengketa tanah warga, pelayanan surat palam'
    ],
    [
        'nama_skpd' => 'Kelurahan Sungai Tiung',
        'singkatan' => 'Kel. Sungai Tiung',
        'keywords' => 'lurah sungai tiung, dana kelurahan, sengketa tanah warga, pelayanan surat sungai tiung'
    ],
    [
        'nama_skpd' => 'Kelurahan Loktabat Utara',
        'singkatan' => 'Kel. Loktabat Utara',
        'keywords' => 'lurah loktabat utara, dana kelurahan, sengketa tanah warga, pelayanan surat loktabat utara'
    ],
    [
        'nama_skpd' => 'Kelurahan Mentaos',
        'singkatan' => 'Kel. Mentaos',
        'keywords' => 'lurah mentaos, dana kelurahan, sengketa tanah warga, pelayanan surat mentaos'
    ],
    [
        'nama_skpd' => 'Kelurahan Komet',
        'singkatan' => 'Kel. Komet',
        'keywords' => 'lurah komet, dana kelurahan, sengketa tanah warga, pelayanan surat komet'
    ],
    [
        'nama_skpd' => 'Kelurahan Sungai Ulin',
        'singkatan' => 'Kel. Sungai Ulin',
        'keywords' => 'lurah sungai ulin, dana kelurahan, sengketa tanah warga, pelayanan surat sungai ulin'
    ],
    [
        'nama_skpd' => 'Kelurahan Guntung Paikat',
        'singkatan' => 'Kel. Guntung Paikat',
        'keywords' => 'lurah guntung paikat, dana kelurahan, sengketa tanah warga, pelayanan surat guntung paikat'
    ],
    [
        'nama_skpd' => 'Kelurahan Kemuning',
        'singkatan' => 'Kel. Kemuning',
        'keywords' => 'lurah kemuning, dana kelurahan, sengketa tanah warga, pelayanan surat kemuning'
    ],
    [
        'nama_skpd' => 'Kelurahan Sungai Besar',
        'singkatan' => 'Kel. Sungai Besar',
        'keywords' => 'lurah sungai besar, dana kelurahan, sengketa tanah warga, pelayanan surat sungai besar'
    ],
    [
        'nama_skpd' => 'Kelurahan Loktabat Selatan',
        'singkatan' => 'Kel. Loktabat Selatan',
        'keywords' => 'lurah loktabat selatan, dana kelurahan, sengketa tanah warga, pelayanan surat loktabat selatan'
    ],
    [
        'nama_skpd' => 'Puskesmas Banjarbaru Utara',
        'singkatan' => 'PKM Banjarbaru Utara',
        'keywords' => 'puskesmas banjarbaru utara, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Banjarbaru Selatan',
        'singkatan' => 'PKM Banjarbaru Selatan',
        'keywords' => 'puskesmas banjarbaru selatan, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Sungai Ulin',
        'singkatan' => 'PKM Sungai Ulin',
        'keywords' => 'puskesmas sungai ulin, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Sungai Besar',
        'singkatan' => 'PKM Sungai Besar',
        'keywords' => 'puskesmas sungai besar, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Rawat inap Cempaka',
        'singkatan' => 'PKM Cempaka',
        'keywords' => 'puskesmas cempaka, rawat inap cempaka, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Guntung Payung',
        'singkatan' => 'PKM Guntung Payung',
        'keywords' => 'puskesmas guntung payung, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Landasan Ulin',
        'singkatan' => 'PKM Landasan Ulin',
        'keywords' => 'puskesmas landasan ulin, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Liang Anggang',
        'singkatan' => 'PKM Liang Anggang',
        'keywords' => 'puskesmas liang anggang, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Guntung Manggis',
        'singkatan' => 'PKM Guntung Manggis',
        'keywords' => 'puskesmas guntung manggis, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ],
    [
        'nama_skpd' => 'Puskesmas Landasan Ulin Timur',
        'singkatan' => 'PKM Landasan Ulin Timur',
        'keywords' => 'puskesmas landasan ulin timur, antrean puskesmas, obat habis, pelayanan kesehatan, bidan'
    ]
];

$inserted = 0;
$updated = 0;

$stmt_check = $pdo->prepare("SELECT id FROM skpd WHERE instansi_id = ? AND (nama_skpd = ? OR singkatan = ?)");
$stmt_insert = $pdo->prepare("INSERT INTO skpd (instansi_id, nama_skpd, singkatan, keywords, status) VALUES (?, ?, ?, ?, 'aktif')");
$stmt_update = $pdo->prepare("UPDATE skpd SET keywords = ? WHERE id = ?");

foreach ($skpd_list as $skpd) {
    $stmt_check->execute([$instansi_id, $skpd['nama_skpd'], $skpd['singkatan']]);
    $existing = $stmt_check->fetch(PDO::FETCH_ASSOC);

    if ($existing) {
        $stmt_update->execute([$skpd['keywords'], $existing['id']]);
        $updated++;
    } else {
        $stmt_insert->execute([$instansi_id, $skpd['nama_skpd'], $skpd['singkatan'], $skpd['keywords']]);
        $inserted++;
    }
}

// Respon JSON jika AJAX atau dipanggil via Web Interface
if (isset($_GET['ajax']) || (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest')) {
    header('Content-Type: application/json');
    echo json_encode([
        'status' => 'success',
        'message' => "Seeder SKPD Berhasil! {$inserted} SKPD Baru Ditambahkan, {$updated} SKPD Diperbarui.",
        'inserted' => $inserted,
        'updated' => $updated
    ]);
    exit;
}

// Redirect back jika dipanggil biasa
header("Location: skpd.php?msg=" . urlencode("Seeder SKPD Berhasil! {$inserted} ditambahkan, {$updated} diperbarui."));
exit;
