liurunyu
2024-11-22 7fd3f90c2055d82d2e5fe96a4b0454e0c2cc9892
远程升级优化
5个文件已修改
35 ■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoWatch.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java
@@ -22,9 +22,9 @@
    @JSONField(serialize = false)
    public static final int STATE_SUCCESS = 2 ;//2-升级成功
    @JSONField(serialize = false)
    public static final int STATE_FAILONE = 3 ;//3-升级失败(1包死)
    public static final int STATE_FAILONE = 3 ;//3-升级失败(一包死)
    @JSONField(serialize = false)
    public static final int STATE_FAIL = 4 ;//4-升级失败(非1包死)
    public static final int STATE_FAIL = 4 ;//4-升级失败(多包死)
    @JSONField(serialize = false)
    public static final int STATE_FAILOFFLINE = 5 ;//4-升级失败(离线)
    @JSONField(serialize = false)
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java
@@ -18,6 +18,7 @@
    public int successTotal ;//所有成功
    public int failTotal ;//所有失败(一包死失败+多包死失败+离线失败)
    public int failOneTotal ;//所有一包死失败
    public int failMultiTotal ;//所有多包死失败
    public int failOffTotal ;//所有离线失败
    public Boolean allOver ;//所有都结束(true:是,false:否)
@@ -35,6 +36,7 @@
        this.successTotal = 0;
        this.failTotal = 0;
        this.failOneTotal = 0;
        this.failMultiTotal = 0;
        this.failOffTotal = 0;
        this.allOver = false ;
    }
@@ -49,7 +51,8 @@
        sb.append("    \n已结束总数:" + overTotal) ;
        sb.append("    \n成功总数:" + successTotal) ;
        sb.append("    \n失败总数:" + failTotal) ;
        sb.append("    \n1包死失败总数:" + failOneTotal) ;
        sb.append("    \n一包死失败总数:" + failOneTotal) ;
        sb.append("    \n多包死失败总数:" + failMultiTotal) ;
        sb.append("    \n离线失败总数:" + failOffTotal) ;
        sb.append("    \n全结束:" + allOver) ;
        return sb.toString() ;
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoWatch.java
@@ -28,15 +28,19 @@
        public String rtuAddr ;     //控制器地址
        public Integer rate ;       //进度
        public String state;        //升级状态
        public Integer status;      //过程状态(0:离线,1:升级中,2:升级成功,3升级失败)
        public Integer status;      //过程状态(0:离线,1:升级中,2:升级成功,3升级失败),前端利用其设置卡片样式
        public Integer reTryTimes ; //重试次数
        public Boolean over ;       //是否结束(true:是,false:否)
        public Boolean success ;    //是否成功(null:进行中,true:是,false:否)
        public void fromCache(UpgradeRtu ugRtu){
            this.rtuAddr = ugRtu.rtuAddr ;
            this.rate = (ugRtu.currentPackage * 1000)/ugRtu.totalPackage ;//前端实现是1000份的进度条
            this.state = UpgradeRtu.getStateName(ugRtu.state) ;
            //过程状态(0:离线,1:升级中,2:升级成功,3升级失败),前端利用其设置卡片样式
            this.status = 1 ;//默认升级中
            if(ugRtu.state == UpgradeRtu.STATE_OFFLINE){
                this.status = 0 ;
@@ -47,8 +51,12 @@
                    this.status = 3;
                }
            }
            this.reTryTimes = ugRtu.reTryTimes ;
            this.over = ugRtu.isOver ;
            if(ugRtu.isOver){
                this.success = (ugRtu.state == UpgradeRtu.STATE_SUCCESS ? true : false) ;
            }else{
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -204,20 +204,22 @@
            state.rtuTotal = this.taskVo.rtuAddrList.size() ;
            if(this.upgradeRtus != null && this.upgradeRtus.size() > 0){
                AtomicBoolean hasRunning = new AtomicBoolean(false);
                this.upgradeRtus.values().stream().forEach(info ->{
                this.upgradeRtus.values().forEach(info ->{
                    if(info.state == UpgradeRtu.STATE_OFFLINE){
                        state.offLineTotal ++ ;
                        state.offLineTotal++ ;
                        state.failTotal++;
                    }else if(info.state == UpgradeRtu.STATE_UNSTART){
                        state.unStartTotal ++ ;
                    }else if(info.state == UpgradeRtu.STATE_RUNNING){
                        state.runningTotal ++ ;
                    }else if(info.state == UpgradeRtu.STATE_SUCCESS) {
                        state.successTotal++;
                    }else if(info.state == UpgradeRtu.STATE_FAIL) {
                        state.failTotal++;
                    }else if(info.state == UpgradeRtu.STATE_FAILONE) {
                        state.failOneTotal++;
                        state.failTotal++;
                    }else if(info.state == UpgradeRtu.STATE_FAIL) {
                        state.failMultiTotal++;
                        state.failTotal++;
                    }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) {
                        state.failTotal++;
                        state.failOffTotal++;
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java
@@ -154,7 +154,7 @@
                                @Override
                                public Object execute() throws Exception {
                                    while(!this.stop){
                                        if(!runDemo()){
                                        if(!runInDemo()){
                                            this.stop = true ;
                                        }else{
                                            try {
@@ -188,7 +188,7 @@
            }
        }
    }
    private boolean runDemo(){
    private boolean runInDemo(){
        for(UpgradeRtu rtu : cache.ugRtuStateList){
            this.rtuUpgrade(rtu) ;
        }
@@ -296,6 +296,7 @@
            for(UpgradeRtu rtu : cache.ugRtuStateList){
                if(rtu.state == UpgradeRtu.STATE_OFFLINE){
                    cache.ugOverallState.offLineTotal ++ ;
                    cache.ugOverallState.failTotal++;
                }else if(rtu.state == UpgradeRtu.STATE_UNSTART){
                    cache.ugOverallState.unStartTotal ++ ;
                }else if(rtu.state == UpgradeRtu.STATE_RUNNING){
@@ -307,6 +308,7 @@
                    cache.ugOverallState.failOneTotal++;
                    cache.ugOverallState.failTotal++;
                }else if(rtu.state == UpgradeRtu.STATE_FAIL) {
                    cache.ugOverallState.failMultiTotal++;
                    cache.ugOverallState.failTotal++;
                }
                if(rtu.isOver){