From 509ddd8e55baefc4c7b9dbe941e163ac0c14f414 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Thu, 2 Jul 2026 17:06:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AC=E6=A0=87(YB)=E7=AE=B1=E5=8D=95?= =?UTF-8?q?=EF=BC=9A=E6=97=A0=E6=89=98=E7=9B=98=E6=97=B6=E9=9A=90=E8=97=8F?= =?UTF-8?q?Pallet=E5=88=97=EF=BC=88=E7=AC=AC9=E5=88=97=EF=BC=8C=E7=B4=A2?= =?UTF-8?q?=E5=BC=958=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/common/utils/ExcelTemplateYB.java | 21 +++++++++++++++++++ .../service/impl/CoDelExcelTXServiceImpl.java | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java b/src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java index f8bec482..a9848768 100644 --- a/src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java +++ b/src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java @@ -26,6 +26,8 @@ public class ExcelTemplateYB { private List mergeRegions = new ArrayList<>(); // 存储需要设置行高的行信息:[起始行索引, 结束行索引, 行高] private List rowHeights = new ArrayList<>(); + // 需要隐藏的列(0-based) + private Set hiddenColumns = new LinkedHashSet<>(); // 是否下移形状格式 @Setter private boolean moveShape = false; @@ -138,11 +140,21 @@ public class ExcelTemplateYB { } } + /** + * 隐藏指定列(0-based) + */ + public void hideColumn(int colIndex) { + if (colIndex >= 0) { + hiddenColumns.add(colIndex); + } + } + public void clearAll(){ variables.clear(); listVariables.clear(); mergeRegions.clear(); rowHeights.clear(); + hiddenColumns.clear(); moveShape = false; moveSeal = false; cellStyle = false; @@ -797,6 +809,15 @@ public class ExcelTemplateYB { } } + // 处理列隐藏 + if (!hiddenColumns.isEmpty()) { + for (Integer colIndex : hiddenColumns) { + if (colIndex != null && colIndex >= 0) { + sheet.setColumnHidden(colIndex, true); + } + } + } + return workbook; } diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java index c4d4b3f9..5a579576 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java @@ -3048,6 +3048,11 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { .map(EcssCoDelPalletHeaderData::getPalletQty) .filter(Objects::nonNull) // 防止空指针 .reduce(0, Integer::sum); + boolean hasPalletData = !palletHeaderDataList.isEmpty() && totalPlt != null && totalPlt > 0; + if (!hasPalletData) { + // 仅硬标(YB)箱单:无托盘时隐藏Pallet列(第9列,索引8) + template.hideColumn(8); + } // 发货通知单明细 List detailList = coDelMapper.exportEcssCoDelNotifyDetail(data); Set poNoSet = detailList.stream()