From 2187ad4ce77d112d2d613a0df760fdd900de93d1 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Tue, 2 Dec 2025 11:36:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=88=E6=A3=80=E6=9F=A5=20Cargo=20Ready=20D?= =?UTF-8?q?ate=20=E5=88=97=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=EF=BC=8C?= =?UTF-8?q?=E5=86=B3=E5=AE=9A=E6=98=AF=E5=90=A6=E5=A4=84=E7=90=86=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=20sheet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecss/service/impl/CoDelServiceImpl.java | 47 ++++++++++--------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java index 9030ddab..866806d4 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java @@ -412,29 +412,8 @@ public class CoDelServiceImpl implements CoDelService { } } - // 验证必填列是否存在(根据代码中的验证逻辑确定) - String[] requiredColumns = { - "PO#", // 必填 - "PN", // 必填 - "Qty (pcs)", // 必填 - "Cargo Ready Date", // 必填 - "Destination", // 必填 - "Shipping Mode", // 必填 - "Currency", // 必填 - "TP" // 必填 - }; - - List missingColumns = new ArrayList<>(); - for (String column : requiredColumns) { - if (!columnIndexMap.containsKey(column)) { - missingColumns.add(column); - } - } - - if (!missingColumns.isEmpty()) { - throw new RuntimeException("Sheet [" + sheetName + "] 表头缺少必填列: " + String.join(", ", missingColumns)); - } - + // 注意:这里只解析表头,不验证必填列 + // 必填列的验证应该在确定要处理该 sheet 之后进行(即 Cargo Ready Date 列存在时) return columnIndexMap; } @@ -472,6 +451,28 @@ public class CoDelServiceImpl implements CoDelService { continue; } + // Cargo Ready Date 列存在,说明要处理这个 sheet,验证其他必填列 + String[] requiredColumns = { + "PO#", // 必填 + "PN", // 必填 + "Qty (pcs)", // 必填 + "Destination", // 必填 + "Shipping Mode", // 必填 + "Currency", // 必填 + "TP" // 必填 + }; + + List missingColumns = new ArrayList<>(); + for (String column : requiredColumns) { + if (!columnMap.containsKey(column)) { + missingColumns.add(column); + } + } + + if (!missingColumns.isEmpty()) { + throw new RuntimeException("Sheet [" + sheetName + "] 表头缺少必填列: " + String.join(", ", missingColumns)); + } + // 遍历每一行(从第四行开始,即索引3) for (int j = 3; j < rows; j++) { // 获得该行