<?php
require_once __DIR__ . '/../../core/init.php';

// 1. Lấy ID nhà cung cấp từ URL
if (!isset($_GET['id']) || empty($_GET['id'])) {
    die('Không có nhà cung cấp nào được chọn.');
}
$supplier_id = intval($_GET['id']);

// 2. Lấy thông tin chi tiết của nhà cung cấp
$stmt = $conn->prepare("SELECT * FROM cms_suppliers WHERE ID = ?");
$stmt->bind_param("i", $supplier_id);
$stmt->execute();
$supplier = $stmt->get_result()->fetch_assoc();
$stmt->close();

if (!$supplier) {
    die('Không tìm thấy nhà cung cấp.');
}

// 3. Lấy lịch sử nhập hàng từ nhà cung cấp này
$import_history_result = $conn->query("SELECT * FROM cms_input WHERE supplier_id = {$supplier_id} ORDER BY input_date DESC");
$import_history = $import_history_result ? $import_history_result->fetch_all(MYSQLI_ASSOC) : [];

// 4. Tính toán các chỉ số tổng hợp
$debt_imports = array_filter($import_history, function($import) {
    return isset($import['lack']) && $import['lack'] > 0;
});
$total_imports = count($import_history);
$total_purchased = array_sum(array_column($import_history, 'total_money'));
$total_debt = array_sum(array_column($import_history, 'lack'));
?>
<!DOCTYPE html>
<html lang="vi">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chi tiết NCC - <?php echo htmlspecialchars($supplier['supplier_name']); ?></title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
    <style>
        /* Thêm style để layout sidebar và content hoạt động tốt */
        #wrapper {
            display: flex;
        }
        #page-content-wrapper {
            width: 100%;
        }
        /* Style cơ bản cho sidebar (bạn có thể đã có trong file css chung) */
        #sidebar-wrapper {
            min-height: 100vh;
            width: 250px;
            background-color: #fff;
            border-right: 1px solid #dee2e6;
        }
        #sidebar-wrapper .list-group-item {
            border-radius: 0;
            border-left: 0;
            border-right: 0;
            border-top: 1px solid #dee2e6;
        }
        #sidebar-wrapper .list-group-item:first-child {
            border-top: 0;
        }
        #sidebar-wrapper .list-group-item.active {
            background-color: #f89021;
            color: white;
            border-color: #f89021;
        }
    </style>
</head>

<body>
    <div class="d-flex" id="wrapper">
        <?php require_once __DIR__ . '/../../templates/sidebar.php'; ?>
        <div id="page-content-wrapper" class="w-100 bg-light">
            <div class="container-fluid p-4">
                <div class="d-flex justify-content-between align-items-center mb-3">
                    <h2 class="mb-0">Thông tin nhà cung cấp</h2>
                    <div>
                        <button type="button" class="btn btn-warning" id="btnEditSupplier"><i class="fas fa-edit me-1"></i> Sửa</button>
                        <a href="list.php" class="btn btn-outline-secondary"><i class="fas fa-arrow-left me-1"></i> Trở về</a>
                    </div>
                </div>
                
                <div class="info-section p-4 mb-4">
                    <div class="row">
                        <div class="col-md-6">
                            <dl class="row mb-0">
                                <dt class="col-sm-4">Tên nhà cung cấp</dt>
                                <dd class="col-sm-8"><?php echo htmlspecialchars($supplier['supplier_name']); ?></dd>
                                <dt class="col-sm-4">Số điện thoại</dt>
                                <dd class="col-sm-8"><?php echo htmlspecialchars($supplier['supplier_phone'] ?: '(chưa có)'); ?></dd>
                                <dt class="col-sm-4">Mã số thuế</dt>
                                <dd class="col-sm-8"><?php echo htmlspecialchars($supplier['tax_code'] ?: '(chưa có)'); ?></dd>
                            </dl>
                        </div>
                        <div class="col-md-6">
                            <dl class="row mb-0">
                                <dt class="col-sm-4">Mã nhà cung cấp</dt>
                                <dd class="col-sm-8"><?php echo htmlspecialchars($supplier['supplier_code']); ?></dd>
                                <dt class="col-sm-4">Email</dt>
                                <dd class="col-sm-8"><?php echo htmlspecialchars($supplier['supplier_email'] ?: '(chưa có)'); ?></dd>
                                <dt class="col-sm-4">Địa chỉ</dt>
                                <dd class="col-sm-8"><?php echo htmlspecialchars($supplier['supplier_addr'] ?: '(chưa có)'); ?></dd>
                            </dl>
                        </div>
                    </div>
                </div>

                <div id="historyView">
                    <div class="info-section">
                        <div class="p-3 d-flex justify-content-between align-items-center">
                            <h4 class="mb-0">Lịch sử nhập hàng</h4>
                            <?php if ($total_debt > 0): ?>
                                <button class="btn btn-danger" id="btnShowPayDebt"><i class="fas fa-money-bill-wave me-1"></i> Thanh toán nợ</button>
                            <?php endif; ?>
                        </div>
                        <div class="table-responsive">
                            <table class="table table-hover mb-0" id="importHistoryTable">
                                <thead class="table-light">
                                    <tr>
                                        <th>Mã phiếu nhập</th>
                                        <th>Ngày nhập</th>
                                        <th>Người tạo</th>
                                        <th>Trạng thái</th>
                                        <th class="text-end">Tổng tiền</th>
                                        <th class="text-end">Đã trả</th>
                                        <th class="text-end">Còn nợ</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php if (!empty($import_history)): foreach ($import_history as $import): ?>
                                        <tr>
                                            <td><a href="#"><?php echo htmlspecialchars($import['input_code']); ?></a></td>
                                            <td><?php echo date('d/m/Y H:i', strtotime($import['input_date'])); ?></td>
                                            <td><?php echo htmlspecialchars($import['user_init']); // Cần join để lấy tên user ?></td>
                                            <td><span class="badge bg-success">Hoàn thành</span></td>
                                            <td class="text-end"><?php echo number_format($import['total_money']); ?></td>
                                            <td class="text-end"><?php echo number_format($import['total_money'] - $import['lack']); ?></td>
                                            <td class="text-end text-danger fw-bold"><?php echo number_format($import['lack']); ?></td>
                                        </tr>
                                    <?php endforeach; else: ?>
                                        <tr><td colspan="7" class="text-center p-4">Chưa có lịch sử nhập hàng.</td></tr>
                                    <?php endif; ?>
                                </tbody>
                            </table>
                        </div>
                        <div class="card-footer d-flex justify-content-end fw-bold">
                            <span>Tổng phiếu nhập: <span class="text-primary"><?php echo $total_imports; ?></span></span>
                            <span class="ms-4">Tổng mua: <span class="text-primary"><?php echo number_format($total_purchased); ?></span></span>
                            <span class="ms-4">Tổng nợ: <span class="text-danger"><?php echo number_format($total_debt); ?></span></span>
                        </div>
                    </div>
                </div>

                <div id="payDebtView" style="display: none;">
                    <div class="info-section">
                        <div class="p-3">
                            <h4 class="mb-3">Thanh toán công nợ cho nhà cung cấp</h4>
                            <div class="table-responsive">
                                <table class="table">
                                    <thead class="table-light"><tr><th>Mã phiếu nhập</th><th>Ngày nhập</th><th class="text-end">Còn nợ</th><th style="width: 180px;">Số tiền trả</th><th style="width: 100px;"></th></tr></thead>
                                    <tbody>
                                        <?php if (!empty($debt_imports)): foreach ($debt_imports as $import): ?>
                                        <tr class="debt-row" data-import-id="<?php echo $import['ID']; ?>">
                                            <td><a href="#"><?php echo htmlspecialchars($import['input_code']); ?></a></td>
                                            <td><?php echo date('d/m/Y', strtotime($import['input_date'])); ?></td>
                                            <td class="text-end text-danger fw-bold"><?php echo number_format($import['lack']); ?></td>
                                            <td><input type="number" class="form-control form-control-sm amount-to-pay" placeholder="Số tiền trả" max="<?php echo $import['lack']; ?>"></td>
                                            <td><button class="btn btn-sm btn-primary btn-pay-single">Trả nợ</button></td>
                                        </tr>
                                        <?php endforeach; else: ?>
                                        <tr><td colspan="5" class="text-center">Nhà cung cấp không có công nợ.</td></tr>
                                        <?php endif; ?>
                                    </tbody>
                                </table>
                            </div><hr>
                            <button class="btn btn-secondary" id="btnBackToHistory">Quay lại lịch sử</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    
    <div class="modal fade modal-lg" id="supplierModal" tabindex="-1">
        <div class="modal-dialog modal-dialog-scrollable">
            <div class="modal-content">
                <form id="supplierForm" enctype="multipart/form-data">
                    <input type="hidden" name="supplier_id" id="supplier_id">
                    <div class="modal-header">
                        <h5 class="modal-title" id="supplierModalLabel">Chỉnh sửa nhà cung cấp</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
                    </div>
                    <div class="modal-body">
                        <div class="row">
                            <div class="col-md-6 mb-3"><label class="form-label">Mã NCC</label><input type="text" name="supplier_code" class="form-control" placeholder="Tự sinh nếu trống"></div>
                            <div class="col-md-6 mb-3"><label class="form-label">Tên NCC <span class="text-danger">*</span></label><input type="text" name="supplier_name" class="form-control" required></div>
                            <div class="col-md-6 mb-3"><label class="form-label">Số điện thoại</label><input type="text" name="supplier_phone" class="form-control"></div>
                            <div class="col-md-6 mb-3"><label class="form-label">Email</label><input type="email" name="supplier_email" class="form-control"></div>
                            <div class="col-md-12 mb-3"><label class="form-label">Mã số thuế</label><input type="text" name="tax_code" class="form-control"></div>
                            <div class="col-md-12 mb-3"><label class="form-label">Địa chỉ</label><input type="text" name="supplier_addr" class="form-control"></div>
                            <div class="col-md-12 mb-3"><label class="form-label">Ghi chú</label><textarea name="notes" class="form-control" rows="2"></textarea></div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Bỏ qua</button>
                        <button type="submit" class="btn btn-primary">Lưu</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
    <script>
    $(document).ready(function() {
        // Mở modal sửa khi nhấn nút "Sửa"
        $('#btnEditSupplier').on('click', function() {
            var supplierId = <?php echo $supplier_id; ?>;
            $.ajax({
                url: '/quanlybanhang/ajax/suppliers_ajax.php',
                type: 'GET',
                dataType: 'json',
                data: { action: 'get_supplier_details', id: supplierId },
                success: function(response) {
                    if (response.status === 'success') {
                        var s = response.data;
                        $('#supplier_id').val(s.ID);
                        $('input[name="supplier_code"]').val(s.supplier_code);
                        $('input[name="supplier_name"]').val(s.supplier_name);
                        $('input[name="supplier_phone"]').val(s.supplier_phone);
                        $('input[name="supplier_email"]').val(s.supplier_email);
                        $('input[name="tax_code"]').val(s.tax_code);
                        $('input[name="supplier_addr"]').val(s.supplier_addr);
                        $('textarea[name="notes"]').val(s.notes);
                        $('#supplierModal').modal('show');
                    } else {
                        alert(response.message);
                    }
                }
            });
        });

        // Xử lý submit form sửa
        $('#supplierForm').on('submit', function(e) {
            e.preventDefault();
            var formData = new FormData(this);
            formData.append('action', 'save_supplier');
            $.ajax({
                url: '/quanlybanhang/ajax/suppliers_ajax.php',
                type: 'POST',
                data: formData,
                processData: false,
                contentType: false,
                dataType: 'json',
                success: function(response) {
                    alert(response.message);
                    if (response.status === 'success') {
                        location.reload(); // Tải lại trang để cập nhật thông tin
                    }
                }
            });
        });

        // Chuyển đổi giữa view lịch sử và view trả nợ
        $('#btnShowPayDebt').on('click', function() {
            $('#historyView').hide();
            $('#payDebtView').show();
        });
        $('#btnBackToHistory').on('click', function() {
            $('#payDebtView').hide();
            $('#historyView').show();
        });

        // Xử lý thanh toán cho từng phiếu nợ
        $('#payDebtView').on('click', '.btn-pay-single', function() {
            var $button = $(this);
            var $row = $button.closest('tr');
            var importId = $row.data('import-id');
            var amount = $row.find('.amount-to-pay').val();

            if (!amount || parseFloat(amount) <= 0) {
                alert('Vui lòng nhập số tiền hợp lệ.');
                return;
            }
            if (confirm(`Bạn chắc chắn muốn thanh toán ${parseFloat(amount).toLocaleString('vi-VN')} cho phiếu nhập này?`)) {
                $button.prop('disabled', true);
                // Cần tạo action 'pay_debt_to_supplier' trong file suppliers_ajax.php
                $.ajax({
                    url: '/quanlybanhang/ajax/suppliers_ajax.php',
                    type: 'POST',
                    dataType: 'json',
                    data: {
                        action: 'pay_debt_to_supplier',
                        import_id: importId,
                        amount: amount
                    },
                    success: function(response) {
                        alert(response.message);
                        if (response.status === 'success') {
                            location.reload();
                        } else {
                            $button.prop('disabled', false);
                        }
                    },
                    error: function() {
                        alert('Lỗi khi gửi yêu cầu thanh toán nợ.');
                        $button.prop('disabled', false);
                    }
                });
            }
        });
    });
    </script>
</body>
</html>