1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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() ;
    }
}