From 993f8021114688840eb100bda9d3dc8f6aaa1c57 Mon Sep 17 00:00:00 2001 From: "weicw1996@qq.com" Date: Mon, 21 Sep 2026 05:45:49 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E7=B2=BE=E7=AE=80=E8=BF=90=E5=8D=95?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=BD=A6=E7=89=8C=E5=8F=B7=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E7=9A=84=E5=A4=B1=E8=B4=A5=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 一次车牌号错误原来最多会叠出「长度不能少于7位」「首位必须是省份简称、 第二位必须是英文字母」「格式不正确」三条原因,导出的失败明细里这一格很长。 现将公路运输下的必填、长度与格式统一为一条「车牌号校验不通过」。 - 校验强度不变:长度 7/8 位本就由 VEHICLE_NO_PATTERN 蕴含,省份简称白名单照旧 - 保留「车牌号」字样,失败明细仍能按列名拆词匹配并标红车牌号列;车牌为空时 走空单元格红底纹分支,比原来只有文字更容易定位 - 未改动「同一配载标识号下,车牌号不一致」,该原因由 tests/fixtures/waybill-import 用例 04 断言 --- .../impl/WaybillImportBatchServiceImpl.java | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/WaybillImportBatchServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/WaybillImportBatchServiceImpl.java index 9f0259d..b81a5b8 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/WaybillImportBatchServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/WaybillImportBatchServiceImpl.java @@ -655,21 +655,13 @@ public class WaybillImportBatchServiceImpl extends BaseServiceImpl 8) { - errors.add("车牌号长度不能超过8位"); - } - if (!VEHICLE_PROVINCE_PATTERN.matcher(vehicleNo).lookingAt()) { - errors.add("车牌号首位必须是省份简称,第二位必须是英文字母"); - } - if (!VEHICLE_NO_PATTERN.matcher(vehicleNo).matches()) { - errors.add("车牌号格式不正确,应为首位省份简称、次位英文字母、总长度7或8位"); + // 必填、长度与格式统一为一条简短原因,避免多条规则叠加导致失败原因过长; + // 文案保留“车牌号”字样,导入失败明细仍能据此定位到车牌号列并标红。 + // VEHICLE_NO_PATTERN 已约束总长度为 7 或 8 位,故不再单独判断长度。 + if (Func.isEmpty(vehicleNo) + || !VEHICLE_PROVINCE_PATTERN.matcher(vehicleNo).lookingAt() + || !VEHICLE_NO_PATTERN.matcher(vehicleNo).matches()) { + errors.add("车牌号校验不通过"); } }