From 37f97c17a695aacd4f658eb86483558ba62374cd Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 31 五月 2024 17:56:13 +0800 Subject: [PATCH] #1 --- src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 207 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java index a5825d4..26a801d 100644 --- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java @@ -2,12 +2,15 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.zy.asrs.entity.AgvBasDevp; import com.zy.asrs.entity.AgvLocMast; import com.zy.asrs.entity.AgvWrkMast; +import com.zy.asrs.service.AgvBasDevpService; import com.zy.asrs.service.AgvLocMastService; import com.zy.asrs.service.AgvWrkMastService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.AutoMoveHandler; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -16,6 +19,7 @@ import java.util.List; // 鑷姩绉诲簱 +@Slf4j @Component public class AutoMoveScheduler { @@ -25,9 +29,11 @@ private AutoMoveHandler autoMoveHandler; @Autowired private AgvWrkMastService agvWrkMastService; + @Autowired + private AgvBasDevpService agvBasDevpService; // 璋冩嫧鍑哄簱 - @Scheduled(cron = "0/2 * * * * ? ") +// @Scheduled(cron = "0/2 * * * * ? ") private void execute(){ List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( new EntityWrapper<AgvLocMast>() @@ -44,53 +50,238 @@ } - // 璋冩嫧鍑哄簱 + /** + * 鑷姩璋冩嫧浠诲姟锛屼粠1妤艰皟鎷ㄥ埌2妤硷紝3妤� + * wrkSts 22.璋冩嫧寰呭垎閰� + * ioType 108.鑷姩璋冩嫧 + * crnNo :2鐩爣妤煎眰 + */ @Scheduled(cron = "0/2 * * * * ? ") private 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("appe_time",true) ); if (agvWrkMastList.isEmpty()) { return; } for (AgvWrkMast agvWrkMast : agvWrkMastList) { - ReturnT<String> returnT = autoMoveHandler.start2(agvWrkMast); + try{ + autoMoveHandler.start2(agvWrkMast); + } catch (Exception e){ + log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } } } - // 璋冩嫧鍑哄簱 +// @Scheduled(cron = "0/2 * * * * ? ") +// private void execute5(){ +// List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() +// .eq("wrk_sts", 22) +// .andNew().eq("io_type",108) +// .eq("crn_no",3) +// .orderBy("appe_time",true) +// ); +// if (agvWrkMastList.isEmpty()) { +// return; +// } +// for (AgvWrkMast agvWrkMast : agvWrkMastList) { +// try{ +// autoMoveHandler.start2(agvWrkMast); +// } catch (Exception e){ +// log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); +// } +// } +// +// } + + + /** + * 鎵嬪姩璋冩嫧浠诲姟(涓嶈蛋鐢垫娴佽浆锛屼汉宸ユ惉杩�)锛屼粠1妤艰皟鎷ㄥ埌2銆�3妤硷紝 + * wrkSts 22.璋冩嫧寰呭垎閰� + * ioType 111.鎵嬪姩璋冩嫧 + */ @Scheduled(cron = "0/2 * * * * ? ") private void execute3(){ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() .eq("wrk_sts", 22) .andNew().eq("io_type",111) + .orderBy("appe_time",true) ); if (agvWrkMastList.isEmpty()) { return; } for (AgvWrkMast agvWrkMast : agvWrkMastList) { - ReturnT<String> returnT = autoMoveHandler.start3(agvWrkMast); + try{ + autoMoveHandler.start3(agvWrkMast); + } catch (Exception e){ + log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"璋冩嫧鍑哄簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } } } - // 绌烘澘鑷姩鍥炲簱 +// // 绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� +// //@Scheduled(cron = "0/2 * * * * ? ") +// private void autoEmptyBack(){ +// // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� +// List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( +// new EntityWrapper<AgvLocMast>() +// .ne("floor", 1) +// .eq("loc_sts","D") +// .eq("loc_type1",3)); +// if (agvLocMasts.isEmpty()) { +// return; +// } +// for (AgvLocMast agvLocMast : agvLocMasts) { +// try{ +// autoMoveHandler.autoEmptyBack(agvLocMast); +// } catch (Exception e){ +// log.error("搴撲綅鍙�"+agvLocMast.getLocNo()+"绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐�,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); +// } +// } +// } + + /** + * 鎵嬪伐浣滀笟涓嶉�氳繃鐢垫鏃讹紝绌烘澘浠�2銆�3妤兼帴椹充綅浜哄伐鎼繍鍒�1妤兼帴椹充綅浠ュ悗锛� + * 鍥炴祦鍒�1妤兼帴椹充綅锛�1妤兼帴椹崇偣 - 1妤煎簱浣� + * wrkSts 214.绌烘枡鏋跺洖娴佸緟鍒嗛厤 + * ioType 113.绌烘墭鐩樻墜鍔ㄥ洖娴� + */ @Scheduled(cron = "0/2 * * * * ? ") - private void autoEmptyBack(){ - // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� - List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( - new EntityWrapper<AgvLocMast>() - .ne("floor", 1) - .eq("loc_sts","D") - .eq("loc_type1",3)); - if (agvLocMasts.isEmpty()) { + private void autoEmptyBack3(){ + // 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109 + List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() + .eq("wrk_sts", 214) + .eq("loc_no","") + .eq("io_type",113)); + if (agvWrkMastList.isEmpty()) { return; } - for (AgvLocMast agvLocMast : agvLocMasts) { - ReturnT<String> returnT = autoMoveHandler.autoEmptyBack(agvLocMast); + for (AgvWrkMast agvWrkMast : agvWrkMastList) { + try{ + autoMoveHandler.autoEmptyBack3(agvWrkMast); + } catch (Exception e){ + log.error("宸ヤ綔鍙�"+agvWrkMast.getWrkNo()+"绌烘澘鑷姩鍥炲簱 鎺ラ┏鐐� - 1妤煎簱浣�,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } } + } +// // 绌烘澘鑷姩鍥炲簱 +//// @Scheduled(cron = "0/2 * * * * ? ") +// private void autoEmptyBack2(){ +// // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� +// List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( +// new EntityWrapper<AgvLocMast>() +// .ne("floor", 1) +// .eq("loc_sts","D") +// .eq("loc_type1",3)); +// if (agvLocMasts.isEmpty()) { +// return; +// } +// for (AgvLocMast agvLocMast : agvLocMasts) { +// try{ +// autoMoveHandler.autoEmptyBack2(agvLocMast); +// } catch (Exception e){ +// log.error("搴撲綅鍙�"+agvLocMast.getLocNo()+"绌烘澘鑷姩鍥炲簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); +// } +// } +// } + + /** + * 绌烘澘鑷姩鍥炲簱(閫氳繃鐢垫)锛�2銆�3妤煎簱浣嶇殑绠卞3绌烘枡鏋讹紝鐩存帴鍥炴祦鍒�1妤煎簱浣� + * 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿 + * 姣忓眰鏈�澶� 鍦� 鍥炲簱鏁伴噺闄愬埗5鏉� + * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱 + * 2妤兼垨3妤肩珯鐐瑰彲鍏ヤ俊鍙峰叏閮ㄦ病鏈夛紝浠h〃璧扮數姊嚜鍔ㄦ惉杩愭ā寮� + */ + @Scheduled(cron = "0/2 * * * * ? ") + private void autoEmptyBack4(){ +// if (determineFloorConnection(2)){ + // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( + new EntityWrapper<AgvLocMast>() + .ne("floor", 1) + .eq("loc_sts","D") + .eq("loc_type1",3)); + if (agvLocMasts.isEmpty()) { + return; + } + for (AgvLocMast agvLocMast : agvLocMasts) { + try{ + autoMoveHandler.autoEmptyBack4(agvLocMast); + } catch (Exception e){ + log.error("搴撲綅鍙�"+agvLocMast.getLocNo()+"绌烘澘鑷姩鍥炲簱 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } + } +// } + } + + private boolean determineFloorConnection(Integer floor){ + try{ + List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("floor", floor).like("dev_no", "DB_")); + if (!agvBasDevps.isEmpty()){ + for (AgvBasDevp agvBasDevp:agvBasDevps){ + if (agvBasDevp.getInEnable().equals("Y")){ + return false; + } + } + return true; + } + }catch (Exception e){ + log.error("鍒ゆ柇褰撳墠妤煎眰鎺ラ┏浣嶆槸鍚﹀叏閮ㄥ叧闂紝寮傚父"+e.getMessage()); + } + return false; + } + + /** + * 绔欑偣鏄惁鑷姩 + * 鑷姩锛� 鐢熸垚 109 鑷姩鍥炴祦 + * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦 + * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱 + * + */ + @Scheduled(cron = "0/2 * * * * ? ") + private 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; + } + for (AgvBasDevp agvBasDevp : agvBasDevps) { + try{ + autoMoveHandler.autoEmptyBack5(agvBasDevp); + } catch (Exception e){ + log.error("绔欑偣鍙�"+agvBasDevp.getDevNo()+"绔欑偣鏄惁鑷姩 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } + } + } + + /** + * 妫�娴�1妤兼帴椹崇偣 + * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦 + */ + @Scheduled(cron = "0/2 * * * * ? ") + private 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; + } + for (AgvBasDevp agvBasDevp : agvBasDevps) { + try{ + autoMoveHandler.autoEmptyBack6(agvBasDevp); + } catch (Exception e){ + log.error("绔欑偣鍙�"+agvBasDevp.getDevNo()+"妫�娴�1妤兼帴椹崇偣 鐢熸垚 113 鎵嬪姩鍥炴祦,澶勭悊澶辫触锛�===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } + } } } -- Gitblit v1.9.1