Browse Source

发票箱单PDF

master
han\hanst 2 weeks ago
parent
commit
e0601e1ea6
  1. 4
      src/main/java/com/xujie/sys/common/utils/ExcelTemplateTX.java
  2. 4
      src/main/java/com/xujie/sys/modules/ecss/entity/EcssDeclarationHeaderData.java
  3. 16
      src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java
  4. BIN
      src/main/resources/templates/TX/declaration-all-template.xlsx
  5. BIN
      src/main/resources/templates/TX/export-goods-template.xlsx

4
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使用第678是价格列居
if (priceRight) { //仅供发票excel使用第678是价格列居天线是居中
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();

4
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;
}

16
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字节数组
*/

BIN
src/main/resources/templates/TX/declaration-all-template.xlsx

BIN
src/main/resources/templates/TX/export-goods-template.xlsx

Loading…
Cancel
Save