From 46433305117ce4c4e776feb5f0cf4e37d8799a03 Mon Sep 17 00:00:00 2001 From: "zhenghaiyang@ele-cloud.com" Date: Tue, 4 Jul 2023 16:01:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=8E=E7=8E=87=E8=BD=AC=E6=8D=A2=EF=BC=8C?= =?UTF-8?q?=E6=8E=A8=E9=80=81sap=E7=A8=8E=E7=8E=87=E4=B8=BA=E6=95=B4?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SDNYMainProcessController.java | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java index c0e1cab9..df48af97 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java @@ -34,6 +34,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -827,38 +828,30 @@ public class SDNYMainProcessController extends AbstractController { if (snInvoiceDetail.getAmount() != null) sapInvoiceDetail.setZJK(snInvoiceDetail.getAmount()); - sapInvoiceDetail.setZHH(snInvoiceDetail.getRowNo()); + sapInvoiceDetail.setZHH(snInvoiceDetail.getRowNo()); //将类似于0.03数据格式转化为3.00 if (snInvoiceDetail.getTaxRate() != null && snInvoiceDetail.getTaxRate() != "") { - sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate()); - if ("0".equals(snInvoiceDetail.getTaxRate())) { + String taxRate = snInvoiceDetail.getTaxRate(); + sapInvoiceDetail.setZTAX(taxRate); + if (taxRate.contains("%")){ + taxRate = taxRate.replace("%",""); + } + if ("0".equals(taxRate) || "*".equals(taxRate) || "**".equals(taxRate) || "***".equals(taxRate)) { sapInvoiceDetail.setZTAX("0.00"); sapInvoiceDetail.setZSM(sapInvoiceDetail.getZTAX()); - } - if (snInvoiceDetail.getTaxRate().contains(".")) { - String getTaxRate = snInvoiceDetail.getTaxRate(); -// if (snInvoiceDetail.getTaxRate().length() > 4) { -// getTaxRate = getTaxRate.substring(0, 4); -// } - BigDecimal tax = new BigDecimal(getTaxRate); + } else { + BigDecimal tax = new BigDecimal(taxRate); sapInvoiceDetail.setZSM(getZSM(tax.toString())); BigDecimal tax1 = tax.multiply(new BigDecimal("100")); sapInvoiceDetail.setZTAX(tax1.toString()); - if (tax1.compareTo(new BigDecimal("100")) == 1) { - sapInvoiceDetail.setZTAX(snInvoiceDetail.getTaxRate()); + if (tax1.compareTo(new BigDecimal("100")) < 1) { + sapInvoiceDetail.setZTAX(taxRate); }else if (tax1.scale() > 2){ - BigDecimal substring = tax1.setScale(2, RoundingMode.FLOOR); - sapInvoiceDetail.setZTAX(substring.toPlainString()); + DecimalFormat decimalFormat = new DecimalFormat("#.00"); + String formattedDecimal = decimalFormat.format(tax1); + sapInvoiceDetail.setZTAX(formattedDecimal); } - } - if (snInvoiceDetail.getTaxRate().contains("%") && !snInvoiceDetail.getTaxRate().contains(".")) { - String replace = snInvoiceDetail.getTaxRate().replace("%", ".00"); - String replaceZsm = snInvoiceDetail.getTaxRate().replace("%",""); - sapInvoiceDetail.setZSM(getZSM(replaceZsm)); - sapInvoiceDetail.setZTAX(replace); - } - } // if (invoiceLineList.size() == 1 && snInvoice.getTaxRate() == null) { // info.setZTAX(sapInvoiceDetail.getZTAX()); @@ -1288,4 +1281,12 @@ public class SDNYMainProcessController extends AbstractController { return result; } + public static void main(String[] args) { + DecimalFormat decimalFormat = new DecimalFormat("#.00"); + String formattedDecimal = decimalFormat.format(new BigDecimal("15")); + BigDecimal bigDecimal = new BigDecimal("101"); + boolean b = bigDecimal.compareTo(new BigDecimal("110")) < 1; + System.out.println(); + } + }