# nqs_erp **Repository Path**: markwang2764/nqs_erp ## Basic Information - **Project Name**: nqs_erp - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-30 - **Last Updated**: 2025-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NQS ERP 制造业管理系统 一个基于 Java 17 + Spring Boot 3.x + React 18 + TypeScript 的现代化制造业ERP管理系统。 ## 项目简介 本项目是对传统C/S架构ERP系统的现代化重构,采用微服务架构、前后端分离的设计模式,提供高性能、易扩展、易维护的企业级应用。 ## 技术栈 ### 后端 - Java 17 - Spring Boot 3.2.0 - Spring Cloud Alibaba 2022.0.0.0 - MySQL 8.0 - Redis 7.x - RabbitMQ 3.x - MyBatis Plus 3.5.5 - Nacos 2.x (服务注册与配置中心) - Sentinel (流量控制) - Seata (分布式事务) - MinIO (对象存储) ### 前端 - React 18.2 - TypeScript 5.3 - Ant Design 5.12 - Vite 5.0 - React Router 6.20 - React Query (服务端状态管理) - Zustand (客户端状态管理) - ECharts (数据可视化) ## 项目结构 ``` nqs_erp/ ├── nqs-erp-backend/ # 后端项目 │ ├── erp-common/ # 公共模块 │ │ ├── common-core/ # 核心工具类 │ │ ├── common-security/ # 安全组件 │ │ ├── common-redis/ # Redis组件 │ │ ├── common-log/ # 日志组件 │ │ ├── common-swagger/ # API文档 │ │ └── common-datasource/# 数据源组件 │ ├── erp-gateway/ # API网关 │ ├── erp-auth/ # 认证服务 │ └── erp-services/ # 业务服务 │ ├── erp-master-data/ # 基础数据服务 │ ├── erp-procurement/ # 采购服务 │ ├── erp-sales/ # 销售服务 │ ├── erp-production/ # 生产服务 │ ├── erp-warehouse/ # 仓储服务 │ ├── erp-quality/ # 质量服务 │ ├── erp-finance/ # 财务服务 │ ├── erp-report/ # 报表服务 │ ├── erp-workflow/ # 工作流服务 │ └── erp-file/ # 文件服务 ├── nqs-erp-frontend/ # 前端项目 │ ├── src/ │ │ ├── api/ # API接口 │ │ ├── components/ # 公共组件 │ │ ├── layouts/ # 布局组件 │ │ ├── pages/ # 页面组件 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ ├── utils/ # 工具函数 │ │ └── types/ # TypeScript类型 │ └── package.json ├── database/ # 数据库脚本 │ └── init-databases.sql # 初始化脚本 ├── docs/ # 文档目录 │ └── LOCAL_SETUP.md # 本地环境配置指南 ├── CLAUDE.md # 项目文档 └── README.md # 项目说明 ``` ## 快速开始 ### 环境要求 #### 必需 - **JDK 17+** - Java开发环境 - **Maven 3.9+** - Java项目构建工具 - **Node.js 18+** - 前端运行环境 - **pnpm 8+** - 前端包管理工具 - **MySQL 8.0+** - 数据库 #### 可选 - **Redis 7.x** - 缓存服务(推荐) - **Nacos 2.x** - 服务注册与配置中心(微服务模式) - **RabbitMQ 3.x** - 消息队列(异步处理) ### 1. 安装MySQL **macOS:** ```bash brew install mysql@8.0 brew services start mysql@8.0 ``` **Windows:** - 下载并安装MySQL 8.0:https://dev.mysql.com/downloads/mysql/ ### 2. 初始化数据库 ```bash # 连接MySQL mysql -u root -p # 执行初始化脚本 source database/init-databases.sql # 或者 mysql -u root -p < database/init-databases.sql ``` 这将自动创建8个微服务数据库和默认管理员账号。 ### 3. 配置后端 在服务模块的 `src/main/resources` 创建 `application-dev.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/erp_auth?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: your_mysql_password # 修改为你的MySQL密码 driver-class-name: com.mysql.cj.jdbc.Driver ``` ### 4. 启动后端服务 ```bash cd nqs-erp-backend # 编译项目 mvn clean install -DskipTests # 启动服务(以认证服务为例) cd erp-auth mvn spring-boot:run -Dspring-boot.run.profiles=dev ``` ### 5. 启动前端应用 ```bash cd nqs-erp-frontend # 安装依赖 pnpm install # 启动开发服务器 pnpm dev ``` ### 6. 访问应用 打开浏览器访问:`http://localhost:3000` 默认管理员账号: - 用户名: `admin` - 密码: `admin123` ### 详细配置指南 完整的本地开发环境配置请参考:[本地环境配置指南](docs/LOCAL_SETUP.md) ## 核心功能模块 ### 基础数据管理 - 物品档案:物品编码、规格、BOM等 - 客户管理:客户信息、分组、业务员 - 供应商管理:供应商信息、分类、联系人 ### 采购管理 - 采购合同/订单 - 采购计划(支持MRP生成) - 采购收货 - 供应商对账 ### 销售管理 - 销售合同/订单 - 销售计划 - 销售发货 - 客户对账 ### 生产管理 - 主生产计划(MPS) - MRP物料需求计划 - 生产工单 - 工序管理 - 产能管理 ### 仓储管理 - 库存管理(实时库存) - 出入库管理 - 库存盘点 - 批次/序列号管理 ### 质量管理 - IQC来料检验 - IPQC过程检验 - OQC出货检验 - 不良品管理 ### 财务管理 - 应收应付 - 成本核算 - 财务报表 ### 报表中心 - 采购报表 - 销售报表 - 生产报表 - 库存报表 ## 开发规范 ### 代码规范 - **Java**: 遵循阿里巴巴Java开发手册 - **TypeScript**: 使用ESLint + Prettier - **Git提交**: 遵循Conventional Commits规范 ### 分支管理 ``` master # 主分支(生产环境) ├── develop # 开发分支 │ ├── feature/xxx # 功能分支 │ ├── bugfix/xxx # 缺陷分支 │ └── hotfix/xxx # 紧急修复 ``` ### 提交规范 ``` feat: 新功能 fix: 修复bug docs: 文档更新 style: 代码格式调整 refactor: 重构 perf: 性能优化 test: 测试 chore: 构建过程或辅助工具的变动 ``` ## 开发工具推荐 - **IDE**: IntelliJ IDEA (后端) + VS Code (前端) - **API测试**: Postman / Apifox - **数据库工具**: Navicat / DBeaver - **Redis客户端**: RedisInsight - **Git客户端**: SourceTree / GitKraken ## 项目文档 详细的技术方案和实施计划请参考 [CLAUDE.md](./CLAUDE.md) ## 部署 ### 生产环境部署 生产环境推荐使用: - **Docker容器化部署** - 便于维护和扩展 - **Kubernetes集群部署** - 适合大规模部署 详细部署方案请参考技术文档。 ## 监控(规划中) - **应用监控**: Spring Boot Admin - **链路追踪**: Skywalking - **日志分析**: ELK Stack - **指标监控**: Prometheus + Grafana ## 常见问题 ### 1. MySQL连接失败? **检查项:** - MySQL服务是否启动:`mysql.server status`(macOS)或查看Windows服务 - 端口是否正确:默认3306 - 用户名密码是否正确 - 数据库是否已创建 ### 2. 前端无法连接后端? **解决方案:** - 确保后端服务已启动(检查控制台输出) - 检查 `vite.config.ts` 中的proxy配置 - 查看浏览器控制台Network标签的请求状态 ### 3. Maven编译失败? **解决方案:** ```bash # 清理并重新编译 mvn clean install -U -DskipTests # 检查JDK版本 java -version # 确保是JDK 17+ ``` ### 4. 前端依赖安装失败? **解决方案:** ```bash # 清理缓存 pnpm store prune # 重新安装 rm -rf node_modules pnpm-lock.yaml pnpm install ``` ### 5. 数据库初始化脚本执行失败? **解决方案:** - 确保使用的是MySQL 8.0+ - 检查字符集配置是否为utf8mb4 - 逐行执行SQL语句,定位具体错误 ## 贡献指南 1. Fork 本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'feat: Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 许可证 本项目采用 MIT 许可证。 ## 联系方式 如有问题或建议,请提交 Issue 或联系项目负责人。 --- **预计开发周期**: 23-31周(约6-8个月) **当前状态**: 🚧 开发中...