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

旧系统车辆同步功能

快速链接

功能概述

从SQL Server旧系统的CarData表自动同步车辆数据到MySQL的tb_vehicle_info表。

核心功能

✅ 同步车辆CarID和车牌号
✅ 智能匹配车牌(支持模糊匹配)
✅ 自动关联部门(通过CarOrdClass)
✅ 定时任务自动执行
✅ 支持手动触发同步

快速开始

1. 执行SQL脚本

mysql -u root -p < sql/legacy_vehicle_sync.sql

2. 重启应用

# Linux
./ry.sh restart

# Windows
.\ry.bat

3. 验证

访问:系统监控 → 定时任务 → 旧系统车辆同步 → 执行一次

数据映射

SQL Server (CarData) MySQL (tb_vehicle_info)
CarId car_id
CarLicense vehicle_no
CarOrdClass dept_id(通过dispatch_order_class匹配)

技术架构

SQL Server (CarData)
        ↓
VehicleSyncDataService (@DataSource SQLSERVER)
        ↓
VehicleSyncService (业务逻辑)
        ↓
MySQL (tb_vehicle_info)

执行方式

定时任务

  • 默认:每天凌晨2点自动执行
  • 可在后台管理调整执行时间

手动触发

  • 方式1:系统监控 → 定时任务 → 执行一次
  • 方式2:调用API POST /system/vehicle/sync/legacy

核心算法

车牌匹配

  1. 精确匹配:浙A12345浙A12345
  2. 提取匹配:浙A12345(奔驰)浙A12345
  3. 模糊匹配:包含关系判断

部门匹配

  1. 解析CarOrdClass:HB.TI['HB', 'TI']
  2. 在sys_dept中匹配dispatch_order_class
  3. 返回第一个匹配的部门ID

文件清单

新增文件(11个)

Java类
- VehicleSyncDTO.java
- VehicleSyncMapper.java
- VehicleSyncDataServiceImpl.java
- IVehicleSyncDataService.java
- VehicleSyncServiceImpl.java
- IVehicleSyncService.java
- LegacyVehicleSyncTask.java
- VehicleSyncController.java

配置文件
- VehicleSyncMapper.xml
- legacy_vehicle_sync.sql

文档
- 旧系统车辆同步功能说明.md
- 旧系统车辆同步-快速开始.md
- 旧系统车辆同步功能开发总结.md

修改文件(2个)

  • VehicleInfo.java(新增car_id字段)
  • VehicleInfoMapper.xml(新增car_id映射)

验证同步结果

-- 查询已同步的车辆
SELECT v.vehicle_no, v.car_id, d.dept_name, d.dispatch_order_class
FROM tb_vehicle_info v
LEFT JOIN sys_dept d ON v.dept_id = d.dept_id
WHERE v.platform_code = 'LEGACY'
ORDER BY v.create_time DESC;

常见问题

Q: 部门未关联(dept_id为NULL)?

A: 检查sys_dept表中是否配置了对应的dispatch_order_class

Q: 如何修改执行时间?

A: 系统监控 → 定时任务 → 编辑 → 修改cron表达式

Q: 如何查看同步日志?

A: 系统监控 → 定时任务 → 日志

监控SQL

-- 统计同步情况
SELECT 
    COUNT(*) as total,
    COUNT(dept_id) as with_dept,
    COUNT(*) - COUNT(dept_id) as without_dept
FROM tb_vehicle_info
WHERE platform_code = 'LEGACY';

版本信息

  • 版本: v1.0
  • 日期: 2025-10-20
  • 状态: ✅ 已完成,编译通过

技术支持

如有问题,请查看:
1. 详细文档:旧系统车辆同步功能说明.md
2. 系统日志:logs/sys-info.log
3. 定时任务日志:系统监控 → 定时任务 → 日志