从SQL Server旧系统的CarData表自动同步车辆数据到MySQL的tb_vehicle_info表。
✅ 同步车辆CarID和车牌号
✅ 智能匹配车牌(支持模糊匹配)
✅ 自动关联部门(通过CarOrdClass)
✅ 定时任务自动执行
✅ 支持手动触发同步
mysql -u root -p < sql/legacy_vehicle_sync.sql
# Linux
./ry.sh restart
# Windows
.\ry.bat
访问:系统监控 → 定时任务 → 旧系统车辆同步 → 执行一次
| 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)
POST /system/vehicle/sync/legacy浙A12345 ↔ 浙A12345浙A12345(奔驰) → 浙A12345HB.TI → ['HB', 'TI']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
-- 查询已同步的车辆
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;
A: 检查sys_dept表中是否配置了对应的dispatch_order_class
A: 系统监控 → 定时任务 → 编辑 → 修改cron表达式
A: 系统监控 → 定时任务 → 日志
-- 统计同步情况
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';
如有问题,请查看:
1. 详细文档:旧系统车辆同步功能说明.md
2. 系统日志:logs/sys-info.log
3. 定时任务日志:系统监控 → 定时任务 → 日志