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