From 81672518fc9a2e86c5c34dba341aaa535c2f069d Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 22 五月 2024 17:06:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java          |    1 
 src/main/java/com/zy/asrs/controller/AgvLocMastController.java   |    3 +
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java    |   53 +++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java   |    2 
 src/main/java/com/zy/asrs/task/AutoMoveScheduler.java            |   35 +++++++++++
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java |    2 
 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java      |   55 ++++++++++++++++++
 src/main/resources/application.yml                               |    4 
 8 files changed, 148 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
index ac0679a..30cd109 100644
--- a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
@@ -105,6 +105,9 @@
                 if (!agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", locMast.getLocNo()))) {
                     throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
                 }
+                if (locMast.getLocSts().equals("O")) {
+                    locMast.setBarcode("");
+                }
             }
         }
         locMast.setModiUser(getUserId());
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index bbc5f3e..bca97c7 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -591,7 +591,7 @@
         }
 
         //鍏ュ簱鍙栨秷
-        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){
+        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 58){
             //婧愮珯鐐�
             String devNo = wrkMast.getSourceLocNo();
             //鐩爣搴撲綅
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index 865dcb5..f3b20d5 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -205,7 +205,7 @@
             agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
         }
         agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
-        if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 12) {
+        if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) {
             agvTaskCreateParam.setTaskTyp("F06");
         } else  {
             agvTaskCreateParam.setTaskTyp("F01");
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index f3c8e4e..31608f0 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -166,6 +166,7 @@
                         .or().eq("io_type", 11)
                         .or().eq("io_type", 110)
                         .or().eq("io_type", 107)
+                        .or().eq("io_type", 109)
                         .or().eq("io_type", 108)).getRecords();
 
         if(!Cools.isEmpty(agvWrkMastList)){
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index a5825d4..3bf8d47 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -76,7 +76,7 @@
 
     }
 
-    // 绌烘澘鑷姩鍥炲簱
+    // 绌烘澘鑷姩鍥炲簱  搴撲綅-鎺ラ┏鐐�
     @Scheduled(cron = "0/2 * * * * ? ")
     private void autoEmptyBack(){
         // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
@@ -91,6 +91,39 @@
         for (AgvLocMast agvLocMast : agvLocMasts) {
             ReturnT<String> returnT = autoMoveHandler.autoEmptyBack(agvLocMast);
         }
+    }
+    // 绌烘澘鑷姩鍥炲簱  鎺ラ┏鐐� - 1妤煎簱浣�
+    @Scheduled(cron = "0/2 * * * * ? ")
+    private void autoEmptyBack3(){
+        // 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109
+        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
+                .eq("wrk_sts", 201)
+                .eq("loc_no","")
+                .or().eq("io_type",109)
+                .or().eq("io_type",112));
+        if (agvWrkMastList.isEmpty()) {
+            return;
+        }
+        for (AgvWrkMast agvWrkMast : agvWrkMastList) {
+            ReturnT<String> returnT = autoMoveHandler.autoEmptyBack3(agvWrkMast);
+        }
+    }
+
+    // 绌烘澘鑷姩鍥炲簱
+    //@Scheduled(cron = "0/2 * * * * ? ")
+    private void autoEmptyBack2(){
+        // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
+        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
+                new EntityWrapper<AgvLocMast>()
+                        .ne("floor", 1)
+                        .eq("loc_sts","D")
+                        .eq("loc_type1",3));
+        if (agvLocMasts.isEmpty()) {
+            return;
+        }
+        for (AgvLocMast agvLocMast : agvLocMasts) {
+            ReturnT<String> returnT = autoMoveHandler.autoEmptyBack2(agvLocMast);
+        }
 
     }
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 7ec3e7f..dc3328c 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -17,6 +17,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -70,7 +71,11 @@
         // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
         String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
         if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) {
-            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+            if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) {
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"R",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+            } else {
+                agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+            }
         } else {
             agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
         }
@@ -106,10 +111,17 @@
             agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
         }
 
-        if(agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 58){
+        if(agvWrkMast.getIoType() == 109){
             //淇敼婧愬簱浣嶇姸鎬佷负O
             agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+            // 鏂板缓宸ヤ綔妗�
+            Date now = new Date();
+            createWrkMast(109, 201L, agvWrkMast.getLocNo(), "", agvWrkMast.getBarcode(), now, 9527L, agvWrkMast.getWhsType(), 0);
         }
+        if (agvWrkMast.getIoType() == 58) {
+            agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+        }
+
 
 
         //鍒犻櫎AGV宸ヤ綔妗�
@@ -336,4 +348,41 @@
             return num <= maxWrokNum;
         }).collect(Collectors.toList());
     }
+
+    /*
+  鐢熸垚宸ヤ綔妗�
+   */
+    private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType, int floor){
+        AgvWrkMast wrkMast = new AgvWrkMast();
+        //宸ヤ綔鐘舵��
+        wrkMast.setWrkSts(wrkSts);
+        //鍏ュ嚭搴撶被鍨�
+        wrkMast.setIoType(ioType);
+        wrkMast.setIoTime(now);
+        //浼樺厛绾�
+        wrkMast.setIoPri(300.0);
+        //婧愮珯鐐�
+        wrkMast.setSourceLocNo(sourceLocNo);
+        //鐩爣绔欑偣
+        wrkMast.setLocNo(locNo);
+        //瀹瑰櫒缂栫爜
+        wrkMast.setBarcode(barcode);
+        //瀹瑰櫒绫诲瀷
+        wrkMast.setWhsType(containerType);
+        // 鐩爣妤煎眰
+        wrkMast.setCrnNo(floor);
+
+        wrkMast.setAppeUser(userId);
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiUser(userId);
+        wrkMast.setModiTime(now);
+
+        if (!agvWrkMastService.insertByIncrease(wrkMast)) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+
+        wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locNo).eq("source_loc_no",sourceLocNo).eq("barcode",barcode).orderBy("modi_time",false));
+
+        return wrkMast;
+    }
 }
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 73a5e0a..9a17b89 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -237,6 +237,61 @@
         if(!Cools.isEmpty(agvWrkMast)){
             throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
         }
+        //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣�
+        AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor());
+        //鐢熸垚宸ヤ綔妗�
+        AgvWrkMast mast = new AgvWrkMast();
+        //宸ヤ綔鐘舵��
+        mast.setWrkSts(21L);
+        //鍏ュ嚭搴撶被鍨�
+        mast.setIoType(109);
+        mast.setIoTime(now);
+        //浼樺厛绾�
+        mast.setIoPri(300.0);
+        //婧愮珯鐐�
+        mast.setSourceLocNo(agvLocMast.getLocNo());
+        //鐩爣绔欑偣
+        mast.setLocNo(devpNo.getDevNo());
+        //瀹瑰櫒缂栫爜
+        mast.setBarcode(agvLocMast.getBarcode());
+        //瀹瑰櫒绫诲瀷
+        mast.setWhsType(30);
+
+        mast.setAppeUser(9527L);
+        mast.setAppeTime(now);
+        mast.setModiUser(9527L);
+        mast.setModiTime(now);
+        if (!agvWrkMastService.insertByIncrease(mast)) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+
+        //鏇存柊鐩爣搴撲綅鐘舵��
+        updateAgvLocMast(agvLocMast,"R");
+        updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode());
+        return SUCCESS;
+    }
+    public ReturnT<String> autoEmptyBack3(AgvWrkMast agvWrkMast) {
+        Date now = new Date();
+        //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣�
+        AgvLocMast locMast = agvCommonService.getLocNo(3, 1);
+        //鐩爣绔欑偣
+        agvWrkMast.setLocNo(locMast.getLocNo());
+        agvWrkMast.setModiUser(9527L);
+        agvWrkMast.setModiTime(now);
+        if (!agvWrkMastService.updateById(agvWrkMast)) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        //鏇存柊鐩爣搴撲綅鐘舵��
+        updateAgvLocMast(locMast,"S");
+        return SUCCESS;
+    }
+    public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) {
+        Date now = new Date();
+        //鏌ヨ宸ヤ綔妗�
+        AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode());
+        if(!Cools.isEmpty(agvWrkMast)){
+            throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
+        }
         //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
         AgvLocMast LocMast = agvCommonService.getLocNo(3,1);
         //鐢熸垚宸ヤ綔妗�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 10598da..c06ba14 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,8 +10,8 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://localhost:1433;databasename=phyzasrs
-#    url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs
+#    url: jdbc:sqlserver://127.0.0.1:1433;databasename=phyzasrs
+    url: jdbc:sqlserver://192.168.4.176:1433;databasename=phyzasrs
     #url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs
     username: sa
     password: sa@123

--
Gitblit v1.9.1