#
zhou zhou
3 天以前 480d4f9f5c31d8169d449241b1efea9936eb238f
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderPressureSchedules.java
@@ -23,6 +23,7 @@
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
/**
 * ASN 单据压测数据定时生成器。
@@ -37,6 +38,7 @@
    private static final Integer TENANT_ID = 1;
    private static final Long USER_ID = 51L;
    private static final String MEMO = "ASN_PRESSURE_TEST";
    private final AtomicBoolean running = new AtomicBoolean(false);
    @Autowired
    private AsnOrderService asnOrderService;
@@ -59,10 +61,15 @@
    @Scheduled(cron = "${pressure.asn-order.cron:0/10 * * * * ?}")
    @Transactional(rollbackFor = Exception.class)
    public synchronized void insertPressureOrders() {
    public void insertPressureOrders() {
        if (!enabled) {
            return;
        }
        if (!running.compareAndSet(false, true)) {
            log.warn("ASN压测任务仍在执行中,本轮跳过");
            return;
        }
        try {
        if (orderCountPerRun <= 0 || itemCountPerOrder <= 0 || itemQty <= 0) {
            log.warn("ASN压测任务配置无效,跳过执行: orderCountPerRun={}, itemCountPerOrder={}, itemQty={}",
                    orderCountPerRun, itemCountPerOrder, itemQty);
@@ -101,6 +108,9 @@
        }
        log.info("ASN压测任务执行完成,本次插入主单 {} 条,明细 {} 条", orders.size(), items.size());
        } finally {
            running.set(false);
        }
    }
    private List<Matnr> loadMatnrs() {