From 98e6dd8f3597a36512699151a7f74b6cf733268f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 19 九月 2025 14:06:03 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java |   41 ++++++++++++++++++++++++++++-------------
 1 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java
index b9ab5de..40f5529 100644
--- a/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ForkMainServiceImpl.java
@@ -304,12 +304,12 @@
             }
 
             if (liftSta.getHasCar()) {
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣瀛樺湪灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftSta.getStaNo());
+                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣瀛樺湪灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftSta.getSiteId());
                 return false;
             }
 
             if (liftSta.getHasTray()) {
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣鏈夋墭鐩橈紝绂佹娲惧彂", wrkMast.getWrkNo(), liftSta.getStaNo());
+                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣鏈夋墭鐩橈紝绂佹娲惧彂", wrkMast.getWrkNo(), liftSta.getSiteId());
                 return false;
             }
 
@@ -429,7 +429,7 @@
             assignCommand.setCommands(commands);
 
             wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts);//灏忚溅鎼繍涓�  101.鐢熸垚鍑哄簱浠诲姟 ==> 102.灏忚溅鎼繍涓�
-            wrkMast.setSourceStaNo(liftSta.getStaNo());
+            wrkMast.setSourceStaNo(liftSta.getSiteId());
             wrkMast.setModiTime(new Date());
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
             if (wrkMastService.updateById(wrkMast)) {
@@ -771,12 +771,12 @@
             }
 
             if (liftSta.getHasCar()) {
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣瀛樺湪灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftSta.getStaNo());
+                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣瀛樺湪灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftSta.getSiteId());
                 return false;
             }
 
             if (!liftSta.getHasTray()) {
-                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣鏃犳墭鐩橈紝绂佹娲惧彂", wrkMast.getWrkNo(), liftSta.getStaNo());
+                News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}绔欑偣鏃犳墭鐩橈紝绂佹娲惧彂", wrkMast.getWrkNo(), liftSta.getSiteId());
                 return false;
             }
 
@@ -1097,7 +1097,7 @@
                 }
 
                 //鍒ゆ柇褰撳墠灏忚溅鏄惁婊¤冻闇�瑕佸厖鐢佃姹�
-                if (!shuttleThread.isRequireCharge()) {
+                if (shuttleThread.isRequireCharge().equals(ShuttleRequireChargeType.NONE)) {
                     continue;
                 }
 
@@ -1324,7 +1324,7 @@
             List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleChargeCommand(assignCommand, shuttleThread, true);
             assignCommand.setCommands(commands);//杩愯鍛戒护
 
-            wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_WORKING.sts);
+            wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_CHARGING.sts);
             wrkMast.setModiTime(new Date());
             if (!wrkMastService.updateById(wrkMast)) {
                 return false;
@@ -1341,7 +1341,7 @@
 
     //灏忚溅鍋滄鍏呯數
     private synchronized boolean executeShuttleChargeStepStopCharge(WrkMast wrkMast) {
-        if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_WORKING.sts) {
+        if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_CHARGING.sts) {
             ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
             if (shuttleThread == null) {
                 return false;
@@ -1351,7 +1351,16 @@
                 return false;
             }
 
-            if (!shuttleThread.isChargingCompleted()) {
+            boolean stopCharge = false;
+            if (wrkMast.getMemo().equals("suggestChargeTaskStop")) {
+                stopCharge = true;
+            }else {
+                if (shuttleThread.isChargingCompleted()) {
+                    stopCharge = true;
+                }
+            }
+
+            if (!stopCharge) {
                 return false;
             }
 
@@ -1367,6 +1376,12 @@
 
             //涓嬪彂浠诲姟
             shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand);
+
+            wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_CHARGING_COMPLETE.sts);
+            wrkMast.setModiTime(new Date());
+            if (wrkMastService.updateById(wrkMast)) {
+                return false;
+            }
             return false;
         }
         return true;
@@ -1374,7 +1389,7 @@
 
     //灏忚溅绂诲紑鍏呯數妗�
     private synchronized boolean executeShuttleChargeStepLeaveCharge(WrkMast wrkMast) {
-        if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts) {
+        if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_CHARGING_COMPLETE.sts) {
             ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
             if (shuttleThread == null) {
                 return false;
@@ -1556,8 +1571,8 @@
             assignCommand.setCommands(commands);
 
             wrkMast.setWrkSts(WrkStsType.MOVE_NEARBY.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓�  301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 302.灏忚溅绉诲姩鑷宠繎鐐逛腑
-            wrkMast.setSourceStaNo(recentLiftStation.getStaNo());
-            wrkMast.setStaNo(liftStaTarget.getStaNo());
+            wrkMast.setSourceStaNo(recentLiftStation.getSiteId());
+            wrkMast.setStaNo(liftStaTarget.getSiteId());
             wrkMast.setModiTime(now);
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
             if (wrkMastService.updateById(wrkMast)) {
@@ -1664,7 +1679,7 @@
             assignCommand.setAuto(true);//鑷姩妯″紡
 
             //鑾峰彇灏忚溅鍒版彁鍗囨満琛岃蛋鍛戒护
-            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftSta.getLocNo(), NavigationMapType.getNormalWithDevice(), assignCommand, shuttleThread);
+            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftSta.getLocNo(), NavigationMapType.getMapTypes(NavigationMapType.NORMAL), assignCommand, shuttleThread);
             if (commands == null) {
                 News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
                 return false;//璺緞瑙i攣澶辫触

--
Gitblit v1.9.1