From fbc250276c78ca2afa45a55e8af8deddd65e4f8a Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 16 十二月 2024 11:23:41 +0800
Subject: [PATCH] 临时任务功能,修改bug
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java | 67 ++++++++++++++++++++-------------
1 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
index 08c5eb2..c504d5c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java
@@ -1,40 +1,48 @@
package com.dy.common.mw.protocol.p206V202404;
import com.dy.common.mw.protocol.*;
+import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
+import com.dy.common.mw.protocol.p206V2.ProtocolConstantV206V2;
import com.dy.common.util.DateTime;
-import java.net.URI;
-import java.net.URL;
-
-@AnnotationDriver(name= ProtocolConstantV206V202404.protocolName)
+@AnnotationDriver(enable = true,
+ name= ProtocolConstantV206V202404.protocolName,
+ version= ProtocolConstantV206V202404.protocolVer)
public class DriverV202404 extends Driver {
- private static String scanRootPackage = "com.dy.common.mw.protocol.p206V202404." ;
+ private static String scanRootPackage = "com.dy.common.mw.protocol.p206V202404" ;
//鍦―river涓槸鍗曚緥锛岄殢Driver鐨勫崟渚嬪璞″湪鍗曠嚎绋嬩腑杩愯
private ParseParamsForUpV202404 upCpParams ;
private ParseParamsForDownV202404 downCpParams ;
private Boolean reportOrResponse_trueOrFalse = null ;
- private String rtuAddrInData = null ;
public DriverV202404(){
upCpParams = new ParseParamsForUpV202404() ;
downCpParams = new ParseParamsForDownV202404() ;
}
+ /**
+ * 娓呯┖鑷繁
+ */
+ @Override
+ public void clear() {
+ if(this.upCpParams != null){
+ this.upCpParams.clear();
+ }
+ if(this.downCpParams != null){
+ this.downCpParams.clear();
+ }
+ this.reportOrResponse_trueOrFalse = null ;
+ }
/**
* 鎵弿璇嗗埆鍔熻兘鐮佹敞瑙g被
*/
@Override
public void scanAnnotationCode() throws Exception{
- if(!scanRootPackage.endsWith(".")){
- scanRootPackage += "." ;
- }
- URL url = this.getClass().getResource("/" + scanRootPackage.replace('.', '/'));
- URI uri = new URI(url.toString());
- super.doScanAnnotationCode(this, ProtocolConstantV206V202404.protocolName, uri, scanRootPackage) ;
+ super.doScanAnnotationCode(this, ProtocolConstantV206V1.protocolName, scanRootPackage) ;
}
/**
@@ -48,18 +56,17 @@
*/
@Override
public MidResult[] parseData(Boolean isLowPower, String rtuAddr, byte[] upBuffer, String upHex, DriverParserDataCallback callback, Object... params) {
- reportOrResponse_trueOrFalse = null ;
+ this.clear();
boolean isFail = false ;
String upCode = null ;
try{
CommonV202404 cp = new CommonV202404() ;
- cp.checkHead(upBuffer) ;
+ Boolean p202404TrueUgFalse = cp.protocolType_p206TrueUgFalse(upBuffer) ;
cp.checkTail(upBuffer) ;
- String crcStr = cp.checkCrc_str(upBuffer) ;
+ String crcStr = cp.checkCrc_str(upBuffer, p202404TrueUgFalse) ;
if(crcStr != null){
return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屼笂琛屾暟鎹瓹RC妫�鏌ュけ璐ワ紝" + crcStr, null))} ;
}
- rtuAddr = cp.parseRtuAddr(upBuffer) ;
upCode = cp.parseCode(upBuffer) ;
if(upCode == null){
return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳戒粠涓婅鏁版嵁涓В鏋愬嚭鍔熻兘鐮侊紒", null))} ;
@@ -68,19 +75,20 @@
Data upData = new Data() ;
upData.setRtuAddr(rtuAddr) ;
upData.setProtocol(ProtocolConstantV206V202404.protocolName);
+ upData.setProtocolVer(ProtocolConstantV206V202404.protocolVer);
upData.setCode(upCode) ;
upData.setHex(upHex) ;
- DataV202404 dV1_0_1 = new DataV202404() ;
- //dV1_0_1.version = cp.parseVersion(upBuffer) ;
- dV1_0_1.rtuAddr = rtuAddr ;
- dV1_0_1.dt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
+ DataV202404 dV201 = new DataV202404() ;
+ //dV201.version = cp.parseVersion(upBuffer) ;
+ dV201.rtuAddr = rtuAddr ;
+ dV201.dt = DateTime.yyyy_MM_dd_HH_mm_ss() ;
- upData.setSubData(dV1_0_1) ;
+ upData.setSubData(dV201) ;
- this.upCpParams.clear();
- this.upCpParams.setValue(ProtocolConstantV206V202404.protocolName,
+ this.upCpParams.setValue(ProtocolConstantV206V202404.protocolName,
+ ProtocolConstantV206V202404.protocolVer,
rtuAddr,
upCode,
upHex,
@@ -94,7 +102,11 @@
@Override
public void callback(Boolean flag) {
reportOrResponse_trueOrFalse = flag ;
- rtuAddrInData = dV1_0_1.getRtuAddr() ;
+ //rtuAddrInData = dV201.getRtuAddr() ;
+ }
+ @Override
+ public void notify(NotifyInfo ...infos) {
+ notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos);
}
});
}
@@ -103,7 +115,7 @@
isFail = true ;
return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ;
} finally{
- callback.callback(rtuAddr, upCode, upHex, reportOrResponse_trueOrFalse, isFail, rtuAddrInData);
+ callback.callback(rtuAddr, upCode, CodeV202404.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr);
}
}
@@ -115,6 +127,7 @@
*/
@Override
public MidResult[] createCommand(Boolean isLowPower, Command command, Object... params) {
+ this.clear();
String RtuResultSendWebUrl = command.getRtuResultSendWebUrl() ;
if(RtuResultSendWebUrl == null || RtuResultSendWebUrl.trim().equals("")){
return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, null, "涓ラ噸閿欒锛屽懡浠や腑rtu杩斿洖鍛戒护缁撴灉鍙戝悜鐩殑鍦皐eb URL涓虹┖锛屼笉鑳芥瀯寤轰换浣曞懡浠わ紒", null))} ;
@@ -126,10 +139,10 @@
try {
String commandCode = command.getCode() ;
- this.downCpParams.clear();
this.downCpParams.setValue(
RtuResultSendWebUrl,
- ProtocolConstantV206V202404.protocolName,
+ ProtocolConstantV206V202404.protocolName,
+ command.protocolVersion==null?ProtocolConstantV206V202404.protocolVer:command.protocolVersion,
rtuAddr,
command.getId(),
commandCode,
--
Gitblit v1.8.0