From b03d89e792a34c486f0afeab69e837f85d8cbe16 Mon Sep 17 00:00:00 2001 From: luoyisheng <yangdongji@argo-ai.cn> Date: 星期二, 25 三月 2025 15:13:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java index 952eecf..81858aa 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java @@ -1,6 +1,7 @@ package com.sinata.system.service.impl; import cn.idev.excel.util.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sinata.common.core.domain.entity.SysDictData; @@ -8,6 +9,7 @@ import com.sinata.common.entity.PageDTO; import com.sinata.common.exception.ServiceException; import com.sinata.common.utils.BeanUtils; +import com.sinata.common.utils.CollUtils; import com.sinata.common.utils.DictUtils; import com.sinata.system.domain.dto.SysDictDataDTO; import com.sinata.system.domain.query.KeyWordQuery; @@ -21,6 +23,7 @@ import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 字典 业务层处理 @@ -127,8 +130,24 @@ @Override public PageDTO<SysDictDataVO> pageList(KeyWordQuery query) { - Page<SysDictData> result = this.lambdaQuery().like(StringUtils.isNotBlank(query.getKeyword()), SysDictData::getDictLabel, query.getKeyword()).page(new Page<>(query.getPageCurr(), query.getPageSize())); - return PageDTO.of(result, SysDictDataVO.class); + Page<SysDictData> result = this.lambdaQuery() + .like(StringUtils.isNotBlank(query.getKeyword()), SysDictData::getDictLabel, query.getKeyword()) + .eq(StringUtils.isNotBlank(query.getDictType()), SysDictData::getDictType, query.getDictType()) + .page(new Page<>(query.getPageCurr(), query.getPageSize())); + List<String> dictTypeList = result.getRecords().stream().map(SysDictData::getDictType).distinct().collect(Collectors.toList()); + if (CollUtils.isNotEmpty(dictTypeList)) { + PageDTO<SysDictDataVO> sysDictDataVOPageDTO = PageDTO.of(result, SysDictDataVO.class); + List<SysDictType> sysDictTypes = dictTypeMapper.selectList(new LambdaQueryWrapper<SysDictType>().in(SysDictType::getDictType, dictTypeList)); + sysDictDataVOPageDTO.getList().forEach(vo -> { + sysDictTypes.forEach(sysDictType -> { + if (sysDictType.getDictType().equals(vo.getDictType())) { + vo.setDictTypeName(sysDictType.getDictName()); + } + }); + }); + return sysDictDataVOPageDTO; + } + return PageDTO.empty(result); } @Override -- Gitblit v1.7.1