| | |
| | | package com.zy.acs.manager.manager.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.zy.acs.common.utils.GsonUtils; |
| | | import com.zy.acs.framework.common.Cools; |
| | | import com.zy.acs.manager.core.domain.BackpackDto; |
| | | import com.zy.acs.manager.manager.controller.param.OpenAgvParam; |
| | | import com.zy.acs.manager.manager.controller.result.BackpackVo; |
| | | import com.zy.acs.manager.manager.controller.result.OpenAgvInfo; |
| | | import com.zy.acs.manager.manager.entity.*; |
| | | import com.zy.acs.manager.manager.enums.SegmentStateType; |
| | | import com.zy.acs.manager.manager.entity.Agv; |
| | | import com.zy.acs.manager.manager.entity.AgvDetail; |
| | | import com.zy.acs.manager.manager.entity.AgvModel; |
| | | import com.zy.acs.manager.manager.entity.Task; |
| | | import com.zy.acs.manager.manager.enums.TaskStsType; |
| | | import com.zy.acs.manager.manager.service.*; |
| | | import com.zy.acs.manager.system.service.ConfigService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private ConfigService configService; |
| | | |
| | | |
| | | public static final ArrayList<String> FOURTH_AGV_GROUP = new ArrayList<String>() {{ |
| | | add("113"); |
| | | add("115"); |
| | | add("116"); |
| | | add("117"); |
| | | add("119"); |
| | | }}; |
| | | |
| | | @Override |
| | | public List<OpenAgvInfo> listAgv(OpenAgvParam param) { |
| | | List<Agv> agvList = agvService.list(); |
| | |
| | | AgvDetail agvDetail; |
| | | AgvModel agvModel; |
| | | for (Agv agv : agvList) { |
| | | if (!FOURTH_AGV_GROUP.contains(agv.getUuid())) { |
| | | continue; |
| | | } |
| | | agvDetail = agvDetailService.getById(agv.getId()); |
| | | List<Task> taskList = taskService.findTransportTasksByAgv(agvDetail.getId()); |
| | | agvModel = agvModelService.getByAgvId(agv.getAgvModel()); |
| | | OpenAgvInfo info = new OpenAgvInfo(); |
| | | info.setAgvNo(agvDetail.getUuid()); |
| | | info.setStatus(agvDetail.getStatus()); |
| | | info.setAgvId(agv.getUuid()); |
| | | info.setStatus(1); |
| | | //info.setStatus(agvDetail.getStatus()); |
| | | info.setPosition(agvDetail.getCode$()); |
| | | info.setDirection(agvDetail.getAgvAngle()); |
| | | info.setVol(agvDetail.getVol()); |
| | |
| | | BackpackVo backpackVo; |
| | | List<Long> taskIds = taskList.stream().map(Task::getId).collect(Collectors.toList()); |
| | | List<BackpackDto> backpackDtos = GsonUtils.fromJsonToList(agvDetail.getBackpack(), BackpackDto.class); |
| | | for (int i = 0; i < agvModel.getBackpack(); i++) { |
| | | BackpackDto backpackDto = backpackDtos.get(i); |
| | | for (int i = 1; i <= agvModel.getBackpack(); i++) { |
| | | backpackVo = new BackpackVo(); |
| | | List<Segment> segments = segmentService.getByAgvAndTaskAndBackpack(agvDetail.getAgvId(), taskIds, backpackVo.getIndex()); |
| | | for (Segment segment : segments) { |
| | | backpackVo.setTaskId(segment.getTaskId() + ""); |
| | | } |
| | | backpackVo.setIndex(i); |
| | | List<Task> taskList1 = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getAgvId, agv.getId()).eq(Task::getBack, i).in(Task::getTaskSts, TaskStsType.INIT.val(), TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val())); |
| | | //if (!Cools.isEmpty(taskIds)) { |
| | | // List<Segment> segments = segmentService.getByAgvAndTaskAndBackpack(agvDetail.getAgvId(), taskIds, backpackVo.getIndex()); |
| | | // if (segments != null) { |
| | | // for (Segment segment : segments) { |
| | | if (!Cools.isEmpty(taskList1)) { |
| | | backpackVo.setTaskId(taskList1.get(0).getId() + ""); |
| | | } |
| | | // } |
| | | // } |
| | | BackpackDto backpackDto = backpackDtos.get(i); |
| | | backpackVo.setLoaded(backpackDto.getLoaded()); |
| | | backpackVo.setExecute(segments.stream().anyMatch(segment -> segment.getState().equals(SegmentStateType.RUNNING.toString()))); |
| | | //backpackVo.setExecute(one.getTaskSts()==); |
| | | //segments.stream().anyMatch(segment -> segment.getState().equals(SegmentStateType.RUNNING.toString())) |
| | | // } |
| | | backpackVos.add(backpackVo); |
| | | } |
| | | info.setBackpack(backpackVos); |