<?php 
include 'header.php'; 

// 1. معالجة عملية التحويل
if(isset($_POST['transfer'])){
    $product_id = $_POST['product_id'];
    $to_branch = $_POST['to_branch_id'];
    $qty = $_POST['qty'];
    $main_branch_id = 1; // رقم المخزن الرئيسي ثابت

    try {
        $pdo->beginTransaction();

        // أ. التأكد من توفر الكمية في المخزن الرئيسي
        $stmt = $pdo->prepare("SELECT quantity FROM inventory WHERE branch_id = ? AND product_id = ?");
        $stmt->execute([$main_branch_id, $product_id]);
        $current_main_qty = $stmt->fetchColumn();

        if($current_main_qty >= $qty){
            // ب. خصم الكمية من المخزن الرئيسي
            $update_main = $pdo->prepare("UPDATE inventory SET quantity = quantity - ? WHERE branch_id = ? AND product_id = ?");
            $update_main->execute([$qty, $main_branch_id, $product_id]);

            // ج. زيادة الكمية في مخزن الفرع (أو إنشائه لو مش موجود)
            $stmt_check = $pdo->prepare("SELECT id FROM inventory WHERE branch_id = ? AND product_id = ?");
            $stmt_check->execute([$to_branch, $product_id]);
            if($stmt_check->rowCount() > 0){
                $update_branch = $pdo->prepare("UPDATE inventory SET quantity = quantity + ? WHERE branch_id = ? AND product_id = ?");
                $update_branch->execute([$qty, $to_branch, $product_id]);
            } else {
                $insert_branch = $pdo->prepare("INSERT INTO inventory (branch_id, product_id, quantity) VALUES (?, ?, ?)");
                $insert_branch->execute([$to_branch, $product_id, $qty]);
            }

            // د. تسجيل الحركة في السجل (Transaction Log) لسه هنعمله جدول
            $pdo->commit();
            $success = "تم تحويل الكمية بنجاح!";
        } else {
            $error = "عفواً، الكمية المتاحة في المخزن الرئيسي لا تكفي!";
            $pdo->rollBack();
        }
    } catch (Exception $e) {
        $pdo->rollBack();
        $error = "حدث خطأ أثناء التحويل: " . $e->getMessage();
    }
}

// جلب البيانات للعرض
$products = $pdo->query("SELECT p.id, p.product_name, i.quantity FROM products p JOIN inventory i ON p.id = i.product_id WHERE i.branch_id = 1")->fetchAll();
$branches = $pdo->query("SELECT id, branch_name FROM branches WHERE is_main = 0")->fetchAll();
?>

<div class="action-bar">
    <h5 class="m-0"><i class="fa fa-exchange-alt me-2"></i> تحويل مخزني جديد</h5>
</div>

<div class="container mt-4">
    <div class="row">
        <div class="col-md-5">
            <div class="card shadow-sm border-0 rounded-4">
                <div class="card-body p-4">
                    <?php if(isset($success)): ?> <div class="alert alert-success"><?= $success ?></div> <?php endif; ?>
                    <?php if(isset($error)): ?> <div class="alert alert-danger"><?= $error ?></div> <?php endif; ?>
                    
                    <form method="POST">
                        <div class="mb-3">
                            <label class="form-label fw-bold">اختر المنتج من المخزن الرئيسي</label>
                            <select name="product_id" class="form-select form-select-lg" required>
                                <option value="">-- اختر المنتج --</option>
                                <?php foreach($products as $pr): ?>
                                    <option value="<?= $pr['id'] ?>"><?= $pr['product_name'] ?> (المتاح: <?= $pr['quantity'] ?> كجم)</option>
                                <?php endforeach; ?>
                            </select>
                        </div>

                        <div class="mb-3">
                            <label class="form-label fw-bold">إلى فرع</label>
                            <select name="to_branch_id" class="form-select form-select-lg" required>
                                <option value="">-- اختر الفرع المستلم --</option>
                                <?php foreach($branches as $br): ?>
                                    <option value="<?= $br['id'] ?>"><?= $br['branch_name'] ?></option>
                                <?php endforeach; ?>
                            </select>
                        </div>

                        <div class="mb-4">
                            <label class="form-label fw-bold">الكمية المراد تحويلها (كجم)</label>
                            <input type="number" name="qty" min="1" class="form-control form-control-lg" required>
                        </div>

                        <button type="submit" name="transfer" class="btn btn-primary w-100 py-3 rounded-3 shadow-sm">
                            <i class="fa fa-check-circle me-1"></i> تنفيذ التحويل الآن
                        </button>
                    </form>
                </div>
            </div>
        </div>

        <div class="col-md-7">
            <div class="card border-0 bg-light rounded-4">
                <div class="card-body p-4 text-center">
                    <img src="https://cdn-icons-png.flaticon.com/512/2312/2312712.png" style="width: 100px; opacity: 0.6;" class="mb-3">
                    <h6>تعليمات التحويل</h6>
                    <p class="text-muted small text-start">
                        - تأكد من مراجعة الكمية المتوفرة في المخزن الرئيسي قبل البدء.<br>
                        - التحويل يتم لحظياً ويؤثر على رصيد المخزنين.<br>
                        - لا يمكن التراجع عن التحويل بعد تنفيذه؛ سيتطلب الأمر عملية تحويل عكسية.
                    </p>
                </div>
            </div>
        </div>
    </div>
</div>

<?php include 'footer.php'; ?>