You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
- AlarmService使用IAlarmRepository实现告警CRUD操作 - 实现GetAllAlarmsAsync、GetActiveAlarmsAsync、CreateAlarmAsync等方法 - 实现GetAlarmsByTypeAsync、GetDeviceAlarmsAsync等查询方法 - 实现ResolveAlarmAsync解决告警功能 - dotnet build 0 Error |
3 weeks ago | |
|---|---|---|
| Haoliang/Data | 4 weeks ago | |
| Haoliang.Api | 3 weeks ago | |
| Haoliang.Core | 3 weeks ago | |
| Haoliang.Data | 3 weeks ago | |
| Haoliang.Models | 3 weeks ago | |
| database | 4 weeks ago | |
| src/backend | 3 weeks ago | |
| test-reports | 4 weeks ago | |
| AGENTS.md | 3 weeks ago | |
| DEVELOPMENT_REQUIREMENTS.md | 3 weeks ago | |
| Haoliang.sln | 3 weeks ago | |
| IMPLEMENTATION_PLAN.md | 3 weeks ago | |
| appsettings.json | 3 weeks ago | |
| readme.md | 3 weeks ago | |
| test.sh | 4 weeks ago | |
| 发那科系统采集示例.txt | 4 weeks ago | |
| 详细功能设计文档.md | 4 weeks ago | |
| 需求文档.md | 4 weeks ago | |
readme.md
CNC机床数据采集分析系统
项目概述
CNC机床多品牌统一化分布式数据采集分析系统,实现设备状态监控、零件产量自动统计、加工过程分析、人员与设备绑定管理,及BI大屏实时展示。
技术栈
- 后端: .NET 8.0 Web API
- 数据库: MySQL 8.0+ (使用 Pomelo.EntityFrameworkCore.MySql)
- ORM: Entity Framework Core 8.0
- API文档: Swagger/OpenAPI
项目结构
haoliang/
├── Haoliang.Api/ # Web API 项目
│ ├── Controllers/ # API 控制器
│ ├── Program.cs # 应用程序入口
│ └── appsettings.json # 配置文件
├── Haoliang.Core/ # 核心业务逻辑项目
├── Haoliang.Data/ # 数据访问层项目
│ ├── Entities/ # 实体类
│ └── Repositories/ # 数据仓储
├── Haoliang.Models/ # 数据模型项目
├── database/ # 数据库脚本
├── frontend/ # 前端项目
└── test-reports/ # 测试报告
快速开始
环境要求
- .NET 8.0 SDK
- MySQL 8.0+
- Visual Studio 2022 或 VS Code
安装步骤
- 克隆项目
git clone <repository-url>
cd haoliang
- 还原 NuGet 包
dotnet restore
- 配置数据库连接
打开
Haoliang.Api/appsettings.json,修改数据库连接字符串:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=cnc_business;Uid=root;Pwd=your_password;"
}
}
- 更新数据库
dotnet ef database update
- 运行项目
dotnet run --project Haoliang.Api
运行测试
# 运行所有测试
./test.sh
核心功能
1. 设备管理
- CNC设备信息管理
- 设备状态监控
- 设备模板配置
2. 生产统计
- 零件产量自动统计
- 加工过程分析
- 程序切换处理逻辑
3. 用户管理
- 用户信息管理
- 权限控制
- 设备绑定管理
4. 系统管理
- 系统配置
- 日志管理
- 告警管理
API 文档
启动项目后,访问以下地址查看 API 文档:
- Swagger UI:
https://localhost:5001/swagger
开发规范
代码提交规范
重要: 每次代码修改,经过测试通过之后,提交到git,并写清楚修改内容
提交信息格式
<type>: <description>
[optional body]
[optional footer]
Type 类型说明
feat: 新功能fix: 修复bugdocs: 文档更新style: 代码格式调整refactor: 代码重构test: 测试相关chore: 构建工具或依赖管理
提交示例
feat: 添加设备批量导入功能
- 实现Excel文件上传和解析
- 添加设备数据验证逻辑
- 批量插入优化,减少数据库查询次数
fix: 修复设备状态更新失败的问题
- 修复并发更新时的竞态条件
- 添加重试机制
- 优化错误处理逻辑
测试规范
- 所有新功能必须包含单元测试
- 测试覆盖率要求达到 80% 以上
- 测试用例需要覆盖正常和异常情况
- 运行测试命令:
dotnet test
代码规范
- 遵循 C# 编码规范
- 使用异步编程模式
- 添加适当的 XML 注释
- 避免硬编码,使用配置文件
数据库设计
业务库 (cnc_business)
存储业务数据:设备、员工、模板、产量、配置、告警等
日志库 (cnc_log)
存储原始采集数据、系统日志、异常日志
部署说明
开发环境
- 使用 IIS 或 Kestrel 服务器
- 配置开发数据库连接
生产环境
- 配置生产数据库连接
- 设置适当的日志级别
- 启用 HTTPS
- 配置反向代理
故障排除
常见问题
-
数据库连接失败
- 检查 MySQL 服务是否运行
- 验证连接字符串配置
- 确保数据库用户权限正确
-
编译错误
- 确保 .NET 8.0 SDK 已安装
- 运行
dotnet restore更新包依赖 - 检查项目引用是否正确
-
测试失败
- 确保测试数据库配置正确
- 检查测试数据是否准备充分
- 运行
dotnet test --verbosity detailed查看详细错误信息
版本历史
- v1.0.0 - 初始版本,实现基础功能模块
贡献指南
- Fork 项目
- 创建功能分支
- 提交变更
- 推送到分支
- 创建 Pull Request
许可证
本项目采用 MIT 许可证