From 604d00f67ddcf25a9d079ceddd1c668b2a4e5288 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 19 四月 2024 15:08:22 +0800 Subject: [PATCH] bug修复 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbDataScreenConfigServiceImpl.java | 90 +++++++++++++++++++++++++------------------- 1 files changed, 51 insertions(+), 39 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbDataScreenConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbDataScreenConfigServiceImpl.java index 337cd97..8ac304a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbDataScreenConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbDataScreenConfigServiceImpl.java @@ -18,6 +18,7 @@ import com.ruoyi.system.mapper.TbDataScreenConfigMapper; import com.ruoyi.system.service.TbDataScreenConfigService; import com.ruoyi.system.vo.DataScreenConfigVO; +import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -110,6 +111,7 @@ } } + //表达式校验 public boolean hasConsecutiveDuplicates(List<CalculateItemDTO> calculateItemList) { return IntStream.range(1, calculateItemList.size()) .anyMatch(i -> calculateItemList.get(i - 1).getValueType() @@ -137,48 +139,58 @@ @Override @Transactional(rollbackFor = Exception.class) - public DataScreenConfigVO editDataIndicatorsConfig(DataIndicatorsUpdDTO dto) { - //查询是否有该指标配置 - TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery() - .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.DATA_INDICATORS) - .eq(TbDataScreenConfig::getSubType, - dto.getSubType()).oneOpt().orElseGet(() -> BeanUtils.copyBean(dto, - TbDataScreenConfig.class)); - List<CalculateItemDTO> scoreCalculateList = dto.getScoreCalculateList(); - List<CalculateItemDTO> rateCalculateList = dto.getRateCalculateList(); - validateCalculateItemList(scoreCalculateList); - validateCalculateItemList(rateCalculateList); - String scoreCalculateFormulaJsonStr = JSON.toJSONString(scoreCalculateList); - tbDataScreenConfig.setCalculateFormula(scoreCalculateFormulaJsonStr); - String rateCalculateFormulaJsonStr = JSON.toJSONString(rateCalculateList); - tbDataScreenConfig.setCalculateRateFormula(rateCalculateFormulaJsonStr); - tbDataScreenConfig.setType(DataScreenConfigEnum.DATA_INDICATORS); - this.saveOrUpdate(tbDataScreenConfig); - DataScreenConfigVO dataScreenConfigVO = BeanUtils.copyBean(tbDataScreenConfig, - DataScreenConfigVO.class); - dataScreenConfigVO.setScoreCalculateList(scoreCalculateList); - dataScreenConfigVO.setRateCalculateList(rateCalculateList); - return dataScreenConfigVO; + public List<DataScreenConfigVO> editDataIndicatorsConfig(List<DataIndicatorsUpdDTO> dtoList) { + List<DataScreenConfigVO> vosList = new ArrayList<>(); + for (DataIndicatorsUpdDTO dto : dtoList) { + //查询是否有该指标配置 + TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery() + .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.DATA_INDICATORS) + .eq(TbDataScreenConfig::getSubType, + dto.getSubType()).oneOpt().orElseGet(() -> BeanUtils.copyBean(dto, + TbDataScreenConfig.class)); + List<CalculateItemDTO> scoreCalculateList = dto.getScoreCalculateList(); + List<CalculateItemDTO> rateCalculateList = dto.getRateCalculateList(); + validateCalculateItemList(scoreCalculateList); + validateCalculateItemList(rateCalculateList); + String scoreCalculateFormulaJsonStr = JSON.toJSONString(scoreCalculateList); + tbDataScreenConfig.setCalculateFormula(scoreCalculateFormulaJsonStr); + String rateCalculateFormulaJsonStr = JSON.toJSONString(rateCalculateList); + tbDataScreenConfig.setCalculateRateFormula(rateCalculateFormulaJsonStr); + tbDataScreenConfig.setType(DataScreenConfigEnum.DATA_INDICATORS); + this.saveOrUpdate(tbDataScreenConfig); + DataScreenConfigVO dataScreenConfigVO = BeanUtils.copyBean(tbDataScreenConfig, + DataScreenConfigVO.class); + dataScreenConfigVO.setScoreCalculateList(scoreCalculateList); + dataScreenConfigVO.setRateCalculateList(rateCalculateList); + vosList.add(dataScreenConfigVO); + } + return vosList; } @Override @Transactional(rollbackFor = Exception.class) - public DataScreenConfigVO editFormalIndicatorsConfig(FormalIndicatorsUpdDTO dto) { - //查询是否有该指标配置 - TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery() - .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.FORMAL_INDICATORS) - .eq(TbDataScreenConfig::getSubType, - dto.getSubType()).oneOpt().orElseGet(() -> BeanUtils.copyBean(dto, - TbDataScreenConfig.class)); - tbDataScreenConfig.setType(DataScreenConfigEnum.FORMAL_INDICATORS); - List<CalculateItemDTO> calculateItemList = dto.getCalculateItemList(); - validateCalculateItemList(calculateItemList); - String calculateFormulaJsonStr = JSON.toJSONString(calculateItemList); - tbDataScreenConfig.setCalculateFormula(calculateFormulaJsonStr); - this.saveOrUpdate(tbDataScreenConfig); - DataScreenConfigVO dataScreenConfigVO = BeanUtils.copyBean(tbDataScreenConfig, - DataScreenConfigVO.class); - dataScreenConfigVO.setScoreCalculateList(calculateItemList); - return dataScreenConfigVO; + public List<DataScreenConfigVO> editFormalIndicatorsConfig( + List<FormalIndicatorsUpdDTO> dtoList) { + List<DataScreenConfigVO> vosList = new ArrayList<>(); + for (FormalIndicatorsUpdDTO dto : dtoList) { + //查询是否有该指标配置 + TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery() + .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.FORMAL_INDICATORS) + .eq(TbDataScreenConfig::getSubType, + dto.getSubType()).oneOpt().orElseGet(() -> BeanUtils.copyBean(dto, + TbDataScreenConfig.class)); + tbDataScreenConfig.setType(DataScreenConfigEnum.FORMAL_INDICATORS); + tbDataScreenConfig.setMaxScore(dto.getMaxScore()); + List<CalculateItemDTO> calculateItemList = dto.getCalculateItemList(); + validateCalculateItemList(calculateItemList); + String calculateFormulaJsonStr = JSON.toJSONString(calculateItemList); + tbDataScreenConfig.setCalculateFormula(calculateFormulaJsonStr); + this.saveOrUpdate(tbDataScreenConfig); + DataScreenConfigVO dataScreenConfigVO = BeanUtils.copyBean(tbDataScreenConfig, + DataScreenConfigVO.class); + dataScreenConfigVO.setScoreCalculateList(calculateItemList); + vosList.add(dataScreenConfigVO); + } + return vosList; } } -- Gitblit v1.7.1