From b218f31bb202cffa656fa4ee09bdd8d67f8ed0ef Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 13 五月 2025 17:29:42 +0800 Subject: [PATCH] 1、根据江海调整,功能码92、A2的应答中的日期时间去除; 2、表阀一体机的开关阀上行数据(84、85)处理逻辑进行修改。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java | 7 +++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java | 41 +++++++++----------- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java | 32 +++++++++------ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java | 5 +- 4 files changed, 47 insertions(+), 38 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java index f6196f2..ee57e52 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java @@ -77,8 +77,9 @@ index += 8 ; cdData.orderNo = ByteUtil.BCD2String_BE(bs, index, index + 7) ; - index += 8 ; - cdData.opDt = GlParse.parseRtuDt(bs, index) ; + //2025-05-13姹熸捣鍙垹闄� + //index += 8 ; + //cdData.opDt = GlParse.parseRtuDt(bs, index) ; index += 6 ; cdData.opType = bs[index]; diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java index 4e4977c..a6cacc2 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java @@ -13,7 +13,8 @@ public Integer projectNo ;//椤圭洰缂栧彿 public String icCardNo ;//IC鍗$紪鍙凤紙17浣嶆暟瀛楋級 public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級 - public String opDt ;//寮�娉�/闃�鏃堕棿锛坹yyy-mm-dd HH:MM:SS锛� + //2025-05-13姹熸捣鍙垹闄� + //public String opDt ;//寮�娉�/闃�鏃堕棿锛坹yyy-mm-dd HH:MM:SS锛� public Byte opType ;//寮�闃�绫诲瀷 public Byte opResult ;//寮�鍚车/闃�缁撴灉: 0x00:鎴愬姛 0x81:澶辫触 @@ -41,9 +42,11 @@ sb.append(" 璁㈠崟鍙� : ") ; sb.append(orderNo == null?"鏈煡":orderNo) ; sb.append("\n") ; + /* sb.append(" 寮�娉�/闃�鏃堕棿 : ") ; sb.append(opDt == null?"鏈煡":opDt) ; sb.append("\n") ; + */ sb.append(" 寮�鍚车/闃�绫诲瀷 : ") ; sb.append(opType == null?"鏈煡":(opType.byteValue() == 0x01 ? "骞冲彴":"鐢ㄦ埛")) ; sb.append("\n") ; @@ -70,9 +73,11 @@ sb.append("璁㈠崟鍙� : ") ; sb.append(orderNo == null?"鏈煡":orderNo) ; sb.append("\n") ; + /* sb.append("寮�娉�/闃�鏃堕棿 : ") ; sb.append(opDt == null?"鏈煡":opDt) ; sb.append("\n") ; + */ sb.append("寮�鍚车/闃�绫诲瀷 : ") ; sb.append(opType == null?"鏈煡":(opType.byteValue() == 0x01 ? "骞冲彴":"鐢ㄦ埛")) ; sb.append("\n") ; diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java index 273c54a..4934903 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java @@ -96,8 +96,8 @@ sv.saveRmOpenCloseValveLast(poLast); }else{ //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁 - if(poLast.closeDt != null && poLast.clIcCardAddr != null && poLast.clIcCardNo != null){ - if(poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt)) + if(poLast.clOrderNo != null && poLast.clIcCardAddr != null && poLast.clIcCardNo != null){ + if(poLast.clOrderNo.equals(dataCd85Vo.orderNo) && poLast.clIcCardAddr.equals(dataCd85Vo.icCardAddr) && poLast.clIcCardNo.equals(dataCd85Vo.icCardNo)){ //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜� @@ -116,20 +116,15 @@ if(poLast.lastHistoryId != null){ poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ; if(poHistory != null){ - if(poHistory.openDt != null){ - //涓婇潰宸茬粡鍒ゆ柇浜唒oLast.openDt == null锛屾墍浠ユ澶勪竴鑸細鏄痯oHistory.openDt != null - if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){ + if(poHistory.opOrderNo != null){ + if(poHistory.opOrderNo.equals(dataCd85Vo.orderNo)){ //鍖归厤鎴愬姛 //褰撳墠鍏抽榾鏄師璁板綍涓紑闃�鐨勫搴斿叧闃� this.updateCloseValve(clientVo, controller, rtuAddr, poLast, poHistory, dV202404, dataCd85Vo, false) ; sv.updateRmOpenCloseValveHistory(poHistory); - }else if(poHistory.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){ - //鍖归厤澶辫触(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true) - //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏅氫簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸琛ユ姤 - this.dealSupplyReport() ; }else{ //鍖归厤澶辫触 - //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏃╀簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸鏂扮殑涓�娆″叧闃�鎶ワ紝鑰屼笖瀵瑰簲鍏抽榾鎶ョ殑涓婁竴娆″紑闃�鎶ユ湭鏀跺埌 + //褰撳墠鍏抽榾涓嶆槸鍘熻褰曚腑寮�闃�鐨勫搴斿叧闃�锛岃鏄庢槸鏂扮殑涓�娆″叧闃�鎶ワ紝鑰屼笖瀵瑰簲鍏抽榾鎶ョ殑涓婁竴娆″紑闃�鎶ユ湭鏀跺埌 this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, true); } }else{ @@ -147,12 +142,9 @@ } } }else if(poLast.opType != null){ - //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽紑鍏抽榾鏃堕棿瀵规瘮 - if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){ + //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽姣� + if(poLast.clOrderNo != null && poLast.clOrderNo.equals(dataCd85Vo.orderNo)){ //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞� - }else if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){ - //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true) - this.dealSupplyReport() ; }else { //鏄柊鐨勪笂鎶ュ叧闃�鏁版嵁 //杩涜鍘嗗彶鏁版嵁鍖归厤 @@ -160,14 +152,19 @@ if(poLast.lastHistoryId != null) { poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId); if (poHistory != null) { - if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){ - //鍖归厤涓婁簡 - this.updateCloseValve(clientVo, controller, rtuAddr, poLast, poHistory, dV202404, dataCd85Vo, false) ; - sv.updateRmOpenCloseValveHistory(poHistory); + if(poHistory.clOrderNo.equals(dataCd85Vo.orderNo)){ + //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞� }else{ - //涓婁釜鍏抽榾鎶ユ湭涓婃姤 - this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV202404, dataCd85Vo, true) ; - this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null); + if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){ + //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞� + }else if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){ + //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true) + this.dealSupplyReport() ; + }else { + //涓婁釜寮�闃�鎶ユ湭涓婃姤 + this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV202404, dataCd85Vo, true) ; + this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null); + } } }else{ //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤 diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java index e32eac9..8b8554f 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java @@ -94,8 +94,8 @@ sv.saveRmOpenCloseValveLast(poLast); }else{ //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁 - if(poLast.openDt != null && poLast.opIcCardAddr != null && poLast.opIcCardNo != null){ - if(poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt)) + if(poLast.opOrderNo != null && poLast.opIcCardAddr != null && poLast.opIcCardNo != null){ + if(poLast.opOrderNo.equals(dataCd84Vo.orderNo) && poLast.opIcCardAddr.equals(dataCd84Vo.icCardAddr) && poLast.opIcCardNo.equals(dataCd84Vo.icCardNo)){ //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜� @@ -104,7 +104,7 @@ } if(poLast.opType != null){ //鍘熻褰曞瓨鍦ㄥ紑闃�鏁版嵁锛岄鍏堣繘琛屾椂闂村姣� - if(poLast.openDt != null && poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){ + if(poLast.opOrderNo != null && poLast.opOrderNo.equals(dataCd84Vo.orderNo)){ //閲嶅涓婃姤鐨勫紑闃�鏁版嵁锛屼笉杩涜澶勭悊 }else if(poLast.openDt != null && poLast.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){ //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true) @@ -117,16 +117,8 @@ } }else if(poLast.clType != null){ //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵� - if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){ - //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖ - this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ; - //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 - this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast); - }else if(poLast.clOpenDt != null && poLast.clOpenDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){ - //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鎶ユ暟鎹�(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true) - this.dealSupplyReport() ; - }else { - //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍚屼竴鏃堕棿锛岃繖绉嶆儏鍐靛簲璇ヤ笉瀛樺湪锛屼絾涔熷鐞� + if(poLast.clOrderNo != null && poLast.clOrderNo.equals(dataCd84Vo.orderNo)){ + //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍖归厤 RmOpenCloseValveHistory poHistory = null ; if(poLast.lastHistoryId != null){ poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ; @@ -135,6 +127,20 @@ if(poHistory != null){ sv.updateRmOpenCloseValveHistory(poHistory); } + }else if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){ + //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖ + this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ; + //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 + this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast); + }else if(poLast.clOpenDt != null && poLast.clOpenDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){ + //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鎶ユ暟鎹�(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true) + this.dealSupplyReport() ; + }else { + //璁㈠崟鍙蜂笉鍚岋紝鏃堕棿鐩稿悓 + //璁や负褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖ + this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ; + //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍 + this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast); } }else{ //if(poLast.opType == null && po.clType == null) -- Gitblit v1.8.0