自动化立体仓库 - WMS系统
pang.jiabao
2 天以前 ff3316f50a7ed644c06f3924f1c9c525392a65c3
每次上报两条订单
1个文件已修改
17 ■■■■ 已修改文件
src/main/java/com/zy/third/lk/task/LKInTBScheduler.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,12 +48,21 @@
    @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("开始入库更新完成回报");
        // 拿不到锁直接跳过(关键)
        if (!lock.tryLock()) {
            System.out.println("上一次任务未执行完,跳过本次");
            return;
        }
        // 所有订单
        List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L));
        try {
            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L).last("TOP 2"));
        DocType docType;
        for (Order order : orders) {
@@ -82,6 +92,9 @@
                throw new CoolException("服务器内部错误,请联系管理员");
            }
        }
        } finally {
            lock.unlock();
        }
    }