From 9372f61dcb41eeb2e09871caefce0f764d6ab021 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 21 六月 2024 15:17:04 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java |   98 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 88 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 dd04470..8cad0eb 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,9 +52,9 @@
             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) {
@@ -77,10 +79,10 @@
             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());//鐩爣绔�
         }));
 
@@ -100,9 +102,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;
@@ -121,9 +123,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;
@@ -141,7 +143,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()));
 
@@ -150,10 +152,86 @@
         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());
+        }));
+
+        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());
+        }));
+
+        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;
+    }
+
+    /**
      * 绌挎杞︾┖杞界Щ鍔�
      */
     public List<Motion> shuttleMove(MotionDto origin, MotionDto target, MotionCtgType motionCtgType) {

--
Gitblit v1.9.1