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