<?php
// Mengaktifkan error reporting untuk debugging
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// Koneksi ke database
$koneksi = new mysqli("localhost", "bpjw9637_inventori", "inventori123", "bpjw9637_inventori");

// Cek koneksi
if ($koneksi->connect_error) {
    die("Koneksi gagal: " . $koneksi->connect_error);
}

// Mendapatkan nilai filter dari form jika ada
$filter = isset($_GET['filter']) ? $_GET['filter'] : 'all';

// Menentukan query berdasarkan filter
if ($filter == 'low_stock') {
    $query = "SELECT * FROM gudang WHERE jumlah <= 5 ORDER BY kode_barang ASC";
} else {
    // 'all' atau filter lainnya
    $query = "SELECT * FROM gudang ORDER BY (jumlah <= 5) DESC, kode_barang ASC";
}

$sql = $koneksi->query($query);

// Periksa jika query gagal
if (!$sql) {
    die("Query gagal: " . $koneksi->error);
}

// Menghitung jumlah barang yang memenuhi kriteria filter
if ($filter == 'low_stock') {
    $count_result = $koneksi->query("SELECT COUNT(*) as total FROM gudang WHERE jumlah <= 5");
    if ($count_result) {
        $count = $count_result->fetch_assoc()['total'];
    } else {
        $count = 0;
        echo "Error dalam menghitung jumlah barang: " . $koneksi->error;
    }
} else {
    $count_result = $koneksi->query("SELECT COUNT(*) as total FROM gudang");
    if ($count_result) {
        $count = $count_result->fetch_assoc()['total'];
    } else {
        $count = 0;
        echo "Error dalam menghitung jumlah barang: " . $koneksi->error;
    }
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Stok Gudang</title>
    <!-- CSS untuk efek zoom dan penyorotan stok rendah -->
    <style>
      /* CSS untuk efek zoom dengan sudut foto agak bulat */
      .table-responsive img {
        transition: transform 0.5s ease, border-radius 0.5s ease;
        cursor: pointer;
        border-radius: 5px; /* Sudut sedikit bulat pada gambar */
      }

      .table-responsive img:hover {
        transform: scale(4); /* Zoom lebih besar tanpa rotasi */
        border-radius: 15px; /* Sudut lebih bulat saat di-zoom */
        position: absolute;
        z-index: 1000;
      }

      /* CSS tambahan untuk menyorot baris dengan stok rendah */
      .low-stock {
        background-color: #f8d7da; /* Warna latar belakang merah muda */
      }

      /* CSS untuk menu filter */
      .filter-container {
        margin-bottom: 20px;
      }

      .filter-container select {
        width: 200px;
        padding: 5px;
        border-radius: 4px;
      }

      /* Menambahkan relative positioning pada table-responsive untuk positioning gambar */
      .table-responsive {
        position: relative;
      }
    </style>
    <!-- Tambahkan CSS framework seperti Bootstrap jika diperlukan -->
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container-fluid">

  <!-- DataTales Example -->
  <div class="card shadow mb-4">
    <div class="card-header py-3">
      <h6 class="m-0 font-weight-bold text-primary">Stok Gudang</h6>
    </div>
    <div class="card-body">
      <div class="table-responsive">

      

        <!-- Menampilkan Jumlah Barang -->
        <div class="mb-3">
          <?php
            if ($filter == 'low_stock') {
                echo "<strong>Total Barang dengan Stok ≤5:</strong> " . $count;
            } else {
                echo "<strong>Total Barang:</strong> " . $count;
            }
          ?>
        </div>

        <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
          <thead>
            <tr>
              <th>No</th>
              <th>Kode Barang</th>
              <th>Nama Barang</th>											
              <th>Jenis Barang</th>
              <th>Foto</th>
              <th>Jumlah Barang</th>
              <th>Satuan</th>
              <th>Pengaturan</th>
            </tr>
          </thead>
          <tbody>
            <?php 
              $no = 1; // Inisialisasi nomor urut
              if ($sql->num_rows > 0) {
                  while ($data = $sql->fetch_assoc()) {
                      // Cek apakah stok <=5
                      $isLowStock = ($data['jumlah'] <= 5) ? true : false;
            ?>
            <tr class="<?php echo $isLowStock ? 'low-stock' : ''; ?>">
              <td><?php echo $no++; ?></td>
              <td><?php echo htmlspecialchars($data['kode_barang']); ?></td>
              <td><?php echo htmlspecialchars($data['nama_barang']); ?></td>
              <td><?php echo htmlspecialchars($data['jenis_barang']); ?></td>
              <td>
                <img src="img/<?php echo htmlspecialchars($data['foto']); ?>" width="50" height="50" alt="Foto Barang">
              </td>
              <td><?php echo htmlspecialchars($data['jumlah']); ?></td>
              <td><?php echo htmlspecialchars($data['satuan']); ?></td>
              <td>
                <a href="?page=gudang&aksi=ubahgudang&kode_barang=<?php echo urlencode($data['kode_barang']); ?>" class="btn btn-success">Ubah</a>
                <a onclick="return confirm('Apakah anda yakin akan menghapus data ini?')" href="?page=gudang&aksi=hapusgudang&kode_barang=<?php echo urlencode($data['kode_barang']); ?>" class="btn btn-danger">Hapus</a>
              </td>
            </tr>
            <?php 
                  }
              } else {
                  echo '<tr><td colspan="8" class="text-center">Tidak ada data barang yang tersedia.</td></tr>';
              }
            ?>
          </tbody>
        </table>
        <a href="?page=gudang&aksi=tambahgudang" class="btn btn-primary">Tambah</a>
      </div>
    </div>
  </div>

</div>

<!-- Optional JavaScript; choose one of the two! -->
<!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/js/bootstrap.bundle.min.js"></script>

</body>
</html>
