|
5 | 5 | import cn.cordys.common.util.BeanUtils; |
6 | 6 | import cn.cordys.common.util.CommonBeanFactory; |
7 | 7 | import cn.cordys.common.util.Translator; |
8 | | -import cn.cordys.crm.approval.constants.ApprovalAction; |
9 | 8 | import cn.cordys.crm.approval.constants.ApprovalAddSignType; |
10 | 9 | import cn.cordys.crm.approval.constants.ApprovalStatus; |
11 | 10 | import cn.cordys.crm.approval.constants.ApprovalTaskType; |
| 11 | +import cn.cordys.crm.approval.constants.MultiApproverModeEnum; |
12 | 12 | import cn.cordys.crm.approval.domain.*; |
13 | 13 | import cn.cordys.crm.approval.dto.ApprovalCcNode; |
14 | 14 | import cn.cordys.crm.approval.dto.ApprovalInstanceDetail; |
15 | 15 | import cn.cordys.crm.approval.dto.ApprovalRecordNode; |
16 | 16 | import cn.cordys.crm.approval.dto.ApprovalTaskNode; |
17 | | -import cn.cordys.crm.approval.mapper.ExtApprovalInstanceMapper; |
18 | 17 | import cn.cordys.crm.system.domain.Attachment; |
19 | 18 | import cn.cordys.crm.system.dto.UserSimple; |
20 | 19 | import cn.cordys.crm.system.service.AttachmentService; |
@@ -52,6 +51,8 @@ public class ApprovalInstanceService { |
52 | 51 | private AttachmentService attachmentService; |
53 | 52 | @Resource |
54 | 53 | private UserExtendService userExtendService; |
| 54 | + @Resource |
| 55 | + private BaseMapper<ApprovalNodeApprover> approvalNodeApproverMapper; |
55 | 56 |
|
56 | 57 | /** |
57 | 58 | * 获取资源最新审批实例详情 |
@@ -203,9 +204,30 @@ private List<ApprovalRecordNode> buildApprovalRecordNodeList(List<ApprovalTask> |
203 | 204 | } |
204 | 205 | }); |
205 | 206 |
|
| 207 | + Map<String, ApprovalNodeApprover> approverNodeMap = getApproverNodeMapByIds(sortHisNodes); |
| 208 | + nodes.forEach(node -> { |
| 209 | + ApprovalNodeApprover approverNode = approverNodeMap.get(node.getNodeId()); |
| 210 | + if (approverNode != null) { |
| 211 | + node.setMultiApproverMode(MultiApproverModeEnum.valueOf(approverNode.getMultiApproverMode())); |
| 212 | + } |
| 213 | + |
| 214 | + }); |
206 | 215 | return nodes; |
207 | 216 | } |
208 | 217 |
|
| 218 | + /** |
| 219 | + * 获取所有审批节点集合 |
| 220 | + * @param nodeIds 节点ID集合 |
| 221 | + * @return 审批节点集合 |
| 222 | + */ |
| 223 | + private Map<String, ApprovalNodeApprover> getApproverNodeMapByIds(List<String> nodeIds) { |
| 224 | + if (CollectionUtils.isEmpty(nodeIds)) { |
| 225 | + return Map.of(); |
| 226 | + } |
| 227 | + List<ApprovalNodeApprover> approvalNodeApprovers = approvalNodeApproverMapper.selectByIds(nodeIds); |
| 228 | + return approvalNodeApprovers.stream().collect(Collectors.toMap(ApprovalNodeApprover::getId, n -> n)); |
| 229 | + } |
| 230 | + |
209 | 231 | private List<ApprovalTask> flatSignTask(ApprovalTask currentTask, Map<String, List<ApprovalAddSignTask>> addSignTaskMap, Map<String, ApprovalTask> signTaskMap) { |
210 | 232 | if (!signTaskMap.containsKey(currentTask.getId())) { |
211 | 233 | // 不存在加签链 |
|
0 commit comments