#
vincentlu
昨天 1bdaf9be340892e1654caea9ed4082b6c61beb3b
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -9,6 +9,7 @@
import com.zy.acs.manager.common.utils.MapDataUtils;
import com.zy.acs.manager.core.constant.MapDataConstant;
import com.zy.acs.manager.core.domain.BlockVehicleDto;
import com.zy.acs.manager.core.domain.PathDto;
import com.zy.acs.manager.core.domain.TaskPosDto;
import com.zy.acs.manager.core.domain.type.BlockSeverityType;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
@@ -201,7 +202,7 @@
            //        ArrayList<List<TaskPosDto>> list = JSON.parseObject(travel.getTaskContent(), new TypeReference<ArrayList<List<TaskPosDto>>>() {});
            // * sync wave scope
            if (!avoidWaveCalculator.calcWaveScope()) {
            if (!avoidWaveCalculator.calcWaveScope(agvModelService.getByAgvId(agv.getId()))) {
                log.error("failed to calculate avoid wave matrix ...");
                return;
            }
@@ -277,11 +278,11 @@
                }
            }
            mapService.lockPath(null, pathList, agv.getUuid());
//            startTime = System.currentTimeMillis();
            mainService.generateAction(segment.getAgvId(), segmentList, pathList, now);
            List<PathDto> pathDtoList = mainService.generateAction(segment.getAgvId(), segmentList, pathList, now);
//            System.out.println("generateAction: " + (System.currentTimeMillis() - startTime));
            mapService.lockPath(null, pathDtoList, agv.getUuid());
        } catch (Exception e) {
            log.error("TrafficService.trigger", e);
@@ -672,7 +673,7 @@
                            // the wave of first node
                            Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(
                                    agvModelService.getById(jamAgv.getAgvModel()).getDiameter(),
                                    agvModelService.getByAgvId(jamAgv.getId()).getDiameter(),
                                    MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR
                            );
                            List<String> waveCodeList = mapService.getWaveScopeByCode(lev, firstCodeNode, avoidDistance)
@@ -703,9 +704,12 @@
                continue;
            }
            // 当前vehicle正在进行滚筒输送线等待
            if (segmentService.isRollerWaiting(agvId)) {
            if (travelService.hasRollerWaiting(agvId)) {
                continue;
            }
//            if (segmentService.isRollerWaiting(agvId)) {
//                continue;
//            }
            return blockVehicleDto.getVehicle();
        }
        return null;