# GMP_Manager_Web **Repository Path**: duanmuchen/GMP_Manager_Web ## Basic Information - **Project Name**: GMP_Manager_Web - **Description**: 基于SprintBoot的GMP生产设备管理系统(前端) - **Primary Language**: Unknown - **License**: EPL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-23 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GMP设备管理系统 ## 📋 项目概述 GMP设备管理系统是一款专为药品生产企业设计的全面设备生命周期管理解决方案。系统基于**面向对象的系统分析、设计与实现方法**开发,严格遵循药品生产质量管理规范(GMP)要求,确保设备从采购、安装、使用、维护、校准到退役的全过程符合法规要求,保障药品生产质量和安全。 ### 系统定位 作为GMP系统的关键支撑模块,为药品生产企业提供全面的设备管理解决方案,确保设备状态符合GMP合规要求,提高设备可靠性和使用效率,降低设备维护成本,保障生产连续性。 ## 🎯 系统特点 1. **完整的设备生命周期管理**:实现从设备采购、安装、验证、使用、维护、校准到退役的全流程闭环管理 2. **严格的GMP合规性**:内置GMP合规检查机制,确保所有设备管理活动符合法规要求 3. **实时状态监控与智能告警**:基于MQTT协议实现设备实时监控,异常状态自动告警 4. **预防性维护体系**:基于设备运行数据制定预防性维护计划,降低故障率 5. **完善的历史追溯**:完整的设备操作记录和变更历史,支持完整的审计追踪 6. **系统集成能力**:支持与ERP、MES等系统集成,实现数据共享和协同工作 7. **用户友好界面**:基于Vue.js的前端设计,操作简洁高效 ## 📦 核心功能模块 ### 1. 采购申请管理 - **功能描述**: 设备采购申请的提交、审批和管理 - **适用角色**: 管理员、设备管理员 - **核心功能**: - 采购申请创建和编辑 - 多级审批工作流 - 采购订单生成 - 设备验收管理 - 申请状态跟踪 ### 2. 备件管理 - **功能描述**: 设备备件库存管理和维护 - **适用角色**: 管理员、设备管理员 - **核心功能**: - 备件信息管理 - 库存入库/出库操作 - 库存预警提醒 - 自动补货建议 - 库存价值统计 ### 3. 备件领用申请 - **功能描述**: 备件领用的申请和审批流程 - **适用角色**: 管理员、设备管理员(审批)、操作员(申请) - **核心功能**: - 领用申请提交 - 审批工作流 - 库存自动出库 - 申请历史查询 ### 4. 设备管理 - **功能描述**: 设备基本信息和状态管理 - **适用角色**: 管理员、设备管理员、操作员 - **核心功能**: - 设备信息维护 - 设备状态监控 - 设备档案管理 ### 5. 维护管理 - **功能描述**: 设备维护计划和记录管理 - **适用角色**: 管理员、维护工程师 - **核心功能**: - 维护计划制定 - 维护任务执行 - 维护记录追溯 ### 6. 校准管理 - **功能描述**: 设备校准计划和记录管理 - **适用角色**: 管理员、校准专员 - **核心功能**: - 校准计划管理 - 校准任务执行 - 校准记录追溯 ### 7. 验证管理 - **功能描述**: 设备验证和确认管理 - **适用角色**: 管理员、验证专员 - **核心功能**: - 验证计划制定 - 验证执行记录 - 验证结果管理 ### 8. 统计报表 - **功能描述**: 系统数据统计和报表生成 - **适用角色**: 管理员 - **核心功能**: - 设备状态统计 - 维护数据分析 - 合规性报告 ## 🏗️ 技术架构 ### 后端技术栈 - **框架**: Spring Boot 2.7.x + Spring Cloud Alibaba - **安全认证**: Spring Security + JWT Token - **数据访问**: MyBatis Plus + 多数据源支持 - **数据库**: - 主数据库:MySQL 8.0 (业务数据) - 时序数据库:Influx DB 1.8.10(设备监控数据) - 缓存数据库:Redis 3.2 - **消息中间件**: RabbitMQ + MQTT协议支持(emqx 5.3.2) - **对象存储**: 阿里云OSS/本地存储 - **API文档**: OpenAPI 3 (Swagger) - **构建工具**: Maven 3.8+ ### 前端技术栈 - **框架**: Vue 2.x + Vue CLI - **UI组件**: Element UI - **状态管理**: Vuex - **HTTP客户端**: Axios - **构建工具**: Webpack + NPM ### 部署环境 - **JDK版本**: 17+ - **Web服务器**: Tomcat 9.x / 内嵌Tomcat - **操作系统**: Linux/Windows Server - **容器化**: Docker + Docker Compose (可选) ## 🚀 快速开始 ### 环境准备 1. **安装Node.js**: 推荐使用Node.js 14.x或16.x版本 2. **安装依赖**: ```bash cd GMP_Manager_Web npm install ``` ### 开发环境运行 ```bash # 启动开发服务器 npm run serve # 构建生产版本 npm run build # 代码检查 npm run lint ``` ### 访问地址 - 开发环境: http://localhost:21091 - 生产环境: 根据部署配置确定 ## 📁 项目结构 ``` GMP_Manager_Web/ ├── public/ # 静态资源 ├── src/ │ ├── components/ # 公共组件 │ │ ├── ProcurementForm.vue # 采购申请表单 │ │ ├── SparePartForm.vue # 备件表单 │ │ └── SparePartRequestForm.vue # 备件领用申请表单 │ ├── router/ # 路由配置 │ ├── store/ # Vuex状态管理 │ ├── utils/ # 工具函数 │ ├── views/ # 页面组件 │ │ ├── admin/ # 管理员页面 │ │ │ ├── ProcurementManage.vue # 采购申请管理 │ │ │ ├── SparePartManage.vue # 备件管理 │ │ │ └── SparePartRequestManage.vue # 备件领用申请管理 │ │ ├── operator/ # 操作员页面 │ │ │ └── SparePartRequest.vue # 备件领用申请 │ │ └── ... │ └── ... ├── babel.config.js # Babel配置 ├── package.json # 项目配置 └── vue.config.js # Vue CLI配置 ``` ## 🔧 功能特性 ### 用户角色权限 - **系统管理员**: 完整的系统管理权限 - **设备管理员**: 设备和备件管理权限 - **维护工程师**: 设备维护相关权限 - **校准专员**: 设备校准相关权限 - **操作员**: 设备操作和领用申请权限 ### 审批工作流 系统内置完整的审批工作流机制: - 采购申请审批 - 备件领用审批 - 多级审批支持 - 审批历史追溯 ### 库存管理 - 实时库存监控 - 自动预警提醒 - 入库出库记录 - 库存价值统计 ## 📞 技术支持 如有问题或建议,请联系开发团队。 ## 📊 功能模块详解 ### 3.1 核心功能模块 #### 3.1.1 设备基础管理 - **设备主数据管理**:完整的设备信息登记,包括技术参数、供应商信息、出厂编号等 - **设备分类体系**:多维度设备分类(按工艺、风险等级、使用部门等) - **设备台账管理**:动态更新的设备台账,支持批量导入导出 - **设备档案管理**:全生命周期电子档案,支持文档附件管理 #### 3.1.2 设备维护管理 - **预防性维护计划**:基于设备类型、运行时间、使用频率自动生成维护计划 - **工单管理**:维护工单的创建、分配、执行、验收闭环管理 - **故障管理系统**:故障报告、原因分析、维修方案、效果验证 - **维护成本分析**:按设备、部门、时间段统计维护成本 - **备件库存联动**:维护任务自动关联备件库存消耗 #### 3.1.3 设备校准管理 - **校准计划制定**:基于法规要求和设备重要性制定校准周期 - **校准任务流程**:任务分配→执行记录→证书管理→结果确认 - **证书电子化管理**:校准证书扫描件上传、防伪验证、到期提醒 - **校准状态控制**:校准过期自动锁定设备使用权限 #### 3.1.4 设备状态监控 - **实时数据采集**:通过MQTT协议实时采集设备运行参数 - **可视化监控界面**:设备运行状态仪表盘、趋势图表 - **智能告警规则**:可配置的告警阈值和通知方式(短信、邮件、APP推送) - **预测性分析**:基于历史数据的故障预测和寿命评估 #### 3.1.5 设备报废管理 - **报废申请审批**:多级审批流程,支持电子签名 - **资产评估**:报废设备的残值评估和处理方案 - **档案归档**:报废设备历史数据的完整归档 - **环保合规**:危险设备报废的环保处理记录 #### 3.1.6 设备绩效分析 - **设备OEE分析**:计算设备综合效率(可用率×性能率×质量率) - **MTBF/MTTR分析**:平均故障间隔时间和平均修复时间统计 - **成本效益分析**:设备投资回报率、单位产能成本分析 - **对标分析**:同类设备性能对标,识别改进机会 ### 3.2 辅助功能模块 - **报表中心**:标准化报表模板,支持自定义报表设计 - **消息中心**:系统通知、待办提醒、消息推送 - **系统日志**:完整的操作日志、安全日志、系统日志 - **数据备份**:定时自动备份,支持数据恢复 ### 3.3 GMP合规功能 - **变更控制**:设备、程序、参数的变更必须通过变更控制流程 - **电子签名**:关键操作需要电子签名确认 - **审计追踪**:所有数据修改记录操作人、时间、原因 - **数据完整性**:符合ALCOA+原则(可归因、清晰、同步、原始、准确、完整、一致、持久、可用) - **权限控制**:基于角色的细粒度权限控制(RBAC) ## 🚀 快速开始 ### 环境要求 确保你的开发环境满足以下要求: - JDK 17或更高版本 - Maven 3.8+ - Node.js 16.x + NPM 8.x - MySQL 8.0 - Redis 3.2+ ### 后端部署 1. **克隆项目** ```bash git clone https://gitee.com/your-repo/gmp-system.git cd gmp-system ``` 2. **数据库初始化** ```bash # 创建数据库 mysql -u root -p -e "CREATE DATABASE gmp_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 导入初始数据(如果需要) mysql -u root -p gmp_system < docs/database/init.sql ``` 3. **配置修改** 编辑 `GMP_Manager/src/main/resources/application.yml`,修改数据库连接配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/gmp_system?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: your_username password: your_password ``` 4. **编译打包** ```bash # 清理并打包 mvn clean package -DskipTests # 或者使用快速打包 mvn clean package -DskipTests -Pprod ``` 5. **启动服务** ```bash # 开发环境运行 mvn spring-boot:run # 生产环境运行 java -jar target/gmp-management-system-1.0.0.jar --spring.profiles.active=prod ``` ### 前端部署 1. **安装依赖** ```bash cd GMP_Manager_Web npm install ``` 2. **配置修改** 修改 `GMP_Manager_Web/.env.production` 中的API地址: ```yaml VUE_APP_API_BASE_URL=http://your-server-address:8080 ``` 3. **运行项目** ```bash # 开发模式 npm run serve # 生产构建 npm run build # 构建后部署到Nginx # 将dist目录内容复制到Nginx的html目录 ``` ### Docker部署(可选) ```bash # 构建Docker镜像 docker build -t gmp-system:latest . # 运行容器 docker-compose up -d ``` ## 📖 使用说明 ### 系统初始化 1. 首次登录使用默认管理员账号:admin / admin 2. 立即修改默认密码 3. 配置组织架构、部门信息 4. 设置设备分类体系和编码规则 5. 配置系统参数和告警规则 ### 主要工作流程 #### 设备新增流程 ``` 设备采购 → 到货验收 → 安装调试 → 设备验证 → 投入使用 ``` #### 维护工作流程 ``` 维护计划 → 工单生成 → 任务分配 → 维护执行 → 结果记录 → 效果验证 ``` #### 校准工作流程 ``` 校准计划 → 任务通知 → 校准执行 → 证书上传 → 状态更新 → 过期提醒 ``` ## 🔧 开发指南 ### 开发规范 #### 编码规范 - 遵循阿里巴巴Java开发手册 - 使用Lombok简化实体类代码 - MyBatis Plus代码生成器生成基础CRUD - 前端遵循ESLint规范 #### 数据库设计规范 - 表名使用小写+下划线命名 - 主键统一使用`id`字段 - 逻辑删除使用`is_deleted`字段(1-未删除,0-已删除) - 创建时间和更新时间自动维护 #### 接口设计规范 - RESTful API设计风格 - 统一响应格式:`{"code": 200, "message": "success", "data": {}}` - 分页查询统一参数:`pageNum`, `pageSize` - 复杂查询使用DTO封装参数 ### 测试指南 #### 单元测试 ```bash # 运行所有测试 mvn test # 运行指定测试类 mvn test -Dtest=EquipmentServiceTest ``` #### 集成测试 ```bash # 使用TestContainers进行集成测试 mvn verify -Pintegration-test ``` #### API测试 - 使用Postman集合进行API测试 - 测试用例存放于`docs/test/postman`目录 ## 📈 性能与安全 ### 性能优化 - 数据库查询优化:索引优化、慢查询监控 - 缓存策略:Redis二级缓存、热点数据预加载 - 连接池配置:HikariCP连接池优化 - 前端性能:代码分割、懒加载、CDN加速 ### 安全措施 - 输入验证:防SQL注入、XSS攻击 - 身份认证:JWT Token + Refresh Token - 权限控制:基于角色的访问控制(RBAC) - 数据加密:敏感数据加密存储 - 日志审计:完整的操作审计日志 ## 🤝 贡献指南 我们欢迎所有形式的贡献!请遵循以下步骤: 1. **Fork仓库** 2. **创建功能分支** ```bash git checkout -b feature/your-feature-name ``` 3. **提交更改** ```bash git commit -m "Add some feature" ``` 4. **推送到分支** ```bash git push origin feature/your-feature-name ``` 5. **创建Pull Request** ### 代码提交规范 - feat: 新功能 - fix: 修复bug - docs: 文档更新 - style: 代码格式调整 - refactor: 代码重构 - test: 测试相关 - chore: 构建过程或辅助工具的变动 ## 📄 许可证 本项目采用MIT许可证。详见[LICENSE](https://license/)文件。 ## 📞 支持与反馈 - 问题反馈:请使用GitHub Issues - 功能建议:欢迎提交Feature Request - 技术交流:加入我们的技术交流群 - 文档更新:持续维护中,欢迎贡献文档 ## 🎓 学术引用 本系统作为毕业设计项目,完整实现了从需求分析、系统设计、编码实现到测试部署的全过程。项目文档包含详细的设计思路、实现过程、测试结果及分析,符合高校毕业设计要求。 ------ **最后更新**: 2025年12月 **版本**: 1.0.0 **作者**: GMP系统开发团队