#
Junjie
14 小时以前 da77cc0503552bb7644353c98f280e4f6bf533f2
src/main/java/com/zy/core/network/fake/ZyStationFakeConnect.java
@@ -129,6 +129,10 @@
        }
        if(commandType == StationCommandType.WRITE_INFO){
            if (command.getBarcode() != null) {
                updateStationBarcode(deviceNo, stationId, command.getBarcode());
                return;
            }
            if (taskNo == 9998 && targetStationId == 0) {
                //生成出库站点仿真数据
                generateFakeOutStationData(deviceNo, stationId);
@@ -199,6 +203,23 @@
        }
    }
    private void updateStationBarcode(Integer deviceNo, Integer stationId, String barcode) {
        List<ZyStationStatusEntity> statusList = deviceStatusMap.get(deviceNo);
        if (statusList == null) {
            return;
        }
        ZyStationStatusEntity status = statusList.stream()
                .filter(item -> item.getStationId().equals(stationId)).findFirst().orElse(null);
        if (status == null) {
            return;
        }
        synchronized (status) {
            status.setBarcode(barcode);
        }
    }
    private void currentLevCommand(StationCommand command, boolean generateBarcode) {
        NavigateUtils navigateUtils = SpringUtils.getBean(NavigateUtils.class);
        if (navigateUtils == null) {
@@ -209,14 +230,14 @@
        Integer stationId = command.getStationId();
        Integer targetStationId = command.getTargetStaNo();
        List<NavigateNode> navigateNodes = null;
        List<NavigateNode> navigateNodes = new ArrayList<>();
        try {
            navigateNodes = navigateUtils.calcByStationId(stationId, targetStationId);
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (navigateNodes == null) {
        if (navigateNodes.isEmpty()) {
            return;
        }
@@ -237,8 +258,8 @@
        Integer stationId = command.getStationId();
        Integer targetStationId = command.getTargetStaNo();
        List<NavigateNode> navigateNodes = null;
        List<NavigateNode> targetNavigateNodes = null;
        List<NavigateNode> navigateNodes = new ArrayList<>();
        List<NavigateNode> targetNavigateNodes = new ArrayList<>();
        try {
            BasStation startStation = basStationService.selectById(stationId);
@@ -287,14 +308,22 @@
                    continue;
                }
                navigateNodes = navigateUtils.calcByStationId(stationId, liftStationId);
                if(navigateNodes == null){
                try {
                    navigateNodes = navigateUtils.calcByStationId(stationId, liftStationId);
                } catch (Exception e) {
                }
                if(navigateNodes.isEmpty()){
                    continue;
                }
                //计算提升机到目标站的路径
                targetNavigateNodes = navigateUtils.calcByStationId(targetLiftStationId, targetStationId);
                if(targetNavigateNodes == null) {
                try {
                    //计算提升机到目标站的路径
                    targetNavigateNodes = navigateUtils.calcByStationId(targetLiftStationId, targetStationId);
                } catch (Exception e) {
                }
                if(targetNavigateNodes.isEmpty()) {
                    continue;
                }
            }
@@ -302,7 +331,7 @@
            e.printStackTrace();
        }
        if (navigateNodes == null || targetNavigateNodes == null) {
        if (navigateNodes.isEmpty() || targetNavigateNodes.isEmpty()) {
            return;
        }