编辑 | blame | 历史 | 原始文档

NumericalCollection

基于 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/            # 数据库脚本

核心功能模块

1. 设备管理

  • Device / DevMachine - 设备基础信息
  • DeviceStatus - 设备状态监控
  • DeviceMetrics - 设备指标数据
  • DeviceError - 设备故障记录

2. 工单管理

  • Womdaa - 工单指令表
  • VOrder / VOrderDetail - 订单视图
  • MesOrderSelect - 工单选择记录

3. 数据采集

  • MesNumerical - 采集数据记录
  • Devicedatastandardmoditem - 数据标准项

API 接口

基础路径:/Numerical

接口 方法 说明
/manualSynchronization POST 手动同步设备数据
/manualSynchronizationBycl POST 手动同步设备数据(备用)
/RefreshDev POST 刷新设备数据
/RefreshDevBycl POST 刷新设备数据(备用)
/PdfToBase64 POST PDF 转 Base64
/getDeviceErrorList POST 获取设备故障列表

快速开始

环境要求

  • JDK 1.8+
  • Maven 3.6+
  • SQL Server 2019+

配置数据库

修改 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 分钟 采集设备实时数据

注意事项

  • 生产环境请通过环境变量或 Maven Profile 配置数据库凭证
  • 日志和 SQL 输出中需脱敏客户敏感信息
  • 提交代码前请本地运行全部测试
AGENTS 4 KB
CLAUDE 7 KB
README 3 KB