|
|
|
@ -98,18 +98,18 @@ public class IcdXmlUtil {
|
|
|
|
|
config.addInst(lnInst);
|
|
|
|
|
config.addAtt(doName, doDesc, param, lnInst);
|
|
|
|
|
} else if ("ST".equals(fc)) {
|
|
|
|
|
// IcdConfigType config = result.get(key);
|
|
|
|
|
// if (config == null) {
|
|
|
|
|
// config = IcdConfigType.builder()
|
|
|
|
|
// .iedName(iedName)
|
|
|
|
|
// .ldeviceInst(ldeviceInst)
|
|
|
|
|
// .lnClass(lnClass)
|
|
|
|
|
// .build();
|
|
|
|
|
// result.put(key, config);
|
|
|
|
|
// }
|
|
|
|
|
// String param = fc + "$" + doName + "$" + lastname;
|
|
|
|
|
// config.addInst(lnInst);
|
|
|
|
|
// config.addAtt(doName, param);
|
|
|
|
|
IcdConfigType config = result.get(key);
|
|
|
|
|
if (config == null) {
|
|
|
|
|
config = IcdConfigType.builder()
|
|
|
|
|
.iedName(iedName)
|
|
|
|
|
.ldeviceInst(ldeviceInst)
|
|
|
|
|
.lnClass(lnClass)
|
|
|
|
|
.build();
|
|
|
|
|
result.put(key, config);
|
|
|
|
|
}
|
|
|
|
|
String param = fc + "$" + doName + "$" + lastname;
|
|
|
|
|
config.addInst(lnInst);
|
|
|
|
|
config.addAtt(doName, doDesc, param, lnInst);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -174,6 +174,7 @@ public class IcdXmlUtil {
|
|
|
|
|
for (JsonNode daNode : daList) {
|
|
|
|
|
String fc = daNode.get("fc").asText();
|
|
|
|
|
String bType = daNode.get("bType").asText();
|
|
|
|
|
JsonNode dchgNode = daNode.get("dchg");
|
|
|
|
|
if (bType.equals("Struct") && fc.equals(fcname)) {
|
|
|
|
|
result = daNode.get("name").asText();
|
|
|
|
|
JsonNode typeNode = daNode.get("type");
|
|
|
|
@ -188,6 +189,19 @@ public class IcdXmlUtil {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
} else if (dchgNode != null && dchgNode.asText().equals("true") && fc.equals(fcname)) {
|
|
|
|
|
result = daNode.get("name").asText();
|
|
|
|
|
JsonNode typeNode = daNode.get("type");
|
|
|
|
|
if (typeNode != null && StringUtils.isNotBlank(typeNode.asText())) {
|
|
|
|
|
JsonNode nodeDAType = mapDAType.get(typeNode.asText());
|
|
|
|
|
if (nodeDAType != null) {
|
|
|
|
|
List<JsonNode> bdaList = findNodes(nodeDAType, "BDA");
|
|
|
|
|
if (!CollectionUtils.isEmpty(bdaList)) {
|
|
|
|
|
String name = bdaList.get(0).get("name").asText();
|
|
|
|
|
result = result + "$" + name;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|