From d89a42213b4a32535e93185dedf41fe7a7fc1940 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 04 四月 2025 01:57:13 +0800 Subject: [PATCH] bug修改 --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDictDataServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 39 insertions(+), 10 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..a882131 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,26 @@ @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()) + .orderByAsc(SysDictData::getDictSort) + .orderByDesc(SysDictData::getDictCode) + .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 @@ -147,12 +168,20 @@ @Override public List<SysDictDataVO> medicalWasteTypeList() { - return getSysDictDataVOListByType("medical_waste_type"); + return getSysDictDataVOListByType("medical_waste_type", null); + } + + @Override + public List<SysDictDataVO> medicalWasteTypeListByDictCode(List<Long> wasteTypeCodeList) { + return getSysDictDataVOListByType("medical_waste_type", wasteTypeCodeList); } @Nullable - private List<SysDictDataVO> getSysDictDataVOListByType(String dictType) { - List<SysDictData> medicalWasteTypeList = lambdaQuery().eq(SysDictData::getDictType, dictType).list(); + private List<SysDictDataVO> getSysDictDataVOListByType(String dictType, List<Long> dictCodeList) { + List<SysDictData> medicalWasteTypeList = lambdaQuery().eq(SysDictData::getDictType, dictType) + .in(CollUtils.isNotEmpty(dictCodeList), SysDictData::getDictCode, dictCodeList) + .orderByAsc(SysDictData::getDictSort) + .orderByDesc(SysDictData::getDictCode).list(); return BeanUtils.copyToList(medicalWasteTypeList, SysDictDataVO.class); } @@ -163,7 +192,7 @@ */ @Override public List<SysDictDataVO> equipmentTypeList() { - return getSysDictDataVOListByType("protection_equipment_type"); + return getSysDictDataVOListByType("protection_equipment_type", null); } /** @@ -173,7 +202,7 @@ */ @Override public List<SysDictDataVO> regulationsTypeList() { - return getSysDictDataVOListByType("protection_regulation_type"); + return getSysDictDataVOListByType("protection_regulation_type", null); } /** @@ -183,16 +212,16 @@ */ @Override public List<SysDictDataVO> workTypeList() { - return getSysDictDataVOListByType("protective_work_type"); + return getSysDictDataVOListByType("protective_work_type", null); } @Override public List<SysDictDataVO> institutionLevelList() { - return getSysDictDataVOListByType("institution_level"); + return getSysDictDataVOListByType("institution_level", null); } @Override public List<SysDictDataVO> institutionTypeList() { - return getSysDictDataVOListByType("institution_type"); + return getSysDictDataVOListByType("institution_type", null); } } -- Gitblit v1.7.1