diff --git a/src/main/java/com/xujie/sys/common/utils/ExcelTemplateTX.java b/src/main/java/com/xujie/sys/common/utils/ExcelTemplateTX.java index 34c51438..7c3152f8 100644 --- a/src/main/java/com/xujie/sys/common/utils/ExcelTemplateTX.java +++ b/src/main/java/com/xujie/sys/common/utils/ExcelTemplateTX.java @@ -474,7 +474,7 @@ public class ExcelTemplateTX { style2.setAlignment(HorizontalAlignment.LEFT); style2.setWrapText(true); c2.setCellStyle(style2); - if (priceRight) { //仅供发票excel使用,第6、7、8是价格列居右 + if (priceRight) { //仅供发票excel使用,第6、7、8是价格列居中,天线是居中 for (int i = 6; i < (invoiceLie?11:9); i++) { XSSFRow row = sheet.getRow(dtlRow); if (row == null) { @@ -512,7 +512,7 @@ public class ExcelTemplateTX { style7.setFont(font7); style7.setVerticalAlignment(VerticalAlignment.TOP); - style7.setAlignment(HorizontalAlignment.RIGHT); + style7.setAlignment(HorizontalAlignment.CENTER); // 设置千分位格式(根据单元格实际小数位动态决定格式) DataFormat dataFormat = workbook.createDataFormat(); diff --git a/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java b/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java index 89d5061e..d3d506f6 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java +++ b/src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java @@ -75,4 +75,8 @@ public class EcssDeclarationHeaderData extends EcssDeclarationHeader{ private Boolean showOrderNoFlag; private Boolean showInvoiceFlag; private String modelContentStr; + /** + * 仅导出发票+箱单PDF(用于一键导出YB弹窗) + */ + private Boolean onlyInvoicePackingPdf; } 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 dba3e393..30147387 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 @@ -1860,6 +1860,7 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { @Override public void downloadAllPdf(HttpServletResponse response, EcssDeclarationHeaderData data) { EcssCoDelNotifyHeaderData notifyHeader = coDelMapper.getEcssCoDelNotifyHeader(data.getSite(), data.getDelNo()); + boolean onlyInvoicePackingPdf = Boolean.TRUE.equals(data.getOnlyInvoicePackingPdf()); XSSFWorkbook excelWorkbook = null; try { boolean isMhm = notifyHeader != null && "04-MHM".equalsIgnoreCase(notifyHeader.getBuNo()); @@ -1943,6 +1944,9 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { template.render(3); } + if (onlyInvoicePackingPdf) { + retainFirstSheets(excelWorkbook, 2); + } compactLoadingNoRowIfNeeded(excelWorkbook); // 将Excel转换为PDF byte[] pdfBytes = convertExcelToPdf(excelWorkbook); @@ -1968,6 +1972,18 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { } } + /** + * 仅保留前N个sheet,其余sheet删除(用于PDF按需导出) + */ + private void retainFirstSheets(XSSFWorkbook workbook, int keepSheetCount) { + if (workbook == null || keepSheetCount < 0) { + return; + } + for (int i = workbook.getNumberOfSheets() - 1; i >= keepSheetCount; i--) { + workbook.removeSheetAt(i); + } + } + /** * 将Excel工作簿转换为PDF字节数组 */ diff --git a/src/main/resources/templates/TX/declaration-all-template.xlsx b/src/main/resources/templates/TX/declaration-all-template.xlsx index 5ee75a0d..a037bd11 100644 Binary files a/src/main/resources/templates/TX/declaration-all-template.xlsx and b/src/main/resources/templates/TX/declaration-all-template.xlsx differ diff --git a/src/main/resources/templates/TX/export-goods-template.xlsx b/src/main/resources/templates/TX/export-goods-template.xlsx index 5da345c5..3a3b24e0 100644 Binary files a/src/main/resources/templates/TX/export-goods-template.xlsx and b/src/main/resources/templates/TX/export-goods-template.xlsx differ