自动化立体仓库 - WCS系统
*
lsh
昨天 98f1c4c9ffbbb3347ad752821505bc3c70ea4efc
src/main/java/com/zy/asrs/utils/TrackRangeUtils.java
@@ -23,7 +23,7 @@
        RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
        RgvProtocol rgvProtocolE, rgvProtocolB;
        if (rgvProtocol.getRgvPos() < rgvProtocolOther.getRgvPos()) {
        if (IsItSmall(slave)) {
            rgvProtocolE = rgvProtocolOther;
            rgvProtocolB = rgvProtocol;
        } else {
@@ -42,6 +42,38 @@
    }
    public Long[][] avoidRangeArr(RgvSlave slave, Long trackEntireLength, Long trackBenchmark, Long avoidDistance) {
        RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
        RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
        RgvProtocol rgvProtocolE, rgvProtocolB;
        if (IsItSmall(slave)) {
            rgvProtocolE = rgvProtocolOther;
            rgvProtocolB = rgvProtocol;
            long entireLength = rgvProtocolE.getRgvPosDestination() - rgvProtocolE.getCarBodyJiaoMing() - avoidDistance - rgvProtocolB.getCarBodyKunPeng();
            long benchmark = trackBenchmark + rgvProtocolB.getCarBodyJiaoMing();
            long entireLengthOther = trackEntireLength - rgvProtocolE.getCarBodyKunPeng();
            long benchmarkOther = rgvProtocolB.getRgvPosDestination() + rgvProtocolB.getCarBodyKunPeng() + avoidDistance + rgvProtocolE.getCarBodyJiaoMing();
            return new Long[][]{new Long[]{entireLength, benchmark}, new Long[]{entireLengthOther, benchmarkOther}};
        } else {
            rgvProtocolE = rgvProtocol;
            rgvProtocolB = rgvProtocolOther;
            long entireLength = trackEntireLength - rgvProtocolE.getCarBodyKunPeng();
            long benchmark = rgvProtocolB.getRgvPosDestination() + rgvProtocolB.getCarBodyKunPeng() + avoidDistance + rgvProtocolE.getCarBodyJiaoMing();
            long entireLengthOther = rgvProtocolE.getRgvPosDestination() - rgvProtocolE.getCarBodyJiaoMing() - avoidDistance - rgvProtocolB.getCarBodyKunPeng();
            long benchmarkOther = trackBenchmark + rgvProtocolB.getCarBodyJiaoMing();
            return new Long[][]{new Long[]{entireLength, benchmark}, new Long[]{entireLengthOther, benchmarkOther}};
        }
    }
    public boolean avoidRange(Long avoid, Long[] range) {
        return avoid < range[0] && avoid > range[1];
    }