🐛 fix(打卡里程): 回显里程去掉两位小数

运单里程列是 decimal(18,2),BigDecimal 经全局 ToStringSerializer 序列化后
下发成 "200.00",而客户端按正整数校验,原样回填直接提交会被拒。

- DriverPunchNodeVO / WaybillPunchRecordItemVO 的 mileage 改 String(正整数文本)
- 新增 TransportBusinessSupport.mileageText,去尾随零后再下发
- 打卡记录单测断言同步为字符串
This commit is contained in:
2026-10-25 21:57:33 +08:00
parent a4de458d27
commit c95dccc871
6 changed files with 22 additions and 9 deletions
@@ -11,7 +11,6 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -103,8 +102,11 @@ public class DriverPunchNodeVO implements Serializable {
@Schema(description = "本节点是否需要采集里程(末位可打卡节点且计费规则含里程)")
private Boolean needMileage;
@Schema(description = "运单里程(公里),needMileage 为真时用于回显")
private BigDecimal mileage;
/**
* 里程只有正整数口径(ADR-0023 决策 6),下发的是去尾随零的文本,如 "200" 而非 "200.00"。
*/
@Schema(description = "运单里程(公里,正整数文本),needMileage 为真时用于回显")
private String mileage;
@Schema(description = "已上传凭证图(已打卡回显)")
private List<DriverPunchPhotoVO> photos = new ArrayList<>();
@@ -9,7 +9,6 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -62,8 +61,11 @@ public class WaybillPunchRecordItemVO implements Serializable {
@Schema(description = "本条是否需要采集里程(末位打卡节点且计费规则含里程)")
private Boolean needMileage;
@Schema(description = "运单里程(公里),needMileage 为真时用于回显")
private BigDecimal mileage;
/**
* 里程只有正整数口径(ADR-0023 决策 6),下发的是去尾随零的文本,如 "200" 而非 "200.00"。
*/
@Schema(description = "运单里程(公里,正整数文本),needMileage 为真时用于回显")
private String mileage;
@Schema(description = "里程是否已冻结(运单已生成结算单,只能看不能改)")
private Boolean mileageLocked;