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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * Created by vincent on 9/27/2024 */ @Service("missionService") public class MissionServiceImpl implements MissionService { @Autowired private SegmentService segmentService; @Override public List getList() { List result = new ArrayList<>(); List runningGroupNos = segmentService.getGroupNo(SegmentStateType.RUNNING); for (String groupNo : runningGroupNos) { MissionVo vo = generate(groupNo); if (null != vo) { result.add(vo); } } return result; } public MissionVo generate(String groupNo) { List list = segmentService.list(new LambdaQueryWrapper().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; } }