diff --git a/src/main/java/com/xydl/cac/controller/IcdConfigController.java b/src/main/java/com/xydl/cac/controller/IcdConfigController.java index 91b975f..6db638c 100644 --- a/src/main/java/com/xydl/cac/controller/IcdConfigController.java +++ b/src/main/java/com/xydl/cac/controller/IcdConfigController.java @@ -112,4 +112,11 @@ public class IcdConfigController extends BasicController { return Response.success("OK"); } + @PostMapping("generateParamindex") + @ApiOperation("生成rptparamindex表的基础数据") + public Response generateParamindex() throws Exception { + configService.generateParamindex(); + return Response.success("OK"); + } + } diff --git a/src/main/java/com/xydl/cac/controller/ParamBindController.java b/src/main/java/com/xydl/cac/controller/ParamBindController.java index 407a7a9..cf34a5f 100644 --- a/src/main/java/com/xydl/cac/controller/ParamBindController.java +++ b/src/main/java/com/xydl/cac/controller/ParamBindController.java @@ -74,10 +74,10 @@ public class ParamBindController extends BasicController { return Response.success(result); } - @PostMapping("generateParamindex") - @ApiOperation("生成rptparamindex表的相关绑定数据") - public Response generateParamindex() throws Exception { - String msg = bindService.generateParamindex(); + @PostMapping("updateParamindex") + @ApiOperation("更新rptparamindex表的相关绑定数据") + public Response updateParamindex() throws Exception { + String msg = bindService.updateParamindex(); return Response.success(msg); } diff --git a/src/main/java/com/xydl/cac/repository/RptparamindexRepository.java b/src/main/java/com/xydl/cac/repository/RptparamindexRepository.java index 1607621..45ae4fd 100644 --- a/src/main/java/com/xydl/cac/repository/RptparamindexRepository.java +++ b/src/main/java/com/xydl/cac/repository/RptparamindexRepository.java @@ -15,6 +15,8 @@ public interface RptparamindexRepository extends JpaRepository findAllByParamindexStartingWith(String param); + List findAllByParamindexEquals(String param); + List findAllByParamindexEqualsAndEqmidIsNotNullAndTablenameIsNotNullAndColnameIsNotNull(String paramindex); } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/IcdFileConfigService.java b/src/main/java/com/xydl/cac/service/IcdFileConfigService.java index b8094d8..218f127 100644 --- a/src/main/java/com/xydl/cac/service/IcdFileConfigService.java +++ b/src/main/java/com/xydl/cac/service/IcdFileConfigService.java @@ -24,4 +24,6 @@ public interface IcdFileConfigService { void clearAll(); List compare61850(); + + void generateParamindex() throws Exception; } diff --git a/src/main/java/com/xydl/cac/service/ParamBindService.java b/src/main/java/com/xydl/cac/service/ParamBindService.java index 3e3b22e..d6504c8 100644 --- a/src/main/java/com/xydl/cac/service/ParamBindService.java +++ b/src/main/java/com/xydl/cac/service/ParamBindService.java @@ -24,7 +24,7 @@ public interface ParamBindService { BindDetail getBind(Integer sensorId) throws Exception; - String generateParamindex() throws Exception; + String updateParamindex() throws Exception; void clearAll(); } 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 23348c2..6a531eb 100644 --- a/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/IcdFileConfigServiceImpl.java @@ -212,4 +212,30 @@ public class IcdFileConfigServiceImpl implements IcdFileConfigService { return result; } + @Override + public void generateParamindex() throws Exception { + List typeLIst = configRepository.findAll(); + for (IcdConfigType type : typeLIst) { + List instList = instRepository.findByIcdConfigTypeId(type.getId()); + List attList = attRepository.findByIcdConfigTypeId(type.getId()); + for (IcdConfigTypeInst inst : instList) { + String param = type.getIedName() + type.getLdeviceInst() + "/" + type.getLnClass() + + inst.getInst(); + for (IcdConfigTypeAtt att : attList) { + if (att.containInst(inst.getInst())) { + String paramindex = param + "$" + att.getParam(); + List rptList = rptparamindexRepository.findAllByParamindexEquals(paramindex); + if (CollectionUtils.isEmpty(rptList)) { + Rptparamindex rpt = Rptparamindex.builder() + .paramindex(paramindex) + .objid(0) + .build(); + rptparamindexRepository.save(rpt); + } + } + } + } + } + } + } 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 db7b2cd..a68673d 100644 --- a/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java @@ -282,7 +282,7 @@ public class ParamBindServiceImpl implements ParamBindService { } @Override - public String generateParamindex() throws Exception { + public String updateParamindex() throws Exception { List sensorList = sensorRepository.findByIcdIdIsNotNull(); if (!CollectionUtils.isEmpty(sensorList)) { for (NSensor item : sensorList) {