Просмотр исходного кода

2023-12-15 信息牌刷卡问题。

chaiyunlong лет назад: 2
Родитель
Сommit
38a18eb9cc
1 измененных файлов с 15 добавлено и 1 удалено
  1. 15 1
      zd-modules/zd-base/src/main/java/com/zd/base/app/controller/LabBoardApi.java

+ 15 - 1
zd-modules/zd-base/src/main/java/com/zd/base/app/controller/LabBoardApi.java

@@ -467,7 +467,8 @@ public class LabBoardApi {
         if(StringUtils.isNull(cardNum) || StringUtils.isEmpty(cardNum)){
         if(StringUtils.isNull(cardNum) || StringUtils.isEmpty(cardNum)){
             return ResultData.fail("未识别到身份信息,请联系管理人员录入卡号信息");
             return ResultData.fail("未识别到身份信息,请联系管理人员录入卡号信息");
         }
         }
-        cardNum= HexStrUtils.decode(cardNum);
+        logger.info("转换前cardNum:"+hexToAscii(cardNum));
+        cardNum= HexStrUtils.decode(hexToAscii(cardNum));
         logger.info("转换后cardNum:"+cardNum);
         logger.info("转换后cardNum:"+cardNum);
         ResultData resultData=remoteDutyService.securityNumList(labId,cardNum);
         ResultData resultData=remoteDutyService.securityNumList(labId,cardNum);
         if(resultData==null || resultData.getCode()!=HttpStatus.SUCCESS){
         if(resultData==null || resultData.getCode()!=HttpStatus.SUCCESS){
@@ -481,6 +482,19 @@ public class LabBoardApi {
     }
     }
 
 
 
 
+    public static String hexToAscii(String hexString) {
+        StringBuilder asciiStringBuilder = new StringBuilder();
+        for (int i = 0; i < hexString.length(); i += 2) { String hex = hexString.substring(i, i + 2);
+            int decimal = Integer.parseInt(hex, 16);
+            char asciiChar = (char) decimal;
+            asciiStringBuilder.append(asciiChar);
+        }
+
+        return asciiStringBuilder.toString().replace("\r", "").replace("\n", "");
+    }
+
+
+
     /**
     /**
      * 电子信息牌指纹录入
      * 电子信息牌指纹录入
      * @param xxpUserAuthVo
      * @param xxpUserAuthVo