#
Junjie
16 小时以前 479744aa9d9e468626583620a85d9039f7c1ea5f
src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -1313,12 +1313,15 @@
        if (lock != null) {
            return;
        }
        int taskBufferCommandCount = countTaskBufferCommands(stationProtocol.getTaskBufferItems());
        if (taskBufferCommandCount > 0) {
            News.info("输送站点任务停留超时,但缓存区仍有命令,已跳过重算。站点号={},工作号={},缓存命令数={}",
        int currentTaskBufferCommandCount = countCurrentTaskBufferCommands(
                stationProtocol.getTaskBufferItems(),
                stationProtocol.getTaskNo()
        );
        if (currentTaskBufferCommandCount > 0) {
            News.info("输送站点任务停留超时,但缓存区仍存在当前任务命令,已跳过重算。站点号={},工作号={},当前任务命令数={}",
                    stationProtocol.getStationId(),
                    stationProtocol.getTaskNo(),
                    taskBufferCommandCount);
                    currentTaskBufferCommandCount);
            return;
        }
@@ -1384,18 +1387,16 @@
        redisUtil.del(key);
    }
    private int countTaskBufferCommands(List<StationTaskBufferItem> taskBufferItems) {
        if (taskBufferItems == null || taskBufferItems.isEmpty()) {
    private int countCurrentTaskBufferCommands(List<StationTaskBufferItem> taskBufferItems, Integer currentTaskNo) {
        if (taskBufferItems == null || taskBufferItems.isEmpty() || currentTaskNo == null || currentTaskNo <= 0) {
            return 0;
        }
        int count = 0;
        for (StationTaskBufferItem item : taskBufferItems) {
            if (item == null) {
            if (item == null || item.getTaskNo() == null) {
                continue;
            }
            Integer taskNo = item.getTaskNo();
            Integer targetStaNo = item.getTargetStaNo();
            if ((taskNo != null && taskNo != 0) || (targetStaNo != null && targetStaNo != 0)) {
            if (currentTaskNo.equals(item.getTaskNo())) {
                count++;
            }
        }