#
luxiaotao1123
2024-11-15 de726e3af84dd4bedc95b42b42132c728788a3b1
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());