<?php
session_start();
include 'koneksi.php';

$id_penggilingan   = $_POST['id_penggilingan'] ?? null;
$id_produksi       = $_POST['id_produksi'] ?? null;
$id_user           = $_SESSION['id_user'] ?? null;
$berat_giling      = $_POST['berat_giling'];
$suhu_bubuk        = $_POST['suhu_bubuk'];
$kelembapan        = $_POST['kelembapan'];
$suhu_ruangan      = $_POST['suhu_ruangan'];
$keterangan        = $_POST['keterangan'] ?? '-';

if (!$id_user) {
    die("❌ Akses ditolak. Silakan login.");
}

if (!$id_penggilingan || !$id_produksi) {
    die("❌ Error: Data tidak lengkap. Pastikan ID Penggilingan dan ID Produksi tersedia.");
}

// ✅ Ambil id_user & id_pelayuan dari penggilingan
$sqlGetPenggilingan = "SELECT id_user, id_pelayuan FROM penggilingan WHERE id_penggilingan = ?";
$stmtPenggilingan = mysqli_prepare($conn, $sqlGetPenggilingan);
mysqli_stmt_bind_param($stmtPenggilingan, "i", $id_penggilingan);
mysqli_stmt_execute($stmtPenggilingan);
mysqli_stmt_bind_result($stmtPenggilingan, $id_user_db, $id_pelayuan);
mysqli_stmt_fetch($stmtPenggilingan);
mysqli_stmt_close($stmtPenggilingan);

// Gunakan id_user dari DB (bukan hanya dari session)
$id_user_final = $id_user ?: $id_user_db;

// ✅ Ambil berat_layu dari pelayuan
$sqlGetLayu = "SELECT berat_layu FROM pelayuan WHERE id_pelayuan = ?";
$stmtLayu = mysqli_prepare($conn, $sqlGetLayu);
mysqli_stmt_bind_param($stmtLayu, "i", $id_pelayuan);
mysqli_stmt_execute($stmtLayu);
mysqli_stmt_bind_result($stmtLayu, $berat_layu);
mysqli_stmt_fetch($stmtLayu);
mysqli_stmt_close($stmtLayu);

// ✅ Ambil name & jabatan dari users
$sqlGetUser = "SELECT `name`, jabatan FROM users WHERE id_user = ?";
$stmtUser = mysqli_prepare($conn, $sqlGetUser);
mysqli_stmt_bind_param($stmtUser, "i", $id_user_final);
mysqli_stmt_execute($stmtUser);
mysqli_stmt_bind_result($stmtUser, $name, $jabatan);
mysqli_stmt_fetch($stmtUser);
mysqli_stmt_close($stmtUser);

// ✅ Hitung standar penggilingan otomatis
$standar_penggilingan = ($suhu_bubuk >= 60 && $suhu_bubuk <= 70 && $kelembapan >= 80 && $suhu_ruangan >= 16 && $suhu_ruangan <= 29)
    ? 'Memenuhi'
    : 'Tidak Memenuhi';

// ✅ Jalankan UPDATE ke tabel penggilingan
$sql = "UPDATE penggilingan SET
    berat_layu = ?,
    berat_giling = ?,
    suhu_bubuk = ?,
    kelembapan = ?,
    suhu_ruangan = ?,
    standar_penggilingan = ?,
    keterangan = ?,
    id_user = ?,
    name = ?,
    jabatan = ?,
    status = 'Selesai',
    tanggal_input = NOW()
WHERE id_penggilingan = ?";

$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param(
    $stmt,
    "dddddssissi",
    $berat_layu,              // d
    $berat_giling,            // d
    $suhu_bubuk,              // d
    $kelembapan,              // d
    $suhu_ruangan,            // d
    $standar_penggilingan,    // s
    $keterangan,              // s
    $id_user_final,           // i
    $name,                    // s
    $jabatan,                 // s
    $id_penggilingan          // i
);

mysqli_stmt_execute($stmt);


// ✅ Cek hasil dan redirect
if (mysqli_stmt_affected_rows($stmt) > 0) {
    header("Location: penggilingan.php?id_produksi=$id_produksi&status=BerhasilDitambahkan");
    exit;
} else {
    die("❌ Gagal menyimpan data. Cek apakah ID Penggilingan valid.");
}

mysqli_stmt_close($stmt);
exit;
?>
