代码优化

This commit is contained in:
xy
2024-08-20 17:16:13 +08:00
parent 2f1252fbce
commit 73f0de0744

View File

@@ -131,27 +131,55 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
//return engineeringList;
}
// //剔除未接入的设备(根据status判断不太稳,所有这里直接判断该设备有没有对应的模板指标)
// private void checkDevSetData(List<CsLedgerVO> ledgerVOS){
// Iterator<CsLedgerVO> iterator = ledgerVOS.iterator();
// while (iterator.hasNext()){
// CsLedgerVO csLedgerVO = iterator.next();
// //只针对设备
// if(csLedgerVO.getLevel() == 2){
// List<CsDevModelRelationPO> 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<CsLedgerVO> ledgerVOS){
private void checkDevSetData(List<CsLedgerVO> ledgerVOS) {
Iterator<CsLedgerVO> iterator = ledgerVOS.iterator();
while (iterator.hasNext()){
while (iterator.hasNext()) {
CsLedgerVO csLedgerVO = iterator.next();
//只针对设备
if(csLedgerVO.getLevel() == 2){
List<CsDevModelRelationPO> modelId = csDevModelRelationService.findModelByDevId(csLedgerVO.getId());
if (CollUtil.isEmpty(modelId)){
// 只针对设备
if (csLedgerVO.getLevel() == 2) {
List<CsDevModelRelationPO> 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<CsDevModelRelationPO> modelIds) {
for (CsDevModelRelationPO item : modelIds) {
if (CollUtil.isEmpty(csDataSetService.findDataSetByModelId(item.getModelId()))) {
//找到无效数据集返回false
return false;
}
}
//所有数据集均有效返回true
return true;
}
@Override
public List<CsLedgerVO> getDeviceTree() {
List<CsLedgerVO> engineeringList = new ArrayList<>();