-- ================================================================
-- WebGIS Pengentasan Kemiskinan — Kota Pontianak v3.0
-- Database Lengkap: 13 tabel, 5 role, relasi kuat
-- Jalankan di phpMyAdmin > tab SQL > klik Go
-- ================================================================

DROP DATABASE IF EXISTS webgis_kemiskinan;
CREATE DATABASE webgis_kemiskinan CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE webgis_kemiskinan;

-- ────────────────────────────────────────────────
-- 1. ROLE
-- ────────────────────────────────────────────────
CREATE TABLE role (
  id    TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  kode  VARCHAR(30) NOT NULL UNIQUE,
  nama  VARCHAR(80) NOT NULL
) ENGINE=InnoDB;

INSERT INTO role (kode, nama) VALUES
('superadmin', 'Super Admin'),
('pimpinan',   'Pimpinan Daerah / Pemerintah'),
('pengurus',   'Pengurus Rumah Ibadah'),
('relawan',    'Relawan Lapangan'),
('masyarakat', 'Masyarakat Umum');

-- ────────────────────────────────────────────────
-- 2. RUMAH IBADAH
-- ────────────────────────────────────────────────
CREATE TABLE rumah_ibadah (
  id         INT AUTO_INCREMENT PRIMARY KEY,
  nama       VARCHAR(200) NOT NULL,
  jenis      ENUM('Masjid','Gereja','Vihara','Klenteng','Pura') NOT NULL,
  kontak     VARCHAR(60),
  lat        DECIMAL(10,7) NOT NULL,
  lng        DECIMAL(10,7) NOT NULL,
  alamat     TEXT,
  kelurahan  VARCHAR(100),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 3. USER
-- ────────────────────────────────────────────────
CREATE TABLE user (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  username        VARCHAR(80)  NOT NULL UNIQUE,
  password        VARCHAR(255) NOT NULL,
  nama_lengkap    VARCHAR(150) NOT NULL,
  role_id         TINYINT UNSIGNED NOT NULL,
  rumah_ibadah_id INT DEFAULT NULL,
  telepon         VARCHAR(20),
  aktif           TINYINT(1) NOT NULL DEFAULT 1,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (role_id)         REFERENCES role(id),
  FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id) ON DELETE SET NULL
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 4. KELUARGA (KK)
-- ────────────────────────────────────────────────
CREATE TABLE keluarga (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  no_kk           VARCHAR(20)  NOT NULL UNIQUE,
  nama_kk         VARCHAR(200) NOT NULL,   -- nama kepala keluarga
  alamat          TEXT,
  rt              VARCHAR(5),
  rw              VARCHAR(5),
  kelurahan       VARCHAR(100),
  kecamatan       VARCHAR(100),
  lat             DECIMAL(10,7),
  lng             DECIMAL(10,7),
  rumah_ibadah_id INT DEFAULT NULL,
  status_ekonomi  ENUM('miskin','rentan','mampu') NOT NULL DEFAULT 'rentan',
  created_by      INT,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (rumah_ibadah_id) REFERENCES rumah_ibadah(id) ON DELETE SET NULL,
  FOREIGN KEY (created_by) REFERENCES user(id) ON DELETE SET NULL
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 5. PENDUDUK
-- ────────────────────────────────────────────────
CREATE TABLE penduduk (
  id                INT AUTO_INCREMENT PRIMARY KEY,
  nik               VARCHAR(16)  NOT NULL UNIQUE,
  nama              VARCHAR(200) NOT NULL,
  jenis_kelamin     ENUM('L','P') NOT NULL,
  tanggal_lahir     DATE NOT NULL,
  -- umur & profil_umur dihitung via VIEW (kompatibel semua versi MySQL)
  -- kolom ini diisi/diperbarui otomatis oleh PHP saat INSERT/UPDATE
  status_keluarga   ENUM('kepala','istri','anak','orang_tua','lainnya') NOT NULL DEFAULT 'kepala',
  status_perkawinan ENUM('belum_kawin','kawin','cerai_hidup','cerai_mati') NOT NULL DEFAULT 'belum_kawin',
  status_hidup      ENUM('hidup','meninggal') NOT NULL DEFAULT 'hidup',
  keluarga_id       INT NOT NULL,
  -- pendidikan
  pendidikan_terakhir ENUM('tidak_sekolah','sd','smp','sma','smk','d3','s1','s2','s3') DEFAULT 'tidak_sekolah',
  status_pendidikan   ENUM('masih_sekolah','tidak_sekolah') DEFAULT 'tidak_sekolah',
  -- ekonomi
  pekerjaan         VARCHAR(100),
  penghasilan       DECIMAL(12,2) DEFAULT 0,
  status_ekonomi    ENUM('miskin','rentan','mampu') NOT NULL DEFAULT 'rentan',
  -- kondisi kesehatan
  kondisi_kesehatan ENUM('sehat','sakit_ringan','sakit_berat','disabilitas') DEFAULT 'sehat',
  -- lokasi (bisa berbeda dari KK jika merantau)
  lat               DECIMAL(10,7),
  lng               DECIMAL(10,7),
  -- meta
  foto              VARCHAR(255),
  catatan           TEXT,
  created_by        INT,
  created_at        TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at        TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (keluarga_id) REFERENCES keluarga(id) ON DELETE CASCADE,
  FOREIGN KEY (created_by)  REFERENCES user(id) ON DELETE SET NULL
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 6. PELATIHAN
-- ────────────────────────────────────────────────
CREATE TABLE pelatihan (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  nama_pelatihan  VARCHAR(200) NOT NULL,
  penyelenggara   VARCHAR(150),
  tanggal         DATE,
  durasi_hari     TINYINT UNSIGNED DEFAULT 1,
  deskripsi       TEXT,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;

CREATE TABLE riwayat_pelatihan (
  id            INT AUTO_INCREMENT PRIMARY KEY,
  penduduk_id   INT NOT NULL,
  pelatihan_id  INT NOT NULL,
  tanggal_ikut  DATE,
  sertifikat    VARCHAR(255),
  created_at    TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (penduduk_id)  REFERENCES penduduk(id) ON DELETE CASCADE,
  FOREIGN KEY (pelatihan_id) REFERENCES pelatihan(id) ON DELETE CASCADE
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 7. BANTUAN
-- ────────────────────────────────────────────────
CREATE TABLE bantuan (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  nama            VARCHAR(200) NOT NULL,
  jenis           ENUM('sembako','uang_tunai','kesehatan','pendidikan','perumahan','lainnya') NOT NULL,
  sumber          VARCHAR(150),     -- PKH, BPNT, Baznas, Dinsos, dll
  satuan          VARCHAR(50),      -- karung, paket, Rp, dll
  nilai_per_satuan DECIMAL(12,2) DEFAULT 0,
  periode         ENUM('sekali','bulanan','triwulan','tahunan') DEFAULT 'sekali',
  aktif           TINYINT(1) DEFAULT 1,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;

CREATE TABLE histori_bantuan (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  penduduk_id     INT NOT NULL,
  bantuan_id      INT NOT NULL,
  disalurkan_oleh INT,            -- user_id penyalur
  tanggal         DATE NOT NULL,
  jumlah          DECIMAL(10,2) DEFAULT 1,
  status          ENUM('dijadwalkan','disalurkan','gagal') DEFAULT 'dijadwalkan',
  catatan         TEXT,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (penduduk_id)     REFERENCES penduduk(id) ON DELETE CASCADE,
  FOREIGN KEY (bantuan_id)      REFERENCES bantuan(id)  ON DELETE CASCADE,
  FOREIGN KEY (disalurkan_oleh) REFERENCES user(id)     ON DELETE SET NULL
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 8. LAPORAN MASYARAKAT
-- ────────────────────────────────────────────────
CREATE TABLE laporan (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  pelapor_nama    VARCHAR(150),     -- bisa anonim
  pelapor_telepon VARCHAR(20),
  penduduk_id     INT DEFAULT NULL, -- jika tahu NIK
  deskripsi       TEXT NOT NULL,
  lat             DECIMAL(10,7),
  lng             DECIMAL(10,7),
  alamat_laporan  TEXT,
  foto            VARCHAR(255),
  urgensi         ENUM('rendah','sedang','tinggi','darurat') DEFAULT 'sedang',
  status          ENUM('pending','diverifikasi','diproses','selesai') DEFAULT 'pending',
  diverifikasi_oleh INT DEFAULT NULL,
  catatan_admin   TEXT,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (penduduk_id)       REFERENCES penduduk(id) ON DELETE SET NULL,
  FOREIGN KEY (diverifikasi_oleh) REFERENCES user(id)     ON DELETE SET NULL
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 9. CHAT
-- ────────────────────────────────────────────────
CREATE TABLE chat (
  id              INT AUTO_INCREMENT PRIMARY KEY,
  dari_user_id    INT NOT NULL,
  ke_user_id      INT DEFAULT NULL,   -- NULL = broadcast ke semua pengurus
  pesan           TEXT NOT NULL,
  dibaca          TINYINT(1) DEFAULT 0,
  created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (dari_user_id) REFERENCES user(id) ON DELETE CASCADE,
  FOREIGN KEY (ke_user_id)   REFERENCES user(id) ON DELETE SET NULL
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- 10. LOG AKTIVITAS
-- ────────────────────────────────────────────────
CREATE TABLE log_aktivitas (
  id          INT AUTO_INCREMENT PRIMARY KEY,
  user_id     INT,
  aksi        VARCHAR(60) NOT NULL,
  tabel       VARCHAR(60),
  record_id   INT,
  keterangan  TEXT,
  ip_address  VARCHAR(45),
  created_at  TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE SET NULL
) ENGINE=InnoDB;

-- ────────────────────────────────────────────────
-- VIEW: Hitung umur & profil_umur otomatis
-- Kompatibel semua versi MySQL/MariaDB
-- ────────────────────────────────────────────────
CREATE OR REPLACE VIEW v_penduduk AS
SELECT
  p.*,
  TIMESTAMPDIFF(YEAR, p.tanggal_lahir, CURDATE()) AS umur,
  CASE
    WHEN TIMESTAMPDIFF(YEAR, p.tanggal_lahir, CURDATE()) < 5   THEN 'Balita'
    WHEN TIMESTAMPDIFF(YEAR, p.tanggal_lahir, CURDATE()) < 12  THEN 'Anak'
    WHEN TIMESTAMPDIFF(YEAR, p.tanggal_lahir, CURDATE()) < 18  THEN 'Remaja'
    WHEN TIMESTAMPDIFF(YEAR, p.tanggal_lahir, CURDATE()) < 60  THEN 'Dewasa'
    ELSE 'Lansia'
  END AS profil_umur
FROM penduduk p;

-- ────────────────────────────────────────────────
-- INDEX PERFORMA
-- ────────────────────────────────────────────────
CREATE INDEX idx_penduduk_nik        ON penduduk(nik);
CREATE INDEX idx_penduduk_keluarga   ON penduduk(keluarga_id);
CREATE INDEX idx_penduduk_ekonomi    ON penduduk(status_ekonomi);
CREATE INDEX idx_penduduk_hidup      ON penduduk(status_hidup);
CREATE INDEX idx_keluarga_ekonomi    ON keluarga(status_ekonomi);
CREATE INDEX idx_keluarga_ri         ON keluarga(rumah_ibadah_id);
CREATE INDEX idx_histori_penduduk    ON histori_bantuan(penduduk_id);
CREATE INDEX idx_histori_tgl         ON histori_bantuan(tanggal);
CREATE INDEX idx_laporan_status      ON laporan(status);
CREATE INDEX idx_laporan_urgensi     ON laporan(urgensi);
CREATE INDEX idx_chat_ke             ON chat(ke_user_id);
CREATE INDEX idx_log_user            ON log_aktivitas(user_id);

-- ================================================================
-- DATA AWAL
-- ================================================================

-- RUMAH IBADAH
INSERT INTO rumah_ibadah (nama, jenis, kontak, lat, lng, alamat, kelurahan) VALUES
('Masjid Raya Mujahidin',        'Masjid',  '0561-731234', -0.0193000, 109.3421000, 'Jl. Ahmad Yani No.1',          'Akcaya'),
('Gereja Katedral St. Yosef',    'Gereja',  '0561-734567', -0.0298000, 109.3334000, 'Jl. Pattimura No.8',           'Tengah'),
('Masjid Al-Falah',              'Masjid',  '0561-762111', -0.0089000, 109.3508000, 'Jl. Sultan Syarif No.3',       'Batu Layang'),
('Vihara Bodhisattva Karaniya',  'Vihara',  '0561-748999', -0.0351000, 109.3287000, 'Jl. Diponegoro No.12',         'Parit Tokaya'),
('Gereja Bethel Indonesia',      'Gereja',  '0561-712888', -0.0431000, 109.3376000, 'Jl. Imam Bonjol No.5',         'Benua Melayu Darat'),
('Masjid Jami Sultan Syarif',    'Masjid',  '0561-721000', -0.0145000, 109.3289000, 'Jl. Tanjung Raya II No.2',     'Saigon'),
('Klenteng Kwan Tie Miau',       'Klenteng','0561-737000', -0.0265000, 109.3301000, 'Jl. Diponegoro No.3',          'Mariana');

-- USER ([REDACTED]plaintext, bisa di-hash bcrypt via PHP)
INSERT INTO user (username, password, nama_lengkap, role_id, rumah_ibadah_id, telepon) VALUES
('superadmin',  'password', 'Super Administrator',          1, NULL, '08100000001'),
('pimpinan1',   'password', 'H. Andi Rachman (Walikota)',   2, NULL, '08100000002'),
('pengurus1',   'password', 'Ustadz H. Mahmud (Mujahidin)',3, 1,    '08100000003'),
('pengurus2',   'password', 'Rm. Petrus Lioe (Katedral)',   3, 2,    '08100000004'),
('pengurus3',   'password', 'Pak Budi (Al-Falah)',          3, 3,    '08100000005'),
('relawan1',    'password', 'Sri Wahyuni (Relawan Utara)',  4, NULL, '08100000006'),
('relawan2',    'password', 'Doni Pratama (Relawan Selatan)',4,NULL, '08100000007'),
('masyarakat1', 'password', 'Warga Umum 1',                5, NULL, '08100000008');

-- KELUARGA
INSERT INTO keluarga (no_kk, nama_kk, alamat, rt, rw, kelurahan, kecamatan, lat, lng, rumah_ibadah_id, status_ekonomi, created_by) VALUES
('6171011234560001','Suharto',         'Jl. Tanjung Raya I No.12', '03','05','Saigon',             'Pontianak Timur',  -0.0211000, 109.3445000, 1, 'miskin',  1),
('6171011234560002','Ahmad Fauzi',     'Jl. Parit Makmur No.7',   '01','02','Batu Layang',        'Pontianak Utara',  -0.0178000, 109.3398000, 3, 'miskin',  1),
('6171011234560003','Yulianus Sari',   'Jl. Veteran No.3',        '02','01','Tengah',              'Pontianak Kota',   -0.0323000, 109.3312000, 2, 'rentan',  1),
('6171011234560004','Robert Tanto',    'Jl. Gajahmada No.21',     '04','03','Mariana',             'Pontianak Kota',   -0.0289000, 109.3356000, 7, 'rentan',  1),
('6171011234560005','Samsul Bahri',    'Jl. Khatulistiwa No.5',   '01','01','Batu Layang',        'Pontianak Utara',  -0.0072000, 109.3521000, 3, 'miskin',  1),
('6171011234560006','Dewi Rahmawati',  'Jl. Sultan Hamid II No.8','02','04','Benua Melayu Darat', 'Pontianak Selatan',-0.0431000, 109.3401000, 5, 'miskin',  1),
('6171011234560007','Suparjo',         'Jl. Budi Utomo No.3',     '05','02','Saigon',             'Pontianak Timur',  -0.0148000, 109.3467000, 6, 'rentan',  1),
('6171011234560008','Maria Goreti Ngo','Jl. Sutoyo No.15',        '03','01','Parit Tokaya',       'Pontianak Selatan',-0.0372000, 109.3271000, 4, 'miskin',  1),
('6171011234560009','Lim Beng Huat',   'Jl. Diponegoro No.4',     '01','01','Mariana',            'Pontianak Kota',   -0.0340000, 109.3290000, 7, 'rentan',  1),
('6171011234560010','Daud Kristianto', 'Jl. Hos Cokroaminoto No.9','04','02','Akcaya',            'Pontianak Selatan',-0.0198000, 109.3372000, 1, 'miskin',  1);

-- PENDUDUK (contoh lengkap dengan NIK, umur, dll)
INSERT INTO penduduk (nik, nama, jenis_kelamin, tanggal_lahir, status_keluarga, status_perkawinan, keluarga_id, pendidikan_terakhir, status_pendidikan, pekerjaan, penghasilan, status_ekonomi, kondisi_kesehatan, lat, lng, created_by) VALUES
('6171011234560001','Suharto',         'L','1975-03-12','kepala','kawin',         1,'sd',   'tidak_sekolah','Buruh Harian',  500000, 'miskin', 'sehat',       -0.0211000,109.3445000,1),
('6171011234560002','Sri Mulyani',     'P','1978-07-20','istri', 'kawin',         1,'smp',  'tidak_sekolah','Ibu Rumah Tangga',0,    'miskin', 'sakit_ringan', -0.0211000,109.3445000,1),
('6171011234560003','Budi Suharto',    'L','2008-01-15','anak',  'belum_kawin',   1,'smp',  'masih_sekolah', NULL,           0,     'miskin', 'sehat',       -0.0211000,109.3445000,1),
('6171011234560004','Ahmad Fauzi',     'L','1968-11-05','kepala','kawin',         2,'sd',   'tidak_sekolah','Nelayan',       800000,'miskin', 'sehat',       -0.0178000,109.3398000,1),
('6171011234560005','Siti Aminah',     'P','1972-04-17','istri', 'kawin',         2,'sd',   'tidak_sekolah','Pedagang Kecil',300000,'miskin', 'sehat',       -0.0178000,109.3398000,1),
('6171011234560006','Yulianus Sari',   'L','1980-09-22','kepala','kawin',         3,'sma',  'tidak_sekolah','Ojek Online',   1200000,'rentan','sehat',       -0.0323000,109.3312000,1),
('6171011234560007','Robert Tanto',    'L','1985-06-18','kepala','kawin',         4,'sma',  'tidak_sekolah','Karyawan Swasta',2000000,'rentan','sehat',      -0.0289000,109.3356000,1),
('6171011234560008','Samsul Bahri',    'L','1958-12-30','kepala','kawin',         5,'sd',   'tidak_sekolah','Petani',        400000,'miskin','sakit_ringan', -0.0072000,109.3521000,1),
('6171011234560009','Dewi Rahmawati',  'P','1990-02-14','kepala','cerai_mati',    6,'smp',  'tidak_sekolah','Buruh Cuci',    600000,'miskin','sehat',        -0.0431000,109.3401000,1),
('6171011234560010','Nur Azizah',      'P','2010-05-10','anak',  'belum_kawin',   6,'sd',   'masih_sekolah', NULL,           0,    'miskin', 'sehat',        -0.0431000,109.3401000,1),
('6171011234560011','Suparjo',         'L','1970-08-25','kepala','kawin',         7,'sd',   'tidak_sekolah','Kuli Bangunan', 700000,'rentan','sehat',        -0.0148000,109.3467000,1),
('6171011234560012','Maria Goreti',    'P','1963-10-08','kepala','cerai_mati',    8,'sd',   'tidak_sekolah','Penjual Sayur', 450000,'miskin','disabilitas',  -0.0372000,109.3271000,1),
('6171011234560013','Lim Beng Huat',   'L','1955-03-17','kepala','kawin',         9,'smp',  'tidak_sekolah','Pensiunan',     800000,'rentan','sakit_ringan', -0.0340000,109.3290000,1),
('6171011234560014','Daud Kristianto', 'L','1972-07-04','kepala','kawin',        10,'sma',  'tidak_sekolah','Pedagang',      900000,'miskin','sehat',        -0.0198000,109.3372000,1),
('6171011234560015','Yanto Pramono',   'L','2007-09-12','anak',  'belum_kawin',   7,'smp',  'masih_sekolah', NULL,           0,    'rentan','sehat',         -0.0148000,109.3467000,1);

-- PELATIHAN
INSERT INTO pelatihan (nama_pelatihan, penyelenggara, tanggal, durasi_hari, deskripsi) VALUES
('Pelatihan Menjahit Dasar',     'Dinsos Pontianak',   '2024-03-15', 7,  'Pelatihan menjahit untuk ibu rumah tangga'),
('Kursus Memasak & Katering',    'Baznas Kalbar',      '2024-04-20', 5,  'Pelatihan memasak dan usaha katering'),
('Budidaya Sayuran Hidroponik',  'Dinas Pertanian',    '2024-05-10', 3,  'Teknik menanam sayuran di lahan terbatas'),
('Keterampilan Las Listrik',     'BLK Pontianak',      '2024-06-05', 14, 'Keterampilan las untuk remaja putus sekolah'),
('Digital Marketing UMKM',       'Kominfo Pontianak',  '2024-07-01', 2,  'Pemasaran online untuk usaha mikro');

-- RIWAYAT PELATIHAN
INSERT INTO riwayat_pelatihan (penduduk_id, pelatihan_id, tanggal_ikut) VALUES
(6, 1, '2024-03-15'), (9, 1, '2024-03-15'),
(7, 2, '2024-04-20'), (12, 3, '2024-05-10');

-- BANTUAN
INSERT INTO bantuan (nama, jenis, sumber, satuan, nilai_per_satuan, periode) VALUES
('PKH (Program Keluarga Harapan)',  'uang_tunai', 'Kemensos RI',      'Rp',     750000, 'triwulan'),
('BPNT (Sembako)',                  'sembako',    'Kemensos RI',      'paket',  200000, 'bulanan'),
('BLT Dana Desa',                   'uang_tunai', 'APBDes',           'Rp',     300000, 'bulanan'),
('Bantuan Baznas Kalbar',           'sembako',    'Baznas Kalbar',    'paket',  150000, 'bulanan'),
('JKN PBI (BPJS Gratis)',           'kesehatan',  'APBN/APBD',        'kartu',  0,      'tahunan'),
('Beasiswa Anak Miskin',            'pendidikan', 'Pemkot Pontianak', 'Rp',     500000, 'triwulan'),
('Bantuan Sembako Masjid Mujahidin','sembako',    'ZIS Mujahidin',    'paket',  100000, 'bulanan'),
('Program Bedah Rumah',             'perumahan',  'APBD Kota',        'unit',   15000000,'sekali');

-- HISTORI BANTUAN
INSERT INTO histori_bantuan (penduduk_id, bantuan_id, disalurkan_oleh, tanggal, jumlah, status, catatan) VALUES
(4,  1, 3, '2024-01-15', 1, 'disalurkan', 'PKH triwulan 1 2024'),
(4,  2, 3, '2024-01-20', 1, 'disalurkan', 'BPNT Januari'),
(4,  2, 3, '2024-02-20', 1, 'disalurkan', 'BPNT Februari'),
(9,  1, 4, '2024-01-15', 1, 'disalurkan', 'PKH triwulan 1 2024'),
(9,  2, 4, '2024-01-22', 1, 'disalurkan', 'BPNT Januari'),
(1,  4, 3, '2024-02-01', 1, 'disalurkan', 'Bantuan Baznas Februari'),
(8,  4, 3, '2024-02-01', 1, 'disalurkan', 'Bantuan Baznas Februari'),
(12, 7, 4, '2024-02-05', 1, 'disalurkan', 'Sembako Katedral Februari'),
(14, 3, 5, '2024-02-10', 1, 'disalurkan', 'BLT Dana Desa'),
(7,  2, 3, '2024-03-20', 1, 'dijadwalkan','Dijadwalkan Maret');

-- LAPORAN MASYARAKAT
INSERT INTO laporan (pelapor_nama, penduduk_id, deskripsi, lat, lng, alamat_laporan, urgensi, status) VALUES
('Anonim',        8,  'Pak Samsul Bahri sakit keras sudah 2 minggu, tidak ada yang merawat dan tidak punya biaya berobat.', -0.0072000, 109.3521000, 'Jl. Khatulistiwa Pontianak Utara', 'darurat',  'diverifikasi'),
('Ani Marlina',   12, 'Ibu Maria sudah tua dan mengalami cacat, tinggal sendirian dan kesulitan memenuhi kebutuhan sehari-hari.', -0.0372000, 109.3271000, 'Jl. Sutoyo Pontianak Selatan', 'tinggi', 'diproses'),
('Warga RT 03',   NULL, 'Ada keluarga baru pindah di Jl. Karet yang tampak sangat tidak mampu, rumah tidak layak huni.', -0.0195000, 109.3388000, 'Jl. Karet RT 03 RW 02', 'sedang', 'pending'),
('Pak Hasan',     1,  'Keluarga Suharto belum dapat bantuan sama sekali padahal sangat membutuhkan.', -0.0211000, 109.3445000, 'Jl. Tanjung Raya I', 'tinggi', 'pending');

-- CHAT
INSERT INTO chat (dari_user_id, ke_user_id, pesan) VALUES
(3, NULL, 'Mohon perhatian semua pengurus: ada warga darurat di wilayah Utara, Pak Samsul Bahri butuh bantuan segera 🆘'),
(4, 3,    'Siap, kami dari Katedral akan kirim relawan ke sana hari ini.'),
(3, 4,    'Terima kasih Rm. Petrus. Koordinasi dengan Pak Budi dari Al-Falah ya karena lebih dekat.'),
(5, NULL, 'Update: bantuan sembako sudah diserahkan ke Pak Samsul. Beliau butuh juga bantuan biaya berobat.'),
(6, NULL, 'Laporan survey: 3 rumah tidak layak huni ditemukan di Jl. Karet. Foto sudah diupload.');

-- LOG AKTIVITAS
INSERT INTO log_aktivitas (user_id, aksi, tabel, record_id, keterangan) VALUES
(1, 'CREATE', 'keluarga',       1,  'Input keluarga baru: Suharto'),
(1, 'CREATE', 'penduduk',       1,  'Input penduduk baru: NIK 6171011234560001'),
(3, 'UPDATE', 'histori_bantuan',1,  'Catat penyaluran PKH ke Ahmad Fauzi'),
(3, 'CREATE', 'laporan',        1,  'Laporan darurat: Samsul Bahri sakit keras'),
(4, 'UPDATE', 'laporan',        2,  'Update status laporan Maria Goreti ke diproses'),
(6, 'CREATE', 'laporan',        3,  'Survey lapangan: 3 rumah tidak layak di Jl. Karet');
