From 1b1128dea8ea2a94e89518cdad7b49589e95b469 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 19 三月 2026 15:42:44 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/GuaranteeRuntimeService.java | 51 +++++++++++++++++++++------------------------------
1 files changed, 21 insertions(+), 30 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/GuaranteeRuntimeService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/GuaranteeRuntimeService.java
index edebd10..ba553f3 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/GuaranteeRuntimeService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/GuaranteeRuntimeService.java
@@ -8,9 +8,11 @@
import com.zy.acs.manager.manager.service.AgvService;
import com.zy.acs.manager.manager.service.SegmentService;
import com.zy.acs.manager.manager.service.TaskService;
+import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import com.zy.acs.common.utils.News;
import java.time.LocalDateTime;
import java.util.ArrayList;
@@ -24,26 +26,19 @@
@Autowired
private SegmentService segmentService;
-
- private final AgvService agvService;
- private final AgvDetailService agvDetailService;
- private final TaskService taskService;
- private final MainLockWrapService mainLockWrapService;
-
- public GuaranteeRuntimeService(AgvService agvService,
- AgvDetailService agvDetailService,
- TaskService taskService,
- MainLockWrapService mainLockWrapService) {
- this.agvService = agvService;
- this.agvDetailService = agvDetailService;
- this.taskService = taskService;
- this.mainLockWrapService = mainLockWrapService;
- }
+ @Autowired
+ private AgvService agvService;
+ @Autowired
+ private AgvDetailService agvDetailService;
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private MainLockWrapService mainLockWrapService;
public void prepare(Guarantee plan, LocalDateTime targetTime) {
int requiredCount = plan.getRequiredCount() == null ? 0 : plan.getRequiredCount();
if (requiredCount <= 0) {
- log.warn("Guarantee[{}] requiredCount is not configured, skip", plan.getName());
+ News.warn("Guarantee[{}] requiredCount is not configured, skip", plan.getName());
return;
}
int minSoc = plan.getMinSoc();
@@ -69,23 +64,22 @@
}
}
if (available >= requiredCount) {
-// log.debug("Guarantee[{}] already has {} vehicles >= {}% SOC for {}", plan.getName(), available, minSoc, targetTime);
return;
}
- int shortage = requiredCount - available;
+ int shortage = requiredCount - available; // 杩樺樊澶氬皯杈�
candidates.sort(Comparator.comparingInt(ChargeCandidate::getSoc));
- int scheduled = 0;
+ int scheduled = 0; // 宸茬粡瀹夋帓鍏呯數鐨凙GV鏁伴噺
for (ChargeCandidate candidate : candidates) {
if (scheduled >= shortage) {
break;
}
- log.info("Guarantee[{}] schedule AGV {} charging (soc={}%) for target {}",
+ News.info("Guarantee[{}] schedule AGV {} charging (soc={}%) for target {}",
plan.getName(), candidate.getAgv().getName(), candidate.getSoc(), targetTime);
mainLockWrapService.buildMinorTask(candidate.getAgv().getId(), TaskTypeType.TO_CHARGE, null, null);
scheduled++;
}
if (scheduled < shortage) {
- log.warn("Guarantee[{}] still short of {} vehicles for {} (only {} idle low-soc AGVs)",
+ News.warn("Guarantee[{}] still short of {} vehicles for {} (only {} idle low-soc AGVs)",
plan.getName(), shortage - scheduled, targetTime, candidates.size());
}
}
@@ -95,6 +89,9 @@
return false;
}
if (detail.getAgvStatus() != null && detail.getAgvStatus().equals(AgvStatusType.CHARGE)) {
+ return false;
+ }
+ if (!agvService.judgeOnline(agv.getId())) {
return false;
}
@@ -131,12 +128,13 @@
try {
wrapper.eq(Agv::getAgvModel, Long.valueOf(plan.getScopeValue()));
} catch (NumberFormatException ignore) {
- log.warn("Guarantee[{}] invalid scopeValue {}", plan.getName(), plan.getScopeValue());
+ News.warn("Guarantee[{}] invalid scopeValue {}", plan.getName(), plan.getScopeValue());
}
}
return agvService.list(wrapper);
}
+ @Data
private static class ChargeCandidate {
private final Agv agv;
private final int soc;
@@ -146,12 +144,5 @@
this.soc = soc;
}
- public Agv getAgv() {
- return agv;
- }
-
- public int getSoc() {
- return soc;
- }
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.1