= '" . mysqli_real_escape_string($conn, $fliterFromDate) . "'"; $urlStr .= "&fliterFromDate=" . urlencode($fliterFromDate); } if (!empty($fliterToDate)) { $fliterStr .= " AND rr.redemption_date <= '" . mysqli_real_escape_string($conn, $fliterToDate) . " 23:59:59'"; $urlStr .= "&fliterToDate=" . urlencode($fliterToDate); } // 搜索参数 $keys = $_GET['Keys'] ?? ''; $keyscode = mysqli_real_escape_string($conn, $keys); $page = isset($_GET['Page']) ? intval($_GET['Page']) : 1; // 构建基本条件SQL $employee_id = $_SESSION['employee_id']; $isAdmin = checkIfAdmin(); // 基础查询,计算总记录数 $countSql = "SELECT COUNT(*) AS total FROM rebate_redemptions rr JOIN customer c ON rr.customer_id = c.id WHERE 1=1"; // 非管理员只能查看自己客户的返点历史 if (!$isAdmin) { $countSql .= " AND c.cs_belong = $employee_id"; } // 添加搜索条件 if (!empty($keyscode)) { $countSql .= " AND (c.cs_company LIKE '%$keyscode%' OR c.cs_code LIKE '%$keyscode%')"; } // 添加日期筛选 $countSql .= $fliterStr; // 执行查询获取总记录数 $countResult = mysqli_query($conn, $countSql); if (!$countResult) { die("查询记录数量错误: " . mysqli_error($conn)); } $countRow = mysqli_fetch_assoc($countResult); $totalRecords = $countRow['total']; // 设置每页显示记录数和分页 $pageSize = 20; // 计算总页数 $totalPages = ceil($totalRecords / $pageSize); if ($totalPages < 1) $totalPages = 1; // 验证当前页码 if ($page < 1) $page = 1; if ($page > $totalPages) $page = $totalPages; // 计算起始记录 $offset = ($page - 1) * $pageSize; // 查询返点兑换历史记录 $sql = "SELECT rr.id AS redemption_id, rr.customer_id, c.cs_code, c.cs_company AS customer_name, rr.redemption_date, rr.total_rebate_amount, rr.notes, rr.status, e.em_user AS employee_name, (SELECT COUNT(DISTINCT product_id) FROM rebate_redemption_items WHERE redemption_id = rr.id) AS product_count FROM rebate_redemptions rr JOIN customer c ON rr.customer_id = c.id LEFT JOIN employee e ON rr.created_by = e.id WHERE 1=1"; // 非管理员只能查看自己客户的返点历史 if (!$isAdmin) { $sql .= " AND c.cs_belong = $employee_id"; } // 添加搜索条件 if (!empty($keyscode)) { $sql .= " AND (c.cs_company LIKE '%$keyscode%' OR c.cs_code LIKE '%$keyscode%')"; } // 添加日期筛选 $sql .= $fliterStr; // 添加排序和分页 $sql .= " ORDER BY rr.redemption_date DESC, rr.id DESC LIMIT $offset, $pageSize"; $result = mysqli_query($conn, $sql); if (!$result) { die("查询返点历史错误: " . mysqli_error($conn)); } // 获取返点历史记录 $redemptions = []; while ($row = mysqli_fetch_assoc($result)) { $redemptions[] = $row; } ?>