diff --git a/src/main/java/com/xydl/cac/controller/ParamBindController.java b/src/main/java/com/xydl/cac/controller/ParamBindController.java index 1c1501c..a0161cb 100644 --- a/src/main/java/com/xydl/cac/controller/ParamBindController.java +++ b/src/main/java/com/xydl/cac/controller/ParamBindController.java @@ -1,14 +1,18 @@ package com.xydl.cac.controller; import com.xydl.cac.entity.Bdz; +import com.xydl.cac.entity.IcdConfigTypeInst; import com.xydl.cac.model.Response; import com.xydl.cac.service.ParamBindService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.repository.query.Param; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; import java.util.List; @RestController @@ -27,4 +31,11 @@ public class ParamBindController extends BasicController { return Response.success(result); } + @GetMapping("instList") + @ApiOperation("查询逻辑设备实例列表") + public Response> instList(@Validated @NotNull(message = "iedName不能为空!") @Param("iedName") String iedName) throws Exception { + List result = bindService.instList(iedName); + return Response.success(result); + } + } diff --git a/src/main/java/com/xydl/cac/entity/IcdConfigTypeInst.java b/src/main/java/com/xydl/cac/entity/IcdConfigTypeInst.java index ef036e2..2b983f1 100644 --- a/src/main/java/com/xydl/cac/entity/IcdConfigTypeInst.java +++ b/src/main/java/com/xydl/cac/entity/IcdConfigTypeInst.java @@ -28,4 +28,7 @@ public class IcdConfigTypeInst { @Column(name = "inst") private String inst; + @Transient + private String paramIndex; + } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/ParamBindService.java b/src/main/java/com/xydl/cac/service/ParamBindService.java index 875d258..fea8f02 100644 --- a/src/main/java/com/xydl/cac/service/ParamBindService.java +++ b/src/main/java/com/xydl/cac/service/ParamBindService.java @@ -1,10 +1,13 @@ package com.xydl.cac.service; import com.xydl.cac.entity.Bdz; +import com.xydl.cac.entity.IcdConfigTypeInst; import java.util.List; public interface ParamBindService { List getTree() throws Exception; + + List instList(String iedName); } diff --git a/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java index 362a123..c91a944 100644 --- a/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java @@ -80,6 +80,11 @@ public class IcdFileConfigServiceImpl implements IcdFileConfigService { item.setAttList(atts); List insts = instRepository.findByIcdConfigTypeId(item.getId()); item.setInstList(insts); + for (IcdConfigTypeInst inst : insts) { + String param = item.getIedName() + item.getLdeviceInst() + "/" + item.getLnClass() + + inst.getInst(); + inst.setParamIndex(param); + } } return result; } diff --git a/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java index 25824fb..ee32568 100644 --- a/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java @@ -1,13 +1,7 @@ package com.xydl.cac.service.impl; -import com.xydl.cac.entity.Bdz; -import com.xydl.cac.entity.Jg; -import com.xydl.cac.entity.Modev; -import com.xydl.cac.entity.Zsb; -import com.xydl.cac.repository.BdzRepository; -import com.xydl.cac.repository.JgRepository; -import com.xydl.cac.repository.ModevRepository; -import com.xydl.cac.repository.ZsbRepository; +import com.xydl.cac.entity.*; +import com.xydl.cac.repository.*; import com.xydl.cac.service.ParamBindService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -15,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; @Service @@ -30,6 +25,10 @@ public class ParamBindServiceImpl implements ParamBindService { ZsbRepository zsbRepository; @Resource ModevRepository modevRepository; + @Resource + IcdConfigTypeRepository typeRepository; + @Resource + IcdConfigTypeInstRepository typeInstRepository; @Override public List getTree() throws Exception { @@ -51,4 +50,20 @@ public class ParamBindServiceImpl implements ParamBindService { } return bdzList; } + + @Override + public List instList(String iedName) { + List result = new ArrayList<>(); + List typeList = typeRepository.findByIedName(iedName); + for (IcdConfigType type : typeList) { + List instList = typeInstRepository.findByIcdConfigTypeId(type.getId()); + for (IcdConfigTypeInst inst : instList) { + String param = type.getIedName() + type.getLdeviceInst() + "/" + type.getLnClass() + + inst.getInst(); + inst.setParamIndex(param); + } + result.addAll(instList); + } + return result; + } }