# tools-requirement **Repository Path**: devbigapp/tools-requirement ## Basic Information - **Project Name**: tools-requirement - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-30 - **Last Updated**: 2026-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 需求分析与日志分析工具 [![项目架构](https://img.shields.io/badge/Architecture-MVC-blue.svg)](https://img.shields.io/badge/Architecture-MVC-blue.svg) [![技术栈](https://img.shields.io/badge/Tech%20Stack-Spring%20Boot%20%2B%20Vue%203-green.svg)](https://img.shields.io/badge/Tech%20Stack-Spring%20Boot%20%2B%20Vue%203-green.svg) [![License](https://img.shields.io/badge/License-Internal%20Use-yellow.svg)](https://img.shields.io/badge/License-Internal%20Use-yellow.svg) [![Version](https://img.shields.io/badge/Version-v1.0.11-orange.svg)](https://img.shields.io/badge/Version-v1.0.11-orange.svg) 本项目包含**Web应用**和**Android应用**两部分: - **Web应用**:基于 Web 的本地/内网部署应用,导入团队 Excel 需求数据与日志数据,自动计算多维度指标,生成交互式分析报告,并支持成本测算、预测、数据管理与备份恢复。全部数据留在本机或内网,不上传公网。 - **Android应用**:移动端需求分析与数据管理工具,支持离线使用。 | 项 | 说明 | |----|------| | 当前版本 | **v1.0.11**(`code/web/backend` / `code/web/frontend`) | | 默认入口 | 报告中心 `/reports` | | 适用环境 | 内网、本机 Docker、飞牛 NAS Docker、Android设备 | | 鉴权 | 无登录(仅适合受控内网) | --- ## 目录 - [文档导航](#文档导航) - [项目概述](#项目概述) - [功能模块](#功能模块) - [技术架构](#技术架构) - [环境与端口](#环境与端口) - [快速开始](#快速开始) - [使用流程](#使用流程) - [前端页面](#前端页面) - [API 概览](#api-概览) - [项目结构](#项目结构) - [测试与质量](#测试与质量) - [常见问题](#常见问题) - [贡献与许可](#贡献与许可) - [更新日志](#更新日志) --- ## 文档导航 本仓库采用 **`docs/` 01-09 主类目** 文档结构。日常开发以 `code/web/README.md` 为准。 | 你想… | 从这里开始 | |--------|------------| | 查业务 PRD | [docs/01-产品/](docs/01-产品/) | | 查接口与功能细节 | [docs/04-开发/](docs/04-开发/) / [docs/03-核心功能/](docs/03-核心功能/) | | Web工程运行说明 | [code/web/README.md](code/web/README.md) | | 文档中心总览 | [docs/README.md](docs/README.md) | **推荐接手路径**:`01-产品/` PRD → `03-核心功能/功能说明` → `04-开发/接口文档` → 源码 `code/web/frontend`、`code/web/backend`。 --- ## 项目概述 ### 📊 产品架构图 ```mermaid graph TB A[用户
浏览器/移动端] -->|HTTP请求| B[前端层
Vue3 + Element Plus] B -->|API调用| C[后端层
Spring Boot 3.2] C -->|JDBC| D[数据层
MySQL 8.0] C -->|文件处理| E[文件模块
Excel/PDF/Markdown] C -->|分析引擎| F[分析服务
21项核心指标] G[备份迁移模块] -->|数据导出导入| D H[配置管理模块] -->|规则配置| C style A fill:#e1f5ff style B fill:#fff4e1 style C fill:#e8f5e9 style D fill:#fce4ec style E fill:#f3e5f5 style F fill:#e0f7fa style G fill:#f1f8e9 style H fill:#fff3e0 ``` ### Web应用 系统面向团队管理的**需求分析**与**日志分析**场景:将 Excel 需求明细、任务关联、人工单价、人员成本等数据导入 MySQL,经分析引擎计算多维度核心指标,输出多类报告(综合分析、成本、预测、利润贡献等),并支持 Excel / HTML / Markdown / PDF / PNG 导出与历史留存。 ### Android应用 移动端需求分析与数据管理工具,支持离线使用,内置数据种子,提供数据录入、分析、报告展示等功能。 ### 🎯 核心价值 | 维度 | 说明 | 图标 | |------|------|------| | **自动化** | 导入 Excel → 选时间范围 → 一键分析,替代手工汇总 | ⚡ | | **标准化** | 固化指标公式与校验规则,口径一致、可月度复用 | 📐 | | **可扩展** | 除经典分析报告外,含成本分析、成本预测、数据 CRUD、备份迁移 | 🚀 | | **可追溯** | 历史报告可查、可删、可导出;支持业务指标下钻 | 🔍 | | **本地化** | 数据与计算均在本地/内网,无 SaaS 依赖 | 🔒 | ### 💼 典型场景 ```mermaid pie title 主要应用场景占比 "月度需求质量汇报" : 35 "任务关联率审计" : 25 "人员利润测算" : 20 "成本预测管理" : 15 "其他场景" : 5 ``` - 每月固定节点的需求填写质量与达标率汇报 - 任务预算关联率审计、未关联风险名单 - 人员收入/利润测算与排名 - 按周 / 月 / 季 / 年或自定义区间的分析 - 全年成本预测与目标测算(成本预测模块) --- ## 功能模块 ### 📦 功能架构图 ```mermaid graph LR A[功能模块] --> B[数据导入
📥] A --> C[配置管理
⚙️] A --> D[报告中心
📊] A --> E[数据管理
🗂️] A --> F[备份迁移
💾] A --> G[导出历史
📋] B --> B1[需求明细
导入] B --> B2[任务关联
导入] B --> B3[成本数据
导入] D --> D1[综合分析
报告] D --> D2[核心指标
报告] D --> D3[成本预测
报告] D --> D4[利润贡献
报告] E --> E1[数据CRUD] E --> E2[异常检测] E --> E3[需求数据
管理] style A fill:#e3f2fd style B fill:#bbdefb style C fill:#90caf9 style D fill:#64b5f6 style E fill:#42a5f5 style F fill:#2196f3 style G fill:#1976d2 ``` ### 1. 数据导入与预览 📥 - 支持**需求明细**、**任务关联工时**、**人工单价**、**人员成本**、**离职补偿**等 Excel 上传(`.xlsx` / `.xls`) - 追加 / 覆盖模式;导入后预览 - 表头自动映射与清洗(需符合约定模板,见 PRD) ```mermaid flowchart TD A[上传Excel文件] --> B[校验文件格式] B -->|通过| C[解析Excel内容] B -->|失败| D[显示错误提示] C --> E[映射表头字段] E --> F[数据预览] F --> G[选择追加/覆盖模式] G --> H[写入数据库] H --> I[导入完成提示] ``` ### 2. 配置管理(`/config`)⚙️ - 法定工作日、达标阈值、人员分类、工作日修正 - 小组管理、项目地区映射 ### 3. 报告中心(`/reports`)📊 支持以下报告类型: | 类型 | 说明 | 图标 | |------|------|------| | 综合分析 | 多维度指标汇总,9 章结构化输出 | 📈 | | 核心指标 | 关键 KPI 快速查看 | 🎯 | | 需求专项 | 需求质量与达标率专项分析 | ✅ | | 成本分析 | 人员成本与工时成本核算 | 💰 | | 成本预测 | 全年/季度成本目标测算 | 🔮 | | 利润贡献 | 人员利润贡献排名与分析 | 📊 | ```mermaid graph TB A[报告生成流程] --> B[选择时间范围] B --> C[选择报告类型] C --> D[触发分析引擎] D --> E[计算21项核心指标] E --> F[生成报告数据] F --> G[渲染报告页面] G --> H[支持多种格式导出] ``` ### 4. 数据管理(`/data`)🗂️ 对库内数据进行维护,无需重复导入 Excel 即可微调: - 需求明细、任务关联、单价、法定工作日、人员成本、离职补偿 - 人员档案、改名、从需求初始化人员 - 异常检测、按月汇总、任务未关联下钻 ### 5. 备份与迁移 💾 ```mermaid sequenceDiagram participant U as 用户 participant S as 系统 participant D as 数据库 U->>S: 创建备份请求 S->>D: 读取所有数据表 D-->>S: 返回数据 S->>S: 打包成ZIP文件 S-->>U: 提供下载链接 U->>S: 上传备份文件 S->>S: 解压并校验数据 S->>D: 恢复数据 D-->>S: 确认恢复完成 S-->>U: 显示恢复成功 ``` - 按数据集导出 / 导入 - 备份创建、下载、恢复与完整性检查(`/api/data/transfer`) ### 6. 导出与历史 📋 - 导出:Excel(多工作表)、HTML、Markdown、PDF、PNG 等 - 历史报告列表、按条件筛选、重新打开、删除 --- ## 技术架构 ### 🛠️ 技术栈架构图 ```text ┌───────────────────────────────────────────────────────────────────────────────────┐ │ 前端层 (Vue 3) │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 页面组件 │ │ 路由管理 │ │ 状态管理 │ │ API调用 │ │ │ │ (Views) │ │ (Router) │ │ (Store) │ │ (Axios) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ ┌───────────────────────────────────────────────────────────────────────────┐ │ │ │ Vite 构建工具 │ │ │ │ Element Plus UI组件库 │ │ │ └───────────────────────────────────────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────────────────────────────────┘ │ │ HTTP/REST API ▼ ┌───────────────────────────────────────────────────────────────────────────────────┐ │ 后端层 (Spring Boot) │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Controller │ │ Service │ │ Mapper │ │ Entity/DTO │ │ │ │ (接口层) │ │ (业务层) │ │ (数据层) │ │ (模型层) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ ┌───────────────────────────────────────────────────────────────────────────┐ │ │ │ 分析引擎、文件处理、安全等核心服务 │ │ │ │ MyBatis-Plus、Apache POI、PDFBox、Spring Security │ │ │ └───────────────────────────────────────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────────────────────────────────┘ │ │ JDBC ▼ ┌───────────────────────────────────────────────────────────────────────────────────┐ │ 数据层 (MySQL 8.0) │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │需求明细表 │ │任务关联表 │ │成本数据表 │ │报告历史表 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ └───────────────────────────────────────────────────────────────────────────────────┘ ``` | 层级 | 技术栈 | 版本 | |------|--------|------| | 前端 | Vue 3.4、Vue Router 4、Vite 5、Element Plus、Axios、Playwright | ^3.4.0 | | 后端 | Java 17、Spring Boot 3.2.5、MyBatis-Plus 3.5.6、Apache POI、PDFBox | 3.2.5 | | 数据 | MySQL 8.0 | 8.0+ | | 部署 | Docker Compose、Nginx(前端静态)、可选飞牛 NAS 远程部署 | 20.10+ | ### 📊 技术选型说明 ```mermaid mindmap root((技术选型)) 前端 Vue 3 Composition API 响应式系统 Element Plus 企业级组件 主题定制 Vite 快速启动 热更新 后端 Spring Boot 自动配置 内嵌容器 MyBatis-Plus CRUD封装 代码生成 Java 17 性能优化 新特性 数据库 MySQL 8.0 事务支持 索引优化 部署 Docker 容器化 环境一致性 Nginx 反向代理 静态资源 ``` --- ## 环境与端口 ### 🔧 运行依赖 | 组件 | 版本要求 | 图标 | |------|----------|------| | JDK | 17+ | ☕ | | MySQL | 8.0+ | 🐬 | | Node.js | 18+ | 🟢 | | Docker | 20.10+(部署态) | 🐳 | | 浏览器 | Chrome / Edge / Firefox 最新版 | 🌐 | ### 🌐 双环境端口(可同时运行) ```mermaid graph TD A[开发环境
本地开发] B[部署环境
Docker部署] C[飞牛NAS部署
内网部署] A -->|前端端口:5281 A -->|后端API:7181 A -->|MySQL:3317 B -->|前端访问:8281 B -->|后端映射:8181 B -->|MySQL映射:3318 C -->|内网IP访问 style A fill:#e3f2fd style B fill:#e8f5e9 style C fill:#fff3e0 ``` | 场景 | 前端 | 后端 API | MySQL | 说明 | |------|------|----------|-------|------| | **开发态** | `5281` | `7181` | `3317` | Vite 开发服务 | | **部署态**(Docker) | `8281` | `8181`(映射容器内 `7181`) | `3318` | Docker 容器化部署 | - 开发态访问:`http://localhost:5281`(Vite 代理 `/api` → `7181`) - 本机 Docker:`http://localhost:8281` - 飞牛 NAS:执行部署脚本后访问 `http://:8281` 默认数据库:`analysis_requirement`,用户 `root` / `123456`(生产请修改)。 --- ## 快速开始 ### 🚀 启动流程图 ```mermaid graph TD A[开始] --> B{选择启动方式} B -->|本地开发| C[方式A:本地开发] B -->|Docker部署| D[方式B:Docker Compose] B -->|NAS部署| E[方式C:飞牛NAS部署] C --> F[启动成功!] D --> F E --> F F --> G[访问应用] ``` ### 方式 A:本地开发(推荐日常开发) ```bash # 1. 克隆 git clone <仓库地址> cd tools_analysis-project/code/web # 2. 初始化数据库(首次) bash scripts/init-db.sh # 3. 一键启动前后端 bash scripts/start-local-dev.sh ``` 访问 `http://localhost:5281` ### 方式 B:Docker Compose(推荐部署) ```bash cd code/web docker volume create log-analysis-mysql-data docker volume create log-analysis-backend-logs bash scripts/deploy-local-docker.sh ``` 访问 `http://localhost:8281` ### 方式 C:飞牛 NAS 部署 ```bash cd code/web bash scripts/deploy-fn-nas-docker.sh ``` 详细工程运行说明见 [code/web/README.md](code/web/README.md)。 --- ## 使用流程 ### 📝 业务流程图 ```mermaid graph LR A[导入数据] --> B[配置规则] B --> C[选择时间范围] C --> D[生成报告] D --> E[查看报告] E --> F{需要导出?} F -->|是| G[导出报告] F -->|否| H[留存历史] G --> H ``` 1. **导入**:`/import` 上传 Excel 文件(需求明细必传,其余按需) 2. **配置**:`/config` 设置法定工作日、达标阈值等 3. **分析**:`/reports` 选择报告类型与时间范围,点击生成 4. **导出**:报告页内选择格式导出,或在历史列表重新打开 --- ## 前端页面 ### 🎨 页面导航图 ```mermaid graph TB A[首页
/] --> B[报告中心
/reports] A --> C[数据导入
/import] A --> D[需求导入
/requirement-import] A --> E[配置管理
/config] A --> F[数据管理
/data] A --> G[关于
/about] B --> H[报告详情
/report/:id] B --> I[历史报告
/history] style A fill:#e3f2fd style B fill:#bbdefb style C fill:#90caf9 style D fill:#64b5f6 style E fill:#42a5f5 style F fill:#2196f3 style G fill:#1976d2 ``` | 路由 | 页面 | 说明 | 图标 | |------|------|------|------| | `/import` | 数据导入 | Excel 上传与预览 | 📥 | | `/requirement-import` | 需求导入 | 需求专项导入 | 📋 | | `/config` | 配置管理 | 规则与参数配置 | ⚙️ | | `/reports` | 报告中心 | 报告生成与历史 | 📊 | | `/report/:id` | 报告详情 | 单份报告查看 | 📈 | | `/data` | 数据管理 | 库内数据 CRUD | 🗂️ | | `/requirement-data` | 需求数据 | 需求数据管理 | 📝 | | `/history` | 历史报告 | 历史列表与管理 | 📚 | | `/management` | 管理看板 | 综合管理视图 | 📊 | | `/about` | 设置 | 运行环境与接口治理 | ℹ️ | --- ## API 概览 ### 🔌 API 架构图 ```mermaid graph LR A[前端
Vue3] -->|HTTP请求| B[后端API
Spring Boot] B --> C[导入模块
/api/import] B --> D[配置模块
/api/config] B --> E[报告模块
/api/reports] B --> F[数据模块
/api/data] B --> G[系统模块
/api/about] C --> H[Excel解析
Apache POI] E --> I[分析引擎
21项指标] F --> J[备份迁移
数据导出/导入] G --> K[健康检查
/health] ``` | 前缀 | 说明 | 主要功能 | |------|------|----------| | `/api/import` | 数据导入 | Excel上传、数据验证、预览 | | `/api/config` | 配置读写 | 规则配置、参数管理 | | `/api/reports` | 报告生成与查询 | 分析计算、报告生成、历史查询 | | `/api/data` | 数据管理与备份迁移 | CRUD操作、备份恢复 | | `/api/about` | 系统信息与健康检查 | 版本信息、健康状态 | 完整接口文档见 `docs/04-开发/`。 --- ## 项目结构 ### 📁 目录树 ```mermaid graph TB A[tools_analysis-project] --> B[code] A --> C[docs] A --> D[README.md] B --> B1[app] B --> B2[web] B1 --> B11[android
Android应用] B1 --> B12[原型设计
应用原型] B2 --> B21[backend
Spring Boot] B2 --> B22[frontend
Vue3] B2 --> B23[scripts
部署脚本] B2 --> B24[deploy
部署文件] B2 --> B25[doc
工程文档] B2 --> B26[qa
质量测试] B2 --> B27[docker-compose.yml] C --> C1[01-产品
PRD文档] C --> C2[02-架构
架构设计] C --> C3[03-核心功能
功能说明] C --> C4[04-开发
开发文档] C --> C5[05-测试
测试文档] ``` ``` tools_analysis-project/ ├── code/ │ ├── app/ │ │ ├── android/ # Android 应用 │ │ └── 原型设计/ # 应用原型设计 │ └── web/ # Web 应用 │ ├── backend/ # Spring Boot 后端 │ ├── frontend/ # Vue 3 前端 │ ├── scripts/ # 部署与运维脚本 │ ├── deploy/ # 部署相关文件 │ ├── doc/ # 工程级文档 │ ├── qa/ # 质量保证测试 │ └── docker-compose.yml ├── docs/ # 业务文档(01-09 主类目) │ ├── 01-产品/ │ ├── 02-架构/ │ ├── 03-核心功能/ │ ├── 04-开发/ │ ├── 05-测试/ │ └── ... └── README.md # 本文件 ``` --- ## 测试与质量 ### ✅ 测试策略图 ```mermaid graph TB A[测试策略] --> B[单元测试] A --> C[集成测试] A --> D[E2E测试] B --> B1[后端单元测试
JUnit 5] B --> B2[前端单元测试
Vitest] C --> C1[后端集成测试
Spring Test] C --> C2[API接口测试] D --> D1[Playwright
端到端测试] ``` | 类型 | 工具 | 命令 | 覆盖范围 | |------|------|------|----------| | 后端单元/集成测试 | JUnit 5 + Spring Test | `mvn test` | 业务逻辑、数据访问 | | 前端单元测试 | Vitest | `npm run test` | 组件、工具函数 | | E2E 测试 | Playwright | `npm run test:e2e` | 用户流程、关键功能 | 提交前需跑通 `mvn test` 与关键 E2E 用例。 --- ## 常见问题 ### ❓ FAQ 解答 | 问题 | 答案 | |------|------| | **启动后端报数据库连接失败?** | 确认 MySQL 已启动,数据库 `requirement_analysis` 已创建,`application.yml` 中连接配置与本机一致。 | | **前端页面空白或接口 404?** | 开发态确认后端在 `7181` 端口运行;部署态确认 Docker 容器均已启动(`docker compose ps`)。 | | **Excel 导入报错"表头不匹配"?** | 检查 Excel 列名是否符合约定模板,详见 `docs/01-产品/` PRD 中的字段说明。 | | **如何修改默认密码?** | 修改 `code/docker-compose.yml` 中 MySQL 环境变量及 `backend/src/main/resources/application.yml` 中的数据源配置,保持一致后重新部署。 | --- ## 贡献与许可 ### 🤝 开发约定 - 后端:阿里巴巴 Java 开发手册 - 前端:ESLint + Prettier(按项目配置) - 提交前需跑通 `mvn test` 与关键 E2E ### 📋 协作流程 ```mermaid flowchart TD A[Fork仓库] --> B[创建特性分支] B --> C[编写代码] C --> D[运行测试] D --> E{测试通过?} E -->|是| F[提交代码] E -->|否| C F --> G[Push到远程] G --> H[创建Pull Request] H --> I[代码审查] I --> J{审查通过?} J -->|是| K[合并到主分支] J -->|否| C ``` 1. Fork → 特性分支 → 提交 → Push → Pull Request 2. 文档变更同步更新 `docs/README.md` 或 `docs/` 对应主类目 README ### 📄 许可与联系 - **许可**:仅供内部使用 - **维护**:团队开发组 --- ## 更新日志 ### 📅 版本历史图 ```mermaid gantt title 项目版本历史 dateFormat YYYY-MM-DD section v1.0.x v1.0.0 :done, a1, 2026-05-11, 2d v1.0.10 :done, a2, 2026-05-15, 1d v1.0.11 :active, a3, 2026-05-18, 1d ``` ### v1.0.11(当前) - 新增需求数据管理模块(Excel 导入、分析、报告导出) - 数据管理页面增强:需求数据 CRUD 与统计 - 后端新增 `RequirementController`、`RequirementAnalysisService`、`RequirementImportService` - 前端新增需求导入页面 `/requirement-import` 与需求报告页面 `/requirement-reports` ### v1.0.10(2026-05-15) - 成本预测、利润贡献、数据管理、备份迁移模块 - 报告中心多类型报告(business / core / log / cost / forecast) - 开发/部署双端口;本机与飞牛 NAS Docker 脚本与 `deploy-lib.sh` - 核心回归脚本与 Playwright 主链路 ### v1.0.0(2026-05-11) - 初始发布:Excel 导入、21 项指标、9 章综合分析、历史与导出 --- **最后更新**:2026-05-18