🐛 多货物运单的货名、汇总与合计重量按货物明细算

一张运单可以录多条货物,明细落在 goods_json,主表 cargo_name / cargo_type / quantity_unit
只是首行、quantity 是各行合计。列表与详情原先只读主表字段,第二种及以后的货物整条丢失
(如 YD-20261018-0005 只显示「阿什顿」,漏掉「显卡050」),并把「20堆 + 50方」算成「70堆」。

货物明细的取法收进 WaybillCargoSupport 一处:goods_json 能解析出货物就以它为准,
解析不出再回退主表(一格多名的历史写法按同一口径摊平)。

- 运次读服务的段一补取 goods_json:卡片货名与汇总都靠它,少取就只能拿首行
- 货名、货物汇总、合计重量改按货物行算;单位不一致时合计留空,不把汇总串冒充成重量
- 站点货物条目一张子单可出多条,并带上各自的货名与数量单位
- 运次级与子单级都补 cargoNames / cargoTypes 清单,供小程序缩写与展示
This commit is contained in:
2026-10-18 22:06:59 +08:00
parent 04389cd9d5
commit 6dc6932f39
9 changed files with 467 additions and 66 deletions
@@ -66,9 +66,12 @@ public class AdminWaybillDetailVO implements Serializable {
@Schema(description = "卸货地址")
private String unloadAddress;
@Schema(description = "货物名称")
@Schema(description = "货物名称:运单上录入的全部货名以「、」连接")
private String cargoName;
@Schema(description = "货物名称清单:运单上录入的全部货物,同名的只留一次")
private List<String> cargoNames;
@Schema(description = "货物数量(带单位)")
private String cargoQuantity;
@@ -93,12 +93,18 @@ public class TripVO implements Serializable {
@Schema(description = "运输类型")
private String transportType;
@Schema(description = "货物名称")
@Schema(description = "货物名称:整趟车全部货名以「、」连接,一格多名的历史写法已摊平")
private String cargoName;
@Schema(description = "货物类型")
@Schema(description = "货物名称清单:整趟车全部货物,同名的只留一次,保持子单与录入顺序")
private List<String> cargoNames;
@Schema(description = "货物类型:整趟车全部类型以「、」连接")
private String cargoType;
@Schema(description = "货物类型清单:整趟车全部货物类型,同类型的只留一次")
private List<String> cargoTypes;
@Schema(description = "发货地址")
private String departureAddress;
@@ -183,12 +189,18 @@ public class TripVO implements Serializable {
@Schema(description = "项目名称")
private String projectName;
@Schema(description = "货物名称")
@Schema(description = "货物名称:运单上录入的全部货名以「、」连接,一格多名的历史写法已摊平")
private String cargoName;
@Schema(description = "货物类型")
@Schema(description = "货物名称清单:运单上录入的全部货物,同名的只留一次")
private List<String> cargoNames;
@Schema(description = "货物类型:主表首行的类型,完整清单见 cargoTypes")
private String cargoType;
@Schema(description = "货物类型清单:运单上录入的全部货物类型,同类型的只留一次")
private List<String> cargoTypes;
@Schema(description = "数量")
private BigDecimal quantity;