40 lines
1.9 KiB
PHP
40 lines
1.9 KiB
PHP
<?php
|
|
header("Content-Type: application/json; charset=UTF-8");
|
|
header("Access-Control-Allow-Methods: POST");
|
|
require_once '../koneksi.php';
|
|
|
|
$data = json_decode(file_get_contents("php://input"));
|
|
|
|
if (!empty($data->id_penduduk)) {
|
|
try {
|
|
$conn->beginTransaction();
|
|
|
|
// 1. Catat Logistik Bantuan
|
|
$query = "INSERT INTO log_bantuan (id_penduduk, beras_kg, minyak_l, gula_kg, telur_kg, susu_kaleng, tunai_rp, catatan)
|
|
VALUES (:id, :beras, :minyak, :gula, :telur, :susu, :tunai, :catatan)";
|
|
$stmt = $conn->prepare($query);
|
|
$stmt->bindValue(':id', $data->id_penduduk, PDO::PARAM_INT);
|
|
$stmt->bindValue(':beras', $data->beras, PDO::PARAM_INT);
|
|
$stmt->bindValue(':minyak', $data->minyak, PDO::PARAM_INT);
|
|
$stmt->bindValue(':gula', $data->gula, PDO::PARAM_INT);
|
|
$stmt->bindValue(':telur', $data->telur, PDO::PARAM_INT);
|
|
$stmt->bindValue(':susu', $data->susu, PDO::PARAM_INT);
|
|
$stmt->bindValue(':tunai', $data->tunai, PDO::PARAM_INT);
|
|
$stmt->bindValue(':catatan', htmlspecialchars(strip_tags($data->catatan)));
|
|
$stmt->execute();
|
|
|
|
// 2. KUNCI BABAK 4: Padamkan status darurat jika keluarga ini sedang terkena musibah
|
|
$updateMusibah = $conn->prepare("UPDATE laporan_musibah SET status_penanganan = 'Sudah Ditangani' WHERE id_penduduk = :id AND status_penanganan = 'Belum Ditangani'");
|
|
$updateMusibah->bindValue(':id', $data->id_penduduk, PDO::PARAM_INT);
|
|
$updateMusibah->execute();
|
|
|
|
$conn->commit();
|
|
echo json_encode(["pesan" => "Bantuan disalurkan. Status darurat keluarga ini telah dipadamkan secara otomatis."]);
|
|
} catch(PDOException $e) {
|
|
$conn->rollBack();
|
|
http_response_code(500); echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
|
|
}
|
|
} else {
|
|
http_response_code(400); echo json_encode(["error" => "ID Keluarga Penerima tidak valid."]);
|
|
}
|
|
?>
|