From 8a7eac7d9b3d198f20bae7ce1f81a3dbf067b8de Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 07 十月 2024 10:41:35 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java | 36 +++++++++++++++++++++++++----------- 1 files changed, 25 insertions(+), 11 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 e0bee4f..5a69ed7 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; } @@ -96,27 +108,29 @@ vo.setActionCount(actionList.size()); vo.setTaskIds(list.stream().map(Segment::getTaskId).collect(Collectors.toList())); vo.setCodeList(actionList.stream().map(Action::getCode).distinct().collect(Collectors.toList())); + vo.setActionIds(actionList.stream().map(Action::getId).collect(Collectors.toList())); return vo; } - public Double calcProgress(List<Action> actionList) { - double progress = 0D; + @Override + public Boolean resend(List<Action> actionList) { if (Cools.isEmpty(actionList)) { - return progress; + return Boolean.FALSE; } - Action action = actionList.get(0); - AgvDetail agvDetail = agvDetailService.selectByAgvId(action.getAgvId()); - Long recentCode = agvDetail.getRecentCode(); - if (null == recentCode) { + return Boolean.TRUE; + } + + public Double calcProgress(String currCode, List<Action> actionList) { + double progress = 0D; + if (Cools.isEmpty(actionList, currCode)) { 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