wuzeyu
2024-12-06 e4d9487314cb32ed27bdcb027bbf43b4e1e3160f
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
1 文件已复制
1 文件已重命名
4个文件已修改
67 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult4Failure.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult4Success.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeResSv.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult4Failure.java
copy from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java copy to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult4Failure.java
File was copied from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java
@@ -17,13 +17,13 @@
@Data
@HeadRowHeight(26)
@ContentRowHeight(22)
public class VoUgRtuResult {
public class VoUgRtuResult4Failure {
    @ExcelProperty("控制器地址")
    @ColumnWidth(20)
    @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    public String rtuAddr;
    @ExcelProperty("升级结果")
    @ExcelProperty("失败原因")
    @ColumnWidth(30)
    @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
    public String result;
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult4Success.java
File was renamed from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voUg/VoUgRtuResult.java
@@ -17,7 +17,7 @@
@Data
@HeadRowHeight(26)
@ContentRowHeight(22)
public class VoUgRtuResult {
public class VoUgRtuResult4Success {
    @ExcelProperty("控制器地址")
    @ColumnWidth(20)
    @ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java
@@ -69,7 +69,7 @@
                    this.task.forceOver();
                }
                this.task = new UpgradeTask();
                this.task.initOption(this.lastOpenMaxGoOn, this.failTryTimes, this.ugMaxRtuSameTime);
                this.task.initOption(this.openNoUpgrade, this.lastOpenMaxGoOn, this.failTryTimes, this.ugMaxRtuSameTime);
                this.task.setTask(vo);
                this.nowNotifyTimesAfterOver = 0 ;
                this.monitorFirst = true ;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -35,6 +35,8 @@
    @JSONField(serialize = false)
    protected Integer ugMaxRtuSameTime ;//同时升级RTU最大个数
    @JSONField(serialize = false)
    private Boolean openNoUpgrade ;//阀开(泵开)不执行升级
    @JSONField(serialize = false)
    private Integer lastOpenMaxGoOn ;//阀开(泵开)状态设置以来持续最长时间(秒钟),超过这个时间认为状态无效(这个时长取决于工作报间隔)
    public String setupDt ;//设置时间(yyyy-mm-dd HH:MM:SS)
@@ -64,7 +66,11 @@
    /**
     *  初始化配置信息
     */
    public void initOption(Integer lastOpenMaxGoOn, Integer failTryTimes, Integer ugMaxRtuSameTime) {
    public void initOption(Boolean openNoUpgrade,
                           Integer lastOpenMaxGoOn,
                           Integer failTryTimes,
                           Integer ugMaxRtuSameTime) {
        this.openNoUpgrade = openNoUpgrade;
        this.lastOpenMaxGoOn = lastOpenMaxGoOn;
        this.failTryTimes = failTryTimes;
        this.ugMaxRtuSameTime = ugMaxRtuSameTime;
@@ -147,6 +153,25 @@
                    //当前RTU已经升级完成,无需再升级
                    return;
                }else{
                    if(this.openNoUpgrade){
                        //首先判断是否是阀门打开状态
                        RtuStatus rtuStatus = RtuStatusDealer.oneStatus(rtuAddr) ;
                        if(rtuStatus != null
                                && rtuStatus.valveOpenTrueCloseFalse != null
                                && rtuStatus.valveOpenTrueCloseFalse.booleanValue() == true
                                && rtuStatus.valveStatusLastTimeStamp != null){
                            //有状态,并且是阀开(泵开)
                            Long now = System.currentTimeMillis() ;
                            Long gap = now - rtuStatus.valveStatusLastTimeStamp ;
                            if(gap < this.lastOpenMaxGoOn){
                                //这时采纳阀门打开状态,进而不能升级
                                ugRtu.isOver = true ;
                                ugRtu.state = UpgradeRtu.STATE_FAILOPEN ;
                                return;
                            }
                        }
                    }
                    if(UpgradeUnit.confVo.ugMaxRtuAtOnce > 0){
                        //设置了同时升级的RTU最大数量的限制
                        if(ugRtu.state == UpgradeRtuDev.STATE_OFFLINE){
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
@@ -12,7 +12,8 @@
import com.dy.pipIrrGlobal.pojoUg.UgRtuProgram;
import com.dy.pipIrrGlobal.pojoUg.UgRtuTask;
import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
import com.dy.pipIrrGlobal.voUg.VoUgRtuResult;
import com.dy.pipIrrGlobal.voUg.VoUgRtuResult4Failure;
import com.dy.pipIrrGlobal.voUg.VoUgRtuResult4Success;
import com.dy.pipIrrGlobal.voUg.VoWatch;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
@@ -233,9 +234,9 @@
    @RequestMapping(value = "/exportUgFail", method = RequestMethod.GET)
    public void exportUgFail(HttpServletResponse response) throws Exception {
        setExcelRespProp(response, "升级失败RTU列表");
        List<VoUgRtuResult> rsList = resSv.exportUgFail();
        List<VoUgRtuResult4Failure> rsList = resSv.exportUgFail();
        EasyExcel.write(response.getOutputStream())
                .head(VoUgRtuResult.class)
                .head(VoUgRtuResult4Failure.class)
                .excelType(ExcelTypeEnum.XLSX)
                .sheet("升级失败RTU列表")
                .doWrite(rsList);
@@ -249,9 +250,9 @@
    @RequestMapping(value = "/exportUgSuccess", method = RequestMethod.GET)
    public void exportUgSuccess(HttpServletResponse response) throws Exception {
        setExcelRespProp(response, "升级成功RTU列表");
        List<VoUgRtuResult> rsList = resSv.exportUgSuccess();
        List<VoUgRtuResult4Success> rsList = resSv.exportUgSuccess();
        EasyExcel.write(response.getOutputStream())
                .head(VoUgRtuResult.class)
                .head(VoUgRtuResult4Success.class)
                .excelType(ExcelTypeEnum.XLSX)
                .sheet("升级成功RTU列表")
                .doWrite(rsList);
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeResSv.java
@@ -2,7 +2,8 @@
import com.dy.common.softUpgrade.state.UpgradeRtu;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.voUg.VoUgRtuResult;
import com.dy.pipIrrGlobal.voUg.VoUgRtuResult4Failure;
import com.dy.pipIrrGlobal.voUg.VoUgRtuResult4Success;
import com.dy.pipIrrGlobal.voUg.VoWatch;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -105,8 +106,8 @@
     * 过滤出当前长级任务中升级失败的RTU
     * @return 集合
     */
    public List<VoUgRtuResult> exportUgFail(){
        List<VoUgRtuResult> list = new ArrayList<>() ;
    public List<VoUgRtuResult4Failure> exportUgFail(){
        List<VoUgRtuResult4Failure> list = new ArrayList<>() ;
        if(RtuUpgradeStateReceiverCtrl.cache != null && RtuUpgradeStateReceiverCtrl.cache.ugTaskId != null){
            if(RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList != null && RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.size() > 0) {
                RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.forEach(rtu -> {
@@ -114,22 +115,22 @@
                        if(rtu.state == UpgradeRtu.STATE_OFFLINE
                                || rtu.state == UpgradeRtu.STATE_UNSTART
                                || rtu.state == UpgradeRtu.STATE_FAILOFFLINE){
                            VoUgRtuResult vo = new VoUgRtuResult() ;
                            VoUgRtuResult4Failure vo = new VoUgRtuResult4Failure() ;
                            vo.rtuAddr = rtu.rtuAddr ;
                            vo.result = "离线" ;
                            list.add(vo);
                        }else if(rtu.state == UpgradeRtu.STATE_FAILOPEN){
                            VoUgRtuResult vo = new VoUgRtuResult() ;
                            VoUgRtuResult4Failure vo = new VoUgRtuResult4Failure() ;
                            vo.rtuAddr = rtu.rtuAddr ;
                            vo.result = "阀开" ;
                            list.add(vo);
                        }else if(rtu.state == UpgradeRtu.STATE_FAILONE){
                            VoUgRtuResult vo = new VoUgRtuResult() ;
                            VoUgRtuResult4Failure vo = new VoUgRtuResult4Failure() ;
                            vo.rtuAddr = rtu.rtuAddr ;
                            vo.result = "一包死" ;
                            list.add(vo);
                        }else if(rtu.state == UpgradeRtu.STATE_FAIL){
                            VoUgRtuResult vo = new VoUgRtuResult() ;
                            VoUgRtuResult4Failure vo = new VoUgRtuResult4Failure() ;
                            vo.rtuAddr = rtu.rtuAddr ;
                            vo.result = "多包死" ;
                            list.add(vo);
@@ -145,14 +146,14 @@
     * 过滤出当前长级任务中升级成功的RTU
     * @return 集合
     */
    public List<VoUgRtuResult> exportUgSuccess(){
        List<VoUgRtuResult> list = new ArrayList<>() ;
    public List<VoUgRtuResult4Success> exportUgSuccess(){
        List<VoUgRtuResult4Success> list = new ArrayList<>() ;
        if(RtuUpgradeStateReceiverCtrl.cache != null && RtuUpgradeStateReceiverCtrl.cache.ugTaskId != null){
            if(RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList != null && RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.size() > 0) {
                RtuUpgradeStateReceiverCtrl.cache.ugRtuStateList.forEach(rtu -> {
                    if(rtu.isOver){
                        if(rtu.state == UpgradeRtu.STATE_SUCCESS){
                            VoUgRtuResult vo = new VoUgRtuResult() ;
                            VoUgRtuResult4Success vo = new VoUgRtuResult4Success() ;
                            vo.rtuAddr = rtu.rtuAddr ;
                            vo.result = "升级成功" ;
                            list.add(vo);