liurunyu
2024-11-25 eec55279b295eb447a2d0505ad078fa0c7c1a3d1
设置一些调试日志输出
2个文件已修改
48 ■■■■ 已修改文件
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
@@ -64,6 +64,11 @@
                this.task = new UpgradeTask();
                this.task.initOption(this.failTryTimes, this.ugMaxRtuSameTime);
                this.task.setTask(vo);
                log.error("==================================================") ;
                log.error("=                                                =") ;
                log.error("=当前设置了升级任务,其中RTU有" + vo.rtuAddrList.size() + "个                    =") ;
                log.error("=                                                =") ;
                log.error("==================================================") ;
            }catch (Exception e){
                ex = e ;
            }finally {
@@ -186,6 +191,11 @@
                int temp = this.task.countNoOneRtuUpgradeInDuration() ;
                if(temp == -1){
                    //当前没有RTU进行过升级,而且超时了,认为任务已经完成
                    log.error("==================================================") ;
                    log.error("=                                                =") ;
                    log.error("=当前没有RTU进行过升级,而且超时了,认为任务已经完成      =") ;
                    log.error("=                                                =") ;
                    log.error("==================================================") ;
                    this.task.taskIsOver = true ;
                    this.stop();
                }else if(temp == 1){
@@ -193,11 +203,33 @@
                    //工作2:统计当前正在升级的RTU数量,为同时升级数量限制做准备
                    this.task.countRunningRtuCount() ;
                    //工作3:统计需要升级但当前离线RTU的情况,超过时限的设备为升级完成
                    //this.task.countOffRtuAndSetIfOver() ;
                    //工作3:统计需要升级但当前离线RTU的情况,超过时限的设置为升级完成
                    int tmp = this.task.countOffRtuAndSetIfOver() ;
                    if(tmp >= 1){
                        //超时,强制设置一些RTU升级失败并且升级完成)
                        log.error("==================================================") ;
                        log.error("=                                                =") ;
                        log.error("=超时,强制设置" + tmp + "个RTU升级失败并且升级完成     =") ;
                        log.error("=                                                =") ;
                        log.error("==================================================") ;
                    }else if(tmp == 0){
                        log.error("==================================================") ;
                        log.error("=                                                =") ;
                        log.error("=超时,强制设置0个RTU升级失败并且升级完成               =") ;
                        log.error("=                                                =") ;
                        log.error("==================================================") ;
                    }else{//tmp = -1
                        //无任务逻辑
                    }
                    //工作4:统计是否全部升级完成
                    //this.task.taskIsOver = this.task.countIsAllOver() ;
                    this.task.taskIsOver = this.task.countIsAllOver() ;
                    if(this.task.taskIsOver){
                        log.error("==================================================") ;
                        log.error("=                                                =") ;
                        log.error("=升级全部结束,设置升级任务完成                       =") ;
                        log.error("=                                                =") ;
                        log.error("==================================================") ;
                    }
                }else if(temp == 0){
                    //当前没有一个RTU进行过升级,也没有超时,不作为
                }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -320,20 +320,26 @@
    /**
     * 统计需要升级但当前离线RTU的情况,超过时限的设备为升级完成
     * @return -1:没有超时,0超时了且无因离线被强制设置升级完成的RTU,>0离线被强制设置升级完成的RTU数量
     */
    protected void countOffRtuAndSetIfOver() {
    protected int countOffRtuAndSetIfOver() {
        Long now = System.currentTimeMillis() ;
        if(now - this.setupDtLong > UpgradeUnit.confVo.rtuOffLineWaitDuration){
            //rtu离线,等待其升级的时长(毫秒),超过配置的最大时长,设置其升级失败,且设置升级任务完成
            int count = 0 ;
            if (this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0) {
                Collection<UpgradeRtu> col = this.upgradeRtus.values() ;
                for(UpgradeRtu info : col){
                    if(info.state == UpgradeRtu.STATE_OFFLINE){
                        info.isOver = true ;
                        info.state = UpgradeRtu.STATE_FAILOFFLINE ;
                        count ++ ;
                    }
                }
            }
            return count ;
        }else{
            return -1 ;
        }
    }