From 4ec87f4d9d873487adda85686a1bfd7fa620f857 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 12 四月 2025 08:41:31 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  109 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 63 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 8d1b18c..1c9de47 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -21,7 +21,10 @@
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.dispatcher.ShuttleDispatchUtils;
 import com.zy.core.enums.*;
-import com.zy.core.model.*;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.LiftSlave;
+import com.zy.core.model.ShuttleSlave;
+import com.zy.core.model.Task;
 import com.zy.core.model.command.ShuttleAssignCommand;
 import com.zy.core.model.command.ShuttleCommand;
 import com.zy.core.model.protocol.*;
@@ -84,9 +87,10 @@
     private TransportLiftOutServiceImpl transportLiftOutService;
     @Autowired
     private ShuttleMoveServiceImpl shuttleMoveService;
-    private LiftAction liftAction;
     @Autowired
     private NoLiftInServiceImpl noLiftInService;
+    @Autowired
+    private NoLiftOutServiceImpl noLiftOutService;
 
 
     private boolean isInEnable(DevpThread devpThread, Integer staNo) {
@@ -782,27 +786,54 @@
                             wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts);
                             shuttleThread.setSyncTaskNo(0);
                             notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
-                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_1.sts) {
-                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_2.sts);
+                        }
+//                        else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_1.sts) {
+//                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_2.sts);
+//                            shuttleThread.setSyncTaskNo(0);
+//                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+//                        }
+                        else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_3.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_4.sts);
                             shuttleThread.setSyncTaskNo(0);
                             notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
-                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_3.sts) {
-                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_4.sts);
+                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_7.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_8.sts);
                             shuttleThread.setSyncTaskNo(0);
                             notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
-                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_7.sts) {
-                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_8.sts);
+                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_11.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_12.sts);
                             shuttleThread.setSyncTaskNo(0);
                             notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
-                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_11.sts) {
-                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_12.sts);
+                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_13.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_14.sts);
                             shuttleThread.setSyncTaskNo(0);
                             notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
-                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_13.sts) {
-                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_14.sts);
+                        }  else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_13.sts);
+                            shuttleThread.setSyncTaskNo(0);
+                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_11.sts);
+                            shuttleThread.setSyncTaskNo(0);
+                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_9.sts);
+                            shuttleThread.setSyncTaskNo(0);
+                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_6.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_7.sts);
+                            shuttleThread.setSyncTaskNo(0);
+                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_5.sts);
+                            shuttleThread.setSyncTaskNo(0);
+                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_2.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_3.sts);
                             shuttleThread.setSyncTaskNo(0);
                             notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
                         }
+
 
 
                         else {
@@ -1024,12 +1055,18 @@
                         } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_LIFT_TO_SHUTTLE_TRANSPORT_LIFT_OUT.sts) {
                             //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
                             wrkMast.setWrkSts(WrkStsType.MOVE_LIFT_TO_SHUTTLE_COMPLETE_TRANSPORT_LIFT_OUT.sts);
-                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_5.sts) {
+                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_5.sts) {
                             //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
-                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_6.sts);
-                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_9.sts) {
+                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_6.sts);
+                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_9.sts) {
                             //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
-                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_10.sts);
+                            wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_10.sts);
+                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) {
+                            //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_9.sts);
+                        }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) {
+                            //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
+                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_5.sts);
                         }
 
                         wrkMast.setModiTime(new Date());
@@ -1532,7 +1569,7 @@
                 if ("TRANSPORT_LIFT".equals(wrkMast.getMk())) {
                     this.shuttleMoveExecuteTransportLift(wrkMast);
                 } else if ("TRANSPORT_DEVP".equals(wrkMast.getMk())) {
-                    noLiftInService.shuttleMoveExecute(wrkMast);
+                    this.shuttleMoveExecuteTransportNoLift(wrkMast);
                 } else {
                     shuttleMoveService.shuttleMoveExecuteMove(wrkMast);
                 }
@@ -1541,34 +1578,6 @@
             e.printStackTrace();
         }
     }
-
-    private void shuttleMoveExecuteMove(WrkMast wrkMast) {
-        boolean stepMoveSta = this.shuttleMoveExecuteStepMoveSta(wrkMast);//灏忚溅绉诲姩鍒扮珯鐐�
-        if (!stepMoveSta) {
-            return;
-        }
-
-        boolean stepIntoLift = this.shuttleMoveExecuteStepIntoLift(wrkMast);//灏忚溅杩佸叆鎻愬崌鏈�
-        if (!stepIntoLift) {
-            return;
-        }
-
-        boolean stepLiftMove = this.shuttleMoveExecuteStepLiftMove(wrkMast);//鎻愬崌鏈烘惉杩愪腑
-        if (!stepLiftMove) {
-            return;
-        }
-
-        boolean updateShuttleLocation = this.shuttleMoveExecuteStepUpdateShuttleLocation(wrkMast);//鎻愬崌鏈烘惉杩愬畬鎴愭洿鏂板皬杞﹀潗鏍�
-        if (!updateShuttleLocation) {
-            return;
-        }
-
-        boolean stepMoveLoc = this.shuttleMoveExecuteStepMoveLoc(wrkMast);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑
-        if (!stepMoveLoc) {
-            return;
-        }
-    }
-
 
     private void shuttleMoveExecuteTransportLift(WrkMast wrkMast) {
         LiftThread liftThread = LiftUtils.getRecentLift(wrkMast.getLocNo());
@@ -1586,7 +1595,15 @@
         }
     }
 
-
+    private void shuttleMoveExecuteTransportNoLift(WrkMast wrkMast) {
+        if (12 == Utils.getRow(wrkMast.getSourceLocNo()) && 3 == Utils.getBay(wrkMast.getSourceLocNo())) {
+            //鍏ュ簱
+            noLiftInService.shuttleMoveExecute(wrkMast);
+        } else {
+            //鍑哄簱
+            noLiftOutService.shuttleMoveExecute(wrkMast);
+        }
+    }
 
 
 }

--
Gitblit v1.9.1