From b95b5437d64089f8cf4cfc1adb20b1e4ea583821 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期日, 29 九月 2024 15:22:49 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 43 insertions(+), 12 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 9a1959f..e0bee4f 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 @@ -3,10 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.manager.controller.result.MissionVo; -import com.zy.acs.manager.manager.entity.Action; -import com.zy.acs.manager.manager.entity.AgvDetail; -import com.zy.acs.manager.manager.entity.Code; -import com.zy.acs.manager.manager.entity.Segment; +import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.SegmentStateType; import com.zy.acs.manager.manager.service.*; import org.springframework.beans.factory.annotation.Autowired; @@ -30,13 +27,15 @@ private CodeService codeService; @Autowired private AgvDetailService agvDetailService; + @Autowired + private TaskService taskService; @Override public List<MissionVo> getList(Long agvId, String groupNo) { List<MissionVo> result = new ArrayList<>(); List<String> runningGroupNos = segmentService.getGroupNo(SegmentStateType.RUNNING, agvId, groupNo); for (String runningGroupNo : runningGroupNos) { - MissionVo vo = generate(runningGroupNo); + MissionVo vo = generateVo(runningGroupNo); if (null != vo) { result.add(vo); } @@ -45,9 +44,18 @@ return result; } - public MissionVo generate(String groupNo) { + @Override + public MissionVo generateVo(String groupNo) { + if (Cools.isEmpty(groupNo)) { + return null; + } List<Segment> list = segmentService.list(new LambdaQueryWrapper<Segment>().eq(Segment::getGroupId, groupNo).orderByAsc(Segment::getSerial)); if (Cools.isEmpty(list)) { + return null; + } + 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); @@ -60,16 +68,39 @@ vo.setTaskNos(list.stream().map(Segment::getTaskId$).collect(Collectors.toList())); vo.setBackpack(segment.getBackpack()); vo.setDestCode(segment.getEndNode$()); - vo.setProgress(calcProgress(groupNo)); + vo.setProgress(calcProgress(actionList)); return vo; } - public Double calcProgress(String groupNo) { - double progress = 0D; + @Override + public MissionVo generateVoMoreInfo(String groupNo) { + MissionVo vo = generateVo(groupNo); + if (null == vo) { + return vo; + } + List<Segment> list = segmentService.list(new LambdaQueryWrapper<Segment>().eq(Segment::getGroupId, groupNo).orderByAsc(Segment::getSerial)); + if (Cools.isEmpty(list)) { + return null; + } List<Action> actionList = actionService.list(new LambdaQueryWrapper<Action>() - .eq(Action::getGroupId, groupNo). - orderByDesc(Action::getPriority)); + .eq(Action::getGroupId, groupNo).orderByDesc(Action::getPriority)); + if (Cools.isEmpty(actionList)) { + return null; + } + Segment segment = list.get(0); + Action action = actionList.get(0); + Task task = taskService.getById(segment.getTaskId()); +// vo.setSendTime(action.getStartTime()); + vo.setBusNo(task.getBusId$()); + 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())); + return vo; + } + + public Double calcProgress(List<Action> actionList) { + double progress = 0D; if (Cools.isEmpty(actionList)) { return progress; } @@ -82,7 +113,7 @@ } Code code = codeService.getById(recentCode); - List<String> codeList = actionList.stream().map(Action::getCode).collect(Collectors.toList()); + List<String> codeList = actionList.stream().map(Action::getCode).distinct().collect(Collectors.toList()); int totalCodes = codeList.size(); int currentIndex = codeList.indexOf(code.getData()); -- Gitblit v1.9.1