125 lines
2.7 KiB
Markdown
125 lines
2.7 KiB
Markdown
# 车牌号关联修复说明
|
||
|
||
## 问题描述
|
||
|
||
用户反馈:车牌号还是关联查询的是司机表中的数据
|
||
|
||
## 问题原因
|
||
|
||
在 `DeliveryServiceImpl.java` 的两个方法中,存在从司机表获取车牌号并覆盖运送清单车牌号的逻辑:
|
||
|
||
1. **pageQuery** (列表查询) - 第1033行
|
||
2. **viewDelivery** (详情查询) - 第1560行
|
||
|
||
具体代码:
|
||
```java
|
||
String licensePlate = (String) driverInfo.get("car_number");
|
||
delivery.setLicensePlate(licensePlate); // 错误:覆盖了用户选择的车牌号
|
||
```
|
||
|
||
## 解决方案
|
||
|
||
### 移除从司机表获取车牌号的逻辑
|
||
|
||
**文件**: `DeliveryServiceImpl.java`
|
||
|
||
#### 1. 列表查询方法 (pageQuery)
|
||
|
||
**修改前**:
|
||
```java
|
||
String licensePlate = (String) driverInfo.get("car_number");
|
||
deliveryLogVo.setLicensePlate(licensePlate);
|
||
```
|
||
|
||
**修改后**:
|
||
```java
|
||
// 注释:车牌号不从司机表获取,车牌号是独立的模块
|
||
// 车牌号保持运送清单表中原有的值
|
||
```
|
||
|
||
#### 2. 详情查询方法 (viewDelivery)
|
||
|
||
**修改前**:
|
||
```java
|
||
String licensePlate = (String) driverInfo.get("car_number");
|
||
delivery.setLicensePlate(licensePlate);
|
||
```
|
||
|
||
**修改后**:
|
||
```java
|
||
// 注释:车牌号不从司机表获取,车牌号是独立的模块
|
||
// 车牌号保持运送清单表中原有的值
|
||
```
|
||
|
||
#### 3. 移除相关日志输出
|
||
|
||
**修改前**:
|
||
```java
|
||
System.out.println("查询到的车牌号: " + licensePlate);
|
||
```
|
||
|
||
**修改后**:
|
||
```java
|
||
// 移除该日志
|
||
```
|
||
|
||
#### 4. 修复车牌号匹配查询逻辑
|
||
|
||
**修改前**:
|
||
```java
|
||
if (licensePlate != null && !licensePlate.equals(deliveryLogVo.getLicensePlate())) {
|
||
// 根据车牌号查询司机
|
||
}
|
||
```
|
||
|
||
**修改后**:
|
||
```java
|
||
// 不再根据车牌号查询司机,车牌号是独立的模块
|
||
```
|
||
|
||
## 模块说明
|
||
|
||
### 司机模块
|
||
- **字段**: `driver_name`, `driver_mobile`
|
||
- **数据来源**: 司机表 (member_driver)
|
||
- **功能**: 记录司机姓名和手机号
|
||
|
||
### 车牌号模块
|
||
- **字段**: `license_plate`
|
||
- **数据来源**: 用户表单选择
|
||
- **功能**: 记录运送车辆的车牌号
|
||
|
||
**两个模块是独立的,不应互相覆盖。**
|
||
|
||
## 测试验证
|
||
|
||
创建运送清单后,检查:
|
||
|
||
```sql
|
||
SELECT
|
||
id,
|
||
license_plate,
|
||
driver_id,
|
||
driver_name,
|
||
driver_mobile
|
||
FROM delivery
|
||
WHERE id = [最新创建的运送清单ID];
|
||
```
|
||
|
||
预期结果:
|
||
- `license_plate` = 用户选择的车牌号(如 "1111111")
|
||
- `driver_id` = 选择的司机ID
|
||
- `driver_name` = 司机姓名
|
||
- `driver_mobile` = 司机手机号
|
||
|
||
**车牌号不应与司机表中的car_number字段关联。**
|
||
|
||
## 相关文件
|
||
|
||
- `tradeCattle/aiotagro-cattle-trade/src/main/java/com/aiotagro/cattletrade/business/service/impl/DeliveryServiceImpl.java`
|
||
|
||
## 实现日期
|
||
|
||
2025-10-29
|
||
|