|
@@ -91,7 +91,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<EquipGroupInfoVO> equipGroupQuery(List<String> ids) {
|
|
|
+ public List<EquipGroupInfoVO> equipGroupQuery(String category,List<String> ids) {
|
|
|
List<EquipGroupInfoVO> equipGroupInfoVOList = Lists.newArrayList();
|
|
|
List<EquipItem> equipItemList = findEquipsByIds(ids);
|
|
|
for (EquipItem equipItem : equipItemList) {
|
|
@@ -111,7 +111,9 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
}
|
|
|
}
|
|
|
//获取分组树
|
|
|
- List<GroupTreeVO> groupTreeVOList = getGroupTree();
|
|
|
+ QueryObjGroupDTO queryObjGroupDTO = new QueryObjGroupDTO();
|
|
|
+ queryObjGroupDTO.setCategory(category);
|
|
|
+ List<GroupTreeVO> groupTreeVOList = getGroupTree(queryObjGroupDTO);
|
|
|
EquipGroupInfoVO equipGroupInfoVO = new EquipGroupInfoVO();
|
|
|
equipGroupInfoVO.setEquipId(equipItem.getId());
|
|
|
equipGroupInfoVO.setClassCode(equipItem.getClassCode());
|
|
@@ -123,28 +125,54 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
return equipGroupInfoVOList;
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public Map<String, SimpleObjVO> queryObjGroup(List<String> objIds) {
|
|
|
+// if (CollectionUtils.isEmpty(objIds)) {
|
|
|
+// return new HashMap<>();
|
|
|
+// }
|
|
|
+// Map<String, SimpleObjVO> resultMap = new HashMap<>(objIds.size());
|
|
|
+// // 每次查询100条
|
|
|
+// List<List<String>> partitions = Lists.partition(objIds, 100);
|
|
|
+// for (List<String> partition : partitions) {
|
|
|
+// List<EquipGroupInfoVO> groupTreeInfoList = equipGroupQuery(partition);
|
|
|
+// if (CollectionUtils.isEmpty(groupTreeInfoList)) {
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// Map<String, SimpleObjVO> partitionMap = groupTreeInfoList.stream().collect(Collectors.toMap(
|
|
|
+// EquipGroupInfoVO::getEquipId,
|
|
|
+// equipGroupInfoVO -> new SimpleObjVO(equipGroupInfoVO.getId(), equipGroupInfoVO.getName()),
|
|
|
+// (k1, k2) -> k1
|
|
|
+// ));
|
|
|
+// resultMap.putAll(partitionMap);
|
|
|
+// }
|
|
|
+// return resultMap;
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
- public Map<String, SimpleObjVO> queryObjGroup(List<String> objIds) {
|
|
|
- if (CollectionUtils.isEmpty(objIds)) {
|
|
|
+ public Map<String, Map<String, SimpleObjVO>> queryObjGroupMap(Map<String, Set<String>> categoryObjIdsMap) {
|
|
|
+ if (CollectionUtils.isEmpty(categoryObjIdsMap)) {
|
|
|
return new HashMap<>();
|
|
|
}
|
|
|
- Map<String, SimpleObjVO> resultMap = new HashMap<>(objIds.size());
|
|
|
+ Map<String, Map<String, SimpleObjVO>> resultMap = new HashMap<>();
|
|
|
|
|
|
- // 每次查询100条
|
|
|
- List<List<String>> partitions = Lists.partition(objIds, 100);
|
|
|
- for (List<String> partition : partitions) {
|
|
|
- List<EquipGroupInfoVO> groupTreeInfoList = equipGroupQuery(partition);
|
|
|
- if (CollectionUtils.isEmpty(groupTreeInfoList)) {
|
|
|
- continue;
|
|
|
+ for (String category:categoryObjIdsMap.keySet()) {
|
|
|
+ Set<String> objIds = categoryObjIdsMap.get(category);
|
|
|
+ List<String> objIdList = org.assertj.core.util.Lists.newArrayList(objIds);
|
|
|
+ // 每次查询100条
|
|
|
+ List<List<String>> partitions = Lists.partition(objIdList, 100);
|
|
|
+ for (List<String> partition : partitions) {
|
|
|
+ List<EquipGroupInfoVO> groupTreeInfoList = equipGroupQuery(category,partition);
|
|
|
+ if (CollectionUtils.isEmpty(groupTreeInfoList)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Map<String, SimpleObjVO> partitionMap = groupTreeInfoList.stream().collect(Collectors.toMap(
|
|
|
+ EquipGroupInfoVO::getEquipId,
|
|
|
+ equipGroupInfoVO -> new SimpleObjVO(equipGroupInfoVO.getId(), equipGroupInfoVO.getName()),
|
|
|
+ (k1, k2) -> k1
|
|
|
+ ));
|
|
|
+ resultMap.put(category,partitionMap);
|
|
|
}
|
|
|
- Map<String, SimpleObjVO> partitionMap = groupTreeInfoList.stream().collect(Collectors.toMap(
|
|
|
- EquipGroupInfoVO::getEquipId,
|
|
|
- equipGroupInfoVO -> new SimpleObjVO(equipGroupInfoVO.getId(), equipGroupInfoVO.getName()),
|
|
|
- (k1, k2) -> k1
|
|
|
- ));
|
|
|
- resultMap.putAll(partitionMap);
|
|
|
}
|
|
|
-
|
|
|
return resultMap;
|
|
|
}
|
|
|
|
|
@@ -192,9 +220,12 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
* @version V1.0 2021/10/19 2:40 下午
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<GroupTreeVO> getGroupTree() {
|
|
|
+ public List<GroupTreeVO> getGroupTree(QueryObjGroupDTO objGroupDTO) {
|
|
|
// 从表中查询所有分组
|
|
|
QueryObjGroupDTO queryObjGroupDTO = new QueryObjGroupDTO();
|
|
|
+ if (StringUtils.isNotBlank(objGroupDTO.getCategory())){
|
|
|
+ queryObjGroupDTO.setCategory(objGroupDTO.getCategory());
|
|
|
+ }
|
|
|
List<ObjGroup> objGroups = objGroupService.queryObjGroupList(queryObjGroupDTO);
|
|
|
|
|
|
if (CollectionUtils.isEmpty(objGroups)) {
|
|
@@ -281,7 +312,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
|
|
|
@Override
|
|
|
public GroupInfoVO getGroup(String id) {
|
|
|
- return queryById(getGroupTree(), new GroupInfoVO(), id);
|
|
|
+ return queryById(getGroupTree(new QueryObjGroupDTO()), new GroupInfoVO(), id);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -315,7 +346,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
|
|
|
@Override
|
|
|
public List<GroupInfoVO> queryAllLeafGroups() {
|
|
|
// 遍历分组树,获取最末级节点
|
|
|
- List<GroupTreeVO> groupTree = getGroupTree();
|
|
|
+ List<GroupTreeVO> groupTree = getGroupTree(new QueryObjGroupDTO());
|
|
|
|
|
|
List<GroupInfoVO> result = new ArrayList<>();
|
|
|
cascadeGetLeafGroup(groupTree, result);
|