修复实时数据报文中 故障原因字段转换不正确

This commit is contained in:
Lemon
2023-09-19 16:38:34 +08:00
parent db6ccd2afd
commit 9de57391ae

View File

@@ -237,7 +237,7 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
int faultCode = 0;
for (int i = 0; i < binStr.length(); i++) {
if (binStr.charAt(i) == '1') {
faultCode = 15 - i;
faultCode = 16 - i;
break;
}
}
@@ -341,4 +341,23 @@ public class UploadRealTimeMonitorHandler extends AbstractHandler {
return null;
}
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("0100");
String lowOrder = sb.substring(0, 2);
String highOrder = sb.substring(2, 4);
// String hardwareFault = highOrder + lowOrder;
byte[] hardwareFaultByteArr = BytesUtil.str2Bcd(highOrder + lowOrder);
String binStr = BytesUtil.bytes2BinStr(hardwareFaultByteArr);
// log.info("binStr:{}", binStr); // 0000 0000 0000 0001
int faultCode = 0;
for (int i = 0; i < binStr.length(); i++) {
if (binStr.charAt(i) == '1') {
faultCode = 16 - i;
break;
}
}
String faultReason = YKCPileFaultReasonEnum.getValueByCode(faultCode);
System.out.println(faultReason);
}
}