From 6e18b1e086f202512eeb9aa988a8b9026cfccec3 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 28 三月 2026 20:28:27 +0800
Subject: [PATCH] 修复
---
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 115 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
index ae177fd..b1023c7 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -11,7 +11,10 @@
import com.zy.asrs.utils.OrderInAndOutUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.Date;
import java.util.List;
@@ -31,6 +34,8 @@
private OrderDetlPakinServiceImpl orderDetlPakinService;
@Autowired
private OrderDetlPakoutService orderDetlPakoutService;
+ @Autowired
+ private JdbcTemplate jdbcTemplate;
public ReturnT<String> start(){
// List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
@@ -44,6 +49,96 @@
log.info("宸插畬鎴愬崟鎹Щ鍔ㄨ嚦鍘嗗彶琛ㄦ垚鍔� =====>" +order);
}
return SUCCESS;
+ }
+
+ public ReturnT<String> startOrder(){
+ List<Order> settleEqual6 = orderService.selectList(new EntityWrapper<Order>()
+ .eq("settle", 6));
+// List<Order> settleEqual6 = OrderInAndOutUtil.selectBySettle(null, 6L);
+ for (Order order : settleEqual6) {
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+ .eq("order_no", order.getOrderNo()));
+// List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(order.getPakinPakoutStatus$(), order.getId());
+ moveBothOrder(order,orderDetls);
+ log.info("宸插畬鎴愬崟鎹Щ鍔ㄨ嚦鍘嗗彶琛ㄦ垚鍔� =====>" +order);
+ }
+ return SUCCESS;
+ }
+
+ /**
+ * 姣忓ぉ 0 鐐瑰皢鏈墽琛岀殑鍑哄簱鍗曡浆鍏ュ巻鍙叉。锛屽苟鏍囪涓虹郴缁熻嚜鍔ㄥ垹闄ゃ��
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public ReturnT<String> startPakoutAutoArchive() {
+ try {
+ Integer orderCount = jdbcTemplate.queryForObject(
+ "select count(1) from man_order_pakout where settle = 1",
+ Integer.class
+ );
+ if (orderCount == null || orderCount == 0) {
+ return SUCCESS;
+ }
+
+ int detailLogCount = jdbcTemplate.update(
+ "insert into man_order_detl_log_pakout " +
+ "select * from man_order_detl_pakout " +
+ "where order_id in (select id from man_order_pakout where settle = 1)"
+ );
+ jdbcTemplate.update(
+ "update logDetl " +
+ "set logDetl.memo = case " +
+ "when logDetl.memo is null or logDetl.memo = '' " +
+ "then '绯荤粺0鐐硅嚜鍔ㄥ垹闄よ縼绉籟' + convert(varchar(19), getdate(), 120) + ']' " +
+ "else logDetl.memo + ';绯荤粺0鐐硅嚜鍔ㄥ垹闄よ縼绉籟' + convert(varchar(19), getdate(), 120) + ']' " +
+ "end, " +
+ "logDetl.update_by = 0, " +
+ "logDetl.update_time = getdate() " +
+ "from man_order_detl_log_pakout logDetl " +
+ "where exists (" +
+ "select 1 " +
+ "from man_order_detl_pakout detl " +
+ "inner join man_order_pakout pakout on detl.order_id = pakout.id " +
+ "where pakout.settle = 1 and detl.id = logDetl.id)"
+ );
+ int detailDeleteCount = jdbcTemplate.update(
+ "delete from man_order_detl_pakout " +
+ "where order_id in (select id from man_order_pakout where settle = 1)"
+ );
+
+ int orderLogCount = jdbcTemplate.update(
+ "insert into man_order_log_pakout " +
+ "select * from man_order_pakout " +
+ "where settle = 1"
+ );
+ jdbcTemplate.update(
+ "update logOrder " +
+ "set logOrder.memo = case " +
+ "when logOrder.memo is null or logOrder.memo = '' " +
+ "then '绯荤粺0鐐硅嚜鍔ㄥ垹闄よ縼绉籟' + convert(varchar(19), getdate(), 120) + ']' " +
+ "else logOrder.memo + ';绯荤粺0鐐硅嚜鍔ㄥ垹闄よ縼绉籟' + convert(varchar(19), getdate(), 120) + ']' " +
+ "end, " +
+ "logOrder.update_by = 0, " +
+ "logOrder.update_time = getdate() " +
+ "from man_order_log_pakout logOrder " +
+ "where exists (" +
+ "select 1 " +
+ "from man_order_pakout pakout " +
+ "where pakout.settle = 1 and pakout.id = logOrder.id)"
+ );
+ int orderDeleteCount = jdbcTemplate.update(
+ "delete from man_order_pakout where settle = 1"
+ );
+
+ log.info(
+ "0鐐硅嚜鍔ㄨ縼绉诲嚭搴撳崟鑷冲巻鍙叉。瀹屾垚, 璁㈠崟鏁�={}, 璁㈠崟鍘嗗彶鏁�={}, 鏄庣粏鍘嗗彶鏁�={}, 璁㈠崟鍒犻櫎鏁�={}, 鏄庣粏鍒犻櫎鏁�={}",
+ orderCount, orderLogCount, detailLogCount, orderDeleteCount, detailDeleteCount
+ );
+ return SUCCESS;
+ } catch (Exception e) {
+ log.error("0鐐硅嚜鍔ㄨ縼绉诲嚭搴撳崟鑷冲巻鍙叉。澶辫触", e);
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ }
}
private void moveBoth(Order order, List<OrderDetl> orderDetls){
@@ -80,4 +175,24 @@
}
}
+ private void moveBothOrder(Order order, List<OrderDetl> orderDetls){
+ Date now = new Date();
+ if (!Cools.isEmpty(orderDetls)) {
+ for (OrderDetl orderDetl : orderDetls) {
+ orderDetl.setUpdateBy(0L);
+ orderDetl.setUpdateTime(now);
+ orderDetlService.addToLogTable(orderDetl);
+ orderDetlService.delete(new EntityWrapper<OrderDetl>()
+ .eq("id",orderDetl.getId()));
+ }
+ }
+ if (!Cools.isEmpty(order)){
+ order.setUpdateBy(0L);
+ order.setUpdateTime(now);
+ orderService.addToLogTable(order);
+ orderService.delete(new EntityWrapper<Order>()
+ .eq("id",order.getId()));
+ }
+ }
+
}
--
Gitblit v1.9.1