基于 Spring Boot + MyBatis-Plus + SQL Server 的工业设备数据采集平台。
本项目是一个 MES(制造执行系统)数据采集模块,主要用于:
- 设备实时数据采集与同步
- 工单生产数据管理
- 设备故障记录与追踪
- 生产指标统计分析
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Boot | 2.6.13 | 基础框架 |
| MyBatis-Plus | 3.5.4 | ORM 框架 |
| Druid | 1.2.16 | 数据库连接池 |
| SQL Server | - | 数据库 |
| Lombok | - | 简化代码 |
| Hutool | 5.8.18 | 工具类库 |
| OkHttp | 4.9.3 | HTTP 客户端 |
| FastJson | 2.0.32 | JSON 处理 |
| POI | 4.1.2 | Excel 处理 |
| PDFBox | 2.0.27 | PDF 处理 |
src/main/java/com/hk/NumericalCollection/
├── config/ # 配置类(数据源、MyBatis等)
├── controller/ # REST 接口控制器
├── dto/ # 数据传输对象
├── entity/ # 数据库实体类
├── mapper/ # MyBatis Mapper 接口
├── service/ # 业务逻辑层
│ └── impl/ # 服务实现类
└── task/ # 定时任务
src/main/resources/
├── application.yml # 应用配置
└── mapper/ # MyBatis XML 映射文件
database/ # 数据库脚本
Device / DevMachine - 设备基础信息DeviceStatus - 设备状态监控DeviceMetrics - 设备指标数据DeviceError - 设备故障记录Womdaa - 工单指令表VOrder / VOrderDetail - 订单视图MesOrderSelect - 工单选择记录MesNumerical - 采集数据记录Devicedatastandardmoditem - 数据标准项基础路径:/Numerical
| 接口 | 方法 | 说明 |
|---|---|---|
/manualSynchronization |
POST | 手动同步设备数据 |
/manualSynchronizationBycl |
POST | 手动同步设备数据(备用) |
/RefreshDev |
POST | 刷新设备数据 |
/RefreshDevBycl |
POST | 刷新设备数据(备用) |
/PdfToBase64 |
POST | PDF 转 Base64 |
/getDeviceErrorList |
POST | 获取设备故障列表 |
修改 src/main/resources/application.yml 中的数据库连接信息:
spring:
datasource:
url: jdbc:sqlserver://[host]:[port];databaseName=[dbname];encrypt=false
username: [username]
password: [password]
执行 database/ 目录下的 SQL 脚本创建所需表结构。
# 编译打包
mvn clean install
# 本地运行(端口 9095)
mvn spring-boot:run
# 仅编译(跳过测试)
mvn clean compile -DskipTests
mvn test
项目包含以下定时任务(位于 task/ScheduledTasks.java):
| 任务 | 执行周期 | 说明 |
|---|---|---|
| 数据清理 | 每周日 0:00 | 清理一周前的采集数据 |
| 工单同步 | 每天 1:00 | 同步当日工单到选择表 |
| 日统计 | 每天 2:00 | 统计前一天设备数据 |
| 实时采集 | 每 2 分钟 | 采集设备实时数据 |