From d56b8093dc9e3e75f8efe1a0f1aa6d821c9c3dfb Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 15 四月 2025 13:30:35 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java | 47 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 37 insertions(+), 10 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java index dd37a7e..678014a 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java @@ -1,11 +1,21 @@ package com.zy.asrs.wcs.core.kernel; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.asrs.framework.exception.CoolException; import com.zy.asrs.wcs.core.domain.dto.MotionDto; +import com.zy.asrs.wcs.core.model.NavigateNode; import com.zy.asrs.wcs.core.model.enums.DeviceCtgType; import com.zy.asrs.wcs.core.model.enums.MotionCtgType; import com.zy.asrs.wcs.core.entity.Motion; +import com.zy.asrs.wcs.core.model.enums.NavigationMapType; import com.zy.asrs.wcs.core.service.MotionService; import com.zy.asrs.wcs.core.utils.LiftDispatcher; +import com.zy.asrs.wcs.core.utils.NavigateUtils; +import com.zy.asrs.wcs.core.utils.Utils; +import com.zy.asrs.wcs.rcs.News; +import com.zy.asrs.wcs.rcs.entity.Device; +import com.zy.asrs.wcs.rcs.service.DeviceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +32,10 @@ private MotionService motionService; @Autowired private LiftDispatcher liftDispatcher; + @Autowired + private NavigateUtils navigateUtils; + @Autowired + private DeviceService deviceService; // agv ----------------------------------------------------------------------------- @Deprecated @@ -51,11 +65,11 @@ motion.setMotionCtg(MotionCtgType.LIFT_MOVE.val()); - if (null != origin) { - motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev()))); - } - motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev()))); - +// if (null != origin) { +// motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev()))); +// } +// motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev()))); + motion.setTarget(target.getLev().toString()); if (target.getSync() != null) { motion.setSync(target.getSync()); } @@ -71,7 +85,7 @@ /** * 鎻愬崌鏈鸿浇璐хЩ鍔� */ - public List<Motion> liftMoveGoods(MotionDto origin, MotionDto target) { + public List<Motion> liftMoveGoods(MotionDto origin, MotionDto target, MotionCtgType type) { List<Motion> motionList = new ArrayList<>(); motionList.add(Motion.build(motion -> { @@ -79,13 +93,18 @@ motion.setDevice(String.valueOf(target.getLiftNo())); motion.setMotionCtg(MotionCtgType.LIFT_WITH_GOODS.val()); + if (type != null) { + motion.setMotionCtg(type.val()); + } if (null != origin) { - motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev()))); - motion.setOriDrt(origin.getStaNo());//婧愮珯 +// motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev()))); +// motion.setOriDrt(origin.getStaNo());//婧愮珯 + motion.setOrigin(String.valueOf(origin.getStaNo())); } - motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev()))); - motion.setTarDrt(target.getStaNo());//鐩爣绔� +// motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev()))); +// motion.setTarDrt(target.getStaNo());//鐩爣绔� + motion.setTarget(String.valueOf(target.getStaNo())); if (target.getDevpNo() != null) { motion.setDockNo(String.valueOf(target.getDevpNo()));//杈撻�佺嚎ID @@ -321,6 +340,14 @@ motion.setReleaseLift(target.getReleaseLift()); } + if (motion.getOrigin() != null && motion.getTarget() != null) { + List<NavigateNode> nodeList = navigateUtils.calc(motion.getOrigin(), motion.getTarget(), NavigationMapType.NONE_LOCK.id, Utils.getShuttlePoints(Integer.parseInt(target.getShuttleDevice().getDeviceNo()), Utils.getLev(motion.getTarget()))); + if (nodeList == null) { + throw new CoolException(motion.getOrigin() + " dash " + motion.getTarget() + " can't find navigate path!"); + } + motion.setMovePath(JSON.toJSONString(nodeList)); + } + })); return motionList; -- Gitblit v1.9.1