From 70e8f76e19575de4b21e5c0ff225af7a1849fec6 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 28 十月 2024 09:51:39 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java | 5 ++ zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java | 62 +++++++++++++++++++++++++++---- zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java | 2 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java | 5 ++ zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java | 4 +- 5 files changed, 67 insertions(+), 11 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java index a769226..7f0ab7f 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java @@ -19,7 +19,7 @@ @GetMapping("/lanes") public R getLanes() { - return R.ok().add(laneService.getLanePoints("00000010")); + return R.ok().add(laneService.search("00000010")); } } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java index 8f144e5..750c81b 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.common.utils.LocUtils; +import com.zy.acs.manager.core.domain.Lane; import com.zy.acs.manager.manager.entity.Agv; import com.zy.acs.manager.manager.entity.AgvModel; import com.zy.acs.manager.manager.entity.Task; @@ -75,6 +76,10 @@ Integer maxAgvCountInLane = configService.getVal("maxAgvCountInLane", Integer.class); + Lane originLane = taskService.checkoutOriginLane(task); + Lane destinationLane = taskService.checkoutDestinationLane(task); + + /** * 1. 鍒ゆ柇task鐨勮捣濮嬬偣鍜岀洰鐨勭偣鎵�鍦ㄧ殑宸烽亾鎵胯浇浠诲姟鏁伴噺锛� diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java index 9eb7351..e03bc62 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java @@ -45,13 +45,13 @@ return this.initialized; } - public List<String> getLanePoints(String codeData) { + public Lane search(String codeData) { if (Cools.isEmpty(codeData) || !this.initialized) { return null; } for (Lane lane : this.lanes) { if (lane.getCodes().contains(codeData)) { - return lane.getCodes(); + return lane; } } return null; diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java index 01dd5e9..cd45ccd 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java @@ -1,6 +1,7 @@ package com.zy.acs.manager.manager.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.zy.acs.manager.core.domain.Lane; import com.zy.acs.manager.manager.entity.Task; import com.zy.acs.manager.manager.enums.TaskStsType; @@ -25,4 +26,8 @@ Boolean cancel(Long taskId, Long userId); + Lane checkoutOriginLane(Task task); + + Lane checkoutDestinationLane(Task task); + } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java index 99dd6aa..1121605 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java @@ -7,16 +7,12 @@ import com.zy.acs.framework.common.SnowflakeIdWorker; import com.zy.acs.framework.exception.CoolException; import com.zy.acs.manager.common.exception.BusinessException; -import com.zy.acs.manager.manager.entity.FuncSta; -import com.zy.acs.manager.manager.entity.Loc; -import com.zy.acs.manager.manager.entity.Sta; -import com.zy.acs.manager.manager.entity.Task; +import com.zy.acs.manager.core.domain.Lane; +import com.zy.acs.manager.core.service.LaneService; +import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.*; import com.zy.acs.manager.manager.mapper.TaskMapper; -import com.zy.acs.manager.manager.service.CodeService; -import com.zy.acs.manager.manager.service.FuncStaService; -import com.zy.acs.manager.manager.service.LocService; -import com.zy.acs.manager.manager.service.TaskService; +import com.zy.acs.manager.manager.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,9 +29,13 @@ @Autowired private LocService locService; @Autowired + private StaService staService; + @Autowired private FuncStaService funcStaService; @Autowired private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private LaneService laneService; @Override public synchronized String generateSeqNum() { @@ -115,6 +115,52 @@ return Boolean.TRUE; } + @Override + public Lane checkoutOriginLane(Task task) { + Long codeId = null; + TaskTypeType typeType = TaskTypeType.get(task.getTaskTypeEl()); + switch (Objects.requireNonNull(typeType)) { + case LOC_TO_LOC: + case LOC_TO_STA: + codeId = locService.getById(task.getOriLoc()).getCode(); + break; + case STA_TO_LOC: + case STA_TO_STA: + codeId = staService.getById(task.getOriSta()).getCode(); + break; + default: + break; + } + + if (null == codeId) { + return null; + } + return laneService.search(codeService.getById(codeId).getData()); + } + + @Override + public Lane checkoutDestinationLane(Task task) { + Long codeId = null; + TaskTypeType typeType = TaskTypeType.get(task.getTaskTypeEl()); + switch (Objects.requireNonNull(typeType)) { + case LOC_TO_LOC: + case STA_TO_LOC: + codeId = locService.getById(task.getDestLoc()).getCode(); + break; + case LOC_TO_STA: + case STA_TO_STA: + codeId = staService.getById(task.getDestSta()).getCode(); + break; + default: + break; + } + + if (null == codeId) { + return null; + } + return laneService.search(codeService.getById(codeId).getData()); + } + @Transactional public void maintainLocSts(Task task, Boolean complete) { Loc oriLoc = null; Loc destLoc = null; -- Gitblit v1.9.1