From 37ad41fcac6e1e465db4f9bca397f1e26baa66ab Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 19 十一月 2024 10:28:01 +0800 Subject: [PATCH] 修改设备升级任务实现算法,使其运行更安全 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java index a8a05fc..77e5baf 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java @@ -76,7 +76,7 @@ if(taskVo.softStartAddr == null || taskVo.softStartAddr.trim().length() != 8){ throw new Exception("绋嬪簭瑕嗙洊璧峰鍦板潃涓嶅悎娉曪紝蹇呴』鏄�8瀛楃锛堝崄鍏繘鍒讹級鐨勫瓧绗︿覆") ; } - if(taskVo.softFileData == null || taskVo.softFileData.length <= 0){ + if(taskVo.softFileData64 == null || taskVo.softFileData64.trim().length() == 0){ throw new Exception("鍗囩骇绋嬪簭鍐呭蹇呴』鎻愪緵") ; } if(taskVo.softBytesCalculate == null){ @@ -96,7 +96,8 @@ this.taskVo = taskVo ; this.upgradeRtus = new HashMap<>(); - if(taskVo.softFileData != null && taskVo.softFileData.length >0){ + if(taskVo.softFileData64 != null && taskVo.softFileData64.trim().equals("")){ + taskVo.softFileData = Base64.getDecoder().decode(taskVo.softFileData64); List<byte[]> listBytes = new HexFileParse().splitBytesByUnit512(taskVo.softFileData); this.softFileDataGrp = listBytes.toArray(new byte[0][]); for(String rtuAddr : this.taskVo.rtuAddrList){ @@ -174,11 +175,13 @@ * 寮哄埗缁撴潫鍗囩骇浠诲姟 */ public void forceOver(){ - this.taskIsOver = true ;//寮哄埗璁剧疆浠诲姟瀹屾垚 - this.taskOverType = TaskOverType_Force ;//浠诲姟瀹屾垚鏂瑰紡锛堣嚜鐒讹紝寮哄埗锛� - this.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS) - //this.taskVo.rtuAddrList.clear(); - //this.upgradeState.clear(); + if(!this.taskIsOver){ + this.taskIsOver = true ;//寮哄埗璁剧疆浠诲姟瀹屾垚 + this.taskOverType = TaskOverType_Force ;//浠诲姟瀹屾垚鏂瑰紡锛堣嚜鐒讹紝寮哄埗锛� + this.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS) + //this.taskVo.rtuAddrList.clear(); + //this.upgradeState.clear(); + } } /** -- Gitblit v1.8.0