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