luoyisheng
2025-03-25 b03d89e792a34c486f0afeab69e837f85d8cbe16
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();
                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 vo = new MwWarningConfigItemVO();
                        vo.setWasteType(item.getDictCode());
                        vo.setWasteTypeStr(item.getDictLabel());
                        return vo;
                    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));