package com.dy.common.softUpgrade.state; 
 | 
  
 | 
import lombok.Data; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.concurrent.atomic.AtomicBoolean; 
 | 
  
 | 
/** 
 | 
 * @Author: liurunyu 
 | 
 * @Date: 2024/11/11 17:32 
 | 
 * @Description 
 | 
 */ 
 | 
@Data 
 | 
public class UpgradeInfo { 
 | 
    //升级任务ID 
 | 
    public String ugTaskId; 
 | 
    //升级任务总体状态 
 | 
    public UpgradeState ugOverallState; 
 | 
    //升级任务RTU状态列表 
 | 
    public List<UpgradeRtu> ugRtuStateList; 
 | 
    public String toString(){ 
 | 
        return this.toString(null) ; 
 | 
    } 
 | 
  
 | 
    public String toString(String logRtuAddr){ 
 | 
        StringBuilder sb = new StringBuilder() ; 
 | 
        sb.append("RTU远程升级状态:") ; 
 | 
        sb.append("  \n任务id:" + ugTaskId) ; 
 | 
        sb.append("  \n" + ugOverallState.toString()) ; 
 | 
        if(ugRtuStateList != null && ugRtuStateList.size() > 0){ 
 | 
            sb.append("  \n升级的控制器总数:" + ugRtuStateList.size()) ; 
 | 
            sb.append("  \n其中一个控制器升级情况:") ; 
 | 
            AtomicBoolean exist = new AtomicBoolean(false); 
 | 
            if(logRtuAddr != null){ 
 | 
                ugRtuStateList.stream().filter(ur -> ur.getRtuAddr().equals(logRtuAddr)).forEach(ur -> { 
 | 
                    sb.append("  \n" + ur.toString()) ; 
 | 
                    exist.set(true); 
 | 
                }) ; 
 | 
            } 
 | 
            if(!exist.get()){ 
 | 
                sb.append("  \n" + ugRtuStateList.get(0).toString()) ; 
 | 
            } 
 | 
        } 
 | 
        return sb.toString() ; 
 | 
    } 
 | 
} 
 |