<?php
require_once __DIR__ . "/../../config/db.php";
require_once __DIR__ . "/../../includes/check_auth.php";

$commande_id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);

if (!$commande_id) {
    echo '<div class="alert alert-warning">
            Aucune commande sélectionnée.
          </div>';
    return;
}


/* ===============================
    Récupération commande
=================================*/
$stmt = $conn->prepare("
    SELECT cf.*, f.nom AS fournisseur
    FROM commandes_fournisseurs cf
    JOIN fournisseurs f ON f.id = cf.fournisseur_id
    WHERE cf.id = ?
");
$stmt->execute([$commande_id]);
$commande = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$commande) {
    die("Commande introuvable.");
}

if ($commande['statut'] === 'annulee') {
    die("Commande annulée.");
}

if ($commande['statut'] === 'reçue') {
    die("Commande déjà totalement réceptionnée.");
}

/* ===============================
    Produits restants
=================================*/
$stmt = $conn->prepare("
 SELECT 
   d.produit_id,
   p.nom,
   d.quantite_commandee,
   d.quantite_livree,
   COALESCE(
     (
       SELECT ad.prix_unitaire
       FROM achats_details ad
       JOIN achats a ON a.id = ad.achat_id
       WHERE ad.produit_id = d.produit_id
         AND a.fournisseur_id = ?
       ORDER BY a.date_achat DESC
       LIMIT 1
     ),
     p.prix_achat,
     0
   ) AS prix_achat
 FROM commandes_fournisseurs_details d
 JOIN produits p ON d.produit_id = p.id
 WHERE d.commande_id = ?
");
$stmt->execute([$commande['fournisseur_id'], $commande_id]);
$details = $stmt->fetchAll(PDO::FETCH_ASSOC);

/* ===============================
    Dépôts
=================================*/
$depots = $conn->query("
    SELECT id, nom 
    FROM depots 
    ORDER BY nom
")->fetchAll(PDO::FETCH_ASSOC);
?>

<div class="container-fluid px-2">

    <h1 class="mt-4">Réception fournisseur</h1>

    <ol class="breadcrumb mb-4">
        <li class="breadcrumb-item">
            <a href="index.php?page=dashboard">Tableau de bord</a>
        </li>
        <li class="breadcrumb-item">
            <a href="index.php?page=commandes_fournisseurs">Receptions fournisseurs</a>
        </li>
        <li class="breadcrumb-item active">
            Réception <?= htmlspecialchars($commande['numero']) ?>
        </li>
    </ol>

    <div class="card mb-4">
        <div class="card-header">
            <i class="fa fa-truck"></i> Informations commande
        </div>
        <div class="card-body">
            <b>Commande :</b> <?= htmlspecialchars($commande['numero']) ?><br>
            <b>Fournisseur :</b> <?= htmlspecialchars($commande['fournisseur']) ?><br>
            <b>Date :</b> <?= date('d/m/Y H:i', strtotime($commande['date_commande'])) ?>
        </div>
    </div>

    <div class="card">
        <div class="card-header bg-dark text-white">
            Produits à réceptionner
        </div>
        <div class="card-body">

            <form method="POST" action="/eagle_client_istanbulcups/api/achats/reception_fournisseur_save.php">

                <input type="hidden" name="commande_id" value="<?= $commande_id ?>">

                <div class="mb-3 col-md-4">
                    <label class="form-label"><b>Dépôt de réception</b></label>
                    <?php if (!empty($depots)): ?>
                    <select name="depot_id" class="form-select">
                        <option value="">-- Stock principal --</option>
                        <?php foreach($depots as $d): ?>
                            <option value="<?= $d['id'] ?>">
                                <?= htmlspecialchars($d['nom']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                    <?php endif; ?>

                </div>

                <div class="table-responsive">
                    <table class="table table-bordered table-striped">
                        <thead class="table-dark">
                            <tr>
                                <th>Produit</th>
                                <th class="text-center">Commandé</th>
                                <th class="text-center">Déjà livré</th>
                                <th class="text-center">Reste</th>
                                <th>Prix achat</th>
                                <th>Livré maintenant</th>
                            </tr>
                        </thead>
                        <tbody>

                        <?php foreach($details as $d): 
                            $reste = $d['quantite_commandee'] - $d['quantite_livree'];
                            if ($reste <= 0) continue;
                        ?>

                        <tr>
                            <td><?= htmlspecialchars($d['nom']) ?></td>
                            <td class="text-center"><?= $d['quantite_commandee'] ?></td>
                            <td class="text-center"><?= $d['quantite_livree'] ?></td>
                            <td class="text-center">
                                <span class="badge bg-warning text-dark">
                                    <?= $reste ?>
                                </span>
                            </td>

                            <td style="width:150px;">
                                <input type="number"
                                       name="produits[<?= $d['produit_id'] ?>][prix]"
                                       value="<?= number_format($d['prix_achat'],2,'.','') ?>"
                                       step="0.01"
                                       min="0"
                                       class="form-control"
                                       required>
                            </td>

                            <td style="width:150px;">
                                <input type="number"
                                       name="produits[<?= $d['produit_id'] ?>][quantite]"
                                       max="<?= $reste ?>"
                                       min="0"
                                       value="<?= $reste ?>"
                                       class="form-control">
                                <input type="hidden"
                                       name="produits[<?= $d['produit_id'] ?>][produit_id]"
                                       value="<?= $d['produit_id'] ?>">
                            </td>
                        </tr>

                        <?php endforeach ?>

                        </tbody>
                    </table>
                </div>

                <div class="mt-3">
                    <button type="submit" class="btn btn-success">
                        <i class="fa fa-check"></i> Valider réception
                    </button>

                    <a href="index.php?page=commande_fournisseur_view&id=<?= $commande_id ?>"
                       class="btn btn-secondary">
                        Retour
                    </a>
                </div>

            </form>

        </div>
    </div>

</div>

<?php include __DIR__."/../../includes/layout_end.php"; ?>