#
Junjie
16 小时以前 103ca74d9b67ce4f766b5f77451741a76fa696b9
src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java
@@ -209,6 +209,16 @@
    @Override
    public StationCommand getCommand(StationCommandType commandType, Integer taskNo, Integer stationId, Integer targetStationId, Integer palletSize) {
        return getCommand(commandType, taskNo, stationId, targetStationId, palletSize, null);
    }
    @Override
    public StationCommand getCommand(StationCommandType commandType,
                                     Integer taskNo,
                                     Integer stationId,
                                     Integer targetStationId,
                                     Integer palletSize,
                                     Double pathLenFactor) {
        StationCommand stationCommand = new StationCommand();
        stationCommand.setTaskNo(taskNo);
        stationCommand.setStationId(stationId);
@@ -218,7 +228,7 @@
        if (commandType == StationCommandType.MOVE) {
            if (!stationId.equals(targetStationId)) {
                List<Integer> path = calcPathStationIds(stationId, targetStationId);
                List<Integer> path = calcPathStationIds(taskNo, stationId, targetStationId, pathLenFactor);
                if (path == null || path.isEmpty()) {
                    log.warn("输送线命令生成失败,路径为空,taskNo={}, stationId={}, targetStationId={}",
                            taskNo, stationId, targetStationId);
@@ -281,12 +291,15 @@
        return zyStationConnectDriver.readOriginCommand(address, length);
    }
    private List<Integer> calcPathStationIds(Integer startStationId, Integer targetStationId) {
    private List<Integer> calcPathStationIds(Integer taskNo,
                                             Integer startStationId,
                                             Integer targetStationId,
                                             Double pathLenFactor) {
        NavigateUtils navigateUtils = SpringUtils.getBean(NavigateUtils.class);
        if (navigateUtils == null) {
            return new ArrayList<>();
        }
        List<NavigateNode> nodes = navigateUtils.calcByStationId(startStationId, targetStationId);
        List<NavigateNode> nodes = navigateUtils.calcByStationId(startStationId, targetStationId, taskNo, pathLenFactor);
        List<Integer> ids = new ArrayList<>();
        for (NavigateNode n : nodes) {
            JSONObject v = JSONObject.parseObject(n.getNodeValue());