1、调整凭证

2、调整运单
This commit is contained in:
2026-09-08 17:50:34 +08:00
parent a7315b4491
commit cba2ad3b3b
43 changed files with 5730 additions and 1119 deletions
+124
View File
@@ -0,0 +1,124 @@
# 运输计划导入模板修改说明
## 修改日期
2026-09-08
## 修改内容
### 一、模板字段调整
#### 新增字段
1. **里程(km)** - 非必填,数值类型
2. **同一计划标识号** - 非必填,文本类型,用于标识同一计划的多条记录
#### 移除字段
1. 品牌
2. 物料编码
3. 设备编码
#### 字段名称调整
| 原字段名 | 新字段名 |
|---------|---------|
| 运输方式 | 运输类型 |
| 数量单位 | 计量单位 |
| 发货联系方式 | 发货联系人电话 |
| 收货地址 | 到货地址 |
| 收货联系方式 | 收货联系人电话 |
| 计划开始日期 | 计划开始时间 |
| 计划结束日期 | 计划结束时间 |
#### 必填字段调整
调整后的必填字段(带 * 号):
- *计划名称
- *运输类型
- *发货地址
- *到货地址
- *货物类型
**注意**:计划开始时间和计划结束时间改为非必填
### 二、完整字段列表(按顺序)
```
序号 | *计划名称 | *运输类型 | *发货地址 | 发货联系人 | 发货联系人电话 |
*到货地址 | 收货联系人 | 收货联系人电话 | 货物名称 | *货物类型 |
数量 | 计量单位 | 包装 | 规格 | 型号 | 里程(km) |
计划开始时间 | 计划结束时间 | 备注 | 同一计划标识号
```
### 三、前端修改文件
1. **src/views/business/transport-plan-import.vue**
- 更新 `importColumns` 数组(Excel列映射)
- 更新 `previewColumns` 数组(预览表格列定义)
- 调整必填字段验证逻辑
- 将计划开始/结束时间改为非必填
- 添加里程字段的非负数验证
- 调整表格最小宽度为 2400px
### 四、后端修改文件
1. **TransportPlan.java** (实体类)
- 新增 `mileage` 字段(BigDecimal 类型)
- 新增 `planGroupId` 字段(String 类型)
2. **TransportPlanImportExcel.java** (导入Excel实体)
- 调整所有字段顺序和名称
- 移除 brand、materialCode、deviceCode 字段
- 新增 mileage、planGroupId 字段
- 更新所有 @ExcelProperty 注解
3. **TransportPlanServiceImpl.java** (服务实现)
- 修改 `parseImportDate` 方法,支持空值(非必填)
- 修改 `validateImportExcel` 方法
- 更新字段名称验证
- 移除计划日期必填验证
- 添加里程非负数验证
- 调整字段长度限制(计划名称从50改为255)
- 修改 `importTransportPlan` 方法
- 支持计划时间为空
- 添加 mileage 和 planGroupId 字段赋值
- 修改 `importGoods` 方法,移除不再需要的字段
- 修改 `prepare` 方法,添加 planGroupId 字段处理
- 修改 `validate` 方法,添加新字段验证
### 五、数据库修改
**SQL文件位置**: `/doc/sql/transport/blade_transport_plan_add_fields_20260908.sql`
```sql
-- 添加里程字段
ALTER TABLE `blade_transport_plan`
ADD COLUMN `mileage` decimal(10,2) DEFAULT NULL COMMENT '里程(km)' AFTER `remark`;
-- 添加同一计划标识号字段
ALTER TABLE `blade_transport_plan`
ADD COLUMN `plan_group_id` varchar(100) DEFAULT NULL COMMENT '同一计划标识号' AFTER `mileage`;
-- 添加索引
ALTER TABLE `blade_transport_plan`
ADD INDEX `idx_transport_plan_group_id` (`plan_group_id`) USING BTREE;
```
### 六、使用说明
1. **数据库升级**:执行 SQL 迁移脚本添加新字段
2. **后端部署**:重新编译打包后端服务
3. **前端部署**:重新构建前端项目
4. **模板下载**:用户可通过导入页面下载最新模板
### 七、兼容性说明
- 新字段为非必填,不影响现有数据
- 旧模板导入时新字段为空值
- 计划时间改为非必填,提升导入灵活性
- 同一计划标识号可用于批量导入时关联多条计划记录
### 八、测试要点
1. 验证新模板下载功能
2. 测试必填字段校验
3. 测试非必填字段的空值处理
4. 测试里程字段的数值验证
5. 测试同一计划标识号的查询和分组
6. 测试日期字段的非必填场景