From 14d7f0df63340ede75458c0e91b902376ef4dd64 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 20 十一月 2024 11:26:32 +0800 Subject: [PATCH] 1、优化代码;2、修改长级测试中发现的bug;3、通信中间件配置文件配置项修改 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java | 8 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java | 5 pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java | 12 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java | 6 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_83_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java | 43 ++- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java | 8 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java | 7 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ym元谋).xml | 76 +++--- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_C0_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_84_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 55 ++++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_C0_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9602_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1603_Down.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpData.java | 4 pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/ComSupportP206V202404.java | 15 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1602_Down.java | 2 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java | 15 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_02_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java | 5 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(sp沙盘).xml | 76 +++--- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_84_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoPowerAspect.java | 8 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java | 34 ++- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java | 2 pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1/ComSupportP206V1.java | 15 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test测试).xml | 76 +++--- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_81_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC16.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/global/GlCreate.java | 4 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9601_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java | 3 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java | 2 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/webRequest/WebRequestDeal.java | 3 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_81_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9603_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java | 2 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeInfo.java | 21 + pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_02_Up.java | 2 pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/rtuLog/RtuLogSupport.java | 8 50 files changed, 359 insertions(+), 208 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java index b837f44..5180006 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java @@ -111,9 +111,13 @@ response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, SsoVo.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛岃闂崟鐐圭櫥褰曠郴缁熷紓甯�"); } - assert response != null; - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛岃闂崟鐐圭櫥褰曠郴缁熷紓甯�"); + }else{ + return response.getBody(); + } }else { return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌SsoCheckUrl"); } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoPowerAspect.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoPowerAspect.java index 6535d5e..0458c3f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoPowerAspect.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoPowerAspect.java @@ -129,9 +129,13 @@ response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, SsoVo.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛岃闂崟鐐圭櫥褰曠郴缁熷紓甯�"); } - assert response != null; - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛岃闂崟鐐圭櫥褰曠郴缁熷紓甯�"); + }else{ + return response.getBody(); + } }else { return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌SsoCheckUrl"); } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java index d77f480..9c147bf 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java @@ -75,7 +75,7 @@ int len = ByteUtilUnsigned.byte2Byte(bs, ProtocolConstantV206V1.dataLenIndex); return len + ProtocolConstantV206V1.lenHead2ctrl + ProtocolConstantV206V1.lenTail; }else{ - int len = ByteUtilUnsigned.bytes2Short_BE(bs, ProtocolConstantV206V1.UG_dataLenIndex_start); + int len = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1.UG_dataLenIndex_start); return len + ProtocolConstantV206V1.UG_lenHead2Cmd + ProtocolConstantV206V1.UG_lenTail; } } @@ -176,8 +176,9 @@ return "璁$畻CRC鏄�:" + crcCompute + "锛屼笂浼燙RC鏄�" + crcInBs ; } }else{ - int crcCompute = (byte)new CRC16().CRC(bs, ProtocolConstantV206V1.ctrlIndex, bs.length - 3) ; - int crcInBs = ByteUtilUnsigned.bytes2Short_BE(bs, bs.length - 3) ; + short crcCompute = new CRC16().CRC(bs, 0, bs.length - 4) ; + short crcInBs = ByteUtil.bytes2Short_BE(bs,bs.length - 3) ; + //int crcInBs = ByteUtilUnsigned.bytes2Short_BE(bs, bs.length - 3) ; if(crcCompute == crcInBs){ return null ; }else{ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java index 2bd47f6..2d4b816 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java @@ -112,7 +112,10 @@ isFail = true ; return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ; } finally{ - callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); + if(upCode != null){ + //CRC楠岃瘉澶辫触鏃讹紝upCode涓簄ull锛屾鏃朵笉杩涜鍥炶皟 + callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); + } } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_02_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_02_Up.java index b93e73b..fab35eb 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_02_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_02_Up.java @@ -76,7 +76,7 @@ confirmCommand.isQuickSend = true ; } callback.callback(midRs.reportOrResponse_trueOrFalse); - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java index 207cabb..845a90a 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java @@ -33,7 +33,7 @@ midRs.downCodeName = CodeV1.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 - midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.hasResponse = false ;//鏄惁鏈夊簲绛� midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue @@ -75,7 +75,7 @@ if(para.param == null){ throw new Exception("鍙傛暟涓虹┖") ; } - if(para.param instanceof Com1601Vo){ + if(!(para.param instanceof Com1601Vo)){ throw new Exception("鍙傛暟绫诲瀷闈濩om1601Vo") ; } Com1601Vo vo = (Com1601Vo) para.param ; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1602_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1602_Down.java index 41c64e4..8c90752 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1602_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1602_Down.java @@ -33,7 +33,7 @@ midRs.downCodeName = CodeV1.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 - midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.hasResponse = false ;//鏄惁鏈夊簲绛� midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1603_Down.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1603_Down.java index 616e749..672e40c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1603_Down.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1603_Down.java @@ -32,7 +32,7 @@ midRs.downCodeName = CodeV1.getCodeName(para.commandCode) ;//涓嬭鍛戒护鍔熻兘鐮佸悕绉�; midRs.downBuffer = bs ;//涓嬭鍛戒护鏁版嵁 midRs.downBufHex = ByteUtil.bytes2Hex(bs, true) ;//涓嬭鍛戒护鏁版嵁鍗佸叚杩涘埗褰㈠紡 - midRs.hasResponse = true ;//鏄惁鏈夊簲绛� + midRs.hasResponse = false ;//鏄惁鏈夊簲绛� midRs.maxSendTimes = null ;//鍛戒护鏈�澶у彂閫佹鏁�(褰撴敹涓嶅埌搴旂瓟鏃讹紝灏嗛噸鍙�)锛屽鏋滀笉璁剧疆锛屽懡浠ょ紦瀛樺櫒杩涜琛ュ厖璁剧疆 midRs.isCachForOffLine = false ;//RTU涓嶅湪绾匡紝鍛戒护鏄惁缂撳瓨锛屼綆鍔熻�楁椂涓簍rue diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_81_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_81_Up.java index 8bb04f1..1b59ec8 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_81_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_81_Up.java @@ -84,7 +84,7 @@ } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java index 4512ccb..dd3e55f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_83_Up.java @@ -86,7 +86,7 @@ } callback.callback(midRs.reportOrResponse_trueOrFalse); - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_84_Up.java index 50c923d..cc63104 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_84_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_84_Up.java @@ -91,7 +91,7 @@ */ } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9601_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9601_Up.java index 598d671..434583b 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9601_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9601_Up.java @@ -43,7 +43,7 @@ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 - midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤 + midRs.reportOrResponse_trueOrFalse = true ;//鍗囩骇鐨勶紝涓嶈涓烘槸鍛戒护搴旂瓟 callback.callback(midRs.reportOrResponse_trueOrFalse); if(para.data != null && para.data.getSubData() != null){ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9602_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9602_Up.java index 7c145ac..4981e54 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9602_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9602_Up.java @@ -43,7 +43,7 @@ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 - midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤 + midRs.reportOrResponse_trueOrFalse = true ;//鍗囩骇鐨勶紝涓嶈涓烘槸鍛戒护搴旂瓟 callback.callback(midRs.reportOrResponse_trueOrFalse); if(para.data != null && para.data.getSubData() != null){ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9603_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9603_Up.java index e820660..4c5fa6c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9603_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_9603_Up.java @@ -43,7 +43,7 @@ midRs.upBuffer = para.upBuffer ;//涓婅鏁版嵁瀛楄妭鏁扮粍 midRs.data = para.data ;//瑙f瀽鍚庣殑鏁版嵁 - midRs.reportOrResponse_trueOrFalse = false ;//涓诲姩涓婃姤 + midRs.reportOrResponse_trueOrFalse = true ;//鍗囩骇鐨勶紝涓嶈涓烘槸鍛戒护搴旂瓟 callback.callback(midRs.reportOrResponse_trueOrFalse); if(para.data != null && para.data.getSubData() != null){ diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_C0_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_C0_Up.java index 7a1545d..9e16294 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_C0_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_C0_Up.java @@ -84,7 +84,7 @@ } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/global/GlCreate.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/global/GlCreate.java index c4a784d..634534a 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/global/GlCreate.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/global/GlCreate.java @@ -92,9 +92,9 @@ } public static byte[] createCrcTail4Ug(byte[] bsNoTail) throws Exception { - int crc = new CRC16().CRC(bsNoTail, 0, bsNoTail.length -1) ; + short crc = new CRC16().CRC(bsNoTail, 0, bsNoTail.length -1) ; byte[] bytes = new byte[ProtocolConstantV206V1.UG_lenTail] ; - ByteUtilUnsigned.short2Bytes_BE(bytes, crc, 0); + ByteUtil.short2Bytes_BE(bytes, crc, 0); bytes[2] = ProtocolConstantV206V1.P_Tail_Byte ; return bytes ; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_02_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_02_Up.java index 30652a0..148d2d6 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_02_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_02_Up.java @@ -85,7 +85,7 @@ } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_81_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_81_Up.java index ddb2004..f01ab6f 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_81_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_81_Up.java @@ -83,7 +83,7 @@ callback.notify(new ValveStateInfo(cdData.stateVo.valveState.byteValue()== 1?false:true)); } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_83_Up.java index 1321221..22394bd 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_83_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_83_Up.java @@ -86,7 +86,7 @@ callback.notify(new ValveStateInfo(false)); } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_84_Up.java index 51b8a5a..4709cd6 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_84_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_84_Up.java @@ -92,7 +92,7 @@ */ } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_C0_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_C0_Up.java index 655c0b5..4d6c2eb 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_C0_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/parse/Cd_C0_Up.java @@ -84,7 +84,7 @@ } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java index 0e89801..33b3d8c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_02_Up.java @@ -75,7 +75,7 @@ confirmCommand.isQuickSend = true ; } callback.callback(midRs.reportOrResponse_trueOrFalse); - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java index 522d2dc..a3d3203 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_80_Up.java @@ -82,7 +82,7 @@ callback.notify(new ValveStateInfo(true)) ; } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java index 0a92089..d29b1ec 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_81_Up.java @@ -84,7 +84,7 @@ callback.notify(new ValveStateInfo(cdData.statePump.byteValue()== 1?true:false)); } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java index 2bb9721..7248381 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_83_Up.java @@ -79,7 +79,7 @@ } callback.callback(midRs.reportOrResponse_trueOrFalse); - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java index 5ef45a9..b328650 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java @@ -80,7 +80,7 @@ callback.notify(new ValveStateInfo(true)); } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java index 53cae94..16f2010 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_85_Up.java @@ -81,7 +81,7 @@ callback.notify(new ValveStateInfo(false)); } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java index 78c68dd..a96b095 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_8A_Up.java @@ -75,7 +75,7 @@ confirmCommand.isQuickSend = true ; } callback.callback(midRs.reportOrResponse_trueOrFalse); - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java index 037cf9c..2408a64 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_C2_Up.java @@ -90,7 +90,7 @@ } } - return new MidResult[]{midRs, confirmCommand} ; + return new MidResult[]{confirmCommand, midRs} ; } /** * 鎵ц鍒嗘瀽 diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeInfo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeInfo.java index 0f3437b..c7f876e 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeInfo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeInfo.java @@ -3,6 +3,7 @@ import lombok.Data; import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; /** * @Author: liurunyu @@ -17,13 +18,29 @@ public UpgradeState ugOverallState; //鍗囩骇浠诲姟RTU鐘舵�佸垪琛� public List<UpgradeRtu> ugRtuStateList; - public String toString(){ + return this.toString(null) ; + } + + public String toString(String logRtuAddr){ StringBuilder sb = new StringBuilder() ; sb.append("RTU杩滅▼鍗囩骇鐘舵�侊細") ; sb.append(" \n浠诲姟id锛�" + ugTaskId) ; sb.append(" \n" + ugOverallState.toString()) ; - //sb.append(" \n鍗囩骇鐨勬帶鍒跺櫒鎬绘暟锛�" + ugRtuStateList.size()) ; + if(ugRtuStateList != null && ugRtuStateList.size() > 0){ + sb.append(" \n鍗囩骇鐨勬帶鍒跺櫒鎬绘暟锛�" + ugRtuStateList.size()) ; + sb.append(" \n鍏朵腑涓�涓帶鍒跺櫒鍗囩骇鎯呭喌锛�") ; + AtomicBoolean exist = new AtomicBoolean(false); + if(logRtuAddr != null){ + ugRtuStateList.stream().filter(ur -> ur.getRtuAddr().equals(logRtuAddr)).forEach(ur -> { + sb.append(" \n" + ur.toString()) ; + exist.set(true); + }) ; + } + if(!exist.get()){ + sb.append(" \n" + ugRtuStateList.get(0).toString()) ; + } + } return sb.toString() ; } } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java index a42953c..5f05861 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/ByteUtil.java @@ -703,8 +703,7 @@ // s1涓嶅彉 s0 <<= 8; s = s0 | s1; - return (short) s; - + return (short)s ; } else { throw new Exception("byte2Short鏃舵暟缁勮秺鐣�"); } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC16.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC16.java index 09f307c..e056bdc 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC16.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC16.java @@ -34,7 +34,7 @@ * @return CRC */ @SuppressWarnings("unused") - public int CRC(byte[] b, int startIndex, int endIndex) { + public short CRC(byte[] b, int startIndex, int endIndex) { int crc = 0xFFFF; for (int j = startIndex ; j <= endIndex; j++) { crc = crc ^ ((b[j] + 256) % 256) ;//杞崲鎴愭棤绗﹀彿鏁帮紝鍥犱负缁堢瀹炵幇(C璇█鎴栨眹缂栬瑷�)閮界敤鐨勬槸鏃犵鍙锋暟 @@ -46,7 +46,7 @@ } } } - return crc; + return (short)crc; } diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java index dbe7d40..ac71d4c 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/ToRtuMwCom.java @@ -5,6 +5,7 @@ import com.dy.common.mw.protocol.CommandType; import com.dy.common.softUpgrade.state.UpgradeTaskVo; import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; import org.springframework.core.env.Environment; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -90,8 +91,13 @@ response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); + }else{ + return response.getBody(); + } } @@ -114,7 +120,12 @@ response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); + }else{ + return response.getBody(); + } } } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java index 346dc92..72902e7 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java @@ -336,12 +336,14 @@ //RTU杩滅▼鍗囩骇妯″潡 UpgradeUnitConfigVo ugVo = new UpgradeUnitConfigVo(); ugVo.enable = conf.getSetAttrBoolean(doc, "config.upgrade", "enable", null, null) ; + ugVo.noOneRtuUpgradeMaxDuration = conf.getSetAttrPlusInt(doc, "config.upgrade", "noOneRtuUpgradeMaxDuration", null, 5, 3600, null); + ugVo.noOneRtuUpgradeMaxDuration = ugVo.noOneRtuUpgradeMaxDuration * 1000 ;//鍙樻垚姣 ugVo.failTryTimes = conf.getSetAttrPlusInt(doc, "config.upgrade", "failTryTimes", null, 0, 100, null); ugVo.ugMaxRtuAtOnce = conf.getSetAttrPlusInt(doc, "config.upgrade", "ugMaxRtuAtOnce", null, 0, 1000000, null); ugVo.rtuOffLineWaitDuration = conf.getSetAttrPlusInt(doc, "config.upgrade", "rtuOffLineWaitDuration", null, 1, 36000, null); - ugVo.rtuOffLineWaitDuration = ugVo.rtuOffLineWaitDuration + 1000;//鍙樻垚姣 + ugVo.rtuOffLineWaitDuration = ugVo.rtuOffLineWaitDuration * 1000;//鍙樻垚姣 ugVo.notifyStateInterval = conf.getSetAttrPlusInt(doc, "config.upgrade", "notifyStateInterval", null, 1, 300, null); - ugVo.notifyStateInterval = ugVo.notifyStateInterval + 1000;//鍙樻垚姣 + ugVo.notifyStateInterval = ugVo.notifyStateInterval * 1000;//鍙樻垚姣 ugVo.showStartInfo = showStartInfo ; AdapterImp_UpgradeUnit ugAdap = new AdapterImp_UpgradeUnit(); ugAdap.setConfig(ugVo); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java index acfc12e..09b5f9b 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java @@ -192,15 +192,24 @@ }else{ if(!this.task.taskIsOver){ //鍗囩骇浠诲姟鏈畬鎴� - //宸ヤ綔1锛氱粺璁″綋鍓嶆鍦ㄥ崌绾х殑RTU鏁伴噺锛屼负鍙楅檺鍚屾椂鍗囩骇鏁伴噺鍋氬噯澶� - this.task.statisticsRunningRtuCount() ; + //宸ヤ綔1锛氬垽鏂槸鍚︽棤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝骞朵笖杈惧埌鏃堕檺锛屽垯璁や负褰撳墠鍗囩骇浠诲姟瀹屾垚 + int temp = this.task.countNoOneRtuUpgrade() ; + if(temp == -1){ + this.task.taskIsOver = true ; + //浠诲姟宸茬粡瀹屾垚 + this.stop(); + }else if(temp == 1){ + //宸ヤ綔2锛氱粺璁″綋鍓嶆鍦ㄥ崌绾х殑RTU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶� + this.task.statisticsRunningRtuCount() ; - //宸ヤ綔2锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐� - this.task.statisticsOffRtuCountAndSet() ; + //宸ヤ綔3锛氱粺璁¢渶瑕佸崌绾т絾褰撳墠绂荤嚎RTU鐨勬儏鍐� + this.task.statisticsOffRtuCountAndSet() ; - //宸ヤ綔3锛氱粺璁℃槸鍚﹀叏閮ㄥ崌绾у畬鎴� - this.task.taskIsOver = this.task.statisticsIsAllOver() ; - + //宸ヤ綔4锛氱粺璁℃槸鍚﹀叏閮ㄥ崌绾у畬鎴� + this.task.taskIsOver = this.task.statisticsIsAllOver() ; + }else if(temp == 0){ + //涓嶄綔涓� + } if(this.task.taskIsOver){ if(!this.task.taskOverType.equals(UpgradeTask.TaskOverType_Force)){ //浠诲姟涓嶆槸寮哄埗缁撴潫鐨� @@ -208,16 +217,20 @@ this.task.taskOverDt = DateTime.yyyy_MM_dd_HH_mm_ss() ;//浠诲姟瀹屾垚鏃堕棿(yyyy-mm-dd HH:MM:SS) } //浠诲姟瀹屾垚锛屾墽琛屾渶鍚庝竴娆″崌绾х姸鎬侀�氱煡 - //宸ヤ綔4锛氬崌绾х姸鎬侀�氱煡 - if(!first){ - this.notifyUpgradeStatus() ; - } + //宸ヤ綔5锛氬崌绾х姸鎬侀�氱煡 + //if(!first){ + // this.notifyUpgradeStatus() ; + //} }else{ //浠诲姟鏈畬鎴愶紝缁х画鎵ц鍗囩骇鐘舵�侀�氱煡 - //宸ヤ綔4锛� 鍗囩骇鐘舵�侀�氱煡 - if(!first){ - this.notifyUpgradeStatus() ; - } + //宸ヤ綔5锛� 鍗囩骇鐘舵�侀�氱煡 + //if(!first){ + // this.notifyUpgradeStatus() ; + //} + } + //宸ヤ綔5锛氬崌绾х姸鎬侀�氱煡 + if(!first){ + this.notifyUpgradeStatus() ; } }else{ //浠诲姟宸茬粡瀹屾垚 diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java index e62b19a..4490827 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java @@ -5,6 +5,7 @@ import com.dy.common.mw.protocol.CommandType; import com.dy.common.softUpgrade.Com1601Vo; import com.dy.common.softUpgrade.state.UpgradeRtu; +import com.dy.common.softUpgrade.state.UpgradeTaskVo; import com.dy.common.util.Callback; import com.dy.common.util.DateTime; import lombok.Data; @@ -20,14 +21,19 @@ public class UpgradeRtuDev extends UpgradeRtu { @JSONField(serialize = false) - private UpgradeTask task ; + private Integer failTryTimes ;//鍗囩骇澶辫触鍚庯紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛�0琛ㄧず涓嶉噸鏂板伩璇曞崌绾� + + @JSONField(serialize = false) + public UpgradeTaskVo taskVo ;//鍗囩骇浠诲姟鍊煎璞� private UpgradeRtuDev(){ } - public UpgradeRtuDev(UpgradeTask task, String rtuAddr, int totalPackage) { + public UpgradeRtuDev(UpgradeTaskVo taskVo, Integer failTryTimes , String rtuAddr, int totalPackage) { super(); - this.task = task ; + //this.task = task ; + this.taskVo = taskVo ; + this.failTryTimes = failTryTimes ; this.rtuAddr = rtuAddr ; this.state = STATE_UNSTART ; this.totalPackage = totalPackage ; @@ -38,9 +44,11 @@ this.isOver = false ; } - public UpgradeRtuDev(UpgradeTask task, String rtuAddr, int totalPackage, int state) { + public UpgradeRtuDev(UpgradeTaskVo taskVo, Integer failTryTimes, String rtuAddr, int totalPackage, int state) { super(); - this.task = task ; + //this.task = task ; + this.taskVo = taskVo ; + this.failTryTimes = failTryTimes ; this.rtuAddr = rtuAddr ; this.state = state ; this.totalPackage = totalPackage ; @@ -65,11 +73,11 @@ callbackCom.call(createCommand1601(protocolName, protocolVersion)); }else if(this.state == STATE_RUNNING){ //褰撳墠鍗囩骇杩囩▼涓� - if(code.equals(UpgradeCode.cd_1601)){ + if(code.equals(UpgradeCode.cd_9601)){ //涓嬪彂閰嶇疆杩斿洖 this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));//涓嬪彂鏁版嵁鍖呮寚浠� - }else if(code.equals(UpgradeCode.cd_1602)){ + }else if(code.equals(UpgradeCode.cd_9602)){ //涓嬪彂鏁版嵁鍖呰繑鍥� currentPackage++ ; currentRamAddr += RAMADDRADD ; @@ -80,7 +88,7 @@ this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; callbackCom.call(createCommand1603(protocolName, protocolVersion));//涓嬪彂鏍¢獙鎸囦护 } - }else if(code.equals(UpgradeCode.cd_1603)){ + }else if(code.equals(UpgradeCode.cd_9603)){ //涓嬪彂鏍¢獙杩斿洖 this.isOver = true ;//鍗囩骇瀹屾垚 this.state = STATE_SUCCESS ; @@ -91,7 +99,7 @@ //鍗囩骇鏈畬鎴� if(this.state == STATE_FAILONE || this.state == STATE_FAIL){ //宸茬粡鏄崌绾уけ璐ユ�� - if(this.reTryTimes < task.failTryTimes){ + if(this.reTryTimes < this.failTryTimes){ //閲嶈瘯娆℃暟鏈揪鍒颁笂闄愶紝缁х画閲嶈瘯 this.reTryTimes += 1 ; this.setStateAtCom1601Time(); @@ -141,10 +149,10 @@ com.rtuResultSendWebUrl = Command.ignoreRtuResultSendWebUrl ; Com1601Vo vo = new Com1601Vo() ; - vo.softStoreAddr = this.task.taskVo.softStoreAddr ; - vo.softStartAddr = this.task.taskVo.softStartAddr ; - vo.totalByte = this.task.taskVo.softBytesCalculate ; - vo.softCrc = this.task.taskVo.softByteSrc16; + vo.softStoreAddr = this.taskVo.softStoreAddr ; + vo.softStartAddr = this.taskVo.softStartAddr ; + vo.totalByte = this.taskVo.softBytesCalculate ; + vo.softCrc = this.taskVo.softByteSrc16; com.param = vo ; return com ; } 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 77e5baf..68d6305 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 @@ -8,8 +8,11 @@ import com.dy.common.util.Callback; import com.dy.common.util.DateTime; import lombok.Data; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; /** * @Author: liurunyu @@ -18,6 +21,8 @@ */ @Data public class UpgradeTask { + + private static final Logger log = LogManager.getLogger(UpgradeTask.class.getName()); protected static final String TaskOverType_Natural = "鑷劧" ; protected static final String TaskOverType_Force = "寮哄埗" ; @@ -37,7 +42,7 @@ protected byte[][] softFileDataGrp ;//浠�512瀛楄妭涓哄崟浣嶆妸鍗囩骇绋嬪簭鏁版嵁鍒嗙粍 @JSONField(serialize = false) - protected Map<String, UpgradeRtu> upgradeRtus;//鍗囩骇鐘舵�� + protected ConcurrentHashMap<String, UpgradeRtu> upgradeRtus;//鍗囩骇鐘舵�� public boolean taskIsOver = false ;//浠诲姟鏄惁瀹屾垚 public String taskOverType = "" ;//浠诲姟瀹屾垚鏂瑰紡锛堣嚜鐒讹紝寮哄埗锛� @@ -95,15 +100,19 @@ this.setupDtLong = System.currentTimeMillis() ; this.taskVo = taskVo ; - this.upgradeRtus = new HashMap<>(); - if(taskVo.softFileData64 != null && taskVo.softFileData64.trim().equals("")){ + this.upgradeRtus = new ConcurrentHashMap<>(); + 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){ - //姝ゆ椂鐘舵�佽缃垚绂荤嚎鐘舵�� - UpgradeRtuDev ugRtu = new UpgradeRtuDev(this, rtuAddr, this.softFileDataGrp.length, UpgradeRtuDev.STATE_OFFLINE) ; - this.upgradeRtus.put(rtuAddr, ugRtu) ; + try{ + for(String rtuAddr : this.taskVo.rtuAddrList){ + //姝ゆ椂鐘舵�佽缃垚绂荤嚎鐘舵�� + UpgradeRtuDev ugRtu = new UpgradeRtuDev(this.taskVo, this.failTryTimes, rtuAddr, this.softFileDataGrp.length, UpgradeRtuDev.STATE_OFFLINE) ; + this.upgradeRtus.put(rtuAddr, ugRtu) ; + } + }catch (Exception e){ + log.error(e); } } } @@ -121,7 +130,7 @@ //鏍规嵁鏂规硶setTask鐨勯�昏緫锛屽彧瑕丷TU鍦ㄥ崌绾т箣鍒楋紝姝ゅugRtuState涓�瀹氫笉涓簄ull //涓轰繚闄╋紝瀹炵幇涓嬮潰閫昏緫 if(taskVo.rtuAddrList.contains(rtuAddr)){ - ugRtu = new UpgradeRtuDev(this, rtuAddr, this.taskVo.softFileData.length) ; + ugRtu = new UpgradeRtuDev(this.taskVo, this.failTryTimes, rtuAddr, this.taskVo.softFileData.length) ; upgradeRtus.put(rtuAddr, ugRtu) ; }else{ //rtu涓嶅湪鍗囩骇涔嬪垪 @@ -257,8 +266,36 @@ /////////////////////////////////////////////////////////// //浠ヤ笅鏂规硶涓哄唴閮ㄦ湇鍔★紝涓嶅澶栨彁渚涙湇鍔� /////////////////////////////////////////////////////////// + /** - * 缁熻褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺锛屼负鍙楅檺鍚屾椂鍗囩骇鏁伴噺鍋氬噯澶� + * 鍒ゆ柇鏄惁娌$敤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝鑰屼笖瓒呰繃浜嗘椂闄� + * @return -1:鏃犱竴RTU鍗囩骇涓旇秴鏃讹紝0锛氭棤RTU鍗囩骇浣嗘湭瓒呮椂绛夊緟锛�1鏈塕TU鍗囩骇姝e父鎵ц + */ + protected int countNoOneRtuUpgrade(){ + if(this.upgradeRtus == null || upgradeRtus.size() == 0){ + //褰撳墠娌℃湁浠讳綍涓�涓澶囪繘琛岃繃鍗囩骇 + Long now = System.currentTimeMillis() ; + if(now - this.setupDtLong > UpgradeUnit.confVo.noOneRtuUpgradeMaxDuration){ + return -1 ; + } + }else{ + Collection<UpgradeRtu> col = this.upgradeRtus.values() ; + for(UpgradeRtu info : col){ + if(info.currentPackage > 0){ + //褰撳墠鏈夎澶囪繘琛岃繃鍗囩骇 + return 1 ; + } + } + Long now = System.currentTimeMillis() ; + if(now - this.setupDtLong > UpgradeUnit.confVo.noOneRtuUpgradeMaxDuration){ + return -1 ; + } + } + return 0 ; + } + + /** + * 缁熻褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺锛屼负鍚屾椂鍗囩骇鏁伴噺闄愬埗鍋氬噯澶� */ protected void statisticsRunningRtuCount(){ int runningTotal = 0 ; diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java index 5cc3ea9..45462aa 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java @@ -9,6 +9,7 @@ public Boolean showStartInfo ; public Boolean enable ;//妯″潡鏄惁鍚姩 + public Integer noOneRtuUpgradeMaxDuration ;//鍗囩骇浠诲姟璁剧疆鍚庯紝娌℃湁璁惧鍗囩骇鏈�澶ф椂闀匡紙姣锛夛紝瓒呰繃杩欎釜鏃堕暱锛岃涓哄崌绾т换鍔″畬鎴愶紝鍙栧�艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 public Integer failTryTimes ;//鍗囩骇澶辫触鍚庯紙閽堝鐨勬槸鍦ㄧ嚎杩涜浜嗗崌绾т笅鍙戝懡浠わ級锛岄噸鏂板伩璇曞崌绾ф鏁帮紝0琛ㄧず涓嶉噸鏂板伩璇曞崌绾� public Integer ugMaxRtuAtOnce;//涓轰簡缂撹В閫氫俊涓棿浠剁殑鍘嬪姏锛屽悓鏃舵敮鎸佸崌绾х殑RTU鍙版暟 public Integer rtuOffLineWaitDuration;//rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀�(姣)锛岃秴杩囪繖涓椂闂达紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴� @@ -16,6 +17,7 @@ public UpgradeUnitConfigVo(){ this.enable = false ; + this.noOneRtuUpgradeMaxDuration = 10 * 60 * 1000 ; this.failTryTimes = 0 ; this.ugMaxRtuAtOnce = Integer.MAX_VALUE ; this.rtuOffLineWaitDuration = 10 * 60 * 60 * 1000 ; diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java index 4049247..2973292 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/comResult/CommandResultDeal.java @@ -1,7 +1,9 @@ package com.dy.rtuMw.web.comResult; +import com.dy.common.contant.Constant; import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.Data; +import com.dy.rtuMw.server.ServerProperties; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -17,7 +19,7 @@ * @Author liurunyu * @Date 2023/12/21 20:28 * @LastEditTime 2023/12/21 20:28 - * @Description + * @Description 閫氫俊涓棿浠跺澶栬繘琛寃eb璋冪敤锛屾妸鍛戒护缁撴灉鍙戦�佸嚭鍘� */ @Component() public class CommandResultDeal { @@ -41,6 +43,7 @@ restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); + headers.set(Constant.UserTokenKeyInHeader, ServerProperties.orgTag); HttpEntity<?> httpEntity = new HttpEntity<>(data, headers); ResponseEntity<WebResponseVo> response = null; try { diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/webRequest/WebRequestDeal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/webRequest/WebRequestDeal.java index a371bde..e07ad00 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/webRequest/WebRequestDeal.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/webRequest/WebRequestDeal.java @@ -1,7 +1,9 @@ package com.dy.rtuMw.web.webRequest; +import com.dy.common.contant.Constant; import com.dy.common.mw.protocol.Command; import com.dy.common.webUtil.BaseResponse; +import com.dy.rtuMw.server.ServerProperties; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -45,6 +47,7 @@ restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); + headers.set(Constant.UserTokenKeyInHeader, ServerProperties.orgTag); HttpEntity<?> httpEntity = new HttpEntity<>(obj, headers); ResponseEntity<BaseResponse> response = null; try { diff --git "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" index 50849b5..a84ad5e 100644 --- "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" +++ "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" @@ -24,22 +24,22 @@ sendDingDingAlarmMsInterval: 鏈夋姤璀﹀彂鐢熸椂锛屽悜閽夐拤鍙戦�佹秷鎭殑闂撮殧鏃堕暱锛堝垎閽燂級 --> <base - orgTag="sp" - isLowPower="false" - onlyDealRtus="" - onlyOneProtocol="false" - downComandMaxResendTimes="1" - commandSendInterval="10" - cachWaitResultTimeout="120" - offLineCachTimeout="86400" - lastUpDataTimeLive="500" - dbDataIdSuffix="0" - cacheUpDownDataWarnCount="100000" - cacheUpDownDataMaxCount="110000" - disconnectedByNoUpDataMinutes="3" - workReportDealOneByTimes="5" - intakeAlarmLossMinValue="1.0" - sendDingDingAlarmMsInterval="60" + orgTag="sp" + isLowPower="false" + onlyDealRtus="" + onlyOneProtocol="false" + downComandMaxResendTimes="1" + commandSendInterval="3" + cachWaitResultTimeout="120" + offLineCachTimeout="86400" + lastUpDataTimeLive="500" + dbDataIdSuffix="0" + cacheUpDownDataWarnCount="100000" + cacheUpDownDataMaxCount="110000" + disconnectedByNoUpDataMinutes="3" + workReportDealOneByTimes="5" + intakeAlarmLossMinValue="1.0" + sendDingDingAlarmMsInterval="60" /> <!-- @@ -49,19 +49,21 @@ synchroRtuClockTimepieces锛氬綋RTU涓庢湇鍔″櫒鏃堕挓鐩稿樊涓�瀹氭绉掞紙閰嶇疆鏂囦欢鏄閽燂級鍚庯紝杩涜鏍℃椂 --> <protocol - centerAddr="1" - synchroRtuClock="true" - synchroRtuClockTimepieces="300000" + centerAddr="1" + synchroRtuClock="true" + synchroRtuClockTimepieces="300000" /> <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 ugMaxRtuAtOnce锛氫负浜嗙紦瑙i�氫俊涓棿浠剁殑鍘嬪姏锛屽悓鏃舵敮鎸佸崌绾х殑RTU鍙版暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉鍙楅檺鍒� rtuOffLineWaitDuration: rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闂达紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴� notifyStateInterval: 鍗囩骇鐘舵�侀�氱煡闂撮殧锛堢锛� --> <upgrade enable="true" + noOneRtuUpgradeMaxDuration="600" failTryTimes="1" ugMaxRtuAtOnce="1000" rtuOffLineWaitDuration="1200" @@ -83,15 +85,15 @@ enableThreadPool锛氭槸鍚﹀惎鐢ㄧ嚎绋嬫睜 --> <support - short_maxThread="6" - short_minThread="6" - short_freeTimeout="60" - short_busyTimeout="5" - long_maxThread="6" - long_minThread="6" - long_freeTimeout="60" - long_busyTimeout="-1" - enableThreadPool="true" + short_maxThread="6" + short_minThread="6" + short_freeTimeout="60" + short_busyTimeout="5" + long_maxThread="6" + long_minThread="6" + long_freeTimeout="60" + long_busyTimeout="-1" + enableThreadPool="true" /> <!-- @@ -103,11 +105,11 @@ saveDbInterval锛歊tu鐘舵�佸瓨鏁版嵁搴撻棿闅�(鍒嗛挓) --> <resource - rtuLogDir="rtuLogs/" - rtuLogFileMaxSize="100000" - rtuLogFileMaxCount="2" - monitorInterval="2" - saveDbInterval="10" + rtuLogDir="rtuLogs/" + rtuLogFileMaxSize="100000" + rtuLogFileMaxCount="2" + monitorInterval="2" + saveDbInterval="10" /> @@ -128,10 +130,10 @@ queueMaxSize: 缂撳瓨闃熷垪鑺傜偣鏁版渶澶ф暟閲� --> <core - sleepBigBusy="100" - sleepSmallBusy="500" - queueWarnSize="100000" - queueMaxSize="300000" + sleepBigBusy="100" + sleepSmallBusy="500" + queueWarnSize="100000" + queueMaxSize="300000" /> <!-- diff --git "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" index 7270793..a9648f9 100644 --- "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" +++ "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" @@ -24,22 +24,22 @@ sendDingDingAlarmMsInterval: 鏈夋姤璀﹀彂鐢熸椂锛屽悜閽夐拤鍙戦�佹秷鎭殑闂撮殧鏃堕暱锛堝垎閽燂級 --> <base - orgTag="test" - isLowPower="false" - onlyDealRtus="" - onlyOneProtocol="false" - downComandMaxResendTimes="1" - commandSendInterval="10" - cachWaitResultTimeout="120" - offLineCachTimeout="86400" - lastUpDataTimeLive="500" - dbDataIdSuffix="0" - cacheUpDownDataWarnCount="100000" - cacheUpDownDataMaxCount="110000" - disconnectedByNoUpDataMinutes="3" - workReportDealOneByTimes="5" - intakeAlarmLossMinValue="1.0" - sendDingDingAlarmMsInterval="60" + orgTag="test" + isLowPower="false" + onlyDealRtus="" + onlyOneProtocol="false" + downComandMaxResendTimes="1" + commandSendInterval="3" + cachWaitResultTimeout="120" + offLineCachTimeout="86400" + lastUpDataTimeLive="500" + dbDataIdSuffix="0" + cacheUpDownDataWarnCount="100000" + cacheUpDownDataMaxCount="110000" + disconnectedByNoUpDataMinutes="3" + workReportDealOneByTimes="5" + intakeAlarmLossMinValue="1.0" + sendDingDingAlarmMsInterval="60" /> <!-- @@ -49,19 +49,21 @@ synchroRtuClockTimepieces锛氬綋RTU涓庢湇鍔″櫒鏃堕挓鐩稿樊涓�瀹氭绉掞紙閰嶇疆鏂囦欢鏄閽燂級鍚庯紝杩涜鏍℃椂 --> <protocol - centerAddr="1" - synchroRtuClock="true" - synchroRtuClockTimepieces="300000" + centerAddr="1" + synchroRtuClock="true" + synchroRtuClockTimepieces="300000" /> <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 ugMaxRtuAtOnce锛氫负浜嗙紦瑙i�氫俊涓棿浠剁殑鍘嬪姏锛屽悓鏃舵敮鎸佸崌绾х殑RTU鍙版暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉鍙楅檺鍒� rtuOffLineWaitDuration: rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闂达紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴� notifyStateInterval: 鍗囩骇鐘舵�侀�氱煡闂撮殧锛堢锛� --> <upgrade enable="true" + noOneRtuUpgradeMaxDuration="600" failTryTimes="1" ugMaxRtuAtOnce="1000" rtuOffLineWaitDuration="1200" @@ -83,15 +85,15 @@ enableThreadPool锛氭槸鍚﹀惎鐢ㄧ嚎绋嬫睜 --> <support - short_maxThread="6" - short_minThread="6" - short_freeTimeout="60" - short_busyTimeout="5" - long_maxThread="6" - long_minThread="6" - long_freeTimeout="60" - long_busyTimeout="-1" - enableThreadPool="true" + short_maxThread="6" + short_minThread="6" + short_freeTimeout="60" + short_busyTimeout="5" + long_maxThread="6" + long_minThread="6" + long_freeTimeout="60" + long_busyTimeout="-1" + enableThreadPool="true" /> <!-- @@ -103,11 +105,11 @@ saveDbInterval锛歊tu鐘舵�佸瓨鏁版嵁搴撻棿闅�(鍒嗛挓) --> <resource - rtuLogDir="rtuLogs/" - rtuLogFileMaxSize="100000" - rtuLogFileMaxCount="2" - monitorInterval="2" - saveDbInterval="10" + rtuLogDir="rtuLogs/" + rtuLogFileMaxSize="100000" + rtuLogFileMaxCount="2" + monitorInterval="2" + saveDbInterval="10" /> @@ -128,10 +130,10 @@ queueMaxSize: 缂撳瓨闃熷垪鑺傜偣鏁版渶澶ф暟閲� --> <core - sleepBigBusy="100" - sleepSmallBusy="500" - queueWarnSize="100000" - queueMaxSize="300000" + sleepBigBusy="100" + sleepSmallBusy="500" + queueWarnSize="100000" + queueMaxSize="300000" /> <!-- diff --git "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" index b061c20..3a54042 100644 --- "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" +++ "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" @@ -24,22 +24,22 @@ sendDingDingAlarmMsInterval: 鏈夋姤璀﹀彂鐢熸椂锛屽悜閽夐拤鍙戦�佹秷鎭殑闂撮殧鏃堕暱锛堝垎閽燂級 --> <base - orgTag="ym" - isLowPower="false" - onlyDealRtus="" - onlyOneProtocol="false" - downComandMaxResendTimes="1" - commandSendInterval="10" - cachWaitResultTimeout="120" - offLineCachTimeout="86400" - lastUpDataTimeLive="500" - dbDataIdSuffix="0" - cacheUpDownDataWarnCount="100000" - cacheUpDownDataMaxCount="110000" - disconnectedByNoUpDataMinutes="3" - workReportDealOneByTimes="5" - intakeAlarmLossMinValue="1.0" - sendDingDingAlarmMsInterval="60" + orgTag="ym" + isLowPower="false" + onlyDealRtus="" + onlyOneProtocol="false" + downComandMaxResendTimes="1" + commandSendInterval="3" + cachWaitResultTimeout="120" + offLineCachTimeout="86400" + lastUpDataTimeLive="500" + dbDataIdSuffix="0" + cacheUpDownDataWarnCount="100000" + cacheUpDownDataMaxCount="110000" + disconnectedByNoUpDataMinutes="3" + workReportDealOneByTimes="5" + intakeAlarmLossMinValue="1.0" + sendDingDingAlarmMsInterval="60" /> <!-- @@ -49,19 +49,21 @@ synchroRtuClockTimepieces锛氬綋RTU涓庢湇鍔″櫒鏃堕挓鐩稿樊涓�瀹氭绉掞紙閰嶇疆鏂囦欢鏄閽燂級鍚庯紝杩涜鏍℃椂 --> <protocol - centerAddr="1" - synchroRtuClock="true" - synchroRtuClockTimepieces="300000" + centerAddr="1" + synchroRtuClock="true" + synchroRtuClockTimepieces="300000" /> <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 ugMaxRtuAtOnce锛氫负浜嗙紦瑙i�氫俊涓棿浠剁殑鍘嬪姏锛屽悓鏃舵敮鎸佸崌绾х殑RTU鍙版暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉鍙楅檺鍒� rtuOffLineWaitDuration: rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闂达紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴� notifyStateInterval: 鍗囩骇鐘舵�侀�氱煡闂撮殧锛堢锛� --> <upgrade enable="true" + noOneRtuUpgradeMaxDuration="600" failTryTimes="1" ugMaxRtuAtOnce="1000" rtuOffLineWaitDuration="1200" @@ -83,15 +85,15 @@ enableThreadPool锛氭槸鍚﹀惎鐢ㄧ嚎绋嬫睜 --> <support - short_maxThread="6" - short_minThread="6" - short_freeTimeout="60" - short_busyTimeout="5" - long_maxThread="6" - long_minThread="6" - long_freeTimeout="60" - long_busyTimeout="-1" - enableThreadPool="true" + short_maxThread="6" + short_minThread="6" + short_freeTimeout="60" + short_busyTimeout="5" + long_maxThread="6" + long_minThread="6" + long_freeTimeout="60" + long_busyTimeout="-1" + enableThreadPool="true" /> <!-- @@ -103,11 +105,11 @@ saveDbInterval锛歊tu鐘舵�佸瓨鏁版嵁搴撻棿闅�(鍒嗛挓) --> <resource - rtuLogDir="rtuLogs/" - rtuLogFileMaxSize="100000" - rtuLogFileMaxCount="2" - monitorInterval="2" - saveDbInterval="10" + rtuLogDir="rtuLogs/" + rtuLogFileMaxSize="100000" + rtuLogFileMaxCount="2" + monitorInterval="2" + saveDbInterval="10" /> @@ -128,10 +130,10 @@ queueMaxSize: 缂撳瓨闃熷垪鑺傜偣鏁版渶澶ф暟閲� --> <core - sleepBigBusy="100" - sleepSmallBusy="500" - queueWarnSize="100000" - queueMaxSize="300000" + sleepBigBusy="100" + sleepSmallBusy="500" + queueWarnSize="100000" + queueMaxSize="300000" /> <!-- diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml index d004b59..3a54042 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml @@ -29,7 +29,7 @@ onlyDealRtus="" onlyOneProtocol="false" downComandMaxResendTimes="1" - commandSendInterval="10" + commandSendInterval="3" cachWaitResultTimeout="120" offLineCachTimeout="86400" lastUpDataTimeLive="500" @@ -56,12 +56,14 @@ <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 ugMaxRtuAtOnce锛氫负浜嗙紦瑙i�氫俊涓棿浠剁殑鍘嬪姏锛屽悓鏃舵敮鎸佸崌绾х殑RTU鍙版暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉鍙楅檺鍒� rtuOffLineWaitDuration: rtu绂荤嚎锛岀瓑寰呭叾鍗囩骇鐨勬椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闂达紝璁剧疆鍏跺崌绾уけ璐ワ紝涓旇缃崌绾т换鍔″畬鎴� notifyStateInterval: 鍗囩骇鐘舵�侀�氱煡闂撮殧锛堢锛� --> <upgrade enable="true" + noOneRtuUpgradeMaxDuration="600" failTryTimes="1" ugMaxRtuAtOnce="1000" rtuOffLineWaitDuration="1200" diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java index 33709d1..6211d7b 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/downData/DownData.java @@ -12,7 +12,7 @@ public class DownData { public void parseData(byte[] bs){ - if(bs != null && bs.length >= ProtocolConstantV206V1.lenHead2Code){ + if(bs != null && bs.length > 0){ if(bs.length >= (ProtocolConstantV206V1.ctrlIndex) && bs[0] == ProtocolConstantV206V1.P_Head_Byte && bs[2] == ProtocolConstantV206V1.P_Head_Byte){ @@ -29,12 +29,12 @@ //搴旇鏄摼璺娴嬫暟鎹� } private void dealUpgrade(byte[] bs){ - String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.codeIndex, 1); + String cdPre = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex, 1); if(cdPre.equals("16")){ //鍗囩骇鍔熻兘鐮� UpHeartBeat.upHeartBeat = false ;//涓嶄笂琛屽績璺� - if(bs.length >= ProtocolConstantV206V1.lenHead2Code + 1){ - String cdSuf = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.codeIndex + 1, 1); + if(bs.length >= ProtocolConstantV206V1.UG_lenHead2Cmd + 1){ + String cdSuf = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V1.UG_codeIndex + 1, 1); String cd = cdPre + cdSuf; if(cd.equals("1601")){ //鍗囩骇閰嶇疆 diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpData.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpData.java index f85a2fa..3db4a2a 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpData.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/upData/UpData.java @@ -52,7 +52,7 @@ protected static byte[] creatHead4Upgrade(String rtuAddr, String preCode, String sufCode)throws Exception { byte[] bsHead = new byte[12] ; byte index = 0 ; - bsHead[index] = ProtocolConstantV206V1.P_Head_Byte ; + bsHead[index] = ProtocolConstantV206V1.UG_P_Head_Byte ; index++ ; bsHead[index] = 0 ;//甯ч暱搴� @@ -60,7 +60,7 @@ bsHead[index] = 0 ;//甯ч暱搴� index++ ; - bsHead[index] = ProtocolConstantV206V1.P_Head_Byte ; + bsHead[index] = ProtocolConstantV206V1.UG_P_Head_Byte ; index++ ; bsHead[index] = ByteUtil.hex2Bytes(preCode)[0]; //鍔熻兘鐮佸煙 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1/ComSupportP206V1.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1/ComSupportP206V1.java index 08de40a..7c82e02 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1/ComSupportP206V1.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V1/ComSupportP206V1.java @@ -4,6 +4,7 @@ import com.dy.common.mw.protocol.CommandType; import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1; import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -82,8 +83,13 @@ response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); + }else{ + return response.getBody(); + } } /** @@ -102,8 +108,13 @@ response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); + }else{ + return response.getBody(); + } } } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/ComSupportP206V202404.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/ComSupportP206V202404.java index 285cd06..64b94fa 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/ComSupportP206V202404.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/p206V202404test/ComSupportP206V202404.java @@ -5,6 +5,7 @@ import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404; import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo; import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; @@ -78,8 +79,13 @@ response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); + }else{ + return response.getBody(); + } } /** @@ -98,8 +104,13 @@ response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); + }else{ + return response.getBody(); + } } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/rtuLog/RtuLogSupport.java b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/rtuLog/RtuLogSupport.java index 2266d33..39a7040 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/rtuLog/RtuLogSupport.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/rtuLog/RtuLogSupport.java @@ -1,6 +1,7 @@ package com.dy.pipIrrMwTestWeb.rtuLog; import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.web.client.RestTemplate; @@ -61,7 +62,12 @@ response = restTemplate.exchange(fullUrl, HttpMethod.GET, httpEntity, BaseResponse.class); } catch (Exception e) { e.printStackTrace(); + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); } - return response.getBody(); + if(response == null){ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父"); + }else{ + return response.getBody(); + } } } diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java index 1d35d06..7d5409d 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeStateReceiverCtrl.java @@ -1,5 +1,7 @@ package com.dy.pipIrrRemote.rtuUpgrage; +import com.dy.common.contant.Constant; +import com.dy.common.multiDataSource.DataSourceContext; import com.dy.common.softUpgrade.state.UpgradeInfo; import com.dy.common.softUpgrade.state.UpgradeRtu; import com.dy.common.softUpgrade.state.UpgradeState; @@ -12,6 +14,8 @@ import com.dy.pipIrrGlobal.pojoUg.UgRtuTask; import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -43,12 +47,16 @@ */ @Hidden //涓嶅叕寮�鎺ュ彛锛屽叾鍙湁閫氫俊涓棿浠惰皟鐢� @PostMapping(path = "/receive") - public BaseResponse<Boolean> receive(@RequestBody UpgradeInfo info){ - log.info("鎺ユ敹鍒扮殑RTU杩滅▼鍗囩骇鐘舵�佹暟鎹负锛歿}", info.toString()); + public BaseResponse<Boolean> receive(@RequestBody UpgradeInfo info, HttpServletRequest req, HttpServletResponse rep){ + log.info("鎺ユ敹鍒扮殑RTU杩滅▼鍗囩骇鐘舵�佹暟鎹负锛歿}", info.toString("532328000214")); //杩涜鎺掑簭 //Comparator<UpgradeRtu> comparator = Comparator.comparing(UpgradeRtu::getRtuAddr, Comparator.naturalOrder()); //info.ugRtuStateList = info.ugRtuStateList.stream().sorted(comparator).collect(Collectors.toList()); + //閫氫俊涓棿浠朵紶杩囨潵鐨勬満鏋則ag锛屼互鐢ㄤ簬鏌ユ壘鏁版嵁婧� + String token = req.getHeader(Constant.UserTokenKeyInHeader); + DataSourceContext.set(token); + if(info.ugRtuStateList != null && info.ugRtuStateList.size() > 0){ if(info.ugRtuStateList.size() < 10){ for (UpgradeRtu rtuVo : info.ugRtuStateList) { -- Gitblit v1.8.0