From 323d014b95241cd42dfa01227dd4a15575f58a2b Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期二, 16 九月 2025 11:01:33 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 71 ++++++++++++++++++++++------------- 1 files changed, 44 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java index 7f31374..7d875d2 100644 --- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java @@ -23,6 +23,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.Collections; import java.util.Date; import java.util.List; @@ -66,8 +67,8 @@ * ioType 108.鑷姩璋冩嫧 * crnNo :2鐩爣妤煎眰 */ - @Scheduled(cron = "0/1 * * * * ? ") - private synchronized void execute2() { + @Scheduled(cron = "0/10 * * * * ? ") + public synchronized void execute2() { List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 108).andNew().eq("crn_no", 2).or().eq("crn_no", 3).orderBy("io_pri", false).orderBy("appe_time", true)); if (agvWrkMastList.isEmpty()) { return; @@ -110,8 +111,8 @@ * wrkSts 22.璋冩嫧寰呭垎閰� * ioType 111.鎵嬪姩璋冩嫧 */ - @Scheduled(cron = "0/2 * * * * ? ") - private void execute3() { + @Scheduled(cron = "0/10 * * * * ? ") + public void execute3() { List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 111).orderBy("io_pri", false).orderBy("appe_time", true)); if (agvWrkMastList.isEmpty()) { return; @@ -126,8 +127,8 @@ } - @Scheduled(cron = "0/2 * * * * ? ") - private void execute4() { + //@Scheduled(cron = "0/2 * * * * ? ") + public void execute4() { List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 114).orderBy("io_pri", false).orderBy("appe_time", true)); if (agvWrkMastList.isEmpty()) { return; @@ -144,7 +145,7 @@ // // 绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� // //@Scheduled(cron = "0/2 * * * * ? ") -// private void autoEmptyBack(){ +// public void autoEmptyBack(){ // // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� // List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( // new EntityWrapper<AgvLocMast>() @@ -169,8 +170,8 @@ * wrkSts 214.绌烘枡鏋跺洖娴佸緟鍒嗛厤 * ioType 113.绌烘墭鐩樻墜鍔ㄥ洖娴� */ - @Scheduled(cron = "0/2 * * * * ? ") - private void autoEmptyBack3() { + @Scheduled(cron = "0/4 * * * * ? ") + public void autoEmptyBack3() { // 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109 List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 214).eq("loc_no", "").eq("io_type", 113).orderBy("io_pri", false)); if (agvWrkMastList.isEmpty()) { @@ -214,21 +215,21 @@ * 2妤兼垨3妤肩珯鐐瑰彲鍏ヤ俊鍙峰叏閮ㄦ病鏈夛紝浠h〃璧扮數姊嚜鍔ㄦ惉杩愭ā寮� */ @Scheduled(cron = "0/30 * * * * ? ") - private void autoEmptyBack4() { + public void autoEmptyBack4() { List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>() // TODO 鍥涙湡 .eq("loc_sts", "D").eq("loc_type1", 3).andNew().ne("floor", 1).or().ne("lev1", 1)); if (agvLocMasts.isEmpty()) { return; } - - + Collections.shuffle(agvLocMasts); + Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME")); for (AgvLocMast agvLocMast : agvLocMasts) { - if (agvLocMast.getLocNo().contains("F4")) { - Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME")); + if (agvLocMast.getLocNo().contains("02F1")) { boolean flag = false; if (config != null && !Cools.isEmpty(config.getValue())) { try { + // 鍒ゆ柇鏄惁鍦ㄦ墽琛屾椂闂村唴 ProcesTimeData procesTimeData = JSONObject.parseObject(config.getValue(), ProcesTimeData.class); if (procesTimeData != null && config.getStatus() == 1 && TimeUtils.between(procesTimeData)) { @@ -243,14 +244,14 @@ try { autoMoveHandler.autoEmptyBack4(agvLocMast); } catch (Exception e) { - log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage()); + //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage()); } } } else { try { autoMoveHandler.autoEmptyBack4(agvLocMast); } catch (Exception e) { - log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage()); + //log.error("搴撲綅鍙�" + agvLocMast.getLocNo() + "绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細" + e.getMessage()); } } @@ -264,8 +265,24 @@ * 灏嗕簩鍘傜殑6绫诲瀷鐨勭┖璐ф灦璋冩嫧鍥炲惛濉戜簩妤� */ // TODO 鍥涙湡 - @Scheduled(cron = "0/30 * * * * ? ") - private void autoEmptyBackSiqi() { + @Scheduled(cron = "0/10 * * * * ? ") + public void autoEmptyBackSiqi() { + Config config2 = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_EMPTY")); + //鍏堝垽鏂┖搴撲綅鏁颁簡 + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_type1", 6).eq("floor", 1).eq("lev1", 2).eq("loc_sts", "O")); + int size = 0; + if (agvLocMasts != null) { + size = agvLocMasts.size(); + } + if (config2 != null && config2.getStatus() == 1 && !Cools.isEmpty(config2.getValue())) { + if (size < Integer.parseInt(config2.getValue())) { + return; + } + } else { + if (size < 20) { + return; + } + } // 鏌ヨ6绫诲瀷绌鸿揣鏋惰繑鍥炵殑鎵ц鏃堕棿鐐� Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_6_TIME")); if (config != null && !Cools.isEmpty(config.getValue())) { @@ -290,9 +307,9 @@ } - private void executeLocType6() { + public void executeLocType6() { // 鏌ヨ 浜屽巶鐨勭殑鍗婃垚鍝佺澹崇被鍨嬬殑绌鸿揣鏋� - List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "D").eq("loc_type1", 6).eq("floor", 2)); + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(new EntityWrapper<AgvLocMast>().eq("loc_sts", "D").eq("loc_type1", 6).in("floor", 2,3).orderBy("bay1",false)); if (agvLocMasts.isEmpty()) { return; } @@ -305,7 +322,7 @@ } } - private boolean determineFloorConnection(Integer floor) { + public boolean determineFloorConnection(Integer floor) { try { List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", floor).like("dev_no", "DB_")); if (!agvBasDevps.isEmpty()) { @@ -328,8 +345,8 @@ * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦 * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱 */ - @Scheduled(cron = "0/2 * * * * ? ") - private void autoEmptyBack5() { + @Scheduled(cron = "0/8 * * * * ? ") + public void autoEmptyBack5() { List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().ne("floor", 1).eq("loc_sts", "F").like("dev_no", "DB")); if (agvBasDevps.isEmpty()) { return; @@ -348,7 +365,7 @@ * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦 */ @Scheduled(cron = "0/30 * * * * ? ") - private void autoEmptyBack6() { + public void autoEmptyBack6() { List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", 1).eq("loc_sts", "F").like("dev_no", "DB")); if (agvBasDevps.isEmpty()) { return; @@ -365,8 +382,8 @@ /** * 璺ㄥ眰鑷姩绉诲簱 */ - @Scheduled(cron = "0/2 * * * * ? ") - private void autoEmptyBack7() throws ParseException { + @Scheduled(cron = "0/8 * * * * ? ") + public void autoEmptyBack7() throws ParseException { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String currentDay = sdf.format(now); @@ -414,7 +431,7 @@ * 鍦ㄥ簱浣嶄笉澶熺殑鎯呭喌涓嬶紝绠卞3鍏ュ簱鍒殑妤煎眰搴撲綅鐨勬椂鍊欙紝鏅氫笂杩涜璺ㄥ眰绉诲簱 */ @Scheduled(cron = "0/30 * * * * ? ") - private void autoEmptyBack8() throws ParseException { + public void autoEmptyBack8() throws ParseException { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String currentDay = sdf.format(now); -- Gitblit v1.9.1