<?php
require_once __DIR__.'/../includes/db.php';
require_once __DIR__.'/../includes/auth.php';

// Validasi dan ambil ID pengajuan dari URL
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    die("ID pengajuan tidak valid.");
}

$id = (int)$_GET['id'];

// Ambil data pengajuan berdasarkan ID dan status 'pending'
$p = $mysqli->query("
  SELECT * FROM pengajuan_surat
  WHERE id = $id AND status = 'pending'
")->fetch_assoc();

// Cek apakah data pengajuan ditemukan
if (!$p) {
    die("Pengajuan surat tidak ditemukan.");
}

// Decoding data tambahan (JSON)
$data = json_decode($p['data_tambahan'], true);

// Ambil data anak berdasarkan ID warga
$anak = $mysqli->query("
  SELECT id, nomor_kk FROM infografis WHERE id = {$p['warga_id']}
")->fetch_assoc();

// Cek apakah data anak ditemukan
if (!$anak) {
    die("Data anak tidak ditemukan.");
}

// Ambil data orang tua berdasarkan nomor KK
$ortu = $mysqli->query("
  SELECT id FROM infografis
  WHERE nomor_kk = '{$anak['nomor_kk']}'
    AND status_dalam_keluarga IN ('Ayah', 'Ibu', 'Kepala Keluarga')
  LIMIT 1
")->fetch_assoc();

// Cek apakah data orang tua ditemukan
if (!$ortu) {
    die("Data orang tua tidak ditemukan.");
}

// Hitung nomor surat berikutnya
$n = $mysqli->query("SELECT COUNT(*) AS t FROM surat_penghasilan_ortu")
    ->fetch_assoc()['t'] + 1;

$nomor = "031/$n/SKPOT/Ds.M/" . date('m') . "/" . date('Y');

// Persiapkan dan eksekusi query untuk menyimpan data surat penghasilan orang tua
$stmt = $mysqli->prepare("
  INSERT INTO surat_penghasilan_ortu
  (ortu_id, anak_id, nomor_surat, penghasilan, keperluan, tanggal_surat)
  VALUES (?, ?, ?, ?, ?, CURDATE())
");

$stmt->bind_param("iisis", $ortu['id'], $anak['id'], $nomor, $data['penghasilan'], $data['keperluan']);

// Eksekusi dan update status pengajuan surat menjadi 'acc'
if ($stmt->execute()) {
    $mysqli->query("
      UPDATE pengajuan_surat
      SET status = 'acc', tanggal_acc = CURDATE()
      WHERE id = $id
    ");

    // Redirect ke halaman pengajuan surat
    header("Location: pengajuan_surat.php");
    exit;
} else {
    // Jika gagal eksekusi
    die("Gagal mengajukan surat: " . $stmt->error);
}
?>
