|
@@ -32,23 +32,30 @@ $employee_id = $_SESSION['employee_id'];
|
|
|
$isAdmin = checkIfAdmin();
|
|
|
|
|
|
// 查询即将过期的返点订单
|
|
|
-// 这里我们获取那些在90天期限内,但是已经接近过期的订单(比如只剩7天有效期)
|
|
|
-$cutoffDate = date('Y-m-d', strtotime("-" . (90 - $expiryDays) . " days"));
|
|
|
-$expiryDate = date('Y-m-d', strtotime("-90 days"));
|
|
|
+// 这里我们获取那些在有效期内,但是已经接近过期的订单
|
|
|
+// 现在改为:从上个月1号到本月底有效,并根据离月底的天数判断是否即将过期
|
|
|
+// 计算本月最后一天和当前日期的天数差
|
|
|
+$lastDayOfMonth = date('Y-m-t'); // 获取当前月的最后一天
|
|
|
+$currentDate = date('Y-m-d');
|
|
|
+$daysToMonthEnd = (strtotime($lastDayOfMonth) - strtotime($currentDate)) / (60 * 60 * 24);
|
|
|
|
|
|
+// 获取上个月1号作为有效期开始时间
|
|
|
+$startDate = date('Y-m-01', strtotime('-1 month'));
|
|
|
+
|
|
|
+// 只查找剩余天数少于expiryDays的记录
|
|
|
$customerListSql = "SELECT DISTINCT
|
|
|
o.customer_id,
|
|
|
c.cs_company AS customer_name,
|
|
|
c.cs_code,
|
|
|
MIN(o.order_date) AS oldest_order_date,
|
|
|
- DATE_ADD(MIN(o.order_date), INTERVAL 90 DAY) AS expiry_date,
|
|
|
- DATEDIFF(DATE_ADD(MIN(o.order_date), INTERVAL 90 DAY), CURRENT_DATE()) AS days_left
|
|
|
+ '$lastDayOfMonth' AS expiry_date,
|
|
|
+ DATEDIFF('$lastDayOfMonth', CURRENT_DATE()) AS days_left
|
|
|
FROM orders o
|
|
|
JOIN order_items oi ON o.id = oi.order_id
|
|
|
JOIN customer c ON o.customer_id = c.id
|
|
|
JOIN products p ON oi.product_id = p.id
|
|
|
WHERE
|
|
|
- o.order_date BETWEEN '$expiryDate' AND '$cutoffDate'
|
|
|
+ o.order_date >= '$startDate'
|
|
|
AND o.order_type = 1
|
|
|
AND p.rebate = 1
|
|
|
AND NOT EXISTS (
|
|
@@ -67,7 +74,7 @@ WHERE
|
|
|
JOIN orders o2 ON oi2.order_id = o2.id
|
|
|
WHERE o2.customer_id = o.customer_id
|
|
|
AND oi2.product_id = oi.product_id
|
|
|
- AND o2.order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY)
|
|
|
+ AND o2.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
|
|
|
AND NOT EXISTS (
|
|
|
SELECT 1
|
|
|
FROM rebate_redemption_items rri
|
|
@@ -77,7 +84,8 @@ WHERE
|
|
|
SELECT MIN(rr.min_quantity)
|
|
|
FROM rebate_rules rr
|
|
|
WHERE rr.product_id = oi.product_id
|
|
|
- )";
|
|
|
+ )
|
|
|
+ AND DATEDIFF('$lastDayOfMonth', CURRENT_DATE()) <= $expiryDays";
|
|
|
|
|
|
// 非管理员只能查看自己的客户返点
|
|
|
if (!$isAdmin) {
|
|
@@ -142,7 +150,7 @@ foreach ($paginatedCustomers as &$customer) {
|
|
|
WHERE o2.customer_id = o.customer_id
|
|
|
AND o2.order_type = 1
|
|
|
AND oi2.product_id = oi.product_id
|
|
|
- AND o2.order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY)
|
|
|
+ AND o2.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
|
|
|
AND NOT EXISTS (
|
|
|
SELECT 1
|
|
|
FROM rebate_redemption_items rri
|
|
@@ -163,7 +171,7 @@ foreach ($paginatedCustomers as &$customer) {
|
|
|
WHERE
|
|
|
o.customer_id = $customer_id
|
|
|
AND o.order_type = 1
|
|
|
- AND o.order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY)
|
|
|
+ AND o.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
|
|
|
AND p.rebate = 1
|
|
|
AND NOT EXISTS (
|
|
|
SELECT 1
|
|
@@ -348,7 +356,7 @@ foreach ($paginatedCustomers as &$customer) {
|
|
|
<body>
|
|
|
<div id="man_zone">
|
|
|
<div class="alert-box">
|
|
|
- <strong>注意!</strong> 此页面显示即将过期的返点信息。返点订单在创建后90天内有效,过期后将无法兑换。请尽快处理以下客户的返点兑换。
|
|
|
+ <strong>注意!</strong> 此页面显示即将过期的返点信息。返点订单从上个月1号到本月底有效,过期后将无法兑换。请尽快处理以下客户的返点兑换。
|
|
|
</div>
|
|
|
|
|
|
<div class="fastSelect clear">
|
|
@@ -360,10 +368,10 @@ foreach ($paginatedCustomers as &$customer) {
|
|
|
<input type="date" name="fliterToDate" class="date-input filterSearch" value="<?= $fliterToDate ?>">
|
|
|
<label>过期天数</label>
|
|
|
<select name="expiryDays" class="select-days filterSearch">
|
|
|
- <option value="3" <?= $expiryDays == 3 ? 'selected' : '' ?>>3天内</option>
|
|
|
- <option value="7" <?= $expiryDays == 7 ? 'selected' : '' ?>>7天内</option>
|
|
|
- <option value="14" <?= $expiryDays == 14 ? 'selected' : '' ?>>14天内</option>
|
|
|
- <option value="30" <?= $expiryDays == 30 ? 'selected' : '' ?>>30天内</option>
|
|
|
+ <option value="3" <?= $expiryDays == 3 ? 'selected' : '' ?>>距月底3天内</option>
|
|
|
+ <option value="7" <?= $expiryDays == 7 ? 'selected' : '' ?>>距月底7天内</option>
|
|
|
+ <option value="14" <?= $expiryDays == 14 ? 'selected' : '' ?>>距月底14天内</option>
|
|
|
+ <option value="30" <?= $expiryDays == 30 ? 'selected' : '' ?>>本月所有</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="inputSearch">
|
|
@@ -384,7 +392,7 @@ foreach ($paginatedCustomers as &$customer) {
|
|
|
<div class="theader">
|
|
|
<div class="col2">序号</div>
|
|
|
<div class="col3">客户编码</div>
|
|
|
- <div class="col4">客户名称</div>
|
|
|
+<!-- <div class="col4">客户名称</div>-->
|
|
|
<div class="col5">最早订单日期</div>
|
|
|
<div class="col6">过期日期</div>
|
|
|
<div class="col7">剩余天数</div>
|
|
@@ -410,7 +418,7 @@ foreach ($paginatedCustomers as &$customer) {
|
|
|
<div class="tline <?= $rowClass ?>">
|
|
|
<div class="col2"><?= $tempNum ?></div>
|
|
|
<div class="col3"><?= htmlspecialcharsFix($customer['cs_code']) ?></div>
|
|
|
- <div class="col4"><?= htmlspecialcharsFix($customer['customer_name']) ?></div>
|
|
|
+<!-- <div class="col4">--><?php //= htmlspecialcharsFix($customer['customer_name']) ?><!--</div>-->
|
|
|
<div class="col5"><?= date('Y-m-d', strtotime($customer['oldest_order_date'])) ?></div>
|
|
|
<div class="col6"><?= date('Y-m-d', strtotime($customer['expiry_date'])) ?></div>
|
|
|
<div class="col7 <?= $daysLeft <= 3 ? 'expiry-warning' : '' ?>"><?= $daysLeft ?> 天</div>
|