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 a9848768..ac4d9a41 100644 --- a/src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java +++ b/src/main/java/com/xujie/sys/common/utils/ExcelTemplateYB.java @@ -52,7 +52,7 @@ public class ExcelTemplateYB { // 发票价格列是否使用固定小数位(单价5位、总价2位) @Setter private boolean fixedInvoicePriceScale = false; - // 报关单价格列是否固定两位小数(净重/单价/总价) + // 报关单价格列是否固定小数位(净重/总价2位,单价5位) @Setter private boolean fixedDeclarationPriceScale = false; // 数字靠右 箱单 @@ -316,6 +316,7 @@ public class ExcelTemplateYB { Set invoiceUnitPriceCols = new HashSet<>(); Set invoiceTotalPriceCols = new HashSet<>(); Set declarationFixedPriceCols = new HashSet<>(); + Set declarationUnitPriceCols = new HashSet<>(); Set declarationQtyCols = new HashSet<>(); Set declarationHsCodeDescCols = new HashSet<>(); //整体填值 @@ -349,6 +350,8 @@ public class ExcelTemplateYB { invoiceUnitPriceCols.add(j); } else if (isInvoiceTotalPriceField(dtlField)) { invoiceTotalPriceCols.add(j); + } else if (isDeclarationUnitPriceField(dtlField)) { + declarationUnitPriceCols.add(j); } else if (isDeclarationFixedPriceField(dtlField)) { declarationFixedPriceCols.add(j); } else if (isDeclarationQtyField(dtlField)) { @@ -647,9 +650,10 @@ public class ExcelTemplateYB { style.setWrapText(keepWrapText || declarationHsCodeDescColumn); c7.setCellStyle(style); boolean declarationFixedTwoScaleColumn = fixedDeclarationPriceScale && declarationFixedPriceCols.contains(i); + boolean declarationFixedFiveScaleColumn = fixedDeclarationPriceScale && declarationUnitPriceCols.contains(i); boolean declarationQtyColumn = fixedDeclarationPriceScale && declarationQtyCols.contains(i); boolean declarationNumberColumn = fixedDeclarationPriceScale - ? (declarationFixedTwoScaleColumn || declarationQtyColumn) + ? (declarationFixedTwoScaleColumn || declarationFixedFiveScaleColumn || declarationQtyColumn) : (i == 6 || i == 11); if (declarationNumberColumn) { BigDecimal numericValue = null; @@ -659,7 +663,9 @@ public class ExcelTemplateYB { numericValue = BigDecimal.valueOf(c7.getNumericCellValue()); } if (numericValue != null) { - if (declarationFixedTwoScaleColumn) { + if (declarationFixedFiveScaleColumn) { + numericValue = numericValue.setScale(5, RoundingMode.HALF_UP); + } else if (declarationFixedTwoScaleColumn) { numericValue = numericValue.setScale(2, RoundingMode.HALF_UP); } c7.setCellValue(numericValue.doubleValue()); @@ -679,7 +685,9 @@ public class ExcelTemplateYB { // 设置千分位格式(根据单元格实际小数位动态决定格式) DataFormat dataFormat = workbook.createDataFormat(); String numFmt3; - if (declarationFixedTwoScaleColumn) { + if (declarationFixedFiveScaleColumn) { + numFmt3 = "#,##0.00000"; + } else if (declarationFixedTwoScaleColumn) { numFmt3 = "#,##0.00"; } else if (declarationQtyColumn) { numFmt3 = "#,##0"; @@ -937,10 +945,13 @@ public class ExcelTemplateYB { private boolean isDeclarationFixedPriceField(String field) { return "net_weight".equalsIgnoreCase(field) - || "unit_price".equalsIgnoreCase(field) || "total_price".equalsIgnoreCase(field); } + private boolean isDeclarationUnitPriceField(String field) { + return "unit_price".equalsIgnoreCase(field); + } + private boolean isDeclarationQtyField(String field) { return "qty".equalsIgnoreCase(field); } diff --git a/src/main/resources/templates/ALPHA/declaration-all-template-pdf.xlsx b/src/main/resources/templates/ALPHA/declaration-all-template-pdf.xlsx index 818ba3ad..42acd5ad 100644 Binary files a/src/main/resources/templates/ALPHA/declaration-all-template-pdf.xlsx and b/src/main/resources/templates/ALPHA/declaration-all-template-pdf.xlsx differ diff --git a/src/main/resources/templates/ALPHA/declaration-all-template.xlsx b/src/main/resources/templates/ALPHA/declaration-all-template.xlsx index d5bf2865..5072079c 100644 Binary files a/src/main/resources/templates/ALPHA/declaration-all-template.xlsx and b/src/main/resources/templates/ALPHA/declaration-all-template.xlsx differ diff --git a/src/main/resources/templates/ALPHA/declaration-packingList-template.xlsx b/src/main/resources/templates/ALPHA/declaration-packingList-template.xlsx index a05551c2..95cf89a3 100644 Binary files a/src/main/resources/templates/ALPHA/declaration-packingList-template.xlsx and b/src/main/resources/templates/ALPHA/declaration-packingList-template.xlsx differ diff --git a/src/main/resources/templates/ALPHA/export-goods-template.xlsx b/src/main/resources/templates/ALPHA/export-goods-template.xlsx index 425e1d86..f40c17a9 100644 Binary files a/src/main/resources/templates/ALPHA/export-goods-template.xlsx and b/src/main/resources/templates/ALPHA/export-goods-template.xlsx differ diff --git a/src/main/resources/templates/TX/declaration-all-template-pdf.xlsx b/src/main/resources/templates/TX/declaration-all-template-pdf.xlsx index 60430f5f..5a6696dc 100644 Binary files a/src/main/resources/templates/TX/declaration-all-template-pdf.xlsx and b/src/main/resources/templates/TX/declaration-all-template-pdf.xlsx differ diff --git a/src/main/resources/templates/TX/declaration-all-template.xlsx b/src/main/resources/templates/TX/declaration-all-template.xlsx index b7c4ed6c..9217eb2a 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/YB/declaration-all-template-invoice-pdf.xlsx b/src/main/resources/templates/YB/declaration-all-template-invoice-pdf.xlsx index 779a802e..fc5b3148 100644 Binary files a/src/main/resources/templates/YB/declaration-all-template-invoice-pdf.xlsx and b/src/main/resources/templates/YB/declaration-all-template-invoice-pdf.xlsx differ diff --git a/src/main/resources/templates/YB/declaration-all-template-invoice.xlsx b/src/main/resources/templates/YB/declaration-all-template-invoice.xlsx index 3a929896..ab18090b 100644 Binary files a/src/main/resources/templates/YB/declaration-all-template-invoice.xlsx and b/src/main/resources/templates/YB/declaration-all-template-invoice.xlsx differ diff --git a/src/main/resources/templates/YB/declaration-all-template-pdf.xlsx b/src/main/resources/templates/YB/declaration-all-template-pdf.xlsx index 4b1fff76..8b078ba8 100644 Binary files a/src/main/resources/templates/YB/declaration-all-template-pdf.xlsx and b/src/main/resources/templates/YB/declaration-all-template-pdf.xlsx differ diff --git a/src/main/resources/templates/YB/declaration-all-template.xlsx b/src/main/resources/templates/YB/declaration-all-template.xlsx index 07350fd9..ad100a93 100644 Binary files a/src/main/resources/templates/YB/declaration-all-template.xlsx and b/src/main/resources/templates/YB/declaration-all-template.xlsx differ diff --git a/src/main/resources/templates/YB/declaration-packingList-template.xlsx b/src/main/resources/templates/YB/declaration-packingList-template.xlsx index a2987762..e6851684 100644 Binary files a/src/main/resources/templates/YB/declaration-packingList-template.xlsx and b/src/main/resources/templates/YB/declaration-packingList-template.xlsx differ diff --git a/src/main/resources/templates/YB/export-goods-template.xlsx b/src/main/resources/templates/YB/export-goods-template.xlsx index 18273e95..b911f3b1 100644 Binary files a/src/main/resources/templates/YB/export-goods-template.xlsx and b/src/main/resources/templates/YB/export-goods-template.xlsx differ