Browse Source

fleat: add no_cashback

igb 13 hours ago
parent
commit
b783c67d54
7 changed files with 55 additions and 9 deletions
  1. 16 0
      order_add.php
  2. 8 2
      order_details.php
  3. 16 0
      order_edit.php
  4. 4 2
      order_save.php
  5. 6 5
      rebate_expiring.php
  6. 1 0
      rebate_redeem.php
  7. 4 0
      rebate_summary.php

+ 16 - 0
order_add.php

@@ -398,6 +398,22 @@ if ($customerId > 0) {
                     </div>
                 </td>
             </tr>
+            <tr>
+                <th width="8%" nowrap>是否参与返现</th>
+                <td>
+                    <div style="display: flex; gap: 20px;">
+                        <label style="display: flex; align-items: center;">
+                            <input type="radio" name="no_cashback" id="no_cashback_0" value="0" checked> 参与返现
+                        </label>
+                        <label style="display: flex; align-items: center;">
+                            <input type="radio" name="no_cashback" id="no_cashback_1" value="1"> 不参与返现
+                        </label>
+                    </div>
+                    <div style="margin-top: 5px; font-size: 12px; color: #666;">
+                        注:选择"不参与返现"的订单将不计入返现统计和计算
+                    </div>
+                </td>
+            </tr>
             <tr>
                 <th width="8%" nowrap>订单备注</th>
                 <td>

+ 8 - 2
order_details.php

@@ -220,10 +220,10 @@ if (!empty($id) && is_numeric($id)) {
 <!--            <span class="info-label">联系人:</span> --><?php //= htmlspecialcharsFix($order['contact_name']) ?>
 <!--        </div>-->
         <div class="info-row">
-            <span class="info-label">最新销售单日期:</span> <?= date('Y-m-d', strtotime($order['order_date'])) ?>
+            <span class="info-label">最新销售单日期:</span> <?= !empty($order['order_date']) ? date('Y-m-d', strtotime($order['order_date'])) : '未设置' ?>
         </div>
         <div class="info-row">
-            <span class="info-label">出货日期:</span> <?= date('Y-m-d', strtotime($order['shipping_date'])) ?>
+            <span class="info-label">出货日期:</span> <?= !empty($order['shipping_date']) ? date('Y-m-d', strtotime($order['shipping_date'])) : '未设置' ?>
         </div>
         <div class="info-row">
             <span class="info-label">创建时间:</span> <?= $order['created_at'] ?>
@@ -234,6 +234,12 @@ if (!empty($id) && is_numeric($id)) {
         <div class="info-row">
             <span class="info-label">销售员:</span> <?= htmlspecialcharsFix($order['employee_name']) ?>
         </div>
+        <div class="info-row">
+            <span class="info-label">是否参与返现:</span> 
+            <span style="<?= ($order['no_cashback'] == 1) ? 'color: #e74c3c; font-weight: bold;' : 'color: #27ae60; font-weight: bold;' ?>">
+                <?= ($order['no_cashback'] == 1) ? '不参与返现' : '参与返现' ?>
+            </span>
+        </div>
     </div>
 
     <h2>订单产品</h2>

+ 16 - 0
order_edit.php

@@ -453,6 +453,22 @@ if (!empty($id) && is_numeric($id)) {
                     </div>
                 </td>
             </tr>
+            <tr>
+                <th width="8%" nowrap>是否参与返现</th>
+                <td>
+                    <div style="display: flex; gap: 20px;">
+                        <label style="display: flex; align-items: center;">
+                            <input type="radio" name="no_cashback" id="no_cashback_0" value="0" <?= ($order['no_cashback'] == 0) ? 'checked' : '' ?>> 参与返现
+                        </label>
+                        <label style="display: flex; align-items: center;">
+                            <input type="radio" name="no_cashback" id="no_cashback_1" value="1" <?= ($order['no_cashback'] == 1) ? 'checked' : '' ?>> 不参与返现
+                        </label>
+                    </div>
+                    <div style="margin-top: 5px; font-size: 12px; color: #666;">
+                        注:选择"不参与返现"的订单将不计入返现统计和计算
+                    </div>
+                </td>
+            </tr>
             <tr>
                 <th width="8%">订单备注</th>
                 <td>

+ 4 - 2
order_save.php

@@ -48,6 +48,7 @@ $payment_status = 0; // 默认为"未付款"
 $currency = "CNY"; // 默认为人民币
 $notes = mysqli_real_escape_string($conn, htmlspecialchars($_POST['notes'], ENT_QUOTES, 'UTF-8'));
 $internal_notes = ""; // 默认为空
+$no_cashback = isset($_POST['no_cashback']) ? (int)$_POST['no_cashback'] : 0; // 获取是否不参与返现
 
 // 获取订单项信息
 $items = $_POST['items'] ?? [];
@@ -163,6 +164,7 @@ if ($isedit) {
             total_amount = $total_amount, 
             notes = '$notes', 
             internal_notes = '$internal_notes', 
+            no_cashback = $no_cashback,
             updated_at = NOW() 
             WHERE id = $id";
 
@@ -207,13 +209,13 @@ if ($isedit) {
             order_date,shipping_date, delivery_date, actual_delivery_date, 
             order_status, payment_status, currency, 
             subtotal, discount_amount, total_amount, 
-            notes, internal_notes, created_at, updated_at
+            notes, internal_notes, no_cashback, created_at, updated_at
         ) VALUES (
             '$order_code', $order_type, $customer_id, $contact_id, $employee_id, 
             '$order_date','$shipping_date', $delivery_date, $actual_delivery_date, 
             $order_status, $payment_status, '$currency', 
             $subtotal, $discount_amount, $total_amount, 
-            '$notes', '$internal_notes', NOW(), NOW()
+            '$notes', '$internal_notes', $no_cashback, NOW(), NOW()
         )";
 
     mysqli_query($conn, $sql);

+ 6 - 5
rebate_expiring.php

@@ -176,11 +176,12 @@ foreach ($paginatedCustomers as &$customer) {
         products p ON oi.product_id = p.id
     WHERE 
         o.customer_id = $customer_id
-        AND o.is_deleted = 0
-        AND oi.is_deleted = 0
-        AND o.order_type = 1
-        AND o.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
-        AND p.rebate = 1
+            AND o.is_deleted = 0
+    AND oi.is_deleted = 0
+    AND o.order_type = 1
+    AND o.no_cashback = 0
+    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
             FROM rebate_redemption_items rri

+ 1 - 0
rebate_redeem.php

@@ -110,6 +110,7 @@ WHERE
     AND o.is_deleted = 0
     AND oi.is_deleted = 0
     AND o.order_type = 1
+    AND o.no_cashback = 0
     AND o.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
     AND p.rebate = 1
     AND NOT EXISTS (

+ 4 - 0
rebate_summary.php

@@ -42,6 +42,7 @@ WHERE
     AND oi.is_deleted = 0
     AND o.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
     AND o.order_type = 1
+    AND o.no_cashback = 0
     AND p.rebate = 1
     AND NOT EXISTS (
         SELECT 1
@@ -61,6 +62,7 @@ WHERE
         AND o2.is_deleted = 0
         AND oi2.is_deleted = 0
         AND o2.order_type = 1
+        AND o2.no_cashback = 0
         AND oi2.product_id = oi.product_id
         AND o2.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
         AND NOT EXISTS (
@@ -203,6 +205,7 @@ if (!empty($customers)) {
         AND o.is_deleted = 0
         AND oi.is_deleted = 0
         AND o.order_type = 1
+        AND o.no_cashback = 0
         AND o.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
         AND p.rebate = 1
         AND NOT EXISTS (
@@ -251,6 +254,7 @@ if (!empty($customers)) {
             AND o.is_deleted = 0
             AND oi.is_deleted = 0
             AND o.order_type = 1
+            AND o.no_cashback = 0
             AND o.order_date >= DATE_FORMAT(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH), '%Y-%m-01')
             AND p.rebate = 1
             AND NOT EXISTS (