add files

This commit is contained in:
2026-06-10 18:32:52 +07:00
parent 12c04e37eb
commit 3430850d69
45 changed files with 7872 additions and 0 deletions
+375
View File
@@ -0,0 +1,375 @@
-- ================================================================
-- 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 (password = "password" 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');