From e7cc0981a18fa322642dadddf7043623c83d676f Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 07 一月 2025 14:43:35 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java | 46 +++++++++++++++++++++++++++++----------------- 1 files changed, 29 insertions(+), 17 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java index 2dc8122..bbc1028 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java @@ -34,9 +34,9 @@ @Service public class PatrolService { - private static final int SCHEDULE_TIME_INTERVAL = 5; + private static final int SCHEDULE_TIME_INTERVAL = 100; - private static final Map<String, ScheduledFuture<?>> AGV_PATROL_MAP = new ConcurrentHashMap<>(); + public static final Map<String, ScheduledFuture<?>> AGV_PATROL_MAP = new ConcurrentHashMap<>(); private final RedisSupport redis = RedisSupport.defaultRedisSupport; @@ -66,31 +66,28 @@ } private void patrolOfMove(String agvNo) { - Agv agv = agvService.selectByUuid(agvNo); - AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); + Long agvId = agvService.getAgvId(agvNo); + AgvDetail agvDetail = agvDetailService.selectMajorByAgvId(agvId); if (taskService.count(new LambdaQueryWrapper<Task>() - .eq(Task::getAgvId, agv.getId()) - .and(i -> { - i.eq(Task::getTaskSts, TaskStsType.WAITING.val()) - .or().eq(Task::getTaskSts, TaskStsType.ASSIGN.val()) - .or().eq(Task::getTaskSts, TaskStsType.PROGRESS.val()); - })) > 0) { + .eq(Task::getAgvId, agvId) + .in(Task::getTaskSts, TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val()) + ) > 0) { return; } - if (!agvService.judgeEnable(agv.getId())) { + if (!agvService.judgeEnable(agvId)) { return; } + Agv agv = agvService.getById(agvId); Code destinationCode = this.getDestinationCode(agv, agvDetail); if (null == destinationCode) { return; } - if (mainLockWrapService.buildMinorTask(agv, agvDetail, TaskTypeType.MOVE, destinationCode.getData())) { + if (mainLockWrapService.buildMinorTask(agv, TaskTypeType.MOVE, destinationCode.getData(), null)) { log.info(agv.getUuid() + "寮�濮嬭蛋琛屾紨绀�..."); } } /** - * buildMinorTask 娌℃湁璁剧疆lane锛宭ane鍙渶瑕佸叧娉ㄨ捣濮嬬偣锛堣蛋琛屽彧闇�瑕佸叧娉ㄧ粓鐐癸級 * 4涓湴鏂硅皟鐢ㄤ簡buildMinorTask锛屽湪浠�涔堟椂鍊欍�佸摢閲岃缃畉ask鐨刲ane * ( * HandlerController, 鎵嬪姩 锛堟墜鍔ㄦ槸鍚﹂渶瑕佸垽鏂璴ane锛� @@ -99,8 +96,6 @@ * TrafficService, 鑷姩 锛堝鍧�鏃跺凡缁忓鐞嗚繃 lane锛� 鉁� * ) * 璇勪及HandlerController娌℃湁璋冪敤buildMajorTask锛屾墜鍔ㄥ垱寤簍ask鐨勫彲琛屾�� - * patrolOfMove娌℃湁鍒ゆ柇lane鐨勫閲� - * 鎶㈠崰寰呮満浣� * agv鍦板浘鍥炬爣鍙樺寲 */ public Code getDestinationCode(Agv agv, AgvDetail agvDetail) { @@ -109,7 +104,24 @@ Code startCode = codeService.getById(agvDetail.getRecentCode()); List<String> notInCodeList = new ArrayList<>(); - notInCodeList.add("00000151"); + notInCodeList.add("00000301"); + notInCodeList.add("00000302"); + notInCodeList.add("00000303"); + notInCodeList.add("00000351"); + notInCodeList.add("00000353"); + notInCodeList.add("00000401"); + notInCodeList.add("00000402"); + + notInCodeList.add("00000311"); + notInCodeList.add("00000312"); + notInCodeList.add("00000313"); + notInCodeList.add("00000361"); + notInCodeList.add("00000363"); + notInCodeList.add("00000411"); + notInCodeList.add("00000412"); + + notInCodeList.add("00000046"); + notInCodeList.add("00000047"); List<Code> list = codeService.list(new LambdaQueryWrapper<Code>().notIn(Code::getData, notInCodeList)); Collections.shuffle(list); @@ -155,7 +167,7 @@ } }; - ScheduledFuture<?> scheduledFuture = scheduler.scheduleAtFixedRate(patrolTask, 0, SCHEDULE_TIME_INTERVAL, TimeUnit.SECONDS); + ScheduledFuture<?> scheduledFuture = scheduler.scheduleAtFixedRate(patrolTask, 0, SCHEDULE_TIME_INTERVAL, TimeUnit.MILLISECONDS); AGV_PATROL_MAP.put(agvNo, scheduledFuture); log.info("宸插惎鍔ˋGV " + agvNo + " 鐨勮窇搴撲换鍔°��"); -- Gitblit v1.9.1