From bfac8bfa522289b8d2c0b66c50c4bf8b8d75c0e1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 29 十月 2024 14:27:02 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java | 32 ++++++++++++++++++++++---------- 1 files changed, 22 insertions(+), 10 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java index 95f7210..a3df759 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java @@ -4,10 +4,7 @@ import com.zy.acs.common.enums.AgvStatusType; import com.zy.acs.manager.core.service.MainService; import com.zy.acs.manager.manager.entity.*; -import com.zy.acs.manager.manager.enums.FuncStaStateType; -import com.zy.acs.manager.manager.enums.FuncStaType; -import com.zy.acs.manager.manager.enums.TaskStsType; -import com.zy.acs.manager.manager.enums.TaskTypeType; +import com.zy.acs.manager.manager.enums.*; import com.zy.acs.manager.manager.service.*; import com.zy.acs.manager.system.service.ConfigService; import lombok.extern.slf4j.Slf4j; @@ -41,24 +38,39 @@ private ConfigService configService; @Autowired private AgvModelService agvModelService; + @Autowired + private SegmentService segmentService; @Scheduled(cron = "0/5 * * * * ? ") private synchronized void autoCharge(){ - List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, 1)); + List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val)); for (Agv agv : agvList) { AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); + AgvModel agvModel = agvModelService.getById(agv.getAgvModel()); if (null == agvDetail || null == agvDetail.getVol() || null == agvDetail.getAgvStatus()) { continue; } - if (agvDetail.getVol() <= agv.getChargeLine() && !agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) { + if (agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) { + continue; + } + if (agvDetail.getVol() < agv.getChargeLine() || agvDetail.getVol() < agvModel.getLowBattery()) { if (taskService.count(new LambdaQueryWrapper<Task>() .eq(Task::getAgvId, agv.getId()) .and(i -> { // i.eq(Task::getTaskSts, TaskStsType.WAITING.val()) - i.eq(Task::getTaskSts, TaskStsType.ASSIGN.val()) - .or().eq(Task::getTaskSts, TaskStsType.PROGRESS.val()); + i.eq(Task::getTaskSts, TaskStsType.ASSIGN.val()) + .or().eq(Task::getTaskSts, TaskStsType.PROGRESS.val()); })) > 0) { - return; + continue; + } + if (segmentService.count(new LambdaQueryWrapper<Segment>() + .eq(Segment::getAgvId, agv.getId()) + .and( i -> { +// i.eq(Segment::getState, SegmentStateType.WAITING.toString()).or() + i.eq(Segment::getState, SegmentStateType.RUNNING.toString()); + }) + ) > 0) { + continue; } mainService.buildMinorTask(agv, agvDetail, TaskTypeType.TO_CHARGE, null); } @@ -71,7 +83,7 @@ private void autoStandby(){ // 1.agv鍏呯數鍒颁竴瀹氱數鍘嬪悗锛屽洖鍒板緟鏈轰綅 // 2.agv娌℃湁浠诲姟鏃讹紝鍥炲埌寰呮満浣� - List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, 1)); + List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val)); label: for (Agv agv : agvList) { AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); if (null == agvDetail || null == agvDetail.getVol() || null == agvDetail.getAgvStatus() || null == agvDetail.getCode()) { -- Gitblit v1.9.1