# EmployeeService **Repository Path**: leafyl/employee-service ## Basic Information - **Project Name**: EmployeeService - **Description**: 微服务框架 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2025-07-15 - **Last Updated**: 2025-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🏭 MES 制造执行系统 (Manufacturing Execution System) ## 📋 项目概述 这是一个基于.NET 6 和 SqlSugar ORM 框架构建的完整 MES 制造执行系统,提供从生产计划到质量检验的全流程数字化管理解决方案。系统采用微服务架构,支持多种 AI 集成方案。 ## ✨ 核心功能特性 ### 🔧 基础功能 - ✅ **自动数据库管理** - 基于实体类自动创建表结构和种子数据 - ✅ **软删除支持** - 完整的数据审计和恢复机制 - ✅ **详细日志记录** - 全链路操作日志和性能监控 - ✅ **RESTful API** - 标准化的 API 接口设计 - ✅ **数据库健康检查** - 实时监控数据库连接状态 ### 🏭 生产管理 - ✅ **生产订单管理** - 完整的生产订单生命周期管理 - ✅ **工单任务管理** - 支持任务分解、进度跟踪和状态管理 - ✅ **生产计划** - 智能排产和资源调度 - ✅ **工艺路线** - 灵活的工艺流程配置和管理 - ✅ **报工系统** - 实时生产数据采集和分析 ### 📦 物料与库存 - ✅ **BOM 管理** - 多层级物料清单管理和分解 - ✅ **物料分类** - 树形结构的物料分类体系 - ✅ **库存管理** - 实时库存监控和预警 - ✅ **出入库管理** - 完整的仓储作业流程 ### 🔍 质量管理 - ✅ **质检计划** - 灵活的质检方案配置 - ✅ **检验项目** - 标准化的检验项目管理 - ✅ **质检报告** - 自动生成质检报告和统计分析 - ✅ **不合格品处理** - 完整的质量问题追溯体系 ### 🤖 AI 智能化 - ✅ **扣子 AI 集成** - 支持扣子空间智能体对话 - ✅ **LangChain 支持** - 基于 Semantic Kernel 的智能问答 - ✅ **MCP 协议** - 标准化的 AI 工具调用协议 - ✅ **MES 知识库** - 智能化的生产知识管理 ## 🚀 快速开始 ### 1. 环境要求 - .NET 6.0 SDK 或更高版本 - PostgreSQL 12+ 数据库 - Visual Studio 2022 或 VS Code ### 2. 配置数据库连接 在 `SqlsugarService.API/appsettings.json` 中配置数据库连接字符串: ```json { "ConnectionStrings": { "DefaultConnection": "Host=localhost;Port=5432;Database=mes_system;Username=admin;Password=123456;SearchPath=public" }, "KouziAI": { "ApiKey": "your-kouzi-api-key", "BotId": "your-bot-id", "BaseUrl": "https://api.coze.cn" } } ``` ### 3. 启动主服务 ```bash # 启动主MES服务 (端口: 5001) cd SqlsugarService.API dotnet run ``` 应用启动时会自动: - 创建表结构(如果不存在) - 初始化种子数据 - 注册所有业务服务 ### 4. 启动 MCP 服务 (可选) ```bash # 启动MCP协议服务 (端口: 5002) cd McpApi dotnet run ``` ### 5. 验证服务状态 #### 检查主服务健康状态 ```bash curl http://localhost:5001/api/database/status ``` #### 检查 MCP 服务状态 ```bash curl http://localhost:5002/api/mcp/health ``` #### 测试 AI 功能 ```bash curl -X POST http://localhost:5001/api/KouziAI/send-message \ -H "Content-Type: application/json" \ -d '{"content": "查询当前生产订单状态"}' ``` #### 测试生产订单查询 ```bash curl -X GET "http://localhost:5001/api/ProductionOrder/GetProductionOrderList?pageIndex=1&pageSize=10" ``` ## 📚 API 接口文档 ### 🔧 数据库管理 - `POST /api/database/initialize` - 初始化数据库 - `POST /api/database/reset` - 重置数据库 - `GET /api/database/status` - 获取数据库状态 - `GET /api/database/tables` - 获取所有表信息 ### 👥 用户管理 - `GET /api/users` - 获取所有用户 - `GET /api/users/{id}` - 根据 ID 获取用户 - `POST /api/users` - 创建新用户 - `PUT /api/users/{id}` - 更新用户信息 - `DELETE /api/users/{id}` - 删除用户(软删除) ### 🏭 生产订单管理 - `GET /api/ProductionOrder/GetProductionOrderList` - 获取生产订单分页列表 - `GET /api/ProductionOrder/GetProductionOrderById/{id}` - 获取生产订单详情 - `POST /api/ProductionOrder/AddProductionOrder` - 创建生产订单 - `PUT /api/ProductionOrder/UpdateProductionOrder` - 更新生产订单 ### 📋 工单任务管理 - `POST /api/WorkOrderTask/list` - 获取工单任务分页列表 - `GET /api/WorkOrderTask/{id}` - 获取工单任务详情 - `POST /api/WorkOrderTask/work-report` - 工单任务报工 - `POST /api/WorkOrderTask/batch-work-report` - 批量报工 - `GET /api/WorkOrderTask/work-reports/{taskId}` - 获取报工记录 ### 📦 BOM 管理 - `POST /api/Bom/add` - 新增 BOM - `GET /api/Bom/list` - 获取 BOM 列表 - `GET /api/Bom/{id}` - 获取 BOM 详情 - `POST /api/Bom/decompose` - BOM 分解 ### 🧱 物料管理 - `GET /api/Material` - 获取物料分类列表 - `GET /api/Material/tree` - 获取物料分类树 - `POST /api/Material/category` - 创建物料分类 - `GET /api/Material/products` - 获取产品列表 ### 🔍 质量检验 - `GET /api/QualityInspectionPlanWorkReport/list` - 获取质检计划列表 - `POST /api/QualityInspectionPlanWorkReport/create` - 创建质检计划 - `GET /api/QualityInspectionPlanWorkReport/{id}` - 获取质检详情 ### 🤖 AI 智能助手 - `POST /api/KouziAI/send-message` - 发送消息给扣子 AI - `POST /api/KouziAI/send-message-stream` - 流式发送消息 - `GET /api/KouziAI/health` - AI 服务健康检查 - `POST /api/LangChain/chat` - LangChain 智能问答 - `POST /api/MESAssistant/query` - MES 智能助手查询 ### 🔗 MCP 协议接口 - `POST /api/mcp` - MCP 协议端点 - `GET /api/mcp/health` - MCP 服务健康检查 - `GET /api/mcp/info` - MCP 服务信息 ## 🏗️ 项目架构 ### 主要项目结构 ``` EmployeeService/ ├── SqlsugarService.API/ # 🌐 Web API 层 │ ├── Controllers/ # 控制器 │ │ ├── BomRelatedController/ # BOM 相关控制器 │ │ ├── PlanController/ # 计划管理控制器 │ │ ├── ProductionOrders/ # 生产订单控制器 │ │ ├── QualityInspection/ # 质量检验控制器 │ │ ├── KouziAIController.cs # 扣子 AI 控制器 │ │ ├── LangChainController.cs # LangChain 控制器 │ │ └── MESAssistantController.cs # MES 助手控制器 │ ├── Program.cs # 应用启动配置 │ └── appsettings.json # 配置文件 ├── SqlsugarService.Domain/ # 🏛️ 领域层 │ ├── Users.cs # 用户实体 │ ├── BOM/ # BOM 相关实体 │ ├── Craftsmanship/ # 工艺相关实体 │ ├── Materials/ # 物料相关实体 │ ├── Plan/ # 计划相关实体 │ ├── QualityInspection/ # 质检相关实体 │ ├── Station/ # 工位相关实体 │ ├── Team/ # 班组相关实体 │ └── Common/BaseEntity.cs # 基础实体类 ├── SqlsugarService.Infrastructure/ # 🔧 基础设施层 │ ├── DbContext/SqlsugarDbContext.cs # SqlSugar 数据库上下文 │ ├── Repository/ # 仓储实现 │ └── Services/ # 基础设施服务 ├── SqlsugarService.Application/ # 📋 应用层 │ ├── Service/ # 业务服务 │ │ ├── Sales/ # 销售服务 │ │ ├── Material/ # 物料服务 │ │ ├── Plan/ # 计划服务 │ │ └── Process/ # 工艺服务 │ ├── DTOs/ # 数据传输对象 │ └── AI/ # AI 相关服务 │ ├── KouZi-AI/ # 扣子 AI 集成 │ ├── LangChain/ # LangChain 集成 │ └── MES/ # MES 智能助手 └── McpApi/ # 🤖 MCP 协议服务 ├── Controllers/MCPController.cs # MCP 协议控制器 ├── Services/ # MCP 服务 └── Tools/ # MCP 工具集 ``` ## 🔧 开发指南 ### 添加新实体 1. 在 `SqlsugarService.Domain` 对应模块中创建新的实体类 2. 继承 `BaseEntity` 获得审计字段支持 3. 使用 `[SugarTable]` 特性指定表名 4. 在 `SqlsugarDbContext.cs` 的 `entityTypes` 数组中添加新实体类型 示例: ```csharp [SugarTable("products")] public class Product : BaseEntity { [SugarColumn(IsPrimaryKey = true)] public Guid Id { get; set; } = Guid.NewGuid(); [SugarColumn(Length = 100, IsNullable = false)] public string Name { get; set; } = string.Empty; [SugarColumn(DecimalDigits = 2)] public decimal Price { get; set; } public Guid CategoryId { get; set; } } ``` ### 添加新服务 1. 在 `SqlsugarService.Application/IService` 中定义服务接口 2. 在 `SqlsugarService.Application/Service` 中实现服务 3. 在 `Program.cs` 中注册服务依赖注入 4. 创建对应的控制器和 DTO ### 集成新的 AI 工具 1. 在 `SqlsugarService.Application/AI` 中创建新的 AI 服务 2. 实现相应的接口和 DTO 3. 在 MCP 服务中注册新工具(如需要) 4. 更新 API 文档 ## 🛠️ 技术栈 ### 后端技术 - **.NET 6** - 现代化的跨平台开发框架 - **SqlSugar ORM 5.1.4.198** - 高性能 ORM 框架 - **PostgreSQL 12+** - 企业级关系型数据库 - **ASP.NET Core Web API** - RESTful API 框架 ### AI 集成 - **扣子 AI (Coze)** - 智能对话和工具调用 - **Microsoft Semantic Kernel** - 企业级 AI 编排框架 - **Model Context Protocol (MCP)** - 标准化 AI 工具协议 ### 开发工具 - **Swagger/OpenAPI** - API 文档自动生成 - **Serilog** - 结构化日志记录 - **AutoMapper** - 对象映射 - **FluentValidation** - 数据验证 ## 🚨 注意事项 ### 生产环境部署 1. **数据库权限**:确保数据库用户有创建表和索引的权限 2. **连接字符串**:使用环境变量管理敏感配置信息 3. **API 密钥**:妥善保管 AI 服务的 API 密钥 4. **数据备份**:建立定期数据备份策略 5. **监控告警**:配置应用性能监控和异常告警 ### 安全考虑 - 启用 HTTPS 加密传输 - 配置 CORS 策略 - 实施 API 限流和认证 - 定期更新依赖包版本 ## 🔧 故障排除 ### 常见问题 | 问题 | 可能原因 | 解决方案 | | --------------- | ------------------------ | -------------------------- | | 数据库连接失败 | 连接字符串错误或网络问题 | 检查连接字符串和防火墙设置 | | AI 服务调用失败 | API 密钥无效或配额不足 | 验证 API 密钥和账户余额 | | 表创建失败 | 数据库权限不足 | 授予用户 DDL 权限 | | MCP 协议错误 | 请求格式不正确 | 检查 JSON-RPC 请求格式 | ### 日志分析 系统提供详细的日志信息: - **SQL 执行日志** - 数据库操作追踪 - **API 调用日志** - 请求响应记录 - **AI 交互日志** - AI 服务调用详情 - **错误异常日志** - 完整的错误堆栈信息 ## 📖 相关文档 - [工单任务管理 API 指南](./WorkOrderTask_API_Guide.md) - [MCP 集成指南](./McpApi/INTEGRATION_GUIDE.md) - [扣子 AI 集成文档](./SqlsugarService.Application/AI/KouZi-AI/README.md) ## 🤝 贡献指南 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 📞 联系方式 - 项目维护者:[您的姓名] - 邮箱:[您的邮箱] - 项目地址:[GitHub 仓库地址] --- **🎉 感谢使用 MES 制造执行系统!** 如果您觉得这个项目对您有帮助,请给我们一个 ⭐ Star!