From 73f0de0744128ccf1506b1963dc3f1dea4477432 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Tue, 20 Aug 2024 17:16:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CsLedgerServiceImpl.java | 52 ++++++++++++++----- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java index 167f25a..b3d9aa5 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLedgerServiceImpl.java @@ -131,27 +131,55 @@ public class CsLedgerServiceImpl extends ServiceImpl i //return engineeringList; } +// //剔除未接入的设备(根据status判断不太稳,所有这里直接判断该设备有没有对应的模板指标) +// private void checkDevSetData(List ledgerVOS){ +// Iterator iterator = ledgerVOS.iterator(); +// while (iterator.hasNext()){ +// CsLedgerVO csLedgerVO = iterator.next(); +// //只针对设备 +// if(csLedgerVO.getLevel() == 2){ +// List modelId = csDevModelRelationService.findModelByDevId(csLedgerVO.getId()); +// if (CollUtil.isEmpty(modelId)){ +// iterator.remove(); +// }else{ +// for (CsDevModelRelationPO item : modelId) { +// if (CollUtil.isEmpty(csDataSetService.findDataSetByModelId(item.getModelId()))){ +// iterator.remove(); +// } +// } +// } +// } +// } +// } //剔除未接入的设备(根据status判断不太稳,所有这里直接判断该设备有没有对应的模板指标) - private void checkDevSetData(List ledgerVOS){ + private void checkDevSetData(List ledgerVOS) { Iterator iterator = ledgerVOS.iterator(); - while (iterator.hasNext()){ + while (iterator.hasNext()) { CsLedgerVO csLedgerVO = iterator.next(); - //只针对设备 - if(csLedgerVO.getLevel() == 2){ - List modelId = csDevModelRelationService.findModelByDevId(csLedgerVO.getId()); - if (CollUtil.isEmpty(modelId)){ + // 只针对设备 + if (csLedgerVO.getLevel() == 2) { + List modelIds = csDevModelRelationService.findModelByDevId(csLedgerVO.getId()); + // 检查模型是否存在,如果不存在,移除设备 + if (CollUtil.isEmpty(modelIds) || !hasValidDataSets(modelIds)) { iterator.remove(); - }else{ - for (CsDevModelRelationPO item : modelId) { - if (CollUtil.isEmpty(csDataSetService.findDataSetByModelId(item.getModelId()))){ - iterator.remove(); - } - } } } } } + //新增的方法用于检查数据集的有效性 + private boolean hasValidDataSets(List modelIds) { + for (CsDevModelRelationPO item : modelIds) { + if (CollUtil.isEmpty(csDataSetService.findDataSetByModelId(item.getModelId()))) { + //找到无效数据集,返回false + return false; + } + } + //所有数据集均有效,返回true + return true; + } + + @Override public List getDeviceTree() { List engineeringList = new ArrayList<>();