From 566392943866d7cf90ded0d5a67660caf51af022 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 13 十一月 2024 14:32:52 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java | 20 ++++++++++++++++++--
1 files changed, 18 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 24f9ba0..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();
}
@@ -116,6 +123,15 @@
}
if (finish) {
bus.setBusSts(BusStsType.FINISH.val());
+ bus.setEndTime(new Date());
+ bus.setUpdateTime(new Date());
+ if (!busService.updateById(bus)) {
+ 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