From a96d6e291e5f4b3f455e9f2230a28d1834550ad1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 14 十一月 2024 14:58:42 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 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 a2cf33c..49aa6a6 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 @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.manager.core.domain.AgvTaskDto; +import com.zy.acs.manager.core.service.MainLockWrapService; import com.zy.acs.manager.core.service.MainService; import com.zy.acs.manager.core.service.TrafficService; import com.zy.acs.manager.manager.entity.Bus; @@ -14,6 +15,7 @@ import com.zy.acs.manager.manager.service.BusService; import com.zy.acs.manager.manager.service.SegmentService; import com.zy.acs.manager.manager.service.TaskService; +import com.zy.acs.manager.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -43,18 +45,23 @@ @Autowired private MainService mainService; @Autowired + private MainLockWrapService mainLockWrapService; + @Autowired private ActionService actionService; @Autowired private SegmentService segmentService; @Autowired private TrafficService trafficService; + @Autowired + private ConfigService configService; @Scheduled(cron = "0/3 * * * * ? ") private void startupBus() throws InterruptedException { + if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; } if (!this.lock.tryLock(LOCK_TIMEOUT, TimeUnit.SECONDS)) { return; } List<Bus> busList = busService.selectBySts(BusStsType.RECEIVE); for (Bus bus : busList) { - mainService.infuseAgvForTask(bus); + mainService.allocateTask(bus); } this.lock.unlock(); } @@ -77,7 +84,7 @@ } for (AgvTaskDto dto : taskDtoList) { - mainService.mergeMajorTask(dto.getAgvId(), dto.getTaskList()); + mainLockWrapService.buildMajorTask(dto.getAgvId(), dto.getTaskList()); } this.lock.unlock(); } @@ -122,6 +129,14 @@ log.error("Bus [{}] 鏇存柊澶辫触 锛侊紒锛�", bus.getUuid()); } } + long cancelNum = taskList.stream().filter(task -> TaskStsType.CANCEL.val() == task.getTaskSts()).count(); + if (cancelNum == taskList.size()) { + bus.setBusSts(BusStsType.CANCEL.val()); + bus.setUpdateTime(new Date()); + if (!busService.updateById(bus)) { + log.error("Bus [{}] 鏇存柊澶辫触 锛侊紒锛�", bus.getUuid()); + } + } } } -- Gitblit v1.9.1