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