From 0114b079a32f03f69dfcd4d77ed89b54694126e2 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期日, 29 九月 2024 16:25:03 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java index 1086f02..65656a3 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java @@ -49,16 +49,27 @@ if (Cools.isEmpty(groupNo)) { return null; } + // segment ------------------------------- List<Segment> list = segmentService.list(new LambdaQueryWrapper<Segment>().eq(Segment::getGroupId, groupNo).orderByAsc(Segment::getSerial)); if (Cools.isEmpty(list)) { return null; } + Segment segment = list.get(0); + + // agv ------------------------------- + AgvDetail agvDetail = agvDetailService.selectByAgvId(segment.getAgvId()); + Long recentCode = agvDetail.getRecentCode(); + String currCode = null; + if (null != recentCode) { + currCode = codeService.getById(recentCode).getData(); + } + + // action ------------------------------- List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>() .eq(Action::getGroupId, groupNo).orderByDesc(Action::getPriority)); if (Cools.isEmpty(actionList)) { return null; } - Segment segment = list.get(0); MissionVo vo = new MissionVo(); vo.setGroupNo(groupNo); @@ -68,7 +79,8 @@ vo.setTaskNos(list.stream().map(Segment::getTaskId$).collect(Collectors.toList())); vo.setBackpack(segment.getBackpack()); vo.setDestCode(segment.getEndNode$()); - vo.setProgress(calcProgress(actionList)); + vo.setCurrCode(currCode); + vo.setProgress(calcProgress(currCode, actionList)); return vo; } @@ -100,24 +112,16 @@ return vo; } - public Double calcProgress(List<Action> actionList) { + public Double calcProgress(String currCode, List<Action> actionList) { double progress = 0D; - if (Cools.isEmpty(actionList)) { + if (Cools.isEmpty(actionList, currCode)) { return progress; } - - Action action = actionList.get(0); - AgvDetail agvDetail = agvDetailService.selectByAgvId(action.getAgvId()); - Long recentCode = agvDetail.getRecentCode(); - if (null == recentCode) { - return progress; - } - Code code = codeService.getById(recentCode); List<String> codeList = actionList.stream().map(Action::getCode).distinct().collect(Collectors.toList()); int totalCodes = codeList.size(); - int currentIndex = codeList.indexOf(code.getData()); + int currentIndex = codeList.indexOf(currCode); if (currentIndex >= 0) { progress = (currentIndex + 1) * 100.0 / totalCodes; -- Gitblit v1.9.1