From 83ba8a26cfc33a700d0de16ba9ad6e9229db0932 Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 07 四月 2026 17:40:01 +0800
Subject: [PATCH] 优化,部分历史明细被额外删除的bug

---
 src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
index 78bd822..90bb425 100644
--- a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
@@ -20,10 +20,10 @@
     @Transactional
     public ReturnT<String> start() {
         try {
-            batchDelete("asr_stk_hplc", 180);
-            batchDelete("asr_wrk_detl_log", 360);
-            batchDelete("asr_wrk_mast_log", 360);
-            batchDelete("cust_wait_pakin_log", 360);
+            batchDelete("asr_stk_hplc", "appe_time", 180);
+            batchDelete("asr_wrk_detl_log", "io_time", 360);
+            batchDelete("asr_wrk_mast_log", "io_time", 360);
+            batchDelete("cust_wait_pakin_log", "appe_time", 360);
         } catch (Exception e) {
             e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -32,13 +32,14 @@
         return SUCCESS;
     }
 
-    private void batchDelete(String tableName, int days) {
+    @SuppressWarnings("SameParameterValue")
+    private void batchDelete(String tableName, String time, int days) {
         int batchSize = 1000;
         int affected;
         do {
             String sql = String.format(
-                    "WITH cte AS (SELECT TOP (%d) * FROM %s WHERE dateadd(day, %d, appe_time) <= getdate()) DELETE FROM cte",
-                    batchSize, tableName, days
+                    "WITH cte AS (SELECT TOP (%d) * FROM %s WHERE dateadd(day, %d, %s) <= getdate()) DELETE FROM cte",
+                    batchSize, tableName, days, time
             );
             affected = jdbcTemplate.update(sql);
         } while (affected > 0);

--
Gitblit v1.9.1