<?php
require_once __DIR__ . '/config/config.php';

$id_opname     = $_POST['id_opname'];
$kode_rekening = $_POST['kode_rekening'];
$nama_barang   = trim($_POST['nama_barang']);
$satuan        = $_POST['satuan'];

$awal_qty      = (int)$_POST['awal_qty'];
$awal_jumlah   = (float)$_POST['awal_jumlah'];
$masuk_qty     = (int)$_POST['masuk_qty'];
$masuk_jumlah  = (float)$_POST['masuk_jumlah'];
$keluar_qty    = (int)$_POST['keluar_qty'];
$keluar_jumlah = (float)$_POST['keluar_jumlah'];

$akhir_qty     = $awal_qty + $masuk_qty - $keluar_qty;
$akhir_harga   = ($akhir_qty > 0) ? ($awal_jumlah + $masuk_jumlah - $keluar_jumlah) / $akhir_qty : 0;
$akhir_jumlah  = $akhir_qty * $akhir_harga;

$sql = "
INSERT INTO stok_opname_detail (
    id_opname,
    kode_rekening,
    nama_barang,
    satuan,
    awal_qty,
    awal_jumlah,
    masuk_qty,
    masuk_jumlah,
    keluar_qty,
    keluar_jumlah,
    akhir_qty,
    akhir_harga,
    akhir_jumlah
) VALUES (
    '$id_opname',
    '$kode_rekening',
    '$nama_barang',
    '$satuan',
    '$awal_qty',
    '$awal_jumlah',
    '$masuk_qty',
    '$masuk_jumlah',
    '$keluar_qty',
    '$keluar_jumlah',
    '$akhir_qty',
    '$akhir_harga',
    '$akhir_jumlah'
)
ON DUPLICATE KEY UPDATE
    satuan        = VALUES(satuan),
    awal_qty      = VALUES(awal_qty),
    awal_jumlah   = VALUES(awal_jumlah),
    masuk_qty     = VALUES(masuk_qty),
    masuk_jumlah  = VALUES(masuk_jumlah),
    keluar_qty    = VALUES(keluar_qty),
    keluar_jumlah = VALUES(keluar_jumlah),
    akhir_qty     = VALUES(akhir_qty),
    akhir_harga   = VALUES(akhir_harga),
    akhir_jumlah  = VALUES(akhir_jumlah)
";
$cek = mysqli_query($conn,"
    SELECT id_opname
    FROM stok_opname
    WHERE npsn='$npsn'
      AND bulan='$bulan'
      AND tahun='$tahun'
    LIMIT 1
");

if (mysqli_num_rows($cek) > 0) {
    $_SESSION['error'] = "Stok opname bulan $bulan-$tahun sudah disimpan dan tidak bisa diulang.";
    header("Location: stok_opname.php");
    exit;
}

mysqli_query($conn, $sql);
