#
vincentlu
16 小时以前 7c893c661975dd03600113d84d3d5fadd33d1cb2
#
3个文件已修改
42 ■■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/LaneService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/LaneServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -90,7 +90,7 @@
    @Autowired
    private SegmentService segmentService;
    @Autowired
    private TrafficService trafficService;
    private LaneService laneService;
    @Autowired
    private AgvModelService agvModelService;
    @Autowired
@@ -950,6 +950,22 @@
                        // 反向角
                        final double oppLastDir = (lastDirection + 180) % 360;
                        // 巷道逻辑
                        if (!laneBuilder.isInitialized()) {
                            throw new BusinessException("lanes are not initialized");
                        }
                        LaneDto lastLaneDto = laneBuilder.search(lastCode.getData());
                        LaneDto nextLaneDto = laneBuilder.search(nextCode.getData());
                        // 进入巷道角度
                        Double laneDir = laneService.getLaneDirection(nextLaneDto);
                        // 第一次进入此巷道
                        boolean firstEnteringLane = null != laneDir && (
                                            lastLaneDto == null
                                        || !Objects.equals(lastLaneDto.getHashCode(), nextLaneDto.getHashCode())
                        );
                        // 如果下一个方向正好是作业方向的相反方向,则重置下一个方向为作业方向,标记 reverse = true
                        boolean reverse = false;
                        if (nextDirection.equals(oppWorkDir)) {
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/LaneService.java
@@ -10,4 +10,6 @@
    List<Lane> batchSaveByLaneDtoList(Long zonedId, List<LaneDto> laneDtoList);
    Double getLaneDirection(LaneDto laneDto);
}
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/LaneServiceImpl.java
@@ -6,6 +6,7 @@
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.core.domain.LaneDto;
import com.zy.acs.manager.core.service.MapService;
import com.zy.acs.manager.manager.entity.Lane;
import com.zy.acs.manager.manager.enums.StatusType;
import com.zy.acs.manager.manager.mapper.LaneMapper;
@@ -55,4 +56,25 @@
        return lanes;
    }
    @Override
    public Double getLaneDirection(LaneDto laneDto) {
        if (null == laneDto) {
            return null;
        }
        Lane lane = this.getById(laneDto.getLaneId());
        if (null == lane) {
            return null;
        }
        Integer entryAngle = lane.getEntryAngle();
        if (null == entryAngle) {
            return null;
        }
        if (entryAngle < 0) {
            return null;
        }
        double entryAngleDouble = entryAngle.doubleValue();
        return MapService.mapToNearest(entryAngleDouble);
//        return entryAngleDouble;
    }
}