Files
tms-erp-api/blade-service
weicw-dshsa be02a5e942 🐛 修复运输对账导入无回滚与运输计划明细不全(批次4)
本批是 16 个模块收尾,两个特殊模块:

1) 运输对账(importVehicles / importCargoes)——最严重的一例:
   既无 setRollbackOnly 也不抛异常。方法开头 resetExternal(id) 清空既有外部账单,
   循环末尾无条件插入本批正确行,然后 return failures。一旦有失败行:
   旧外部账单已被清空、新账单只插入了部分——数据损坏且不可恢复。
   改法:任一行失败时抛 ImportFailureException(rows),让 resetExternal 清空
   与本批插入在同一事务内一起回滚。另把失败原因写回原行(异常携带原表 rows,
   只写 Vehicle/CargoReconciliationFailureExcel 副本会丢原因)。
   控制器改 catch 异常导出原表全量(用 export 保留按列标红)。

2) 运输计划(importTransportPlan)——失败明细只返回 errorMap.values()(仅错误行)。
   改为抛 ImportFailureException(data) 携带原表全量;控制器 catch 后导出。

验证:mvn install -DskipTests 通过;全项目 12 个导入回归脚本 379 项断言全绿。
全项目已无 TransactionAspectSupport...setRollbackOnly() 调用残留。

注:运输对账需先建对账草稿(多张前置表)才能端到端回归,
本批仅完成代码改造与编译验证,回归用例待补(见后续说明)。
2026-09-26 11:10:37 +08:00
..
2026-07-10 22:08:46 +08:00
2026-08-18 15:18:15 +08:00
2026-09-20 16:36:31 +08:00
2026-08-04 02:49:59 +08:00