From 7efbe2a7e375a315970830ae0704bea1a11734d0 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期一, 20 一月 2025 16:20:01 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java index b52ae15..9dd818d 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/PatrolService.java @@ -5,7 +5,12 @@ import com.zy.acs.framework.common.Cools; import com.zy.acs.framework.common.R; import com.zy.acs.manager.core.cache.CoreCache; -import com.zy.acs.manager.manager.entity.*; +import com.zy.acs.manager.core.domain.CodeStepDto; +import com.zy.acs.manager.core.domain.type.JobType; +import com.zy.acs.manager.manager.entity.Agv; +import com.zy.acs.manager.manager.entity.AgvDetail; +import com.zy.acs.manager.manager.entity.Code; +import com.zy.acs.manager.manager.entity.Travel; import com.zy.acs.manager.manager.enums.StatusType; import com.zy.acs.manager.manager.enums.TaskTypeType; import com.zy.acs.manager.manager.enums.TravelStateType; @@ -49,13 +54,6 @@ }}; private Map<String, JobType> agvJobMap = new ConcurrentHashMap<>(); - public enum JobType { - CONVEYOR_PICK, - CONVEYOR_DROP, - LOC_PICK, - LOCK_DROP, - ; - } @Autowired private AgvService agvService; @@ -101,6 +99,7 @@ String destinationCodeData = null; switch (jobType) { case LOC_PICK: + // 5, 4, 3, 2, 1 int locPickRemaining = agvService.getBackpackRemainingCapacity(agvId); if (0 < locPickRemaining) { destinationCodeData = this.getLocCode(agvNo, null); @@ -113,8 +112,9 @@ destinationCodeData = this.getConveyorPickCode(agvNo); break; case LOCK_DROP: + // 0, 1, 2, 3, 4 int locDropRemaining = agvService.getBackpackRemainingCapacity(agvId); - if (0 < locDropRemaining) { + if (locDropRemaining < agvModelService.getByAgvId(agvId).getBackpack()) { destinationCodeData = this.getLocCode(agvNo, null); } break; @@ -128,6 +128,8 @@ if (mainLockWrapService.buildMinorTask(agvId, TaskTypeType.MOVE, destinationCodeData, null)) { log.info( "{}寮�濮嬩綔涓氭紨绀�...", agvNo); + + CoreCache.AGV_MOCK_STEP_CACHE.put(agvId, CodeStepDto.build(destinationCodeData, jobType)); switch (jobType) { case LOC_PICK: Integer usedSlotsByLocPick = CoreCache.AGV_BACKPACK_USED_CACHE.get(agvId); @@ -317,6 +319,7 @@ if (cancelled) { AGV_PATROL_MAP.remove(agvNo); CoreCache.AGV_BACKPACK_USED_CACHE.remove(agvId); + CoreCache.AGV_MOCK_STEP_CACHE.remove(agvId); this.agvJobMap.remove(agvNo); log.info("宸插仠姝GV " + agvNo + " 鐨勮窇搴撲换鍔°��"); return R.ok("宸插仠姝GV " + agvNo + " 鐨勮窇搴撲换鍔°��"); -- Gitblit v1.9.1