From d9a5beba954796e4d1735ed85522e95b9e312769 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期五, 10 五月 2024 19:22:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java           |   15 ++++---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java     |    9 ++++
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java    |    4 ++
 src/main/java/com/zy/asrs/task/AutoMoveScheduler.java             |   17 ++++++++
 src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java |    9 ++++
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java  |    7 +++
 src/main/java/com/zy/asrs/service/AgvLocMastService.java          |    1 
 src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java       |   37 ++++++++++++++++++
 8 files changed, 90 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/AgvLocMastService.java b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
index a926c6c..1f8169c 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocMastService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocMastService.java
@@ -22,6 +22,7 @@
 
     public void updateLocStsByLocNo(String locNo, String locSts, String barcode,Short containerType);
 
+    public void updateLocStsByLocNo(String locNo, String locSts, String barcode,Short containerType,String locType,Short locType3);
     public List<String> queryGroupEmptyStock(int floor);
 
     List<AgvLocMast> selectLocByLevAndFloor(int lev, int floor);
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
index 495b996..67c4916 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -328,6 +328,15 @@
         agvLocMast.setLocType2(containerType);
         this.updateById(agvLocMast);
     }
+    public void updateLocStsByLocNo(String locNo, String locSts, String barcode,Short containerType,String locType,Short locType3) {
+        AgvLocMast agvLocMast = this.selectById(locNo);
+        agvLocMast.setLocSts(locSts);
+        agvLocMast.setBarcode(barcode);
+        agvLocMast.setLocType2(containerType);
+        agvLocMast.setLocType(locType);
+        agvLocMast.setLocType3(locType3);
+        this.updateById(agvLocMast);
+    }
 
     public List<String> queryGroupEmptyStock(int floor) {
         return this.baseMapper.queryGroupEmptyStock(floor);
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 a565b5b..e524a96 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -568,6 +568,10 @@
             //淇敼鍑哄簱绔欑偣鐘舵��
             agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
         }
+        if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 ){
+            //淇敼鍑哄簱绔欑偣鐘舵��
+            agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getSourceLocNo(),"O","",wrkMast.getWhsType().shortValue());
+        }
         //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
         if(wrkMast.getIoType() == 110){
             agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
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 b4c571f..5739028 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -187,7 +187,12 @@
             agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
         }
         agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
-        agvTaskCreateParam.setTaskTyp("F01");
+        if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 109) {
+            agvTaskCreateParam.setTaskTyp("F06");
+        } else  {
+            agvTaskCreateParam.setTaskTyp("F01");
+        }
+
         agvTaskCreateParam.setPositionCodePath(agvTaskParamList);
 
     }
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 2eec845..6a3bc03 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -43,7 +43,7 @@
     /*
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 涓� 锛�1.鍏ュ簱 || 53锛屾嫞鏂欏叆搴� || 57.鐩樼偣鍏ュ簱 || 10.绌烘澘鍏ュ簱 || 11.搴撴牸绉昏浇)鐨勬暟鎹�
      */
-    @Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(cron = "0/3 * * * * ? ")
     public void excutePutwayWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                 .eq("wrk_sts", 205)
@@ -63,7 +63,7 @@
     /*
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
      */
-    @Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(cron = "0/3 * * * * ? ")
     public void excuteCarryWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                 .eq("wrk_sts", 206)
@@ -79,7 +79,7 @@
     /*
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
      */
-    @Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(cron = "0/3 * * * * ? ")
     public void excuteCarryWrk2(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                 .eq("wrk_sts", 208)
@@ -97,7 +97,7 @@
     putaway锛氫笂鏋�
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹�
      */
-    @Scheduled(cron = "0/2 * * * * ? ")
+    @Scheduled(cron = "0/3 * * * * ? ")
     public void startPutwayWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                 ,new EntityWrapper<AgvWrkMast>()
@@ -105,7 +105,8 @@
                 .andNew().eq("io_type", 53)
                 .or().eq("io_type", 1)
                 .or().eq("io_type", 10)
-                .or().eq("io_type", 57)).getRecords();
+                .or().eq("io_type", 57)
+                .or().eq("io_type", 108)).getRecords();
 
         if(!Cools.isEmpty(agvWrkMastList)){
             agvWrkMastList.forEach(agvWrkMast -> {
@@ -122,7 +123,7 @@
     carry锛氭惉杩愶紝缁熸寚鍑哄簱銆佺Щ搴撱�佺偣鍒扮偣鎼繍绛�
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负21.鐢熸垚鍑哄簱浠诲姟 涓�(鍑哄簱绫诲瀷涓� 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 11.搴撴牸绉绘牻 || 110.绌烘澘鍑哄簱 || 107.鐩樼偣鍑哄簱)鐨勬暟鎹�
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    @Scheduled(cron = "0/3 * * * * ? ")
     public void startCarryWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                 ,new EntityWrapper<AgvWrkMast>()
@@ -180,7 +181,7 @@
     /*
     鑷姩鐢熸垚绌烘澘鍑哄簱浠诲姟
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    @Scheduled(cron = "0/3 * * * * ? ")
     public void autoEmptyOut(){
         boolean packageEmptyAutoOUt = Cools.eq("Y",Parameter.get().getPackageEmptyAutoOUt());
         boolean mateEmptyAutoOut = Cools.eq("Y",Parameter.get().getMateEmptyAutoOut());
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 0979cba..35835aa 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -39,4 +39,21 @@
         }
 
     }
+
+    @Scheduled(cron = "0/2 * * * * ? ")
+    private void autoEmptyBack(){
+        // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
+        List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
+                new EntityWrapper<AgvLocMast>()
+                        .ne("floor", 3)
+                        .eq("loc_sts","D")
+                        .eq("loc_type1",3));
+        if (agvLocMasts.isEmpty()) {
+            return;
+        }
+        for (AgvLocMast agvLocMast : agvLocMasts) {
+            ReturnT<String> returnT = autoMoveHandler.start(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 7979ca5..82f159d 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -98,9 +98,16 @@
             //鏇存柊搴撳瓨鏄庣粏
             agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
             //淇敼婧愬簱浣嶇姸鎬佷负O
-            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
         }
 
+        if(agvWrkMast.getIoType() == 109){
+            //淇敼婧愬簱浣嶇姸鎬佷负O
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+        }
+
+
         //鍒犻櫎AGV宸ヤ綔妗�
         agvWrkMastService.deleteById(wrkNo);
         //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
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 beca64d..c3db2df 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -117,4 +117,41 @@
         locMast.setLocSts(locSts);
         agvLocMastService.updateById(locMast);
     }
+
+    public ReturnT<String> autoEmptyBack(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,agvLocMast.getLocType3());
+        //鐢熸垚宸ヤ綔妗�
+        AgvWrkMast mast = new AgvWrkMast();
+        //宸ヤ綔鐘舵��
+        mast.setWrkSts(201L);
+        //鍏ュ嚭搴撶被鍨�
+        mast.setIoType(109);
+        mast.setIoTime(now);
+        //浼樺厛绾�
+        mast.setIoPri(300.0);
+        //婧愮珯鐐�
+        mast.setSourceLocNo(agvLocMast.getLocNo());
+        //鐩爣绔欑偣
+        mast.setLocNo(LocMast.getLocNo());
+        //瀹瑰櫒缂栫爜
+        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け璐�");
+        }
+        return SUCCESS;
+    }
 }

--
Gitblit v1.9.1