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