# docgen **Repository Path**: andy0731/docgen ## Basic Information - **Project Name**: docgen - **Description**: 自动生成需求分析文档,测试报告,cosmic拆分表 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-18 - **Last Updated**: 2025-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 需求文档生成系统 基于Spring Boot的需求文档自动化生成系统,可通过Web界面上传Excel文件,自动生成多种需求相关的Word文档。 ## 功能特点 - 上传Excel文件并解析需求信息 - 选择需要处理的需求 - 自动生成需求分析说明书、概要设计说明书和开发自测报告 - 任务状态跟踪和历史查询 - 多种文档模板支持 - 异步处理大批量需求 ## 系统架构 系统采用分层架构: - **控制器层**:处理HTTP请求和响应 - **服务层**:实现核心业务逻辑 - **数据访问层**:管理数据持久化 - **模型层**:定义数据结构 任务处理采用双重保障机制: - 数据库持久化存储(`DocTaskService`) - 主要任务存储系统 - 内存存储备份(`TaskService`) - 在数据库不可用时提供备份 ## 技术栈 - **后端**:Spring Boot 2.7.x - **前端**:Bootstrap 5, Axios, Thymeleaf - **文档处理**:Apache POI, POI-TL, EasyExcel - **数据库**:MySQL 5.7+ - **工具库**:Hutool, Lombok, MyBatis-Plus ## 数据库设计 系统使用两个核心表: - **doc_generation_task**:存储文档生成任务 - 包含任务ID、状态、进度、输出路径等信息 - **doc_generation_file**:存储生成的文件记录 - 记录每个需求生成的文档信息 ## 使用方法 1. **启动应用**: ``` mvn spring-boot:run ``` 2. **访问系统**: ``` http://localhost:8080/docs ``` 3. **上传Excel文件**: - 点击上传按钮选择符合格式的Excel文件 - 系统解析文件显示需求列表 4. **选择需求**: - 勾选需要生成文档的需求 - 可通过搜索和筛选快速找到目标需求 5. **生成文档**: - 点击"生成文档"按钮提交任务 - 系统返回任务ID,可通过任务ID跟踪进度 6. **查询任务**: - 访问 `/tasks/{taskId}` 查看任务状态 - 或在任务列表页面查看所有任务 7. **下载文档**: - 任务完成后可下载生成的文档 ## Excel文件格式 系统支持的Excel文件应包含以下字段: - reqNo - 需求编号 - reqName - 需求名称 - reqDesc - 需求描述 - reqOwner - 需求提出人 - reqDeveloper - 开发人员 - functionList - 功能列表(使用"###"分隔) - expectOnlineTime - 预计上线时间 - onlineVersion - 发布版本 ## 配置选项 系统配置项位于`application.yml`文件: ```yaml app: upload: dir: ${user.home}/uploads/docgen # 上传文件存储目录 output: dir: ${user.home}/docoutput # 生成文档输出目录 doc: template: dir: src/main/resources/template # 模板目录 req-analysis: ReqAnalysisSpecification.docx # 需求分析模板 req-cosmic: RequirementFunList.xlsx # Cosmic模板 req-test: ReqDevSelfTestReport.docx # 自测报告模板 ``` ## 故障排除 ### 常见问题 1. **任务状态查询失败** - 确认使用正确的任务ID - 检查数据库连接是否正常 - 查看应用日志了解详细错误信息 2. **文档生成失败** - 检查Excel文件格式是否符合要求 - 确保模板文件完整无损 - 检查文件存储目录权限 3. **图表生成错误** - 确保Excel中数据格式一致 - 检查模板中的图表引用是否正确 ## 开发指南 ### 添加新功能 1. 创建相应的模型类 2. 实现服务接口和实现类 3. 添加控制器方法 4. 更新前端页面 ### 添加新的文档模板 1. 将模板文件放入`template`目录 2. 在`DocGenUtil`中添加处理逻辑 3. 在配置文件中注册模板路径 ## 许可证 [MIT License](LICENSE)