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