tjx
13 小时以前 662df6f81f2b39cf70909a47c0d7d913e7c89ef6
README.md
@@ -1,4 +1,135 @@
## NumericalCollection2
# NumericalCollection
sql server+java版本的数采平台
基于 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` 中的数据库连接信息:
```yaml
spring:
  datasource:
    url: jdbc:sqlserver://[host]:[port];databaseName=[dbname];encrypt=false
    username: [username]
    password: [password]
```
### 初始化数据库
执行 `database/` 目录下的 SQL 脚本创建所需表结构。
### 构建运行
```bash
# 编译打包
mvn clean install
# 本地运行(端口 9095)
mvn spring-boot:run
# 仅编译(跳过测试)
mvn clean compile -DskipTests
```
### 运行测试
```bash
mvn test
```
## 定时任务
项目包含以下定时任务(位于 `task/ScheduledTasks.java`):
| 任务 | 执行周期 | 说明 |
|------|----------|------|
| 数据清理 | 每周日 0:00 | 清理一周前的采集数据 |
| 工单同步 | 每天 1:00 | 同步当日工单到选择表 |
| 日统计 | 每天 2:00 | 统计前一天设备数据 |
| 实时采集 | 每 2 分钟 | 采集设备实时数据 |
## 注意事项
- 生产环境请通过环境变量或 Maven Profile 配置数据库凭证
- 日志和 SQL 输出中需脱敏客户敏感信息
- 提交代码前请本地运行全部测试