From d599942e79ea0198898bdfde049b908418debf54 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 13 六月 2025 10:13:14 +0800
Subject: [PATCH] #新增生产日期和到期日期,和超期检索

---
 src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 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 62b7596..78bd822 100644
--- a/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OverYearLogHandler.java
@@ -20,12 +20,10 @@
     @Transactional
     public ReturnT<String> start() {
         try {
-            // 鍒犻櫎鍗婂勾浠ヤ笂鐨勫巻鍙叉。
-            jdbcTemplate.update("delete from asr_stk_hplc where dateadd(day,180,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from asr_wrk_detl_log where dateadd(day,360,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from asr_wrk_mast_log where dateadd(day,360,appe_time) <= getdate();");
-            jdbcTemplate.update("delete from cust_wait_pakin_log where dateadd(day,360,appe_time) <= getdate();");
-
+            batchDelete("asr_stk_hplc", 180);
+            batchDelete("asr_wrk_detl_log", 360);
+            batchDelete("asr_wrk_mast_log", 360);
+            batchDelete("cust_wait_pakin_log", 360);
         } catch (Exception e) {
             e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -34,4 +32,17 @@
         return SUCCESS;
     }
 
+    private void batchDelete(String tableName, 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
+            );
+            affected = jdbcTemplate.update(sql);
+        } while (affected > 0);
+    }
+
+
 }

--
Gitblit v1.9.1