Junjie
1 天以前 78db852d39b8d13e39521f76b24d9f7d80737fcc
src/main/java/com/zy/core/thread/impl/ZyStationV5Thread.java
@@ -289,24 +289,57 @@
                    continue;
                }
                found = true;
                Integer clearedTaskNo = item.getTaskNo();
                if (!zyStationConnectDriver.clearTaskBufferSlot(stationId, item.getSlotIdx())) {
                    success = false;
                    log.warn("输送站缓存区残留路径清理失败。stationId={}, slotIdx={}, taskNo={}",
                            stationId, item.getSlotIdx(), item.getTaskNo());
                            stationId, item.getSlotIdx(), clearedTaskNo);
                    continue;
                }else {
                    item.setTaskNo(0);
                    item.setTargetStaNo(0);
                    success = true;
                    log.warn("输送站缓存区残留路径清理成功。stationId={}, slotIdx={}, taskNo={}",
                            stationId, item.getSlotIdx(), item.getTaskNo());
                }
                item.setTaskNo(0);
                item.setTargetStaNo(0);
                log.warn("输送站缓存区残留路径清理成功。stationId={}, slotIdx={}, taskNo={}",
                        stationId, item.getSlotIdx(), clearedTaskNo);
            }
        }
        return found && success;
    }
    @Override
    public boolean clearPathByStationSlot(Integer stationId, Integer slotIdx) {
        if (stationId == null || slotIdx == null || zyStationConnectDriver == null) {
            return false;
        }
        List<StationProtocol> status = getStatus();
        if (status == null || status.isEmpty()) {
            return false;
        }
        for (StationProtocol stationProtocol : status) {
            if (stationProtocol == null || !Objects.equals(stationId, stationProtocol.getStationId())) {
                continue;
            }
            if (!zyStationConnectDriver.clearTaskBufferSlot(stationId, slotIdx)) {
                log.warn("输送站缓存区残留路径按站点槽位清理失败。stationId={}, slotIdx={}", stationId, slotIdx);
                return false;
            }
            List<StationTaskBufferItem> taskBufferItems = stationProtocol.getTaskBufferItems();
            if (taskBufferItems != null) {
                for (StationTaskBufferItem item : taskBufferItems) {
                    if (item != null && Objects.equals(slotIdx, item.getSlotIdx())) {
                        item.setTaskNo(0);
                        item.setTargetStaNo(0);
                        break;
                    }
                }
            }
            log.warn("输送站缓存区残留路径按站点槽位清理成功。stationId={}, slotIdx={}", stationId, slotIdx);
            return true;
        }
        return false;
    }
    @Override
    public CommandResponse sendCommand(StationCommand command) {
        CommandResponse commandResponse = null;
        try {