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

$id_oksidasi     = $_POST['id_oksidasi'] ?? null;
$id_produksi     = $_POST['id_produksi'] ?? null;
$id_user         = $_SESSION['id_user'] ?? null;
$berat_oksidasi  = $_POST['berat_oksidasi'];
$suhu            = $_POST['suhu'];
$kelembapan      = $_POST['kelembapan'];
$durasi          = $_POST['durasi'];
$keterangan      = $_POST['keterangan'] ?? '-';

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

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

// ✅ Ambil id_user & id_penggilingan dari oksidasi
$sqlGetOksidasi = "SELECT id_user, id_penggilingan FROM oksidasi WHERE id_oksidasi = ?";
$stmtOksidasi = mysqli_prepare($conn, $sqlGetOksidasi);
mysqli_stmt_bind_param($stmtOksidasi, "i", $id_oksidasi);
mysqli_stmt_execute($stmtOksidasi);
mysqli_stmt_bind_result($stmtOksidasi, $id_user_db, $id_penggilingan);
mysqli_stmt_fetch($stmtOksidasi);
mysqli_stmt_close($stmtOksidasi);

// Gunakan id_user dari DB jika session kosong
$id_user_final = $id_user ?: $id_user_db;

// ✅ Ambil berat_giling dari penggilingan
$sqlGetGiling = "SELECT berat_giling FROM penggilingan WHERE id_penggilingan = ?";
$stmtGiling = mysqli_prepare($conn, $sqlGetGiling);
mysqli_stmt_bind_param($stmtGiling, "i", $id_penggilingan);
mysqli_stmt_execute($stmtGiling);
mysqli_stmt_bind_result($stmtGiling, $berat_giling);
mysqli_stmt_fetch($stmtGiling);
mysqli_stmt_close($stmtGiling);

// ✅ 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 oksidasi otomatis
$standar_oksidasi = ($suhu >= 16 && $suhu <= 29 && $kelembapan >= 80)
    ? 'Memenuhi'
    : 'Tidak Memenuhi';

// ✅ Jalankan UPDATE ke tabel oksidasi
$sql = "UPDATE oksidasi SET
    berat_giling = ?,
    berat_oksidasi = ?,
    suhu = ?,
    kelembapan = ?,
    durasi = ?,
    standar_oksidasi = ?,
    keterangan = ?,
    id_user = ?,
    name = ?,
    jabatan = ?,
    status = 'Selesai',
    tanggal_input = NOW()
WHERE id_oksidasi = ?";

$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param(
    $stmt,
    "dddddssissi",
    $berat_giling,           // d
    $berat_oksidasi,         // d
    $suhu,                   // d
    $kelembapan,             // d
    $durasi,                 // d
    $standar_oksidasi,       // s
    $keterangan,             // s
    $id_user_final,          // i
    $name,                   // s
    $jabatan,                // s
    $id_oksidasi              // i
);

mysqli_stmt_execute($stmt);

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

mysqli_stmt_close($stmt);
exit;
?>
