From 766bcd63a19f7acaff2f5ed2cd1cb016894978ea Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 23 十二月 2024 14:06:12 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java index 24d04a8..5e03f6d 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java @@ -37,6 +37,8 @@ private final ReentrantLock lock = new ReentrantLock(Boolean.TRUE); @Autowired + private AgvService agvService; + @Autowired private BusService busService; @Autowired private TaskService taskService; @@ -99,7 +101,9 @@ .eq(Segment::getState, SegmentStateType.WAITING.toString()) ); for (Segment segment : segments) { + long startTime = System.currentTimeMillis(); trafficService.trigger(segment); + log.info("traffic calculation spend {} ms", System.currentTimeMillis() - startTime); } } @@ -107,7 +111,9 @@ private void publishAction(){ List<String> actionGroupIds = actionService.selectPrepareGroup(); for (String actionGroupId : actionGroupIds) { + long startTime = System.currentTimeMillis(); mainService.publishAction(actionGroupId); + log.info("publish action calculation spend {} ms", System.currentTimeMillis() - startTime); } } @@ -154,23 +160,30 @@ @Scheduled(cron = "0/1 * * * * ? ") private void autoLocToLoc() { if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; } - int numOfAgv = 2; - int maxCapacity = 1 * numOfAgv; + + // 鏈�澶氫袱缁刡us杩愯 +// if (1 < busService.count(new LambdaQueryWrapper<Bus>().in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val()))) { +// return; +// } + + int agvCount = agvService.count(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val)); AgvModel agvModel = agvModelService.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, AgvModelType.CTU_BOX_TRANSPORT_AGV.toString())); - if (null != agvModel) { - maxCapacity = agvModel.getBackpack() * numOfAgv; + if (null == agvModel || 0 == agvCount) { + return; } - int numOfStockLocList; +// int maxCapacity = agvModel.getBackpack() * agvCount; + int maxCapacity = agvModel.getBackpack(); + // STOCK List<Loc> stockList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.STOCK.val())); - if (Cools.isEmpty(stockList)) { + if (Cools.isEmpty(stockList) || stockList.size() < agvModel.getBackpack()) { return; } Collections.shuffle(stockList); if (stockList.size() > maxCapacity) { stockList = stockList.subList(0, maxCapacity); } - numOfStockLocList = stockList.size(); + int numOfStockLocList = stockList.size(); // IDLE List<Loc> idleList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getLocSts, LocStsType.IDLE.val())); -- Gitblit v1.9.1