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 cb652c35..585a7407 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 @@ -475,19 +475,18 @@ public class SDNYMainProcessController extends AbstractController { snDetailMap.put("tax", "0"); //如果是卷票计算合计金额 - Float hjje = null; + String hjje = null; if (detail.getString("detailAmount") != null && detail.getString("taxAmount") != null) { - Float je = Float.parseFloat(detail.getString("detailAmount")); + BigDecimal je = new BigDecimal(detail.getString("detailAmount")); if (detail.getString("taxAmount") != null) { - Float se = Float.parseFloat(detail.getString("taxAmount")); - hjje = je + se; + hjje = je.add(new BigDecimal(detail.getString("taxAmount"))).toPlainString(); } else { - hjje = je; + hjje = je.toPlainString(); } } - if (hjje != null) - snDetailMap.put("amount", hjje.toString()); + if (StringUtils.isNotBlank(hjje)) + snDetailMap.put("amount", hjje); } else { snDetailMap.put("tax", "***".equals(detail.getString("taxAmount")) ? "0.00" : detail.getString("taxAmount")); @@ -506,10 +505,10 @@ public class SDNYMainProcessController extends AbstractController { if (taxRateDetail.contains("%")) { taxRateDetail = taxRateDetail.replace("%",""); } - BigDecimal tax = new BigDecimal(taxRate); + BigDecimal tax = new BigDecimal(taxRateDetail); BigDecimal tax1 = tax.divide(new BigDecimal("100")); if (tax.compareTo(new BigDecimal("1")) < 1) { - taxRateDetail = tax.toPlainString(); + taxRateDetail = tax.toPlainString(); }else { taxRateDetail = tax1.toPlainString(); }