From 863b22dd84364ef5a9c4d5057af5063f94e8f346 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 04 九月 2024 03:45:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java |   17 +++++++++++++++--
 ycl-pojo/src/main/java/com/ycl/system/domain/TreeNode.java                           |    2 +-
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRuleCascaderVO.java       |    4 +---
 ycl-server/src/main/java/com/ycl/platform/service/ICalculateRuleService.java         |    1 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java             |    3 ++-
 ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java |   14 ++++++++++----
 ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml                    |    3 +--
 7 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java
index 27f0087..11ae380 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java
@@ -11,6 +11,7 @@
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 鍚堝悓鎵撳垎瀵硅薄 t_default_score
@@ -40,7 +41,7 @@
     private Long ruleId;
     private String ruleIds;
     @TableField(exist = false)
-    private Long[] ruleIdsArray;
+    private List<String> ruleIdsArray;
 
     @Excel(name = "瑙勫垯")
     private String ruleName;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRuleCascaderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRuleCascaderVO.java
index 4c767cd..3925dce 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRuleCascaderVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRuleCascaderVO.java
@@ -14,10 +14,8 @@
 public class CalculateRuleCascaderVO extends TreeNode {
     private static final long serialVersionUID = 1L;
 
-    private Long value;
-
     private String label;
-
+    private String value;
     private String ruleName;
 
     /**
diff --git a/ycl-pojo/src/main/java/com/ycl/system/domain/TreeNode.java b/ycl-pojo/src/main/java/com/ycl/system/domain/TreeNode.java
index 8f39e5c..03717a9 100644
--- a/ycl-pojo/src/main/java/com/ycl/system/domain/TreeNode.java
+++ b/ycl-pojo/src/main/java/com/ycl/system/domain/TreeNode.java
@@ -52,4 +52,4 @@
     public void setChildren(List<T> children) {
         this.children = children;
     }
-}
\ No newline at end of file
+}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICalculateRuleService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICalculateRuleService.java
index 22295fa..05bf752 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ICalculateRuleService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ICalculateRuleService.java
@@ -5,6 +5,7 @@
 import com.ycl.platform.domain.vo.CalculateRuleCascaderVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 杩濈害瑙勫垯Service鎺ュ彛
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java
index aaecb59..078814f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateRuleServiceImpl.java
@@ -11,7 +11,10 @@
 import org.springframework.stereotype.Service;
 import utils.DateUtils;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 杩濈害瑙勫垯Service涓氬姟灞傚鐞�
@@ -102,7 +105,17 @@
     }
 
     @Override
-    public List<CalculateRuleCascaderVO> getRuleListByUnitId(Integer unitId) {
-        return calculateRuleMapper.getRuleListByUnitId(unitId, DateUtils.getDate());
+    public  List<CalculateRuleCascaderVO> getRuleListByUnitId(Integer unitId) {
+        List<CalculateRuleCascaderVO> ruleListByUnitId = calculateRuleMapper.getRuleListByUnitId(unitId, DateUtils.getDate());
+        Map<String, List<CalculateRuleCascaderVO>> map = ruleListByUnitId.stream().collect(Collectors.groupingBy(CalculateRuleCascaderVO::getRuleName));
+        List<CalculateRuleCascaderVO> result = new ArrayList<>();
+        map.forEach((str,list)->{
+            CalculateRuleCascaderVO vo = new CalculateRuleCascaderVO();
+            vo.setValue(str);
+            vo.setLabel(str);
+            vo.setChildren(list);
+            result.add(vo);
+        });
+        return result;
     }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
index 4010d38..c01af46 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
@@ -16,6 +16,7 @@
 import org.springframework.stereotype.Service;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -50,8 +51,12 @@
 
     @Override
     public ContractScore getById(Serializable id) {
+        //TODO:鍥炴樉浼樺寲
         ContractScore contractScore = super.getById(id);
-        contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
+        List<String> ruleIds = new ArrayList<>();
+        ruleIds.add(contractScore.getRuleName().split("/")[0].trim());
+        ruleIds.add(contractScore.getRuleId()+"");
+        contractScore.setRuleIdsArray(ruleIds);
         return contractScore;
     }
 
@@ -61,16 +66,17 @@
         contractScore.setCreateUserId(user.getUserId());
         contractScore.setCreateUser(user.getNickName());
         contractScore.setAuditingStatus(AuditingStatus.WAIT);
-        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
-        contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
+//        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+//        contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
         contractScore.setUpdateTime(new Date());
         return super.save(contractScore);
     }
 
     @Override
     public boolean updateById(ContractScore contractScore) {
-        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+        contractScore.setRuleId(Long.parseLong(contractScore.getRuleIdsArray().get(1)));
         contractScore.setUpdateTime(new Date());
+        contractScore.setAuditingStatus(AuditingStatus.WAIT);
         return super.updateById(contractScore);
     }
 
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml
index 0f13084..34fa3d2 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml
@@ -37,12 +37,11 @@
 
     <select id="getRuleListByUnitId" resultType="com.ycl.platform.domain.vo.CalculateRuleCascaderVO">
         <![CDATA[
-        select id,
+        select id as value,
                rule_name,
                deduct_category,
                calc_fraction,
                calc_unit,
-               id as value,
                contract_id,
                rule_condition as label
         from t_calculate_rule

--
Gitblit v1.8.0