From ff3316f50a7ed644c06f3924f1c9c525392a65c3 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 03 四月 2026 09:10:12 +0800
Subject: [PATCH] 每次上报两条订单
---
src/main/java/com/zy/third/lk/task/LKInTBScheduler.java | 67 ++++++++++++++++++++-------------
1 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
index 82eae19..1622662 100644
--- a/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
+++ b/src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
@@ -24,6 +24,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.locks.ReentrantLock;
/**
* 鍏ュ簱鏇存柊瀹屾垚鍥炴姤
@@ -47,40 +48,52 @@
@Autowired
private ErpSqlServer erpSqlServer;
+ private final ReentrantLock lock = new ReentrantLock();
+
@Transactional(rollbackFor = Throwable.class)
- @Scheduled(cron = "${erp.refreshtime}")
+ @Scheduled(cron = "0/10 * * * * ?")
public void pakinOrderComplete() {
//log.info("寮�濮嬪叆搴撴洿鏂板畬鎴愬洖鎶�");
- // 鎵�鏈夎鍗�
- List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L));
- DocType docType;
- for (Order order : orders) {
+ // 鎷夸笉鍒伴攣鐩存帴璺宠繃锛堝叧閿級
+ if (!lock.tryLock()) {
+ System.out.println("涓婁竴娆′换鍔℃湭鎵ц瀹岋紝璺宠繃鏈");
+ return;
+ }
- docType = docTypeService.selectById(order.getDocType());
- if (docType == null) {
- log.error("璇ヨ鍗曠被鍨嬩笉瀛樺湪:" + order.getDocType());
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- }
- List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
- if (docType.getPakin() == 1) {
- //鍏ュ簱鍗�
- for (OrderDetl orderDetl : orderDetls) {
- log.info("璇ュ叆搴撳崟瀵硅薄:" + orderDetl);
- insertInDet(orderDetl);
+ // 鎵�鏈夎鍗�
+ try {
+ List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L).last("TOP 2"));
+ DocType docType;
+ for (Order order : orders) {
+
+ docType = docTypeService.selectById(order.getDocType());
+ if (docType == null) {
+ log.error("璇ヨ鍗曠被鍨嬩笉瀛樺湪:" + order.getDocType());
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
- insertInHed(order);
- } else {
- //鍑哄簱鍗�
- for (OrderDetl orderDetl : orderDetls) {
- log.info("璇ュ嚭搴撳崟瀵硅薄:" + orderDetl);
- insertOutDet(orderDetl);
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+ if (docType.getPakin() == 1) {
+ //鍏ュ簱鍗�
+ for (OrderDetl orderDetl : orderDetls) {
+ log.info("璇ュ叆搴撳崟瀵硅薄:" + orderDetl);
+ insertInDet(orderDetl);
+ }
+ insertInHed(order);
+ } else {
+ //鍑哄簱鍗�
+ for (OrderDetl orderDetl : orderDetls) {
+ log.info("璇ュ嚭搴撳崟瀵硅薄:" + orderDetl);
+ insertOutDet(orderDetl);
+ }
+ insertOutHed(order);
}
- insertOutHed(order);
+ // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
+ if (!orderService.updateSettle(order.getId(), 6L, null)) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+ }
}
- // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
- if (!orderService.updateSettle(order.getId(), 6L, null)) {
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- }
+ } finally {
+ lock.unlock();
}
}
--
Gitblit v1.9.1