<?php
include 'koneksi.php';

// Simulasikan ID User yang sedang login (Ganti dengan session di implementasi nyata)
$current_user_id = 1; 

// --- FUNGSI AUTO GENERATE KODE BATCH ---
function generateKodeBatch($id_kebun, $koneksi) {
    // Ambil data komoditas dari ID Kebun
    $q = mysqli_query($koneksi, "SELECT komoditas, nama_kebun FROM kebun_master WHERE id_kebun = '$id_kebun'");
    $data_kebun = mysqli_fetch_assoc($q);
    
    $komoditas = strtoupper(substr($data_kebun['komoditas'], 0, 3)); // 3 huruf pertama komoditas
    $lokasi = strtoupper(substr($data_kebun['nama_kebun'], 0, 2)); // 2 huruf pertama lokasi
    $tanggal = date("Ymd");
    $random_num = str_pad(mt_rand(1, 99), 2, '0', STR_PAD_LEFT);
    
    return $lokasi . "-" . $komoditas . "-" . $tanggal . "-" . $random_num; 
}

// --- PROSES INPUT PANEN AKTUAL ---
if (isset($_POST['submit_panen'])) {
    $id_kebun = $_POST['id_kebun'];
    $tgl_panen_aktual = date('Y-m-d H:i:s'); // Menggunakan waktu server saat submit
    $hasil_aktual = $_POST['hasil_aktual_kg'];
    $jumlah_pekerja = $_POST['jumlah_pekerja'];
    $suhu_lapangan = $_POST['suhu_lapangan_C'];
    $kode_batch = generateKodeBatch($id_kebun, $koneksi);

    // Data dimasukkan dengan status 'Pending'
    $sql = "INSERT INTO panen_aktual (id_kebun_fk, kode_batch, tgl_panen_aktual, hasil_aktual_kg, jumlah_pekerja, suhu_lapangan_C, status_otorisasi) 
            VALUES ('$id_kebun', '$kode_batch', '$tgl_panen_aktual', '$hasil_aktual', '$jumlah_pekerja', '$suhu_lapangan', 'Pending')";

    if (mysqli_query($koneksi, $sql)) {
        $pesan_panen = "<div class='alert alert-success'>Data Panen **$kode_batch** berhasil diinput. Menunggu otorisasi Supervisor.</div>";
    } else {
        $pesan_panen = "<div class='alert alert-danger'>Error: " . mysqli_error($koneksi) . "</div>";
    }
}

// --- PROSES OTORISASI (Supervisor) ---
if (isset($_POST['otorisasi'])) {
    $id_panen = $_POST['id_panen_otorisasi'];
    $status = $_POST['status_approval'];
    $tgl_otorisasi = date('Y-m-d H:i:s');
    
    // Asumsi: User 1 adalah Supervisor
    $sql_otorisasi = "UPDATE panen_aktual SET status_otorisasi = '$status', otorisator_id_fk = '$current_user_id', tgl_otorisasi = '$tgl_otorisasi' WHERE id_panen = '$id_panen'";

    if (mysqli_query($koneksi, $sql_otorisasi)) {
        $pesan_otorisasi = "<div class='alert alert-info'>Panen ID: $id_panen telah di-*$status*.</div>";
    } else {
        $pesan_otorisasi = "<div class='alert alert-danger'>Gagal otorisasi: " . mysqli_error($koneksi) . "</div>";
    }
}

// Ambil data kebun untuk dropdown
$data_kebun = mysqli_query($koneksi, "SELECT id_kebun, nama_kebun, komoditas FROM kebun_master");

// Ambil data panen untuk tabel tracking
$data_panen_aktual = mysqli_query($koneksi, "
    SELECT pa.*, km.nama_kebun, km.komoditas 
    FROM panen_aktual pa 
    JOIN kebun_master km ON pa.id_kebun_fk = km.id_kebun 
    ORDER BY pa.tgl_panen_aktual DESC
");
?>

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Input & Otorisasi Panen Aktual</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
    <h2>Input Data Panen Aktual</h2>
    <?php echo $pesan_panen ?? ''; ?>
    
    <form method="POST">
        <div class="row g-3 mb-4">
            <div class="col-md-6">
                <label class="form-label">Pilih Kebun/Blok</label>
                <select name="id_kebun" class="form-select" required>
                    <option value="">-- Pilih Kebun --</option>
                    <?php while ($kebun = mysqli_fetch_assoc($data_kebun)): ?>
                        <option value="<?php echo $kebun['id_kebun']; ?>">
                            <?php echo $kebun['nama_kebun'] . " (" . $kebun['komoditas'] . ")"; ?>
                        </option>
                    <?php endwhile; ?>
                </select>
            </div>
            <div class="col-md-6">
                <label class="form-label">Hasil Panen Aktual (Kg)</label>
                <input type="number" step="0.01" name="hasil_aktual_kg" class="form-control" required>
            </div>
            <div class="col-md-4">
                <label class="form-label">Jumlah Pekerja</label>
                <input type="number" name="jumlah_pekerja" class="form-control" required>
            </div>
            <div class="col-md-4">
                <label class="form-label">Suhu Lapangan (°C)</label>
                <input type="number" step="0.1" name="suhu_lapangan_C" class="form-control">
            </div>
            <div class="col-12">
                <button type="submit" name="submit_panen" class="btn btn-success">Input Hasil Panen</button>
            </div>
        </div>
    </form>
    
    <hr>
    
    <h3>Dashboard Otorisasi & Status Panen</h3>
    <?php echo $pesan_otorisasi ?? ''; ?>
    <div class="table-responsive">
        <table class="table table-striped table-hover">
            <thead>
                <tr>
                    <th>Kode Batch</th>
                    <th>Kebun (Komoditas)</th>
                    <th>Tgl Panen</th>
                    <th>Hasil (Kg)</th>
                    <th>Status</th>
                    <th>Aksi Otorisasi</th>
                </tr>
            </thead>
            <tbody>
                <?php while ($panen = mysqli_fetch_assoc($data_panen_aktual)): ?>
                <tr>
                    <td>**<?php echo $panen['kode_batch']; ?>**</td>
                    <td><?php echo $panen['nama_kebun'] . " (" . $panen['komoditas'] . ")"; ?></td>
                    <td><?php echo date('Y-m-d H:i', strtotime($panen['tgl_panen_aktual'])); ?></td>
                    <td><?php echo $panen['hasil_aktual_kg']; ?></td>
                    <td>
                        <?php 
                            $status = $panen['status_otorisasi'];
                            $class = ($status == 'Approved') ? 'bg-success' : (($status == 'Rejected') ? 'bg-danger' : 'bg-warning');
                            echo "<span class='badge $class text-white'>$status</span>";
                        ?>
                    </td>
                    <td>
                        <?php if ($panen['status_otorisasi'] == 'Pending'): // Hanya tampilkan aksi jika status Pending ?>
                        <form method="POST" class="d-inline">
                            <input type="hidden" name="id_panen_otorisasi" value="<?php echo $panen['id_panen']; ?>">
                            <input type="hidden" name="status_approval" value="Approved">
                            <button type="submit" name="otorisasi" class="btn btn-sm btn-success">Setujui</button>
                        </form>
                        <form method="POST" class="d-inline">
                            <input type="hidden" name="id_panen_otorisasi" value="<?php echo $panen['id_panen']; ?>">
                            <input type="hidden" name="status_approval" value="Rejected">
                            <button type="submit" name="otorisasi" class="btn btn-sm btn-danger">Tolak</button>
                        </form>
                        <?php else: ?>
                        <small>Selesai</small>
                        <?php endif; ?>
                    </td>
                </tr>
                <?php endwhile; ?>
            </tbody>
        </table>
    </div>
</div>
</body>
</html>