diff --git a/src/main/java/com/xydl/cac/util/IcdXmlUtil.java b/src/main/java/com/xydl/cac/util/IcdXmlUtil.java index c59961a..5da9067 100644 --- a/src/main/java/com/xydl/cac/util/IcdXmlUtil.java +++ b/src/main/java/com/xydl/cac/util/IcdXmlUtil.java @@ -98,6 +98,13 @@ public class IcdXmlUtil { String lnInst = fcdaNode.get("lnInst").asText(); String doName = fcdaNode.get("doName").asText(); String fc = fcdaNode.get("fc").asText(); + JsonNode preNode = fcdaNode.get("prefix"); + if (preNode != null) { + String prefix = preNode.asText(); + if (StringUtils.isNotBlank(prefix)) { + lnClass = prefix + lnClass; + } + } JsonNode lnNode = mapLN.get(lnClass + lnInst); String lnType = lnNode.get("lnType").asText(); @@ -154,6 +161,13 @@ public class IcdXmlUtil { for (JsonNode node : list) { String lnClass = node.get("lnClass").asText(); String inst = node.get("inst").asText(); + JsonNode preNode = node.get("prefix"); + if (preNode != null) { + String prefix = preNode.asText(); + if (StringUtils.isNotBlank(prefix)) { + lnClass = prefix + lnClass; + } + } map.put(lnClass + inst, node); } return map;