# QMS 质量管理系统 **Repository Path**: MerlinRong/QMS ## Basic Information - **Project Name**: QMS 质量管理系统 - **Description**: QMS 质量管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-10-07 - **Last Updated**: 2026-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# QMS 质量管理系统 **制造业质量管理全生命周期系统** 检验标准 · IQC 来料 · IPQC 制程 · FQC/OQC 成品 · NCR 不合格品 · 统计报表 [![Python](https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.110%2B-009688?logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![Vue](https://img.shields.io/badge/Vue-3.4-4FC08D?logo=vuedotjs&logoColor=white)](https://vuejs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15-4169E1?logo=postgresql&logoColor=white)](https://www.postgresql.org/) [![Tests](https://img.shields.io/badge/tests-45%20passed-16a34a)](qms-backend/tests) [![License](https://img.shields.io/badge/license-proprietary-lightgrey)](#-license)
--- ## 📦 仓库结构 ``` QMS/ ├── qms-backend/ # 后端 — FastAPI · SQLAlchemy 2.0 (async) · Pydantic v2 │ ├── app/core/ # 基础设施:配置 / 数据库 / 安全 / 异常 / 响应 │ ├── app/common/ # 公共组件:状态机 · GB/T 2828.1 抽样算法 · 编号生成器 │ ├── app/modules/ # 业务模块:system / standard / iqc / ipqc / fqc / ncr / report │ ├── alembic/ # 数据库迁移 │ └── tests/ # pytest 测试 ├── qms-frontend/ # 前端 — Vue 3.4 · TypeScript · Vite 5 · Element Plus · ECharts ├── deploy/ # 部署 — docker-compose · nginx · postgres 初始化 └── docs/ # 文档指引(正式文档见 .codebuddy/docs) ``` ## ✨ 功能模块 | 模块 | 功能 | 状态 | |------|------|:----:| | 系统管理 | JWT 双 Token 认证 · RBAC 菜单/按钮权限 · 操作审计 | ✅ | | 检验标准 | 版本快照 · GB/T 2828.1 抽样计算 · 审批发布 · 删除保护 | ✅ | | IQC 来料检验 | 报检幂等 · 免检规则 · 自动判定 · NCR 事务联动 | ✅ | | NCR 不合格品 | 状态机全流转 · MRB 双部门评审 · 处置/复检/闭环 | ✅ | | IPQC 制程检验 | 首件/巡检/末件 · 异常触发 · 连续超差升级 | ✅ | | FQC/OQC 成品检验 | 合格放行 · 入库/出货前提校验 | ✅ | | 统计报表 | 合格率 · Pareto 分析 · NCR 统计 · 仪表盘 | ✅ | | 8D / CAPA / PDCA | 改进闭环管理 | 🚧 Phase 2 | | 质量追溯 | 正向/反向/供应商追溯 · 可视化链路 | 🚧 Phase 2 | | SPC 控制图 | Xbar-R · P 图 · Cp/Cpk 过程能力 | 📅 Phase 3 | ## 🚀 快速启动 ### 1. 后端(端口 8000) ```bash cd qms-backend python -m venv .venv .venv\Scripts\pip install -r requirements.txt -r requirements-dev.txt # Windows pip install -r requirements.txt -r requirements-dev.txt # Linux/macOS copy .env.example .env # 按需修改 DATABASE_URL / SECRET_KEY .venv\Scripts\python scripts\init_db.py # 建表 + 预置管理员 .venv\Scripts\python -m uvicorn app.main:app --reload --port 8000 ``` | 地址 | 说明 | |------|------| | http://127.0.0.1:8000/api/docs | Swagger API 文档 | | http://127.0.0.1:8000/api/v1/health | 健康检查 | > 默认账号:`admin / Admin123`(首次登录后请立即修改) ### 2. 前端(端口 5173,代理 /api → 8000) ```bash cd qms-frontend npm install npm run dev ``` ### 3. Docker 一键部署 ```bash cd deploy docker compose up -d --build # postgres + redis + api + nginx ``` ## 🧪 测试 ```bash cd qms-backend .venv\Scripts\python -m pytest -q ``` 覆盖范围: - GB/T 2828.1 抽样算法(标准锚点用例、箭头解析、全检边界) - 单项判定(计量/计数/外观三类型规则) - NCR 状态机(守卫条件、违规转移、让步/复检强制规则) - API 集成(认证 → 报检 → 录入 → 判定 → NCR 联动全链路) ## 🗄️ 数据库迁移(Alembic) ```bash cd qms-backend .venv\Scripts\python -m alembic upgrade head # 全新库:升级到最新 .venv\Scripts\python -m alembic stamp head # 已有旧库:采纳基线 .venv\Scripts\python -m alembic revision --autogenerate -m "描述" # 模型变更后生成迁移 ``` > 约定:所有表结构变更必须走 Alembic;每个迁移必须提供可回滚的 `downgrade`。 ## 🔌 API 概览 | 模块 | 路径前缀 | 示例 | |------|---------|------| | 认证 | `/api/v1/auth` | `POST /login` · `POST /refresh` | | 检验标准 | `/api/v1/inspection-standards` | `POST /calculate-sampling` | | IQC | `/api/v1/iqc` | `POST /inspections/{id}/submit` | | NCR | `/api/v1/ncr` | `POST /{id}/isolate` · `POST /{id}/close` | | 报表 | `/api/v1/reports` | `GET /defect-pareto` | 统一响应结构:`{ "code": 0, "message": "success", "data": {...} }`,错误码按模块分段(详见 SRS §11.1)。 ## 📐 编码约定 - 每次改动必须创建 Git commit,交付前测试全绿 - 模块/函数用 docstring 说明用途,关键行内注释解释**为什么** - 错误码分段遵循 SRS §11.1;单号编码遵循 SRS §11.3(如 `IQC-20261007-001`) ## 📄 文档体系 | 文档 | 说明 | |------|------| | SRS 软件需求规格说明书 | 需求基线(功能清单 / 业务规则 / 数据字典) | | SDS 系统设计说明书 | 总体设计 + 详细设计(架构 / 状态机 / 算法 / 库表) | | 编码实现方案 | WBS 任务拆解 / 迭代计划 / DoD 质量门禁 | > 文档位于 `.codebuddy/docs/`(已 gitignore,不随仓库分发)。 ## License Proprietary — 仅供项目团队内部使用。