| | |
| | | ## 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 输出中需脱敏客户敏感信息 |
| | | - 提交代码前请本地运行全部测试 |