|
@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.dragoninfo.dcuc.common.utils.LangUtil;
|
|
|
import com.dragoninfo.dcuc.common.utils.ProofsUtil;
|
|
@@ -13,7 +12,6 @@ import com.dragoninfo.dcuc.duceap.enums.OperateDisposeTypeEnum;
|
|
|
import com.dragoninfo.dcuc.duceap.enums.RequestDisposeTypeEnum;
|
|
|
import com.dragoninfo.dcuc.duceap.enums.SchemeTypeEnum;
|
|
|
import com.dragoninfo.duceap.commons.util.kafka.KafkaServer;
|
|
|
-import com.dragonsoft.dcuc.approve.business.IApproveBusiness;
|
|
|
import com.dragonsoft.dcuc.approve.business.IApproveLogBusiness;
|
|
|
import com.dragonsoft.dcuc.approve.business.IDcucBusiness;
|
|
|
import com.dragonsoft.dcuc.approve.constants.ApproveConstants;
|
|
@@ -95,9 +93,6 @@ public class ApproveLogBusinessImpl implements IApproveLogBusiness {
|
|
|
@Autowired
|
|
|
private IRiskSchemeService riskSchemeService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private IApproveBusiness approveBusiness;
|
|
|
-
|
|
|
@Autowired
|
|
|
private IDcucBusiness dcucBusiness;
|
|
|
|
|
@@ -356,28 +351,26 @@ public class ApproveLogBusinessImpl implements IApproveLogBusiness {
|
|
|
|
|
|
int continuousApproveNum = Integer.parseInt(StringUtils.isEmpty(riskScheme.getContinuousApproveNum())
|
|
|
? "0" : riskScheme.getContinuousApproveNum());
|
|
|
- //获取审批记录
|
|
|
- //查询该流程单的所有的审批记录
|
|
|
- List<ApproveCirculationInfo> list = approveCirculationService.getListByApproveRecordId(approveRecordId);
|
|
|
- Set<String> idSet = new HashSet<>();
|
|
|
-
|
|
|
- if (CollectionUtils.isNotEmpty(list) && list.size() >= continuousApproveNum) {
|
|
|
- for (int i = 0; i < continuousApproveNum; i++) {
|
|
|
- ApproveCirculationInfo approveCirculationInfo = list.get(i);
|
|
|
- // 添加审批人用户ID Set去重
|
|
|
- idSet.add(approveCirculationInfo.getOperateUserId());
|
|
|
- }
|
|
|
- if (idSet.size() == 1) {
|
|
|
- riskContent = "审批流程流转过程中,连续" + continuousApproveNum + "个节点审批人相同,审批人都是:" + createUserName + "(" + operateIdcard + ")。";
|
|
|
-
|
|
|
-
|
|
|
- //产生《单人连续审批风险》
|
|
|
- saveRiskLog(businessCode, riskIp, riskContent,
|
|
|
- title, operateIdcard, createUserName,
|
|
|
- applyIdcard, orgName, orgCode,
|
|
|
- createTime, riskScheme.getSchemeType(),
|
|
|
- approveRecordId, processInstanceId, processNo, logIdList);
|
|
|
- }
|
|
|
+ //查询该流程单最近风险范围条数的审批记录
|
|
|
+ List<ApproveCirculationInfo> list = approveCirculationService.getListByApproveRecordIdAndAgree(approveRecordId);
|
|
|
+ // 过滤是当前审批人,去除重复节点,且是同意的条数
|
|
|
+ long count = list.stream()
|
|
|
+ .filter(item -> item.getOperateUserId().equalsIgnoreCase(operateIdcard))
|
|
|
+ .map(ApproveCirculationInfo::getNodeName)
|
|
|
+ .distinct()
|
|
|
+ .count();
|
|
|
+ // 需去除申请人节点
|
|
|
+ int realCount = (int) (count - 1);
|
|
|
+ if (realCount >= continuousApproveNum) {
|
|
|
+ riskContent = "审批流程流转过程中,连续" + continuousApproveNum + "个节点审批人相同,审批人都是:"
|
|
|
+ + createUserName + "(" + operateIdcard + ")。";
|
|
|
+
|
|
|
+ //产生《单人连续审批风险》
|
|
|
+ saveRiskLog(businessCode, riskIp, riskContent,
|
|
|
+ title, operateIdcard, createUserName,
|
|
|
+ applyIdcard, orgName, orgCode,
|
|
|
+ createTime, riskScheme.getSchemeType(),
|
|
|
+ approveRecordId, processInstanceId, processNo, logIdList);
|
|
|
}
|
|
|
}
|
|
|
}
|