From a71d0a6a0d5e31f0e93feaf0444d93bc603fdd90 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 12 十月 2023 13:02:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   68 ++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 27 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 f4704d2..309f246 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1190,10 +1190,14 @@
                 return false;
             }
 
-            //璋冨害灏忚溅閬胯
-            boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
-            if (!result) {
-                return false;
+            NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+            if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
+                //灏忚溅杩樺湪杈撻�佺珯鐐�
+                //璋冨害灏忚溅閬胯
+                boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
+                if (!result) {
+                    return false;
+                }
             }
 
             //鑾峰彇鍑哄簱绔欑偣(鐩爣绔�)
@@ -1377,7 +1381,7 @@
                     continue;
                 }
 
-                boolean step4 = this.locToLocExecuteStep4(wrkMast);//璋冨害杞﹁締鍙栬揣骞惰繍閫佸埌鍑哄簱鍙�
+                boolean step4 = this.locToLocExecuteStep4(wrkMast);//璋冨害杞﹁締鍙栬揣骞惰繍閫佸埌鐩爣搴撲綅
                 if (!step4) {
                     continue;
                 }
@@ -2001,6 +2005,7 @@
                     if (wrkMast.getStaNo() != 303 && wrkMast.getStaNo() != 317) {
                         //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
                         wrkMast.setStaNo(targetSta.intValue());
+                        wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
                         if (wrkMastMapper.updateById(wrkMast) > 0) {
                             //鍚�300绔欏啓鍏ョ洰鏍囩珯
                             staProtocol = staProtocol.clone();
@@ -2021,30 +2026,39 @@
             StaProtocol staProtocol317 = devpThread.getStation().get(317);
             if (staProtocol303.isAutoing() && staProtocol303.isLoading() && staProtocol303.getWorkNo() != 0) {
                 //璋冨害鏈烘鑷�
-//                //鏌ヨ鏄惁鏈夊伐浣滄。
-//                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol303.getWorkNo().intValue());
-//                if (wrkMast == null) {
-//                    continue;
-//                }
-//                WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
-//                if (wrkDetl == null) {
-//                    continue;
-//                }
-//                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "303");
-                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), -1, "303");
+                //鏌ヨ鏄惁鏈夊伐浣滄。
+                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol303.getWorkNo().intValue());
+                if (wrkMast == null) {
+                    continue;
+                }
+                List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
+                if (wrkDetls.isEmpty()) {
+                    continue;
+                }
+
+                if (wrkMast.getInvWh() == null) {
+                    wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔�
+                    if (wrkMastMapper.updateById(wrkMast) > 0) {
+                        RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "303");
+                    }
+                }
             }else if (staProtocol317.isAutoing() && staProtocol317.isLoading() && staProtocol317.getWorkNo() != 0) {
                 //璋冨害鏈烘鑷�
-//                //鏌ヨ鏄惁鏈夊伐浣滄。
-//                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol317.getWorkNo().intValue());
-//                if (wrkMast == null) {
-//                    continue;
-//                }
-//                WrkDetl wrkDetl = wrkDetlService.selectById(wrkMast.getWrkNo());
-//                if (wrkDetl == null) {
-//                    continue;
-//                }
-//                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetl.getAnfme().intValue(), "317");
-                RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), -1, "317");
+                //鏌ヨ鏄惁鏈夊伐浣滄。
+                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol317.getWorkNo().intValue());
+                if (wrkMast == null) {
+                    continue;
+                }
+                List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
+                if (wrkDetls.isEmpty()) {
+                    continue;
+                }
+                if (wrkMast.getInvWh() == null) {
+                    wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔�
+                    if (wrkMastMapper.updateById(wrkMast) > 0) {
+                        RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "317");
+                    }
+                }
             }
         }
     }

--
Gitblit v1.9.1