From 9bb677bf79fce6fc72f94453ca7a1bfb9d51b8de Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Wed, 6 Nov 2024 17:01:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(sales):=20=E4=BF=AE=E5=A4=8D=E9=94=80?= =?UTF-8?q?=E5=94=AE=E5=87=BA=E5=BA=93=E5=8D=95=E5=AE=9E=E4=BB=98=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91-=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E4=BA=86=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81=E7=89=87?= =?UTF-8?q?=E6=AE=B5-=20=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=AE=9E=E4=BB=98?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E7=9A=84=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E6=A0=B9=E6=8D=AE=E5=BA=94=E6=94=B6=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E3=80=81=E8=AF=B7=E6=B1=82=E6=95=B0=E9=87=8F=E5=92=8C=E5=AE=9E?= =?UTF-8?q?=E5=8F=91=E6=95=B0=E9=87=8F=E8=BF=9B=E8=A1=8C=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=20-=20=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=AF=B9=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E5=92=8C=E5=AE=9E=E5=8F=91=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E7=9A=84=E9=9D=9E=E9=9B=B6=E6=A0=A1=E9=AA=8C=20-=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BA=86=E5=AE=9E=E4=BB=98=E9=87=91=E9=A2=9D=E7=9A=84?= =?UTF-8?q?=E7=B2=BE=E5=BA=A6=E5=A4=84=E7=90=86=EF=BC=8C=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=20BigDecimal=20=E8=BF=9B=E8=A1=8C=E7=B2=BE=E7=A1=AE=E8=AE=A1?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sales/SoSaleOutPluginInitializerToC.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java index e92832e4..5d831ca9 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java @@ -1094,11 +1094,6 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { List saleorderRequestDtoList = new ArrayList<>(); saleorderRequestDtoList.add(saleorderRequestDto); - //TODO 测试 - if (true) { - continue; - } - Map> stringStringMap = new HashMap<>(); stringStringMap.put("saleorder", saleorderRequestDtoList); SoSaleResultRootDto soSaleResultRootDto = sendU8CTOCOrder(JSON.toJSONString(stringStringMap)); @@ -1708,7 +1703,21 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { } Assert.notNull(totalPayAmount, "应收金额不能为空(应收金额=实付金额+达人优惠+支付优惠+平台优惠) 销售出库单编码:{} 出库单明细主键:{}", header.getCode(), sonDetailsDto.getId()); Assert.notNull(sonDetailsDto.getShipQty(), "实发数量不能为空 销售出库单编码:{} 出库单明细主键:{}", header.getCode(), sonDetailsDto.getId()); - BigDecimal totalPayAmountBigDecimal = new BigDecimal(totalPayAmount); + + BigDecimal totalPayAmountBigDecimal = new BigDecimal("0"); + //O实付金额=O应收金额/O请求数量*O实发数量 + if (!"0".equals(new BigDecimal(totalPayAmount).stripTrailingZeros().toPlainString())) { + //O应收金额/O请求数量 + Assert.notNull(sonDetailsDto.getRequestQty(), "请求数量不能为空!"); + if ("0".equals(new BigDecimal(sonDetailsDto.getRequestQty()).stripTrailingZeros().toPlainString())) { + Assert.state(false, "请求数量不能为0!"); + } + if ("0".equals(new BigDecimal(sonDetailsDto.getShipQty()).stripTrailingZeros().toPlainString())) { + Assert.state(false, "实发数量不能为空!"); + } + BigDecimal divide = new BigDecimal(totalPayAmount).divide(new BigDecimal(sonDetailsDto.getRequestQty()), 20, BigDecimal.ROUND_HALF_UP); + totalPayAmountBigDecimal = divide.multiply(new BigDecimal(sonDetailsDto.getShipQty())).setScale(2, BigDecimal.ROUND_HALF_UP); + } BigDecimal shipQtyBigDecimal = new BigDecimal(sonDetailsDto.getShipQty()); groupTotalPayAmount = groupTotalPayAmount.add(totalPayAmountBigDecimal);