From 617a8c4fc0b81ec4b96db8a013a91f4e666b0b96 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期三, 08 一月 2025 14:33:45 +0800
Subject: [PATCH] 出现空指针异常

---
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java |  107 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 90 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 4eb2f8d..90fe463 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.zy.asrs.entity.AgvBasDevp;
 import com.zy.asrs.entity.AgvWrkMast;
 import com.zy.asrs.service.AgvBasDevpService;
@@ -18,6 +19,7 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -41,20 +43,35 @@
 
 
     /*
-    瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 涓� 锛�1.鍏ュ簱 || 53锛屾嫞鏂欏叆搴� || 57.鐩樼偣鍏ュ簱 || 10.绌烘澘鍏ュ簱 || 11.搴撴牸绉昏浇)鐨勬暟鎹�
+    瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚 涓� 锛�1.鍏ュ簱 || 53锛屾嫞鏂欏叆搴� || 57.鐩樼偣鍏ュ簱 || 10.绌烘澘鍏ュ簱 || 11.鍗曞眰绉诲簱 || 12.璺ㄥ眰绉诲簱 || 108.鑷姩璋冩嫧 || 109.鎵嬪姩璋冩嫧)鐨勬暟鎹�
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    //@Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(fixedDelay = 1000)
     public void excutePutwayWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                 .eq("wrk_sts", 205)
                 .andNew().eq("io_type",53)
                 .or().eq("io_type",1)
                 .or().eq("io_type",57)
+                .or().eq("io_type",58)
                 .or().eq("io_type",10)
-                .or().eq("io_type",11));
+                .or().eq("io_type",11)
+                .or().eq("io_type",12)
+                .or().eq("io_type",108)
+                .or().eq("io_type",109)
+                .or().eq("io_type",111)
+                .or().eq("io_type",112)
+                .or().eq("io_type",113)
+                .or().eq("io_type",114)
+                .or().eq("io_type",121)
+        );
         if(!Cools.isEmpty(agvWrkMastList)){
             agvWrkMastList.stream().forEach(agvWrkMast -> {
-                agvWrkMastHandler.completedPutWayWrk(agvWrkMast);
+                try{
+                    agvWrkMastHandler.completedPutWayWrk(agvWrkMast);
+                } catch (Exception e){
+                    log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负205,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+                }
             });
         }
     }
@@ -62,7 +79,8 @@
     /*
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    //@Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(fixedDelay = 1000)
     public void excuteCarryWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                 .eq("wrk_sts", 206)
@@ -70,15 +88,22 @@
                 .or().eq("io_type",101));
         if(!Cools.isEmpty(agvWrkMastList)){
             agvWrkMastList.stream().forEach(agvWrkMast -> {
-                ReturnT<String> returnT = agvWrkMastHandler.completedCarryWrk(agvWrkMast);
+                try{
+                    agvWrkMastHandler.completedCarryWrk(agvWrkMast);
+                } catch (Exception e){
+                    //e.printStackTrace();
+                    log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+                }
             });
         }
     }
 
+
     /*
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    //@Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(fixedDelay = 1000)
     public void excuteCarryWrk2(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
                 .eq("wrk_sts", 208)
@@ -86,7 +111,11 @@
                 .or().eq("io_type",101));
         if(!Cools.isEmpty(agvWrkMastList)){
             agvWrkMastList.stream().forEach(agvWrkMast -> {
-                ReturnT<String> returnT = agvWrkMastHandler.completedCarryWrk2(agvWrkMast);
+                try{
+                    agvWrkMastHandler.completedCarryWrk2(agvWrkMast);
+                } catch (Exception e){
+                    log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+                }
             });
         }
     }
@@ -96,20 +125,53 @@
     putaway锛氫笂鏋�
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹�
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
-    public void startPutwayWrk(){
+    //@Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(fixedDelay = 3000)
+    public synchronized void startPutwayWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                 ,new EntityWrapper<AgvWrkMast>()
                 .eq("wrk_sts", 201)
                 .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", 58)
+                .or().eq("io_type", 11)
+                .or().eq("io_type", 12)
+                .or().eq("io_type", 109)
+                .or().eq("io_type", 108)
+                .or().eq("io_type", 111)
+                .or().eq("io_type", 112)
+                .or().eq("io_type", 113)
+                .or().eq("io_type", 114)).getRecords();
+
+        if(!Cools.isEmpty(agvWrkMastList)){
+            agvWrkMastList.forEach(agvWrkMast -> {
+                try{
+                    agvWrkMastHandler.startPutWayWrk(agvWrkMast);
+                } catch (Exception e){
+                    log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+                }
+            });
+        }
+    }
+
+    /*
+    putaway锛氫笂鏋�
+    瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹�
+     */
+    //@Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(fixedDelay = 1000)
+    public void startAllcationIn(){
+        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
+                ,new EntityWrapper<AgvWrkMast>()
+                        .eq("wrk_sts", 211)
+                        .andNew().eq("io_type", 112)).getRecords();
 
         if(!Cools.isEmpty(agvWrkMastList)){
             agvWrkMastList.forEach(agvWrkMast -> {
                 try {
-                    agvWrkMastHandler.startPutWayWrk(agvWrkMast);
+                    agvWrkMastHandler.startAllcationIn(agvWrkMast);
                 } catch (IOException e) {
                     log.error(e.getMessage());
                 }
@@ -121,7 +183,8 @@
     carry锛氭惉杩愶紝缁熸寚鍑哄簱銆佺Щ搴撱�佺偣鍒扮偣鎼繍绛�
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负21.鐢熸垚鍑哄簱浠诲姟 涓�(鍑哄簱绫诲瀷涓� 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 11.搴撴牸绉绘牻 || 110.绌烘澘鍑哄簱 || 107.鐩樼偣鍑哄簱)鐨勬暟鎹�
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    //@Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(fixedDelay = 2000)
     public void startCarryWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                 ,new EntityWrapper<AgvWrkMast>()
@@ -131,7 +194,9 @@
                         .or().eq("io_type", 103)
                         .or().eq("io_type", 11)
                         .or().eq("io_type", 110)
-                        .or().eq("io_type", 107)).getRecords();
+                        .or().eq("io_type", 107)
+                        .or().eq("io_type", 109)
+                        .or().eq("io_type", 108)).getRecords();
 
         if(!Cools.isEmpty(agvWrkMastList)){
             List<String> devNos = new ArrayList<>();
@@ -152,10 +217,17 @@
                     if(!Cools.isEmpty(agvWrkMastWorking)){
                         return;
                     }
+                    
+                    agvWrkMastWorking = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>()
+                            .eq("source_loc_no",agvWrkMast.getLocNo())
+                            .le("wrk_sts",204L));
 
+                    if(!Cools.isEmpty(agvWrkMastWorking)){
+                        return;
+                    }
                     agvWrkMastHandler.startPutWayWrk(agvWrkMast);
-                } catch (IOException e) {
-                    log.error(e.getMessage());
+                } catch (Exception e) {
+                    log.error("鎼繍锛岀粺鎸囧嚭搴撱�佺Щ搴撱�佺偣鍒扮偣鎼繍绛�"+e.getMessage());
                 }
             });
         }
@@ -179,7 +251,8 @@
     /*
     鑷姩鐢熸垚绌烘澘鍑哄簱浠诲姟
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    //@Scheduled(cron = "0/1 * * * * ? ")
+    @Scheduled(fixedDelay = 1000)
     public void autoEmptyOut(){
         boolean packageEmptyAutoOUt = Cools.eq("Y",Parameter.get().getPackageEmptyAutoOUt());
         boolean mateEmptyAutoOut = Cools.eq("Y",Parameter.get().getMateEmptyAutoOut());

--
Gitblit v1.9.1