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