Bladeren bron

fix: 修复产生风险错误

huangzqa 1 jaar geleden
bovenliggende
commit
419d2a59c1

+ 4 - 4
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/impl/RiskBusinessImpl.java

@@ -75,15 +75,15 @@ public class RiskBusinessImpl implements IRiskBusiness {
             List<ApproveCirculationInfo> list = approveCirculationService.getListByApproveRecordIdAndAgree(approveRecordId);
             // 过滤是当前审批人,去除重复节点,且是同意的条数
             long count = list.stream()
+                    // 需去除申请人节点
+                    .skip(1)
                     .filter(item -> item.getOperateUserId().equalsIgnoreCase(operateIdcard))
                     .map(ApproveCirculationInfo::getNodeName)
                     .distinct()
                     .count();
-            // 需去除申请人节点
-            int realCount = (int) (count - 1);
-            log.info("审批单ID:{} 单人连续审批判断:配置的数量{},去除申请人节点的审批节点数:{}", approveRecordId, continuousApproveNum, realCount);
+            log.info("审批单ID:{} 单人连续审批判断:配置的数量{},去除申请人节点的审批节点数:{}", approveRecordId, continuousApproveNum, count);
 
-            if (realCount >= continuousApproveNum) {
+            if (count >= continuousApproveNum) {
                 String riskContent = "审批流程流转过程中,连续" + continuousApproveNum + "个节点审批人相同,审批人都是:"
                         + createUserName + "(" + operateIdcard + ")。";
                 return ResponseStatus.fail(riskContent);

+ 2 - 1
approve-core-service/src/test/java/com/dragonsoft/dcuc/approve/business/impl/RiskBusinessImplTest.java

@@ -52,6 +52,7 @@ public class RiskBusinessImplTest {
     public void singleApproveRisk() {
 
         String approveRecordId = UUIDUtils.getUUID();
+
         String operateIdcard = "421302198608160200";
         String userName = "燕菊黛";
 
@@ -64,7 +65,7 @@ public class RiskBusinessImplTest {
 
         ApproveCirculationInfo approveCirculationInfo = new ApproveCirculationInfo();
         approveCirculationInfo.setNodeName("开始");
-        approveCirculationInfo.setOperateUserId(operateIdcard);
+        approveCirculationInfo.setOperateUserId("");
 
         ApproveCirculationInfo approveCirculationInfo1 = new ApproveCirculationInfo();
         approveCirculationInfo1.setNodeName("节点1");