diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index b4484f63e..9c0d9faaa 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -635,7 +635,7 @@ public class HikvisionCall { ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(dev.getProjectSn()); AiAnalyseHardWareAlarmRecord record = new AiAnalyseHardWareAlarmRecord(); record.setCreateTime(createTime); - record.setAlarmType(Integer.valueOf(eventType)); + record.setAlarmType(stringToInt(eventType)); record.setHardwareId(deviceId); record.setHardwareName(dev.getHardwareName()); record.setLocation(srcName); @@ -653,6 +653,32 @@ public class HikvisionCall { asyncAiAnalyse.sendAiAnalyse(record, Cts.PROJECT_LEVEL_AND_CHILDREN); } + /** + * 海康ai预警的事件码转int,可能大于int范围,需要截取后面9位 + * + * @param eventType + * @return + */ + private static int stringToInt(String eventType) { + if (eventType == null || eventType.trim().isEmpty()) { + return 0; + } + + String trimmedStr = eventType.trim(); + + try { + return Integer.parseInt(trimmedStr); + } catch (NumberFormatException e) { + // 截取后9位 + String last9Digits = trimmedStr.substring(Math.max(0, trimmedStr.length() - 9)); + try { + return Integer.parseInt(last9Digits); + } catch (NumberFormatException ex) { + return 0; + } + } + } + /*** * 异步添加车辆通行数据 * @param dataJo