From f6bcf1ba29b88c32b23def2bd6f3cee08905ce07 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期二, 08 七月 2025 21:17:46 +0800 Subject: [PATCH] 修改设备查询 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java | 74 +++++++++++++++++++++++++++++++++++- 1 files changed, 71 insertions(+), 3 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java index 7146a61..0d3a6d7 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java @@ -14,6 +14,7 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; +import org.jeecg.modules.eam.tree.FindsEquipmentEamCenterUtil; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.service.IBaseFactoryService; @@ -122,6 +123,32 @@ return treeList; } + /** + * 鑾峰彇EAM涓績涓嬬殑璁惧淇℃伅 + * @param ids EAM涓績ids + * @return + */ + @Override + public List<EamEquipmentTree> loadTreeListByEamCenterIds(String ids){ + List<String> baseFactoryIds = Arrays.asList(ids.split(",")); + //鑾峰彇鎵�鏈塃AM鏁版嵁 + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>().eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(BaseFactory::getSorter)); + List<String> allBaseFactoryIds = new ArrayList<>(); + //鎵惧埌鎵�鏈変骇绾縤d鐨勪笂绾d + if (!baseFactoryIds.isEmpty()) { + for (String baseFactoryId : baseFactoryIds) { + this.getAllBaseFactoryIds(baseFactoryList, baseFactoryId, allBaseFactoryIds); + } + } + //杩囨护EAM鏁版嵁 + List<BaseFactory> list = baseFactoryList.stream().filter((BaseFactory baseFactory) -> allBaseFactoryIds.contains(baseFactory.getId())).collect(Collectors.toList()); + //缁勮EAM璁惧鏍� + List<EamEquipmentTree> treeList = FindsEquipmentEamCenterUtil.wrapEquipmentBaseFactoryTreeList(list); + //濉厖璁惧鏁版嵁 + fillEquipmentByBaseFactory(treeList); + return treeList; + } + @Override public IPage<EamEquipment> queryPageList(IPage<EamEquipment> page, EamEquipmentQuery eamEquipment) { QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); @@ -142,7 +169,7 @@ if(!CollectionUtils.isEmpty(baseFactoryUserList)){ List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList()); List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList()); - queryWrapper.in("e.factory_code", factoryCode); + queryWrapper.in("e.factory_org_code", factoryCode); } } //鏌ヨ鏉′欢杩囨护 @@ -230,7 +257,7 @@ if(!CollectionUtils.isEmpty(baseFactoryUserList)){ List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList()); List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList()); - queryWrapper.in("e.factory_code", factoryCode); + queryWrapper.in("e.factory_org_code", factoryCode); } } @@ -309,7 +336,7 @@ if(!CollectionUtils.isEmpty(baseFactoryUserList)){ List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList()); List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList()); - queryWrapper.in("e.factory_code", factoryCode); + queryWrapper.in("e.factory_org_code", factoryCode); } } @@ -389,6 +416,26 @@ } /** + * 鑾峰彇鎵�鏈夌殑浜х嚎id锛堝寘鍚墍鏈変笂绾э級 + */ + private void getAllBaseFactoryIds(List<BaseFactory> baseFactoryList, String baseFactoryId, List<String> allBaseFactoryIds) { + if (!allBaseFactoryIds.contains(baseFactoryId)) { + allBaseFactoryIds.add(baseFactoryId); + } + for (BaseFactory baseFactory : baseFactoryList) { + if (StringUtils.isEmpty(baseFactory.getParentId())) { + continue; + } + if (baseFactoryId.equals(baseFactory.getId())) { + if (!allBaseFactoryIds.contains(baseFactory.getParentId())) { + allBaseFactoryIds.add(baseFactory.getParentId()); + getAllBaseFactoryIds(baseFactoryList, baseFactory.getParentId(), allBaseFactoryIds); + } + } + } + } + + /** * 浜х嚎璁惧鏍戝~鍏呰澶囨暟鎹� */ private void fillEquipmentByProduction(List<EamEquipmentTree> treeList) { @@ -409,4 +456,25 @@ } } + /** + * 浜х嚎璁惧鏍戝~鍏呰澶囨暟鎹� + */ + private void fillEquipmentByBaseFactory(List<EamEquipmentTree> treeList) { + for (EamEquipmentTree mdcEquipmentTree : treeList) { + List<EamEquipment> equipmentList = eamEquipmentMapper.queryByEamCenterId(mdcEquipmentTree.getKey()); + if (CollectionUtil.isNotEmpty(equipmentList)) { + for (EamEquipment mdcEquipment : equipmentList) { + EamEquipmentTree tree = new EamEquipmentTree().convert(mdcEquipment); + tree.setParentId(mdcEquipmentTree.getKey()); + tree.setType(2); + mdcEquipmentTree.getChildren().add(tree); + } + mdcEquipmentTree.setLeaf(false); + } + if (CollectionUtil.isNotEmpty(mdcEquipmentTree.getChildren())) { + fillEquipmentByBaseFactory(mdcEquipmentTree.getChildren()); + } + } + } + } -- Gitblit v1.9.3