From 5dc8a9f9aba3310fd21cad9509635bb7ec2f007f Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期四, 12 十二月 2024 13:29:06 +0800 Subject: [PATCH] Generating... --- src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 193 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 174 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java index e703d2d..90fe463 100644 --- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java @@ -1,19 +1,25 @@ package com.zy.asrs.task; import com.baomidou.mybatisplus.mapper.EntityWrapper; +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; import com.zy.asrs.service.AgvWrkMastService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.AgvWrkMastHandler; +import com.zy.common.entity.Parameter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -37,28 +43,44 @@ /* - 瀹氭椂澶勭悊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()); + } }); } } /* - 瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.瀹瑰櫒绂诲満瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱) + 瀹氭椂澶勭悊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) @@ -66,7 +88,70 @@ .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/1 * * * * ? ") + @Scheduled(fixedDelay = 1000) + public void excuteCarryWrk2(){ + List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() + .eq("wrk_sts", 208) + .andNew().eq("io_type",110) + .or().eq("io_type",101)); + if(!Cools.isEmpty(agvWrkMastList)){ + agvWrkMastList.stream().forEach(agvWrkMast -> { + try{ + agvWrkMastHandler.completedCarryWrk2(agvWrkMast); + } catch (Exception e){ + log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } + }); + } + } + + + /* + putaway锛氫笂鏋� + 瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹� + */ + //@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) + .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()); + } }); } } @@ -75,20 +160,18 @@ putaway锛氫笂鏋� 瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹� */ - @Scheduled(cron = "0/10 * * * * ? ") - public void startPutwayWrk(){ + //@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", 201) - .andNew().eq("io_type", 53) - .or().eq("io_type", 1) - .or().eq("io_type", 10) - .or().eq("io_type", 57)).getRecords(); + .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()); } @@ -100,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>() @@ -110,14 +194,40 @@ .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<>(); agvWrkMastList.forEach(agvWrkMast -> { try { + + //杩囨护璇ユ壒宸ヤ綔妗d腑閲嶅鐨勫嚭绔欑偣 + if (devNos.contains(agvWrkMast.getLocNo())){ + return; + } + devNos.add(agvWrkMast.getLocNo()); + + //妫�娴嬪綋鍓嶅伐浣滀换鍔′腑鐨勭珯鐐规槸鍚﹀凡鏈夋湁浣滀笟涓殑浠诲姟 + AgvWrkMast agvWrkMastWorking = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>() + .eq("loc_no", agvWrkMast.getLocNo()) + .ge("wrk_sts", 202L)); + + 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()); } }); } @@ -137,4 +247,49 @@ } } } + + /* + 鑷姩鐢熸垚绌烘澘鍑哄簱浠诲姟 + */ + //@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()); + boolean boxEmptyAutoOut = Cools.eq("Y",Parameter.get().getBoxEmptyAutoOut()); + + if(!packageEmptyAutoOUt && !mateEmptyAutoOut && !boxEmptyAutoOut){ + return; + } + + List<Integer> locType1Condition = new ArrayList<>(); + if(packageEmptyAutoOUt){ + locType1Condition.add(1); + } + if(mateEmptyAutoOut){ + locType1Condition.add(2); + } + if(boxEmptyAutoOut){ + locType1Condition.add(3); + } + + //鎵惧嚭闇�瑕佽ˉ鏂欑殑绔欑偣 + Wrapper<AgvBasDevp> wrapper = new EntityWrapper<AgvBasDevp>() + .eq("in_enable", "Y") + .eq("loc_sts", "O") + .in("loc_type1", locType1Condition); + + List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(wrapper); + for (AgvBasDevp agvBasDevp : agvBasDevpList){ + try { + agvWrkMastHandler.autoEmptyOut(agvBasDevp); + }catch (Exception e){ + log.error(e.getMessage()); + e.printStackTrace(); + } + + } + + } + } -- Gitblit v1.9.1