54 lines
2.1 KiB
PHP
54 lines
2.1 KiB
PHP
<?php
|
|
require_once 'auth.php';
|
|
require_write_access_json();
|
|
header('Content-Type: application/json');
|
|
include 'db.php';
|
|
|
|
$data = json_decode(file_get_contents("php://input"), true);
|
|
if (!$data) { echo json_encode(["message"=>"Data kosong"]); exit; }
|
|
|
|
$nama_kk = $data['nama_kk'] ?? '';
|
|
$jumlah_anggota = $data['jumlah_anggota'] ?? 1;
|
|
$alamat = $data['alamat'] ?? '';
|
|
$lat = $data['lat'] ?? 0;
|
|
$lng = $data['lng'] ?? 0;
|
|
|
|
// Parameter baru
|
|
$penghasilan = $data['penghasilan'] ?? '< 500rb';
|
|
$kondisi_rumah = $data['kondisi_rumah'] ?? 'Kayu';
|
|
$sumber_air = $data['sumber_air'] ?? 'Sumur';
|
|
|
|
if ($nama_kk==='' || $alamat==='') { echo json_encode(["message"=>"Field tidak lengkap"]); exit; }
|
|
|
|
// Kalkulasi Bobot
|
|
$penghasilan_opsi = ['< 500rb' => 100, '500rb - 1jt' => 50, '> 1jt' => 10];
|
|
$rumah_opsi = ['Bambu/Tepas' => 100, 'Kayu' => 50, 'Tembok' => 10];
|
|
$air_opsi = ['Sungai' => 100, 'Sumur' => 50, 'PDAM' => 10];
|
|
|
|
$val_p = $penghasilan_opsi[$penghasilan] ?? 50;
|
|
$val_r = $rumah_opsi[$kondisi_rumah] ?? 50;
|
|
$val_a = $air_opsi[$sumber_air] ?? 50;
|
|
|
|
// Rumus: Penghasilan 50%, Rumah 30%, Air 20%
|
|
$skor_kerentanan = ($val_p * 0.50) + ($val_r * 0.30) + ($val_a * 0.20);
|
|
|
|
// Rekomendasi jenis bantuan berdasarkan indikator terburuk
|
|
$skor_per_jenis = [
|
|
'BLT / Modal Usaha' => $val_p,
|
|
'Bedah Rumah' => $val_r,
|
|
'Air Bersih / PDAM' => $val_a,
|
|
];
|
|
arsort($skor_per_jenis);
|
|
$jenis_bantuan = array_key_first($skor_per_jenis);
|
|
|
|
$stmt = $conn->prepare("INSERT INTO penduduk_miskin (nama_kk, jumlah_anggota, alamat, latitude, longitude, penghasilan, kondisi_rumah, sumber_air, skor_kerentanan, jenis_bantuan) VALUES (?,?,?,?,?,?,?,?,?,?)");
|
|
$stmt->bind_param("sisddsssds", $nama_kk, $jumlah_anggota, $alamat, $lat, $lng, $penghasilan, $kondisi_rumah, $sumber_air, $skor_kerentanan, $jenis_bantuan);
|
|
|
|
if ($stmt->execute()) {
|
|
echo json_encode(["message"=>"Berhasil", "id"=>$stmt->insert_id, "skor"=>$skor_kerentanan]);
|
|
} else {
|
|
echo json_encode(["message"=>"Gagal", "error"=>$stmt->error]);
|
|
}
|
|
$stmt->close(); $conn->close();
|
|
?>
|