# 交叉评查 v3 迁移收口说明 ## 当前主链路状态 目前交叉评查的主流程已经切到新版本链路: 1. 创建任务页先上传文档,再调用 `POST /api/v3/cross-review/tasks` 创建任务 2. 任务列表走 `POST /api/v3/cross-review/tasks/query` 3. 任务文档列表走 `GET /api/v3/cross-review/tasks/{taskId}/documents` 4. 交叉评查详情页使用新版评查详情页外壳 5. 提案、投票、待投票检查走 `v3 cross-review` 接口 6. 完成评查走 `POST /api/v3/cross-review/tasks/{taskId}/documents/{documentId}/complete` ## 本次已完成的前端收口 ### 1. 创建任务 文件: - `app/routes/cross-checking.upload.tsx` - `app/api/cross-checking/cross-files-upload.ts` 现状: - 不再把“上传文件 + 自动分配任务”作为主链路 - 改为先上传文档,再使用上传成功返回的 `documentId` 创建任务 - 创建任务请求体已经对齐后端 `v3` DTO: - `taskName` - `taskType` - `docTypeId` - `docTypeCode` - `memberUserIds` - `principalUserIds` - `documentIds` ### 2. 任务页 文件: - `app/api/cross-checking/cross-files.ts` - `app/routes/cross-checking._index.tsx` 现状: - 任务列表、统计、文档列表均已接新接口 - 返回任务页后仍保留 `openModal + taskId + taskName` 的 reopen 机制 ### 3. 详情页 文件: - `app/routes/cross-checking.result.tsx` - `app/components/reviews/ReviewTabs.tsx` 现状: - 页面外壳切到新版评查详情页 - 优先复用新版预览、tab、文件信息组件 - 交叉评查特有的提案面板仍保留,作为业务差异层 ### 4. 提案与投票 文件: - `app/api/cross-checking/cross-file-result.ts` 现状: - 已切到以下新接口: - `POST /api/v3/cross-review/proposals` - `POST /api/v3/cross-review/proposals/{proposalId}/votes` - `DELETE /api/v3/cross-review/proposals/{proposalId}` - `GET /api/v3/cross-review/documents/{documentId}/proposals` - `GET /api/v3/cross-review/documents/{documentId}/pending-votes` ## 边支能力迁移状态 结合最新后端实现,交叉评查的边支能力里,“向已有任务补传文档”也已经切到新版本链路。 ### 1. 向已有任务补传文档 文件: - `app/api/cross-checking/cross-files-upload.ts` 接口: - `POST /api/v3/cross-review/tasks/{taskId}/documents/upload` 调用位置: - `app/components/cross-checking/DocumentListModal.tsx` 当前实现: - 前端改为直接上传 `file` - 后端不再走旧 `cross_review` 边支上传逻辑 - 改为复用 `leaudit` 文档上传与抽取链路,再把新文档挂到交叉评查任务下 - 上传成功后任务状态会回到 `in_progress` 说明: - 这条能力已经不再依赖旧版 `v2 cross_review upload_documents` - 文档抽取、后续评查点生成与新版主链路保持一致 ## 仍保留旧接口的支链路 以下能力当前仍是旧接口,尚未迁到 `v3`: ### 1. 任务文档追加附件 文件: - `app/api/cross-checking/cross-files.ts` 接口: - `POST /api/v2/cross_review/tasks/{task_id}/documents/{document_id}/append_attachments` 调用位置: - `app/components/cross-checking/DocumentListModal.tsx` 说明: - 该能力主要服务合同场景的版本追加 - 当前仍可继续保留旧接口,等后端 `v3` 能力明确后再迁 ### 2. 合同模板上传 文件: - `app/api/cross-checking/cross-files.ts` 接口: - 复用上传服务 `/upload_contract_template` 调用位置: - `app/components/cross-checking/DocumentListModal.tsx` 说明: - 该能力不属于 `cross-review` 专属接口,暂不要求迁到 `v3 cross-review` ## 建议的后续迁移优先级 ### P1 - 追加附件:`appendTaskDocumentAttachments()` 原因: - 业务价值高,但更多是合同场景增强功能 - 可以在主链路稳定后迁 ### P2 - 历史兼容 helper 清理 - 旧注释、旧命名继续清理 原因: - 不影响业务,但能减少后续误接老接口的概率 ## 当前结论 可以认为交叉评查的核心业务链路已经完成 `v3` 迁移: - 创建任务 - 任务列表 - 文档列表 - 详情展示 - 提案投票 - 完成评查 - 已有任务补传文档 剩余工作主要集中在“追加附件”这条旧边支能力,以及后续兼容代码清理。