feat: 转换paramindex

dev
huangfeng 8 months ago
parent 5552caf9f3
commit a61ca14eb6

@ -1,8 +1,11 @@
package com.xydl.cac.iec; package com.xydl.cac.iec;
import com.beanit.iec61850bean.*; import com.beanit.iec61850bean.*;
import com.xydl.cac.entity.IcdTransform;
import com.xydl.cac.service.IcdTransformService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.springframework.util.CollectionUtils;
import java.io.InputStream; import java.io.InputStream;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
@ -16,6 +19,11 @@ public class IecServer implements ServerEventListener {
public boolean started = false; public boolean started = false;
public String filename = null; public String filename = null;
public Integer fileId = null; public Integer fileId = null;
IcdTransformService _transformService;
public IecServer(IcdTransformService transformService) {
_transformService = transformService;
}
public void start(String xml, int port) throws Exception { public void start(String xml, int port) throws Exception {
if (!started) { if (!started) {
@ -39,7 +47,17 @@ public class IecServer implements ServerEventListener {
} }
public void updateBda(BasicDataAttribute bda) { public void updateBda(BasicDataAttribute bda) {
BasicDataAttribute node = (BasicDataAttribute) serversServerModel.findModelNode(bda.getReference(), bda.getFc()); String ref = bda.getReference().toString();
List<IcdTransform> list = _transformService.listTransform();
if (!CollectionUtils.isEmpty(list)) {
for (IcdTransform item : list) {
if (ref.startsWith(item.getRptFrom())) {
ref = ref.replace(item.getRptFrom(), item.getRptTo());
break;
}
}
}
BasicDataAttribute node = (BasicDataAttribute) serversServerModel.findModelNode(ref, bda.getFc());
if (node != null) { if (node != null) {
node.setValueFrom(bda); node.setValueFrom(bda);
List<BasicDataAttribute> bdas = new ArrayList<>(); List<BasicDataAttribute> bdas = new ArrayList<>();

@ -4,6 +4,7 @@ import com.xydl.cac.entity.*;
import com.xydl.cac.entity.constants.Constants; import com.xydl.cac.entity.constants.Constants;
import com.xydl.cac.exception.BusinessException; import com.xydl.cac.exception.BusinessException;
import com.xydl.cac.repository.IcdFileRepository; import com.xydl.cac.repository.IcdFileRepository;
import com.xydl.cac.service.IcdTransformService;
import com.xydl.cac.util.IcdXmlUtil; import com.xydl.cac.util.IcdXmlUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,8 +21,10 @@ public class IecServerService {
@Resource @Resource
IcdFileRepository fileRepository; IcdFileRepository fileRepository;
@Resource
IcdTransformService transformService;
IecServer iecServer = new IecServer(); IecServer iecServer = new IecServer(transformService);
@PostConstruct @PostConstruct
private void init() { private void init() {

Loading…
Cancel
Save