From ae7f04be9321ddbe17c46fae8ab05d34e7493f9f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 19 二月 2025 13:40:06 +0800 Subject: [PATCH] 管理后台bug修改 --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningConfigServiceImpl.java | 27 ++++++++++++++++----------- 1 files changed, 16 insertions(+), 11 deletions(-) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningConfigServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningConfigServiceImpl.java index 88910fb..f80de7c 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningConfigServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningConfigServiceImpl.java @@ -19,8 +19,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -80,18 +83,20 @@ mwWarningConfigVO = BeanUtil.copyProperties(mwWarningConfig, MwWarningConfigVO.class); List<MwWarningConfigItem> mwWarningConfigItems = mwWarningConfigItemService.lambdaQuery().eq(MwWarningConfigItem::getConfigId, mwWarningConfig.getId()).list(); if (type.equals(WarningConfigTypeEnum.MEDICAL_WASTE.getCode())) { - mwWarningConfigVO.setWarningConfigItemList(BeanUtil.copyToList(mwWarningConfigItems, MwWarningConfigItemVO.class)); - if (CollUtils.isEmpty(mwWarningConfigItems)) { - List<SysDictDataVO> sysDictDataVOS = sysDictDataService.medicalWasteTypeList(); - List<MwWarningConfigItemVO> res = sysDictDataVOS.stream().map(item -> { - MwWarningConfigItemVO vo = new MwWarningConfigItemVO(); - vo.setWasteType(item.getDictCode()); - vo.setWasteTypeStr(item.getDictLabel()); - return vo; - }).collect(Collectors.toList()); - mwWarningConfigVO.setWarningConfigItemList(res); + List<SysDictDataVO> sysDictDataVOS = sysDictDataService.medicalWasteTypeList(); + Map<Long, MwWarningConfigItemVO> configItemMap = new HashMap<>(); + if (CollUtils.isNotEmpty(mwWarningConfigItems)) { + List<MwWarningConfigItemVO> mwWarningConfigItemVOS = BeanUtil.copyToList(mwWarningConfigItems, MwWarningConfigItemVO.class); + configItemMap = mwWarningConfigItemVOS.stream().collect(Collectors.toMap(MwWarningConfigItemVO::getWasteType, Function.identity())); } - + Map<Long, MwWarningConfigItemVO> finalConfigItemMap = configItemMap; + List<MwWarningConfigItemVO> res = sysDictDataVOS.stream().map(item -> { + MwWarningConfigItemVO config = finalConfigItemMap.getOrDefault(item.getDictCode(), new MwWarningConfigItemVO()); + config.setWasteType(item.getDictCode()); + config.setWasteTypeStr(item.getDictLabel()); + return config; + }).collect(Collectors.toList()); + mwWarningConfigVO.setWarningConfigItemList(res); } if (type.equals(WarningConfigTypeEnum.STAGING_ROOM_CAPACITY.getCode())) { mwWarningConfigVO.setWarningConfigItemList(BeanUtil.copyToList(mwWarningConfigItems, MwWarningConfigItemVO.class)); -- Gitblit v1.7.1