|  |  | 
 |  |  | 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.getCacheById(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())); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |