From 1f0e9565866c18d7169acd4a0f82ef05b0de6dd8 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 23 四月 2024 08:43:45 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java |  162 ++--------------------------------------
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java   |    1 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java           |   14 +-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java        |    9 -
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java                  |    7 +
 5 files changed, 23 insertions(+), 170 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
index 4fb2d5f..cd41492 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -6,6 +6,7 @@
 import com.zy.asrs.wcs.core.model.command.LiftAssignCommand;
 import com.zy.asrs.wcs.core.model.command.LiftCommand;
 import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
+import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType;
 import com.zy.asrs.wcs.core.model.enums.MotionCtgType;
 import com.zy.asrs.wcs.core.model.enums.MotionStsType;
 import com.zy.asrs.wcs.core.service.MotionService;
@@ -74,25 +75,23 @@
                     break;
                 }
 
-                command = liftThread.getMoveCommand(motion.getTaskNo(), 0, Integer.parseInt(motion.getTarget()), null);
+                command = liftThread.getMoveCommand(motion.getTaskNo(), 0, Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE);
                 list.add(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_WITH_GOODS:
-                return false;
-//                if (!liftProtocol.getLineFrontHasStock() || !liftProtocol.getLineEndHasStock()) {
+//                if (liftProtocol.getHasTray()) {
 //                    return false;
 //                }
-//
-//                command = liftThread.getLiftUpDownCommand(Integer.parseInt(motion.getTarget()));
-//                command.setLiftNo(deviceNo.shortValue());
-//                command.setTaskNo(motion.getWrkNo().shortValue());
-//                return liftThread.assignWork(command);
+
+                command = liftThread.getPalletInOutCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), LiftCommandModeType.PALLET_INOUT);
+                list.add(command);
+                return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_WITH_SHUTTLE:
                 if (!liftProtocol.getHasCar()) {
                     return false;
                 }
 
-                command = liftThread.getMoveWithShuttleCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), null);
+                command = liftThread.getMoveWithShuttleCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE_CAR);
                 list.add(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_WITH_GOODS_AND_SHUTTLE:
@@ -107,88 +106,6 @@
 //                return liftThread.assignWork(command);
             case LIFT_TRANSPORT_TO_CONVEYOR:
                 return false;
-//                // 鍒ゆ柇杈撻�佺嚎鐘舵��
-//                int staNo = Integer.parseInt(motion.getTarget());
-//                WorkZoneType zoneType = WorkZoneType.query(staNo);
-//
-//                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, zoneType.devpPlcId);
-//
-//                StaProtocol staProtocol = devpThread.getStation().get(staNo);
-//                if (staProtocol == null) {
-//                    return false;
-//                }
-//
-//                if (!staProtocol.isAutoing()
-//                    || staProtocol.isLoading()
-////                    || !staProtocol.isOutEnable()
-//                    || staProtocol.getWorkNo() != 0) {
-//                    return false;
-//                }
-//
-//                // 鍒ゆ柇鎻愬崌鏈虹姸鎬�
-//                if (!liftProtocol.getLev().equals(Short.parseShort(motion.getOrigin()))) {  // 鏄惁澶勪簬浠诲姟灞�
-//                    return false;
-//                }
-//
-//                // 涓嬪彂鍛戒护 ---------------------------------------------------
-//
-//                // 1.椹卞姩杈撻�佺嚎鐢垫満
-//                StaMotorType staMotorType = null;
-//                StaMotorType reqStaMotorType = null;
-//                LiftInteractiveModeType liftInteractiveModeType = null;
-//                LiftNeighborType neighborType = LiftNeighborType.query(staNo);
-//                StaProtocol staProtocol1 = staProtocol.clone();
-//                staProtocol1.setWorkNo(motion.getWrkNo().shortValue());
-//                staProtocol1.setStaNo(neighborType.finalStaNo.shortValue());
-//                switch (neighborType) {
-//                    case LIFT_2_NEIGHBOR_OUTBOUND_LEV_1:
-//                        staMotorType = StaMotorType.FORWARD;
-//                        reqStaMotorType = StaMotorType.REQ_FORWARD;
-//                        liftInteractiveModeType = LiftInteractiveModeType.ENGINE_LOADING_TURN_REVERSE;
-//                        break;
-//                    case LIFT_1_NEIGHBOR_INBOUND_LEV_2:
-//                    case LIFT_1_NEIGHBOR_INBOUND_LEV_3:
-//                    case LIFT_1_NEIGHBOR_INBOUND_LEV_4:
-//                        staMotorType = StaMotorType.FORWARD;
-//                        reqStaMotorType = StaMotorType.REQ_FORWARD;
-//                        liftInteractiveModeType = LiftInteractiveModeType.ENGINE_LOADING_TURN_REVERSE;
-//                        break;
-//                    case LIFT_1_NEIGHBOR_OUTBOUND_LEV_1_FINAL_8:
-//                        staMotorType = StaMotorType.FORWARD;
-//                        reqStaMotorType = StaMotorType.REQ_FORWARD;
-//                        liftInteractiveModeType = LiftInteractiveModeType.ENGINE_LOADING_TURN_REVERSE;
-//                        break;
-//                    default:
-//                        break;
-//                }
-//
-//                MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol1));
-//                try {
-//                    Thread.sleep(1000);
-//                } catch (InterruptedException ignore) {}
-////                int times = 0;boolean staProtocolMotorRes = false;
-////                while (times < 5) {
-////                    if (staProtocol.getStaMotorType().equals(staMotorType)) {
-////                        staProtocolMotorRes = true;
-////                        break;
-////                    }
-////                    if (!devpThread.controlMotor(staNo, reqStaMotorType)) {
-////                        continue;
-////                    }
-////                    try {
-////                        Thread.sleep(500);
-////                    } catch (InterruptedException ignore) {}
-////                    times++;
-////                }
-////                if (!staProtocolMotorRes) {
-////                    return false;
-////                }
-//
-//                // 2.椹卞姩鎻愬崌鏈虹數鏈�
-//                command = liftThread.getLiftTurnCommand(liftInteractiveModeType.id);
-//                command.setLiftNo(deviceNo.shortValue());
-//                command.setTaskNo(motion.getWrkNo().shortValue());
-//                return liftThread.assignWork(command);
             default:
                 break;
 
@@ -269,69 +186,6 @@
 
                 break;
             case LIFT_TRANSPORT_TO_CONVEYOR:
-//                // 鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔ㄣ�佺┖闂层�佸噯澶囧氨缁�佸墠鍏夌數鏃犺揣銆侀摼鏉℃病鏈夎浆鍔�
-//                if (!liftProtocol.getModel()
-//                        || liftProtocol.getRun()
-//                        || !liftProtocol.getReady()
-//                        || liftProtocol.getLineFxrontHasStock()
-//                        || liftProtocol.getLineEndHasStock()
-//                        || liftProtocol.getForwardRotationFeedback()
-//                        || liftProtocol.getReverseFeedback()
-//                ) {
-//                    return false;
-//                }
-//
-//                if (liftProtocol.getTaskNo().intValue() != motion.getWrkNo()) {
-//                    return false;
-//                }
-//
-//                // 鍒ゆ柇杈撻�佺嚎鐘舵��
-//                int staNo = Integer.parseInt(motion.getTarget());
-//                WorkZoneType zoneType = WorkZoneType.query(staNo);
-//
-//                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, zoneType.devpPlcId);
-//
-//                StaProtocol staProtocol = devpThread.getStation().get(staNo);
-//                if (staProtocol == null) {
-//                    return false;
-//                }
-//
-//                if (!staProtocol.getStaMotorType().equals(StaMotorType.STANDBY)) {
-//                    return false;
-//                }
-//
-////                // 鍒ゆ柇杈撻�佺嚎鐘舵��
-////                int staNo = Integer.parseInt(motion.getTarget());
-////                WorkZoneType zoneType = WorkZoneType.query(staNo);
-////
-////                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, zoneType.devpPlcId);
-////
-////                StaProtocol staProtocol = devpThread.getStation().get(staNo);
-////                if (staProtocol == null) {
-////                    return false;
-////                }
-////
-////                if (!staProtocol.isAutoing() || !staProtocol.isLoading() || staProtocol.getWorkNo() != motion.getWrkNo().intValue()) {
-////                    return false;
-////                }
-//
-////                if (!staProtocol.getStaMotorType().equals(StaMotorType.STANDBY)) {
-////                    return false;
-////                }
-//
-////                // 灏嗕换鍔″彿鍏堜繚瀛樺埌杈撻�佺嚎绔欑偣涓婏紝鐩爣绔欎负0
-////                StaProtocol clone = staProtocol.clone();
-////                clone.setWorkNo(motion.getWrkNo().shortValue());
-////                clone.setStaNo((short) 0);
-////                if (!MessageQueue.offer(SlaveType.Devp, zoneType.devpPlcId, new Task(2, clone))) {
-////                    return false;
-////                }
-////
-////                // 鍋滄鎻愬崌鏈虹數鏈鸿浆鍔紝骞跺浣�
-////                command = liftThread.getLiftTurnCommand(LiftInteractiveModeType.ENGINE_STOP.id);
-////                command.setLiftNo(deviceNo.shortValue());
-////                command.setTaskNo(motion.getWrkNo().shortValue());
-////                return liftThread.assignWork(command);
 
                 break;
             default:
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java
index b928589..1c74b5b 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java
@@ -8,6 +8,7 @@
     LOCK(3, "閿佸畾鎻愬崌鏈�"),
     UNLOCK(4, "瑙i攣鎻愬崌鏈�"),
     RESET(5, "澶嶄綅"),
+    MOVE_CAR(6, "鎻愬崌鏈哄崌闄嶅皬杞�"),
     ;
 
     public Integer id;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
index ae280fb..b93e6eb 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
@@ -2,6 +2,7 @@
 
 import com.zy.asrs.wcs.common.ExecuteSupport;
 import com.zy.asrs.wcs.core.model.command.LiftCommand;
+import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType;
 import com.zy.asrs.wcs.rcs.entity.Device;
 import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType;
 import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
@@ -33,11 +34,11 @@
     boolean isLock(ExecuteSupport support);
 
     //***************鑾峰彇鍛戒护*****************
-    LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode);//鎻愬崌鏈虹Щ鍔�
+    LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//鎻愬崌鏈虹Щ鍔�
 
-    LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode);//杞借溅绉诲姩
+    LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//杞借溅绉诲姩
 
-    LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, Integer mode);//鎵樼洏鍑哄叆
+    LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode);//鎵樼洏鍑哄叆
 
     LiftCommand getLockCommand(Integer taskNo, Boolean lock);//閿佸畾/瑙i攣鎻愬崌鏈�
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
index cc8ad97..74060d0 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
@@ -320,15 +320,15 @@
     }
 
     @Override
-    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
+    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         /**
          * 浠诲姟绫诲瀷
          * 1=绉绘墭鐩橈紱鍗囬檷鏈哄皢婧愮珯鍙版墭鐩樼Щ鍒扮洰鏍囩珯鍙�
          * 2=绉诲皬杞︼紝鍗囬檷鏈虹Щ鍒扮洰鏍囧眰锛岀瓑寰�
          */
         short taskMode = 2;
-        if (mode == null) {
-            taskMode = mode.shortValue();
+        if (mode.equals(LiftCommandModeType.PALLET_INOUT)) {
+            taskMode = 1;
         }
 
         // 寮�濮嬩换鍔�
@@ -352,13 +352,13 @@
     }
 
     @Override
-    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
-        return getMoveCommand(taskNo, sourceLev, targetLev, 2);
+    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
+        return getMoveCommand(taskNo, sourceLev, targetLev, mode);
     }
 
     @Override
-    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, Integer mode) {
-        return getMoveCommand(taskNo, sourceLev, targetLev, 1);
+    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode) {
+        return getMoveCommand(taskNo, sourceLev, targetLev, mode);
     }
 
     @Override
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
index ee1b8ba..63ba78d 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
@@ -409,11 +409,8 @@
 
     //绌鸿浇绉诲姩
     @Override
-    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
+    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         int taskMode = 3;//绌鸿浇绉诲姩
-        if (mode == null) {
-            taskMode = mode.shortValue();
-        }
 
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "lifterTask");
@@ -435,7 +432,7 @@
 
     //杞借溅绉诲姩
     @Override
-    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
+    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "lifterTask");
         body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
@@ -456,7 +453,7 @@
 
     //鎵樼洏鍑哄叆
     @Override
-    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, Integer mode) {
+    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode) {
         HashMap<String, Object> body = new HashMap<>();
         body.put("messageName", "lifterTask");
         body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));

--
Gitblit v1.9.1