|  |  |  | 
|---|
|  |  |  | package com.zy.acs.manager.manager.controller.result; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.zy.acs.framework.common.Cools; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.entity.Agv; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.entity.AgvDetail; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.entity.Task; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.enums.TaskStsType; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.AgvService; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.CodeService; | 
|---|
|  |  |  | import com.zy.acs.manager.manager.service.TaskService; | 
|---|
|  |  |  | import lombok.Data; | 
|---|
|  |  |  | import lombok.EqualsAndHashCode; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 9/20/2024 | 
|---|
|  |  |  | 
|---|
|  |  |  | @EqualsAndHashCode(callSuper = true) | 
|---|
|  |  |  | public class AgvResult extends Agv { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Double vol; | 
|---|
|  |  |  | private String agvStatus = "-"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String vol = "-"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String soc = "-"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String pos = "-"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String code = "-"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Boolean online = Boolean.FALSE; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private List<Long> taskIds = new ArrayList<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void sync(Object obj, CodeService codeService, TaskService taskService, AgvService agvService) { | 
|---|
|  |  |  | if (null == obj) return; | 
|---|
|  |  |  | if (obj instanceof AgvDetail) { | 
|---|
|  |  |  | AgvDetail agvDetail = (AgvDetail) obj; | 
|---|
|  |  |  | this.setOnline(agvService.judgeOnline(agvDetail.getAgvId())); | 
|---|
|  |  |  | this.setAgvStatus(agvDetail.getStatusDesc()); | 
|---|
|  |  |  | if (null != agvDetail.getPos()) { | 
|---|
|  |  |  | this.setPos(String.valueOf(agvDetail.getPos())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (null != agvDetail.getVol()) { | 
|---|
|  |  |  | this.setVol(String.valueOf(agvDetail.getVol())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (null != agvDetail.getSoc()) { | 
|---|
|  |  |  | this.setSoc(String.valueOf(agvDetail.getSoc())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (null != agvDetail.getRecentCode()) { | 
|---|
|  |  |  | this.setCode(codeService.getById(agvDetail.getRecentCode()).getData()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<Task> tasks = taskService.selectInSts(agvDetail.getAgvId(), TaskStsType.WAITING, TaskStsType.ASSIGN, TaskStsType.PROGRESS); | 
|---|
|  |  |  | if (!Cools.isEmpty(tasks)) { | 
|---|
|  |  |  | this.setTaskIds(tasks.stream().map(Task::getId).collect(Collectors.toList())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|