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
|
|||
|
|
|