|  |  | 
 |  |  | 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 | 
 |  |  | 
 |  |  |  | 
 |  |  |     private String code = "-"; | 
 |  |  |  | 
 |  |  |     private Boolean online = Boolean.FALSE; | 
 |  |  |  | 
 |  |  |     public void sync(Object obj, CodeService codeService) { | 
 |  |  |     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.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())); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  |