From 2cfa8856fb1fd1ad7f642fd998d1644879abcdb5 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 25 七月 2024 10:02:24 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java | 163 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 145 insertions(+), 18 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 99337f9..540dfe4 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
@@ -5,6 +5,7 @@
import com.zy.asrs.wcs.core.model.enums.MotionCtgType;
import com.zy.asrs.wcs.core.entity.Motion;
import com.zy.asrs.wcs.core.service.MotionService;
+import com.zy.asrs.wcs.core.utils.LiftDispatcher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -19,7 +20,8 @@
@Autowired
private MotionService motionService;
-
+ @Autowired
+ private LiftDispatcher liftDispatcher;
// agv -----------------------------------------------------------------------------
@Deprecated
@@ -50,16 +52,18 @@
motion.setMotionCtg(MotionCtgType.LIFT_MOVE.val());
if (null != origin) {
- motion.setOrigin(String.valueOf(origin.getLev()));
+ motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev())));
}
- motion.setTarget(String.valueOf(target.getLev()));
- }));
+ motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
-// if (target.getUpdateLiftNo() != null && target.getWrkNo() != null) {
-// if (target.getUpdateLiftNo()) {
-//
-// }
-// }
+ if (target.getSync() != null) {
+ motion.setSync(target.getSync());
+ }
+
+ if (target.getReleaseLift() != null) {
+ motion.setReleaseLift(target.getReleaseLift());
+ }
+ }));
return motionList;
}
@@ -77,9 +81,20 @@
motion.setMotionCtg(MotionCtgType.LIFT_WITH_GOODS.val());
if (null != origin) {
- motion.setOrigin(String.valueOf(origin.getLev()));
+ motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev())));
+ motion.setOriDrt(origin.getStaNo());//婧愮珯
}
- motion.setTarget(String.valueOf(target.getLev()));
+ motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
+ motion.setTarDrt(target.getStaNo());//鐩爣绔�
+ motion.setDockNo(String.valueOf(target.getDevpNo()));//杈撻�佺嚎ID
+
+ if (target.getSync() != null) {
+ motion.setSync(target.getSync());
+ }
+
+ if (target.getReleaseLift() != null) {
+ motion.setReleaseLift(target.getReleaseLift());
+ }
}));
return motionList;
@@ -98,9 +113,9 @@
motion.setMotionCtg(MotionCtgType.LIFT_WITH_SHUTTLE.val());
if (null != origin) {
- motion.setOrigin(String.valueOf(origin.getLev()));
+ motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev())));
}
- motion.setTarget(String.valueOf(target.getLev()));
+ motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
}));
return motionList;
@@ -119,9 +134,9 @@
motion.setMotionCtg(MotionCtgType.LIFT_WITH_GOODS_AND_SHUTTLE.val());
if (null != origin) {
- motion.setOrigin(String.valueOf(origin.getLev()));
+ motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev())));
}
- motion.setTarget(String.valueOf(target.getLev()));
+ motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
}));
return motionList;
@@ -139,7 +154,7 @@
motion.setMotionCtg(MotionCtgType.LIFT_TRANSPORT_TO_CONVEYOR.val());
- motion.setOrigin(String.valueOf(origin.getLev()));
+ motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(origin.getLiftNo(), origin.getLev())));
motion.setDockNo(String.valueOf(target.getDevpNo()));
motion.setTarget(String.valueOf(target.getStaNo()));
@@ -148,8 +163,100 @@
return motionList;
}
+ /**
+ * 鎻愬崌鏈洪攣瀹�
+ */
+ public List<Motion> liftLock(MotionDto origin, MotionDto target) {
+ List<Motion> motionList = new ArrayList<>();
+
+ motionList.add(Motion.build(motion -> {
+ motion.setDeviceCtg(DeviceCtgType.LIFT.val());
+ motion.setDevice(String.valueOf(target.getLiftNo()));
+ motion.setMotionCtg(MotionCtgType.LIFT_LOCK.val());
+
+ if (target.getSync() != null) {
+ motion.setSync(target.getSync());
+ }
+
+ if (target.getReleaseLift() != null) {
+ motion.setReleaseLift(target.getReleaseLift());
+ }
+ }));
+
+ return motionList;
+ }
+
+ /**
+ * 鎻愬崌鏈鸿В閿�
+ */
+ public List<Motion> liftUnlock(MotionDto origin, MotionDto target) {
+ List<Motion> motionList = new ArrayList<>();
+
+ motionList.add(Motion.build(motion -> {
+ motion.setDeviceCtg(DeviceCtgType.LIFT.val());
+ motion.setDevice(String.valueOf(target.getLiftNo()));
+ motion.setMotionCtg(MotionCtgType.LIFT_UNLOCK.val());
+
+ if (target.getSync() != null) {
+ motion.setSync(target.getSync());
+ }
+
+ if (target.getReleaseLift() != null) {
+ motion.setReleaseLift(target.getReleaseLift());
+ }
+ }));
+
+ return motionList;
+ }
+
+ /**
+ * 鎻愬崌鏈�-灏忚溅宸插埌浣�
+ */
+ public List<Motion> liftShuttleArrival(MotionDto origin, MotionDto target) {
+ List<Motion> motionList = new ArrayList<>();
+
+ motionList.add(Motion.build(motion -> {
+ motion.setDeviceCtg(DeviceCtgType.LIFT.val());
+ motion.setDevice(String.valueOf(target.getLiftNo()));
+ motion.setMotionCtg(MotionCtgType.LIFT_SHUTTLE_ARRIVAL.val());
+ }));
+
+ return motionList;
+ }
+
+ /**
+ * 鎻愬崌鏈�-灏忚溅宸查┒绂�
+ */
+ public List<Motion> liftShuttleLeave(MotionDto origin, MotionDto target) {
+ List<Motion> motionList = new ArrayList<>();
+
+ motionList.add(Motion.build(motion -> {
+ motion.setDeviceCtg(DeviceCtgType.LIFT.val());
+ motion.setDevice(String.valueOf(target.getLiftNo()));
+ motion.setMotionCtg(MotionCtgType.LIFT_SHUTTLE_LEAVE.val());
+ }));
+
+ return motionList;
+ }
// shuttle -----------------------------------------------------------------------------
+
+ /**
+ * 灏忚溅鍧愭爣鏇存柊
+ */
+ public List<Motion> shuttleUpdateLocation(MotionDto origin, MotionDto target) {
+ List<Motion> motionList = new ArrayList<>();
+
+ motionList.add(Motion.build(motion -> {
+ motion.setDeviceCtg(DeviceCtgType.SHUTTLE.val());
+ motion.setDevice(String.valueOf(target.getShuttleNo()));
+ motion.setMotionCtg(MotionCtgType.SHUTTLE_UPDATE_LOCATION.val());
+
+ motion.setTarget(target.getLocNo());
+ }));
+
+ return motionList;
+ }
/**
* 绌挎杞︾┖杞界Щ鍔�
@@ -228,14 +335,34 @@
return motionList;
}
- public List<Motion> shuttleCharge(MotionDto origin, MotionDto target) {
+ /**
+ * 绌挎杞﹀姩浣�
+ */
+ public List<Motion> shuttleAction(MotionDto origin, MotionDto target, MotionCtgType motionCtgType) {
List<Motion> motionList = new ArrayList<>();
motionList.add(Motion.build(motion -> {
motion.setDeviceCtg(DeviceCtgType.SHUTTLE.val());
motion.setDevice(String.valueOf(target.getShuttleNo()));
- motion.setMotionCtg(MotionCtgType.SHUTTLE_CHARGE_ON.val());
+ motion.setMotionCtg(motionCtgType.val());
+
+ switch (motionCtgType) {
+ case SHUTTLE_PALLET_LIFT://鎵樼洏椤跺崌
+
+ break;
+ case SHUTTLE_PALLET_DOWN://鎵樼洏涓嬮檷
+
+ break;
+ case SHUTTLE_CHARGE_ON://鍏呯數寮�
+
+ break;
+ case SHUTTLE_CHARGE_OFF://鍏呯數鍏�
+
+ break;
+ default:
+ break;
+ }
}));
--
Gitblit v1.9.1