From a688149a4196f05f19d0b9aa7a084217fb89ef4c Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 26 六月 2024 13:55:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index 1a40d13..e9a090e 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -56,6 +56,12 @@
         return SUCCESS;
     }
 
+    public ReturnT<String> start4(AgvWrkMast agvWrkMast) {
+        // locType 1. 鑷姩锛� 2. 鎵嬪姩
+        doAutoMove3(agvWrkMast);
+        return SUCCESS;
+    }
+    //鏍规嵁搴撲綅鐨刲octype鍊煎彂閫佷换鍔�--寮冪敤
     private ReturnT<String> doAutoMove(AgvLocMast agvLocMast) {
         Date now = new Date();
         //鏌ヨ宸ヤ綔妗�
@@ -64,7 +70,7 @@
             throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
         }
         //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-        AgvLocMast LocMast = agvCommonService.getLocNo(3,agvLocMast.getLocType3());
+        AgvLocMast LocMast = agvCommonService.getLocNo(3,agvLocMast.getLocType3(),false,true);
         //鐢熸垚宸ヤ綔妗�
         AgvWrkMast mast = new AgvWrkMast();
         //宸ヤ綔鐘舵��
@@ -182,7 +188,29 @@
     private ReturnT<String> doAutoMove2(AgvWrkMast agvWrkMast) {
         Date now = new Date();
         //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-        AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo());
+        AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,true);
+        if (Cools.isEmpty(locMast)) {
+            throw new CoolException("鏆傛棤搴撲綅");
+        }
+        AgvWrkMast workingMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locMast.getLocNo()));
+        if (!Cools.isEmpty(workingMast)) {
+            throw new CoolException("褰撳墠搴撲綅姝e湪杩涜鍏ュ簱锛岃繘琛屼笅涓�娆¤疆璇�");
+        }
+        agvWrkMast.setWrkSts(201L);
+        agvWrkMast.setLocNo(locMast.getLocNo());
+        agvWrkMastService.updateById(agvWrkMast);
+        //鏇存柊鐩爣搴撲綅鐘舵��
+        updateAgvLocMast(locMast,"S");
+        AgvLocMast locMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locMast.getLocNo()));
+        log.info("鑷姩璋冩嫧浠诲姟 ==> 婧愬簱浣嶏細{}锛岀洰鏍囧簱浣嶏細{},搴撲綅鐘舵�亄}",agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo(),locMast1.getLocSts());
+
+        return SUCCESS;
+    }
+
+    private ReturnT<String> doAutoMove3(AgvWrkMast agvWrkMast) {
+        Date now = new Date();
+        //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
+        AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,false);
         if (Cools.isEmpty(locMast)) {
             throw new CoolException("鏆傛棤搴撲綅");
         }
@@ -194,9 +222,17 @@
 
         return SUCCESS;
     }
+
     private ReturnT<String> doHandMove2(AgvWrkMast agvWrkMast) {
         Date now = new Date();
-        AgvBasDevp devpNo = agvCommonService.getDevpNo(3, 1, "Y", "Y");
+        String lev1 = agvWrkMast.getSourceLocNo().substring(agvWrkMast.getSourceLocNo().length() - 4).substring(0, 2);
+        AgvBasDevp devpNo = new AgvBasDevp();
+        if ("01".equals(lev1)) {
+            devpNo = agvCommonService.getDevpNo(3, 1, "Y", "Y");
+        } else {
+            devpNo = agvCommonService.getDevpNo(3, 4, "Y", "Y");
+        }
+
         if (Cools.isEmpty(devpNo)) {
             throw new CoolException("鏆傛棤绌洪棽鎺ラ┏浣�");
         }
@@ -274,7 +310,7 @@
         Date now = new Date();
         AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
         //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣�
-        AgvLocMast locMast = agvCommonService.getLocNo(3, 1);
+        AgvLocMast locMast = agvCommonService.getLocNo(3, 1,true,true);
         if (Cools.isEmpty(locMast)) {
             throw new CoolException("1妤兼殏鏃犵┖搴撲綅");
         }
@@ -299,7 +335,7 @@
             throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
         }
         //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-        AgvLocMast LocMast = agvCommonService.getLocNo(3,1);
+        AgvLocMast LocMast = agvCommonService.getLocNo(3,1,true,true);
         //鐢熸垚宸ヤ綔妗�
         AgvWrkMast mast = new AgvWrkMast();
         //宸ヤ綔鐘舵��
@@ -361,7 +397,7 @@
             ioType = 109;
         } else {
             //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-            locMast = agvCommonService.getLocNo(3,1);
+            locMast = agvCommonService.getLocNo(3,1,true,true);
             locNo = locMast.getLocNo();
             wrkSts = 201L;
             ioType = 109;
@@ -434,7 +470,7 @@
             //鍏ュ嚭搴撶被鍨�
             mast.setIoType(109);
             //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-            AgvLocMast locMast = agvCommonService.getLocNo(3,1);
+            AgvLocMast locMast = agvCommonService.getLocNo(3,1,true,true);
             mast.setLocNo(locMast.getLocNo());
             updateAgvLocMast(locMast,"S");
         } else {

--
Gitblit v1.9.1