From 0d7c88ac2f30ee408213cb3c51cddefe367a6d66 Mon Sep 17 00:00:00 2001 From: "zhenghaiyang@ele-cloud.com" Date: Wed, 10 May 2023 16:23:20 +0800 Subject: [PATCH] =?UTF-8?q?feature=201.sap=E6=8E=A8=E5=85=A5=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=BF=9D=E6=8C=81=E4=B8=8D=E5=90=AB=E7=A8=8E?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumer/utils/BeanTransitionUtils.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java index 9cca1e03..43118004 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java @@ -3537,9 +3537,23 @@ public class BeanTransitionUtils { ddmxxxBO.setDJ(detail.getZZDJ()); } ddmxxxBO.setSL(new BigDecimal(detail.getZTAX()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP).toString()); - ddmxxxBO.setJE(detail.getZHSJE()); - ddmxxxBO.setHSBZ(ConfigureConstant.STRING_1); - ddmxxxBO.setSE(detail.getZZSE()); + + if(StringUtils.isNotBlank(detail.getZZSE()) && StringUtils.isNotBlank(detail.getZBHSJE())){ + String zje = DecimalCalculateUtil.bigDecimalAdd(detail.getZZSE(), detail.getZBHSJE()); + if(DecimalCalculateUtil.stringCompare(zje,detail.getZHSJE()) != 0){ + log.info("SAP推送的不含税金额+税额不相等,传入的总金额:{},计算后的XMJE:{}",detail.getZHSJE(),zje); + ddmxxxBO.setJE(detail.getZHSJE()); + ddmxxxBO.setHSBZ(ConfigureConstant.STRING_1); + }else { + ddmxxxBO.setJE(detail.getZBHSJE()); + ddmxxxBO.setHSBZ(ConfigureConstant.STRING_0); + ddmxxxBO.setSE(detail.getZZSE()); + } + } else { + ddmxxxBO.setJE(detail.getZHSJE()); + ddmxxxBO.setHSBZ(ConfigureConstant.STRING_1); +// ddmxxxBO.setSE(detail.getZZSE()); + } ddmxxxBO.setPH(detail.getCHARG()); ddmxxxBO.setKB(ObjectUtil.isNull(detail.getKTYPE())?"":detail.getKTYPE()+(ObjectUtil.isNull(detail.getKNAME())?"":detail.getKNAME())); //判断单价*数量与金额的差额大于0.01,大于的话则反算