From d68c61517a3a6d4ec4d47844c21bdc143f99cbab Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 17 四月 2024 22:58:05 +0800 Subject: [PATCH] 大屏接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbDataScreenConfigServiceImpl.java | 94 ++++++++++++++++++++++++++-------------------- 1 files changed, 53 insertions(+), 41 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..485f241 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; @@ -59,9 +60,9 @@ @Override @Transactional(rollbackFor = Exception.class) public DataScreenConfigVO editRiskLevel(RiskLevelUpdDTO dto) { - if (dto.areRiskLevelsDistinct()) { + /* if (dto.areRiskLevelsDistinct()) { throw new ServiceException("得分范围不能重叠"); - } + }*/ //查询是否有该指标配置 TbDataScreenConfig tbDataScreenConfig = this.lambdaQuery() .eq(TbDataScreenConfig::getType, DataScreenConfigEnum.RISK_LEVEL) @@ -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