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

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) {
// 1.根据库管员或维修员用户id过滤数据
if (maTypeConfigDto.getUserId() != null && maTypeConfigDto.getUserId() != 0L) {
List<MaTypeConfigVo> filterCollected = list.stream().
filter(maTypeConfigVo -> maTypeConfigVo.getKeeperUserId().equals(maTypeConfigDto.getUserId())
||
maTypeConfigVo.getRepairUserId().equals(maTypeConfigDto.getUserId()
))
.collect(Collectors.toList());
return success(filterCollected);
if (maTypeConfigDto == null || maTypeConfigDto.getUserId() == null || maTypeConfigDto.getUserId() == 0L) {
// 如果参数无效则返回原始列表
return success(list);
}
List<MaTypeConfigVo> filteredList = new ArrayList<>();
for (MaTypeConfigVo maTypeConfigVo : list) {
if (maTypeConfigVo.getKeeperUserId().equals(maTypeConfigDto.getUserId()) ||
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
public List<MaTypeConfigVo> selectThreeFourLevelTypeListAndParent(Type type) {
// 查询四级节点列表
List<MaTypeConfigVo> fourLevelTypeList = typeMapper.selectFourLevelTypeListAndParent(type);
if (fourLevelTypeList != null && !fourLevelTypeList.isEmpty()) {
// 查询三级节点列表
List<MaTypeConfigVo> threeLevelTypeList = typeMapper.selectThreeLevelTypeListAndParent(type);
if (threeLevelTypeList != null && !threeLevelTypeList.isEmpty()) {
// 循环把三级节点放入fourLevelTypeList集合中
for (MaTypeConfigVo threeLevelType : threeLevelTypeList) {
// 循环把三级节点放入fourLevelTypeList集合中
for (MaTypeConfigVo fourLevelType : fourLevelTypeList) {
// 如果三级节点的父级id和四级节点的id相同则把三级节点放入四级节点的children集合中
if (threeLevelType.getParentId().equals(fourLevelType.getTypeId())) {
fourLevelType.getChildren().add(threeLevelType);
// 内循环四级节点
for (MaTypeConfigVo threeLevelType : threeLevelTypeList) {
// 如果四级节点的父级id和三级节点的id相同则把四级节点放入三级节点的children集合中
if (fourLevelType.getParentId().equals(threeLevelType.getTypeId())) {
threeLevelType.getChildren().add(fourLevelType);
}
}
}