From c2e96f6862590af4a57d838453adcd2ba9cf6912 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 29 十月 2024 15:01:00 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java | 42 +++++++++++++++++++++++------------------- 1 files changed, 23 insertions(+), 19 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 a3df759..6f8f67f 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 @@ -57,8 +57,8 @@ 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()) + i.eq(Task::getTaskSts, TaskStsType.WAITING.val()) + .or().eq(Task::getTaskSts, TaskStsType.ASSIGN.val()) .or().eq(Task::getTaskSts, TaskStsType.PROGRESS.val()); })) > 0) { continue; @@ -72,6 +72,7 @@ ) > 0) { continue; } + mainService.buildMinorTask(agv, agvDetail, TaskTypeType.TO_CHARGE, null); } } @@ -81,39 +82,42 @@ // @Scheduled(cron = "0/30 * * * * ? ") @Scheduled(cron = "0 */2 * * * ? ") private void autoStandby(){ - // 1.agv鍏呯數鍒颁竴瀹氱數鍘嬪悗锛屽洖鍒板緟鏈轰綅 - // 2.agv娌℃湁浠诲姟鏃讹紝鍥炲埌寰呮満浣� List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val)); - label: for (Agv agv : agvList) { + + for (Agv agv : agvList) { AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); - if (null == agvDetail || null == agvDetail.getVol() || null == agvDetail.getAgvStatus() || null == agvDetail.getCode()) { + AgvModel agvModel = agvModelService.getById(agv.getAgvModel()); + if (null == agvDetail || null == agvDetail.getVol() || null == agvDetail.getAgvStatus() || null == agvDetail.getRecentCode()) { continue; } - List<FuncSta> funcStaList = funcStaService.list(new LambdaQueryWrapper<FuncSta>() - .eq(FuncSta::getAgvId, agv.getId()).eq(FuncSta::getType, FuncStaType.STANDBY.toString())); - for (FuncSta funcSta : funcStaList) { - if (agvDetail.getRecentCode().equals(funcSta.getCode())) { - continue label; - } - } - if (agvDetail.getVol() <= agv.getChargeLine()) { + // low battery status, that need to go to charge + if (agvDetail.getVol() < agv.getChargeLine() || agvDetail.getVol() < agvModel.getLowBattery()) { continue; } + // is charging ? if (agvDetail.getAgvStatus().equals(AgvStatusType.CHARGE)) { - AgvModel agvModel = agvModelService.getById(agv.getAgvModel()); - if (agvDetail.getVol() <= agvModel.getQuaBattery()) { + if (agvDetail.getVol() < agvModel.getQuaBattery()) { continue; } } + // already on standby code ? + if (0 < funcStaService.count(new LambdaQueryWrapper<FuncSta>() + .eq(FuncSta::getType, FuncStaType.STANDBY.toString()) + .eq(FuncSta::getCode, agvDetail.getRecentCode()) + )) { + continue; + } + // has running tasks ? if (taskService.count(new LambdaQueryWrapper<Task>() .eq(Task::getAgvId, agv.getId()) .and(i -> { - i.eq(Task::getTaskSts, TaskStsType.WAITING.val()) - .or().eq(Task::getTaskSts, TaskStsType.ASSIGN.val()) - .or().eq(Task::getTaskSts, TaskStsType.PROGRESS.val()); + i.eq(Task::getTaskSts, TaskStsType.WAITING.val()) + .or().eq(Task::getTaskSts, TaskStsType.ASSIGN.val()) + .or().eq(Task::getTaskSts, TaskStsType.PROGRESS.val()); })) > 0) { continue; } + mainService.buildMinorTask(agv, agvDetail, TaskTypeType.TO_STANDBY, null); } } -- Gitblit v1.9.1