🐛 修复车务非必填-1占位落库,并完善总单分段调度与运单导入

上一段运单完成到达后才可调度且不超过到达量;车务多模块保存/列表/导出将-1归一为null;同步网关大报文限制与导入校验能力。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-27 21:26:54 +08:00
parent 0c52797c31
commit 1185c9792c
42 changed files with 536 additions and 4447 deletions
@@ -33,4 +33,6 @@ public class WaybillImportBatchRequest {
private String planName;
private String remark;
private List<Map<String, Object>> rows;
/** 分批确认导入时,是否追加到已有批次(首批为 false,后续批为 true)。 */
private Boolean append;
}
@@ -41,6 +41,11 @@ public class MasterOrderVO extends MasterOrder {
private List<Waybill> boundWaybills;
@TableField(exist = false)
private BigDecimal totalQuantity;
/**
* 各品类已调度量(按货物名称+类型聚合,取各分段已调度量的最大值)
*/
@TableField(exist = false)
private Map<String, BigDecimal> dispatchedGoods;
@TableField(exist = false)
private String createUserName;
@TableField(exist = false)
@@ -0,0 +1,26 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/** 运单批量导入单行校验错误。 */
@Data
@Schema(description = "运单批量导入单行校验错误")
public class WaybillImportRowErrorVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "行号(从0开始,相对当前批次)")
private Integer rowIndex;
@Schema(description = "错误信息")
private String errorMessage;
}
@@ -0,0 +1,28 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/** 运单批量导入校验结果。 */
@Data
@Schema(description = "运单批量导入校验结果")
public class WaybillImportValidateResultVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "是否全部通过")
private Boolean success;
@Schema(description = "校验错误列表")
private List<WaybillImportRowErrorVO> errors = new ArrayList<>();
}