From 2dc478231fd09a88a4d86d44388ae807aca08bc5 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 01 一月 2025 10:14:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwWarningConfigServiceImpl.java | 36 +++++++++++++++++++++++++++++------- 1 files changed, 29 insertions(+), 7 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 063af5a..88910fb 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 @@ -9,17 +9,19 @@ import com.sinata.system.domain.dto.MwWarningConfigDTO; import com.sinata.system.domain.vo.MwWarningConfigItemVO; import com.sinata.system.domain.vo.MwWarningConfigVO; +import com.sinata.system.domain.vo.SysDictDataVO; import com.sinata.system.enums.WarningConfigTypeEnum; import com.sinata.system.mapper.MwWarningConfigMapper; +import com.sinata.system.service.ISysDictDataService; import com.sinata.system.service.MwWarningConfigItemService; import com.sinata.system.service.MwWarningConfigService; import lombok.RequiredArgsConstructor; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * <p> @@ -33,7 +35,7 @@ @RequiredArgsConstructor public class MwWarningConfigServiceImpl extends ServiceImpl<MwWarningConfigMapper, MwWarningConfig> implements MwWarningConfigService { private final MwWarningConfigItemService mwWarningConfigItemService; - + private final ISysDictDataService sysDictDataService; /** * 保存设置 * @@ -43,8 +45,11 @@ @Override @Transactional(rollbackFor = Exception.class) public void saveConfig(MwWarningConfigDTO dto) { - MwWarningConfig mwWarningConfig = lambdaQuery().eq(MwWarningConfig::getType, dto.getType()).last("limit 1").oneOpt().orElse(new MwWarningConfig()); - BeanUtils.copyProperties(dto, mwWarningConfig); + MwWarningConfig mwWarningConfig = BeanUtil.copyProperties(dto, MwWarningConfig.class); + MwWarningConfig config = lambdaQuery().eq(MwWarningConfig::getType, dto.getType()).last("limit 1").one(); + if (Objects.nonNull(config)) { + mwWarningConfig.setId(config.getId()); + } saveOrUpdate(mwWarningConfig); if (dto.getType().equals(WarningConfigTypeEnum.MEDICAL_WASTE.getCode()) || dto.getType().equals(WarningConfigTypeEnum.STAGING_ROOM_CAPACITY.getCode())) { if (CollUtils.isEmpty(dto.getWarningConfigItemList())) { @@ -53,7 +58,10 @@ //清空配置项 mwWarningConfigItemService.lambdaUpdate().eq(MwWarningConfigItem::getConfigId, mwWarningConfig.getId()).remove(); List<MwWarningConfigItem> mwWarningConfigItems = BeanUtil.copyToList(dto.getWarningConfigItemList(), MwWarningConfigItem.class); - mwWarningConfigItems.forEach(item -> item.setConfigId(mwWarningConfig.getId())); + mwWarningConfigItems.forEach(item -> { + item.setConfigId(mwWarningConfig.getId()); + item.setId(null); + }); mwWarningConfigItemService.saveBatch(mwWarningConfigItems); } } @@ -70,8 +78,22 @@ MwWarningConfigVO mwWarningConfigVO = null; if (Objects.nonNull(mwWarningConfig)) { mwWarningConfigVO = BeanUtil.copyProperties(mwWarningConfig, MwWarningConfigVO.class); - if (type.equals(WarningConfigTypeEnum.MEDICAL_WASTE.getCode()) || type.equals(WarningConfigTypeEnum.STAGING_ROOM_CAPACITY.getCode())) { - List<MwWarningConfigItem> mwWarningConfigItems = mwWarningConfigItemService.lambdaQuery().eq(MwWarningConfigItem::getConfigId, mwWarningConfig.getId()).list(); + 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); + } + + } + if (type.equals(WarningConfigTypeEnum.STAGING_ROOM_CAPACITY.getCode())) { mwWarningConfigVO.setWarningConfigItemList(BeanUtil.copyToList(mwWarningConfigItems, MwWarningConfigItemVO.class)); } } -- Gitblit v1.7.1