gaoluyang
昨天 9cd4074a456fd5c422506279191b6015836347e5
src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
@@ -111,7 +111,6 @@
                if (TypeEnums.PURCHASE_APPROVAL.getCode().equals(vo.getBusinessType())) {
                    // 采购审批 - 查询采购单号
                    PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(vo.getBusinessId());
                    System.out.println("业务类型:" + purchaseLedger.getPurchaseContractNumber());
                    if (purchaseLedger != null) {
                        vo.setPurchaseContractNumber(purchaseLedger.getPurchaseContractNumber());
                    }
@@ -150,10 +149,23 @@
                            .eq(ApprovalTask::getDeleted, 0)
            ).stream().collect(Collectors.groupingBy(ApprovalTask::getInstanceId));
            // 任务表本身不存审批方式,按节点实例回填会签/或签,避免前端统一显示为会签
            Map<Long, String> nodeApproveTypeMap = approvalInstanceNodeService.list(
                    Wrappers.<ApprovalInstanceNode>lambdaQuery()
                            .in(ApprovalInstanceNode::getInstanceId, instanceIds)
                            .eq(ApprovalInstanceNode::getDeleted, 0)
            ).stream().collect(Collectors.toMap(
                    ApprovalInstanceNode::getId,
                    node -> node.getApproveType() == null ? "" : node.getApproveType(),
                    (existing, replacement) -> existing
            ));
            for (ApprovalInstanceVo vo : records) {
                vo.setIsApprove(approveProcessConfigNodeUtils.isCurrentApprover(vo.getId(), currentUserId));
                vo.setRecords(recordMap.getOrDefault(vo.getId(), new ArrayList<>()));
                vo.setTasks(taskMap.getOrDefault(vo.getId(), new ArrayList<>()));
                List<ApprovalTask> instanceTasks = taskMap.getOrDefault(vo.getId(), new ArrayList<>());
                instanceTasks.forEach(task -> task.setApproveType(nodeApproveTypeMap.get(task.getNodeId())));
                vo.setTasks(instanceTasks);
                vo.setStorageBlobVOList(fileUtil.getStorageBlobVOsByRecordTypeAndRecordId(RecordTypeEnum.APPROVAL_INSTANCE, vo.getId()));
            }
@@ -745,10 +757,29 @@
        String title = StringUtils.hasText(instance.getTemplateName()) ? instance.getTemplateName() : "审批提醒";
        String message = "审批单号 " + instance.getInstanceNo() + " 需要您审批";
        String jumpPath = "/officeProcessAutomation/ApproveManage/approve-list?id=" + instance.getId();
        String jumpPath = getJumpPathByBusinessType(instance.getBusinessType(), instance.getId());
        sysNoticeService.simpleNoticeByUser(title, message, approverIds, jumpPath);
    }
    private String getJumpPathByBusinessType(Long businessType, Long instanceId) {
        if (businessType == null) {
            return "/collaborativeApproval/approve-list?id=" + instanceId;
        }
        if (TypeEnums.LEAVE_APPROVAL.getCode().equals(businessType)) {
            return "/collaborativeApproval/AttendManage/leave-apply?id=" + instanceId;
        }
        if (TypeEnums.OVERTIME_APPROVAL.getCode().equals(businessType)) {
            return "/collaborativeApproval/AttendManage/overtime-apply?id=" + instanceId;
        }
        if (TypeEnums.TRAVEL_REIMBURSEMENT_APPROVAL.getCode().equals(businessType)) {
            return "/collaborativeApproval/ReimburseManage/travel-reimburse?id=" + instanceId;
        }
        if (TypeEnums.EXPENSE_APPROVAL.getCode().equals(businessType)) {
            return "/collaborativeApproval/ReimburseManage/cost-reimburse?id=" + instanceId;
        }
        return "/collaborativeApproval/approve-list?id=" + instanceId;
    }
    private void sendEnterpriseNewsNotice(Long newsId) {
        EnterpriseNews enterpriseNews = enterpriseNewsMapper.selectById(newsId);
        if (enterpriseNews == null) {