pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java
@@ -3,6 +3,9 @@
import com.alibaba.fastjson2.annotation.JSONField;
import com.dy.common.mw.protocol.Command;
import com.dy.common.mw.protocol.CommandType;
import com.dy.common.mw.protocol.MidResult;
import com.dy.common.mw.protocol.MidResultFromRtu;
import com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo;
import com.dy.common.softUpgrade.Com1601Vo;
import com.dy.common.softUpgrade.state.UpgradeRtu;
import com.dy.common.softUpgrade.state.UpgradeTaskVo;
@@ -39,6 +42,7 @@
        this.currentPackage = 0 ;
        this.currentRamAddr = 0 ;
        this.lastDownDt = "" ;
        this.lastDownDtAt = 0L ;
        this.reTryTimes = 0 ;
        this.isOver = false ;
    }
@@ -53,6 +57,7 @@
        this.currentPackage = 0 ;
        this.currentRamAddr = 0 ;
        this.lastDownDt = "" ;
        this.lastDownDtAt = 0L ;
        this.reTryTimes = 0 ;
        this.isOver = false ;
    }
@@ -62,9 +67,10 @@
     * @param code
     * @param softData
     * @param callbackCom
     * @param objects
     */
    @Override
    public void trigger(String code, String protocolName, Short protocolVersion, byte[][] softData, Callback callbackCom){
    public void trigger(String code, String protocolName, Short protocolVersion, byte[][] softData, Callback callbackCom, Object ...objects){
        if(!this.isOver){
            //升级未完成
            if(this.state == STATE_OFFLINE || this.state == STATE_UNSTART){
@@ -76,6 +82,7 @@
                if(code.equals(UpgradeCode.cd_9601)){
                    //下发配置返回
                    this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
                    this.lastDownDtAt = System.currentTimeMillis() ;
                    callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));//下发数据包指令
                }else if(code.equals(UpgradeCode.cd_9602)){
                    //下发数据包返回
@@ -83,14 +90,16 @@
                    currentRamAddr += RAMADDRADD ;
                    if(currentPackage < totalPackage){
                        this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
                        this.lastDownDtAt = System.currentTimeMillis() ;
                        callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));
                    }else{
                        this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
                        this.lastDownDtAt = System.currentTimeMillis() ;
                        callbackCom.call(createCommand1603(protocolName, protocolVersion));//下发校验指令
                    }
                }else if(code.equals(UpgradeCode.cd_9603)){
                    //下发校验返回
                    this.setStateAtReceiveRes9603Time() ;
                    this.setStateAtReceiveRes9603Time(objects) ;
                    callbackCom.call(createCommand1600(protocolName, protocolVersion));//下发复位指令,此指令无应答
                }else{
                    //当前是升级中状态,并且升级未完成,收到了非960X系列功能码,则升级失败
@@ -141,15 +150,35 @@
        this.currentRamAddr = 0 ;
        this.isOver = false ;
        this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
        this.lastDownDtAt = System.currentTimeMillis() ;
    }
    /**
     * 设置1603指令返回时刻的状态
     */
    private void setStateAtReceiveRes9603Time(){
    private void setStateAtReceiveRes9603Time(Object ...objects){
        this.isOver = true ;//升级完成
        this.state = STATE_SUCCESS ;
        if(objects != null && objects.length > 0){
            if(objects[0] instanceof com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo){
                com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo)objects[0] ;
                if(vo != null && !vo.success){
                    this.state = STATE_FAILRTU ;
                }
            } else if(objects[0] instanceof com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo){
                com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo)objects[0] ;
                if(vo != null && !vo.success){
                    this.state = STATE_FAILRTU ;
                }
            } else if(objects[0] instanceof com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo){
                com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo)objects[0] ;
                if(vo != null && !vo.success){
                    this.state = STATE_FAILRTU ;
                }
            }
        }
        this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
        this.lastDownDtAt = System.currentTimeMillis() ;
    }
    @Override