From 43efe016c156158b9fc3a8b647810f612fb126e6 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 02 九月 2025 11:39:52 +0800
Subject: [PATCH] 自动补货单新增 1.订单中只能生成两笔自动补货单 2.CTU库是否有足够的空库位,空库位数需要大于100才会生成自动补货单 3.在补货时加上订单明细的数量进行判断
---
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