cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentAlterServiceImpl.java
@@ -99,6 +99,7 @@
        manageRecordAudit.setReason(manageDocumentAlter.getAlterNote());
        manageRecordAudit.setAlterUser(SecurityUtils.getUserId().intValue());
        manageRecordAudit.setMethod("修订");
        manageRecordAudit.setCreateTime(LocalDate.now());
        if (ObjectUtils.isNotEmpty(manageDocumentAlter.getFile())) {
            String urlString;
            String pathName;
@@ -156,7 +157,44 @@
                return 0;
            }
        }
        return manageDocumentAlterMapper.updateById(manageDocumentAlter);
        int result = manageDocumentAlterMapper.updateById(manageDocumentAlter);
        // 变更内容修改后同步到自动生成的修订记录,避免两个页面内容对不上
        ManageRecordAudit linkedAudit = findLinkedAudit(manageDocumentAlter1);
        if (linkedAudit != null) {
            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeCode())) {
                linkedAudit.setDocumentCode(manageDocumentAlter.getAlterBeforeCode());
            }
            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeName())) {
                linkedAudit.setDocumentName(manageDocumentAlter.getAlterBeforeName());
            }
            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeVersion())) {
                linkedAudit.setBeforeVersion(manageDocumentAlter.getAlterBeforeVersion());
            }
            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterAfterVersion())) {
                linkedAudit.setAfterVersion(manageDocumentAlter.getAlterAfterVersion());
            }
            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterNote())) {
                linkedAudit.setReason(manageDocumentAlter.getAlterNote());
            }
            if (ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterAfterUrl())) {
                linkedAudit.setAfterUrl(manageDocumentAlter.getAlterAfterUrl());
            }
            manageRecordAuditMapper.updateById(linkedAudit);
        }
        return result;
    }
    // 按变更前信息定位自动生成的那条修订记录
    private ManageRecordAudit findLinkedAudit(ManageDocumentAlter manageDocumentAlter) {
        return manageRecordAuditMapper.selectOne(Wrappers.<ManageRecordAudit>lambdaQuery()
                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeCode()), ManageRecordAudit::getDocumentCode, manageDocumentAlter.getAlterBeforeCode())
                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeName()), ManageRecordAudit::getDocumentName, manageDocumentAlter.getAlterBeforeName())
                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterBeforeVersion()), ManageRecordAudit::getBeforeVersion, manageDocumentAlter.getAlterBeforeVersion())
                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getAlterAfterVersion()), ManageRecordAudit::getAfterVersion, manageDocumentAlter.getAlterAfterVersion())
                .eq(ObjectUtils.isNotEmpty(manageDocumentAlter.getCreateUser()), ManageRecordAudit::getAlterUser, manageDocumentAlter.getCreateUser())
                .eq(ManageRecordAudit::getMethod, "修订")
                .orderByDesc(ManageRecordAudit::getId)
                .last("limit 1"));
    }
    @Override
@@ -217,6 +255,8 @@
                manageRecordAudit.setDocumentName(manageDocumentCancel.getName());
                manageRecordAudit.setAlterThing("作废");
                manageRecordAudit.setMethod("作废");
                manageRecordAudit.setAlterUser(oldManageDocumentAlter.getCreateUser());
                manageRecordAudit.setCreateTime(LocalDate.now());
                manageRecordAuditMapper.insert(manageRecordAudit);
            }else {
                //如果是存档不可用,那就将文件清单的状态改为无效
@@ -235,6 +275,15 @@
        manageRecordCheck.setCheckState(manageDocumentAlter.getState());
        manageRecordCheck.setRemark(manageDocumentAlter.getAlterNote());
        manageRecordCheckMapper.insert(manageRecordCheck);
        // 审核通过后回写批准人,文件修订申请审批记录里能直接看到审批结果
        ManageRecordAudit linkedAudit = findLinkedAudit(oldManageDocumentAlter);
        if (linkedAudit != null
                && "通过".equals(manageDocumentAlter.getState())
                && linkedAudit.getRatifyUser() == null
                && oldManageDocumentAlter.getCheckUser() != null) {
            linkedAudit.setRatifyUser(oldManageDocumentAlter.getCheckUser());
            manageRecordAuditMapper.updateById(linkedAudit);
        }
        return manageDocumentAlterMapper.updateById(manageDocumentAlter);
    }