#
luxiaotao1123
2024-09-29 5fd28ccb34f808a634d66e6ff03078b36f9e745d
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
@@ -1,6 +1,9 @@
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;
@@ -9,6 +12,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * Created by vincent on 9/27/2024
@@ -20,17 +24,35 @@
    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;
    }
}