【行为变更·管理后台】个人车常驻司机绑定 → 司机侧车牌双向同步（仅自有车，公司车豁免）

> 服务：hl-fleet-service（车务）
> PR：#3929（合并 dev-v3）
> 类型：后端数据一致性修复，**无接口契约变更**（无新端点 / 无入参出参结构变化）
> 前端：**无需改动**，仅行为更准；本条为周知

## ⚠️ 关键说明

- 车辆侧权威 1:1 = `fleet_vehicle.primary_driver_id`；司机侧 `fleet_driver.primary_vehicle_plate` 是**去规范化展示列**，用于司机列表「常驻车牌」筛选（`GET /admin/fleet/drivers/page?primaryVehiclePlate=`）。
- 此前个人车绑/解/换常驻时，司机侧这一列**不会跟着更新**，导致「按常驻车牌筛选司机」对个人车可能筛不到 / 筛错。本次补齐双向同步。
- **仅自有车（ownerType=personal）同步**；**公司车（调配车，非司机自有）一律不同步**，司机侧车牌保持其自有车牌不被公司调配车覆盖。

## 1. 变更内容

| 场景 | 此前 | 现在 |
|------|------|------|
| 个人车绑定/改绑常驻司机 | 司机侧 `primary_vehicle_plate` 不更新 | 同步为该车车牌 |
| 个人车解绑常驻 / 司机被换到别的车 | 司机侧车牌残留旧值 | 清空（仅当其当前车牌仍等于这台车，避免误清已改指向别处的司机） |
| 同一次编辑同时改车牌 + 换常驻 | —（功能此前不存在） | 老司机按**旧**车牌清、新司机按**新**车牌设 |
| 个人车 → 公司车切换 | — | 清掉原个人车常驻司机的展示车牌 |
| 公司车绑定常驻 | — | **不同步**（豁免） |
| 车辆批量导入 update 重绑个人车常驻 | 不同步 | 同步（与表单编辑同口径） |

覆盖 6 个绑定触点：新增车辆、车辆编辑、车辆导入 update、删司机解绑、司机侧改绑常驻车（`PUT /admin/fleet/drivers/{driverId}/resident-vehicle`）。

## 2. 测试服实测（api.test.1814.love:9443，真 admin token）

- 绑定个人车 蒙C03E03 → 司机朝克图：`fleet_driver.primary_vehicle_plate = 蒙C03E03` ✓
- 解绑：司机侧车牌清空 ✓
- 绑定公司车 蒙C02E02 → 司机：司机侧车牌**保持空**（豁免）✓
- 单元 + H2 集成测试：875 passed / 0 failed（含 7 个新增场景用例）

## 3. 前端动作

无。司机列表「按常驻车牌筛选」对个人车现在准确，前端无需改造。
