物资配置管理--优化三四级节点内循环逻辑

This commit is contained in:
syruan 2024-10-16 16:12:03 +08:00
parent e33c93d51e
commit d8f69259ec
2 changed files with 22 additions and 17 deletions

View File

@ -96,24 +96,27 @@ public class MaTypeConfigController extends BaseController {
} }
// ------------------- 数据过滤开始 --------------------- // ------------------- 数据过滤开始 ---------------------
if (maTypeConfigDto != null) { if (maTypeConfigDto == null || maTypeConfigDto.getUserId() == null || maTypeConfigDto.getUserId() == 0L) {
// 1.根据库管员或维修员用户id过滤数据 // 如果参数无效则返回原始列表
if (maTypeConfigDto.getUserId() != null && maTypeConfigDto.getUserId() != 0L) { return success(list);
List<MaTypeConfigVo> filterCollected = list.stream(). }
filter(maTypeConfigVo -> maTypeConfigVo.getKeeperUserId().equals(maTypeConfigDto.getUserId())
|| List<MaTypeConfigVo> filteredList = new ArrayList<>();
maTypeConfigVo.getRepairUserId().equals(maTypeConfigDto.getUserId()
)) for (MaTypeConfigVo maTypeConfigVo : list) {
.collect(Collectors.toList()); if (maTypeConfigVo.getKeeperUserId().equals(maTypeConfigDto.getUserId()) ||
return success(filterCollected); maTypeConfigVo.getRepairUserId().equals(maTypeConfigDto.getUserId())
) {
filteredList.add(maTypeConfigVo);
} }
} }
return success(filteredList);
// ------------------- 数据过滤结束 --------------------- // ------------------- 数据过滤结束 ---------------------
// -------------------- 数据处理结束 --------------------- // -------------------- 数据处理结束 ---------------------
return success(list);
} }

View File

@ -164,17 +164,19 @@ public class TypeServiceImpl implements ITypeService {
*/ */
@Override @Override
public List<MaTypeConfigVo> selectThreeFourLevelTypeListAndParent(Type type) { public List<MaTypeConfigVo> selectThreeFourLevelTypeListAndParent(Type type) {
// 查询四级节点列表
List<MaTypeConfigVo> fourLevelTypeList = typeMapper.selectFourLevelTypeListAndParent(type); List<MaTypeConfigVo> fourLevelTypeList = typeMapper.selectFourLevelTypeListAndParent(type);
if (fourLevelTypeList != null && !fourLevelTypeList.isEmpty()) { if (fourLevelTypeList != null && !fourLevelTypeList.isEmpty()) {
// 查询三级节点列表
List<MaTypeConfigVo> threeLevelTypeList = typeMapper.selectThreeLevelTypeListAndParent(type); List<MaTypeConfigVo> threeLevelTypeList = typeMapper.selectThreeLevelTypeListAndParent(type);
if (threeLevelTypeList != null && !threeLevelTypeList.isEmpty()) { if (threeLevelTypeList != null && !threeLevelTypeList.isEmpty()) {
// 循环把三级节点放入fourLevelTypeList集合中 // 循环把三级节点放入fourLevelTypeList集合中
for (MaTypeConfigVo threeLevelType : threeLevelTypeList) { for (MaTypeConfigVo fourLevelType : fourLevelTypeList) {
// 循环把三级节点放入fourLevelTypeList集合中 // 内循环四级节点
for (MaTypeConfigVo fourLevelType : fourLevelTypeList) { for (MaTypeConfigVo threeLevelType : threeLevelTypeList) {
// 如果三级节点的父级id和四级节点的id相同则把三级节点放入四级节点的children集合中 // 如果四级节点的父级id和三级节点的id相同则把四级节点放入三级节点的children集合中
if (threeLevelType.getParentId().equals(fourLevelType.getTypeId())) { if (fourLevelType.getParentId().equals(threeLevelType.getTypeId())) {
fourLevelType.getChildren().add(threeLevelType); threeLevelType.getChildren().add(fourLevelType);
} }
} }
} }