| | |
| | | package com.zy.acs.manager.manager.service.impl; |
| | | |
| | | 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.Segment; |
| | | import com.zy.acs.manager.manager.enums.SegmentStateType; |
| | | import com.zy.acs.manager.manager.service.MissionService; |
| | | import com.zy.acs.manager.manager.service.SegmentService; |
| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * Created by vincent on 9/27/2024 |
| | |
| | | private SegmentService segmentService; |
| | | |
| | | @Override |
| | | public List<MissionVo> getList() { |
| | | public List<MissionVo> getList(Long agvId, String groupNo) { |
| | | List<MissionVo> result = new ArrayList<>(); |
| | | List<String> runningGroupNos = segmentService.getGroupNo(SegmentStateType.RUNNING); |
| | | for (String groupNo : runningGroupNos) { |
| | | MissionVo vo = new MissionVo(); |
| | | |
| | | vo.setGroupNo(groupNo); |
| | | result.add(vo); |
| | | List<String> runningGroupNos = segmentService.getGroupNo(SegmentStateType.RUNNING, agvId, groupNo); |
| | | for (String runningGroupNo : runningGroupNos) { |
| | | MissionVo vo = generate(runningGroupNo); |
| | | if (null != vo) { |
| | | result.add(vo); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public MissionVo generate(String groupNo) { |
| | | 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); |
| | | |
| | | MissionVo vo = new MissionVo(); |
| | | vo.setGroupNo(groupNo); |
| | | vo.setId(segment.getId()); |
| | | vo.setPosType(segment.getPosType()); |
| | | vo.setAgv(segment.getAgvId$()); |
| | | vo.setTaskNos(list.stream().map(Segment::getTaskId$).collect(Collectors.toList())); |
| | | vo.setBackpack(segment.getBackpack()); |
| | | vo.setDestCode(segment.getEndNode$()); |
| | | return vo; |
| | | } |
| | | |
| | | } |