#
vincentlu
2025-12-19 c7a5f2ff3baf459d7c6b9dfbbd50c11bad58751f
#
2个文件已修改
43 ■■■■■ 已修改文件
zy-acs-flow/src/map/tool.js 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-flow/src/map/tool.js
@@ -597,6 +597,12 @@
    if (!mapContainer || !sprite) {
        return;
    }
    const data = sprite.data || (sprite.data = {});
    if (data.rotationTween) {
        data.rotationTween.stop();
        data.rotationTween = null;
    }
    // origin
    let currentRotation = sprite.rotation + rotationOffset;
    // target
@@ -612,7 +618,7 @@
    // destination
    const endRotation = sprite.rotation + rotationDifference;
    new TWEEDLE.Tween(sprite)
    const rotationTween = new TWEEDLE.Tween(sprite)
        .to({ rotation: endRotation }, ANIMATE_DURING_TIME)
        .easing(TWEEDLE.Easing.Linear.None)
        .onUpdate(() => {
@@ -622,6 +628,12 @@
            }
        })
        .start();
    data.rotationTween = rotationTween;
    rotationTween.onComplete(() => {
        if (data.rotationTween === rotationTween) {
            data.rotationTween = null;
        }
    });
};
export const incrementSpriteNo = (str, incrementValue) => {
@@ -843,13 +855,24 @@
    beInsight(agvSprite, setCurSprite);
    new TWEEDLE.Tween(agvSprite.position)
    if (agvSprite.data.moveTween) {
        agvSprite.data.moveTween.stop();
        agvSprite.data.moveTween = null;
    }
    const moveTween = new TWEEDLE.Tween(agvSprite.position)
        .to({
            x: codeSprite.position.x,
            y: codeSprite.position.y
        }, ANIMATE_DURING_TIME)
        .easing(TWEEDLE.Easing.Linear.None)
        .start();
    agvSprite.data.moveTween = moveTween;
    moveTween.onComplete(() => {
        if (agvSprite.data?.moveTween === moveTween) {
            agvSprite.data.moveTween = null;
        }
    });
}
const drawerAgvPath = (curZone, agvVo) => {
@@ -900,6 +923,14 @@
    for (let i = mapContainer.children.length - 1; i >= 0; i--) {
        const child = mapContainer.children[i];
        if (child?.data?.type === DEVICE_TYPE.AGV) {
            if (child.data.moveTween) {
                child.data.moveTween.stop();
                child.data.moveTween = null;
            }
            if (child.data.rotationTween) {
                child.data.rotationTween.stop();
                child.data.rotationTween = null;
            }
            if (child.data.jobEffect) {
                app?.ticker.remove(child.data.jobEffect._onTick);
                child.removeChild(child.data.jobEffect);
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvAreaDispatcher.java
@@ -79,9 +79,13 @@
        return areaGovernService.queryCodes(areaIds);
    }
    // 判断车辆是否被area绑定,如果绑定返回 true, 如果没绑定返回 false
    public Boolean isAgvExistsInAnyArea(Long agvId) {
        List<Long> agvIdsWithoutAreaAgv = areaAgvService.findAgvIdsWithoutAreaAgv();
        return !Cools.isEmpty(agvIdsWithoutAreaAgv) && agvIdsWithoutAreaAgv.contains(agvId);
        List<Long> agvIdsWithoutAreaAgv = areaAgvService.findAgvIdsWithoutAreaAgv(); // 没有被绑定的车辆集合
        if (Cools.isEmpty(agvIdsWithoutAreaAgv)) {
            return true;
        }
        return !agvIdsWithoutAreaAgv.contains(agvId);
    }
}