diff --git a/user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java b/user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java index 0c9de64..b7cdf5c 100644 --- a/user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java +++ b/user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java @@ -108,7 +108,7 @@ public class WtMeterStrategy implements DeviceStrategy { String checkStr = dataStr.substring(0, dataStr.length() - 4);//检验报文 byte[] strOrder = ExchangeStringUtil.hexStrToBinaryStr(checkStr); int checkNum = CRC16.CRC16_MODBUS(strOrder); - String checkWord = ExchangeStringUtil.decToHex(String.valueOf(checkNum)); + String checkWord = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(checkNum)), 4); checkWord = checkWord.substring(2, 4) + checkWord.substring(0, 2); String sValue = null; if (checkWord.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4))) { @@ -123,7 +123,7 @@ public class WtMeterStrategy implements DeviceStrategy { String checkStr = dataStr.substring(0, dataStr.length() - 4);//检验报文 byte[] strOrder = ExchangeStringUtil.hexStrToBinaryStr(checkStr); int checkNum = CRC16.CRC16_MODBUS(strOrder); - String checkWord = ExchangeStringUtil.decToHex(String.valueOf(checkNum)); + String checkWord = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(checkNum)), 4); checkWord = checkWord.substring(2, 4) + checkWord.substring(0, 2); String sValue = null; if (checkWord.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4))) {