<?php
session_start();
require_once 'includes/config.php';

// Bảo mật cấp cao: Chỉ Admin mới được truy cập
if (!isset($_SESSION['vai_tro']) || $_SESSION['vai_tro'] !== 'admin') {
    die("Khu vực đặc quyền Ban Quản Trị. Truy cập bị từ chối.");
}

// Xử lý luồng: Khi Admin bấm nút "Phân bổ"
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['phan_bo_hoc_vien'])) {
    $id_yeu_cau = (int)$_POST['id_yeu_cau'];
    $id_to_chuc = (int)$_POST['id_to_chuc'];
    
    try {
        // Bắt đầu giao dịch an toàn
        $pdo->beginTransaction();

        // 1. Lấy thông tin yêu cầu để tạo hồ sơ thành viên (nếu chưa có) hoặc đánh dấu đã xử lý
        $stmt_yc = $pdo->prepare("SELECT * FROM yeu_cau_dich_vu WHERE id = ? FOR UPDATE");
        $stmt_yc->execute([$id_yeu_cau]);
        $yeu_cau = $stmt_yc->fetch();

        if ($yeu_cau) {
            // Cập nhật trạng thái yêu cầu thành "Đã chuyển giao" và ghi chú Tổ chức tiếp nhận
            $ghi_chu_moi = "Đã phân bổ về cơ sở đối tác (ID: $id_to_chuc). " . $yeu_cau['ghi_chu'];
            $stmt_update_yc = $pdo->prepare("UPDATE yeu_cau_dich_vu SET trang_thai = 'da_chuyen_giao', ghi_chu = ? WHERE id = ?");
            $stmt_update_yc->execute([$ghi_chu_moi, $id_yeu_cau]);
            
            // Commit giao dịch
            $pdo->commit();
            $thong_bao = "Đã chuyển giao học viên " . htmlspecialchars($yeu_cau['ten_khach_hang']) . " thành công!";
        }
    } catch (PDOException $e) {
        $pdo->rollBack();
        $loi = "Lỗi hệ thống khi phân bổ: " . $e->getMessage();
    }
}

// Truy vấn 1: Lấy danh sách các Yêu cầu Đào tạo đang chờ duyệt
try {
    $stmt_cho_duyet = $pdo->prepare("
        SELECT * FROM yeu_cau_dich_vu 
        WHERE dich_vu = 'dao_tao_nghe_thuat' AND trang_thai = 'cho_duyet'
        ORDER BY id ASC
    ");
    $stmt_cho_duyet->execute();
    $danh_sach_cho_duyet = $stmt_cho_duyet->fetchAll(PDO::FETCH_ASSOC);

    // Truy vấn 2: Lấy danh sách các Tổ chức/Trung tâm liên kết để đưa vào Select Box
    $stmt_to_chuc = $pdo->prepare("SELECT id, ho_ten, tinh_thanh FROM thanh_vien WHERE vai_tro = 'to_chuc'");
    $stmt_to_chuc->execute();
    $danh_sach_to_chuc = $stmt_to_chuc->fetchAll(PDO::FETCH_ASSOC);

} catch (PDOException $e) {
    die("Lỗi truy xuất dữ liệu: " . $e->getMessage());
}
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Điều Phối Học Viên - PHẠM NGỌC TV</title>
    <style>
        body { font-family: sans-serif; background: #f8fafc; margin: 0; padding: 20px; color: #334155; }
        .container { max-width: 1200px; margin: 0 auto; background: #fff; padding: 30px; border-radius: 12px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
        h1 { color: #1e3a8a; margin-bottom: 5px; }
        .thong-diep { color: #64748b; font-style: italic; margin-bottom: 25px; }
        .alert { padding: 12px; border-radius: 6px; margin-bottom: 20px; font-weight: bold; }
        .alert-success { background: #dcfce7; color: #166534; }
        .alert-danger { background: #fee2e2; color: #991b1b; }
        table { width: 100%; border-collapse: collapse; }
        th, td { padding: 15px 12px; border-bottom: 1px solid #e2e8f0; text-align: left; }
        th { background: #f1f5f9; color: #0f172a; }
        select { padding: 8px; border: 1px solid #cbd5e1; border-radius: 6px; outline: none; width: 100%; }
        .btn-phan-bo { padding: 8px 16px; background: #2563eb; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; }
        .btn-phan-bo:hover { background: #1d4ed8; }
        .badge-khu-vuc { background: #e0f2fe; color: #0284c7; padding: 4px 8px; border-radius: 4px; font-size: 0.85rem; font-weight: bold; }
    </style>
</head>
<body>

<div class="container">
    <h1>Trạm Điều Phối Hồ Sơ Học Viên</h1>
    <p class="thong-diep">Phân bổ nguồn lực tối ưu tới các trung tâm, chung tay kiến tạo giá trị và lan tỏa tinh thần <strong>Bảo vệ cuộc sống</strong>.</p>

    <?php if (isset($thong_bao)) echo "<div class='alert alert-success'>$thong_bao</div>"; ?>
    <?php if (isset($loi)) echo "<div class='alert alert-danger'>$loi</div>"; ?>

    <table>
        <thead>
            <tr>
                <th>Họ Tên Khách Hàng</th>
                <th>Số Điện Thoại</th>
                <th>Khu Vực Mong Muốn</th>
                <th>Ghi Chú Yêu Cầu</th>
                <th>Chọn Cơ Sở / Trung Tâm Tiếp Nhận</th>
                <th>Thao Tác</th>
            </tr>
        </thead>
        <tbody>
            <?php if (count($danh_sach_cho_duyet) > 0): ?>
                <?php foreach ($danh_sach_cho_duyet as $yc): ?>
                    <tr>
                        <td><strong><?= htmlspecialchars($yc['ten_khach_hang']) ?></strong></td>
                        <td><?= htmlspecialchars($yc['so_dien_thoai']) ?></td>
                        <td><span class="badge-khu-vuc"><?= htmlspecialchars($yc['khu_vuc_mong_muon'] ?? 'Chưa xác định') ?></span></td>
                        <td style="font-size: 0.9rem; color: #64748b;"><?= htmlspecialchars($yc['ghi_chu']) ?></td>
                        
                        <form action="admin-phan-bo.php" method="POST">
                            <td>
                                <select name="id_to_chuc" required>
                                    <option value="">-- Chọn trung tâm bàn giao --</option>
                                    <?php foreach ($danh_sach_to_chuc as $tc): ?>
                                        <option value="<?= $tc['id'] ?>">
                                            Cơ sở: <?= htmlspecialchars($tc['ho_ten']) ?> (<?= htmlspecialchars($tc['tinh_thanh'] ?? 'Chung') ?>)
                                        </option>
                                    <?php endforeach; ?>
                                </select>
                            </td>
                            <td>
                                <input type="hidden" name="id_yeu_cau" value="<?= $yc['id'] ?>">
                                <button type="submit" name="phan_bo_hoc_vien" class="btn-phan-bo">Chuyển Giao</button>
                            </td>
                        </form>
                    </tr>
                <?php endforeach; ?>
            <?php else: ?>
                <tr><td colspan="6" style="text-align:center; padding: 30px; color: #94a3b8;">Hiện không có hồ sơ đăng ký đào tạo nào đang chờ phân bổ.</td></tr>
            <?php endif; ?>
        </tbody>
    </table>
</div>

</body>
</html>