From f2b1a2feb7f6bb178b39fe1a8b731dd667246836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Sat, 31 Oct 2026 16:19:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=94=B6=E7=A5=A8=E5=8D=95A303-2?= =?UTF-8?q?=E5=88=86=E5=BD=95=E5=8D=95=E4=BB=B7=E7=BB=9F=E4=B8=804?= =?UTF-8?q?=E4=BD=8D=E5=B0=8F=E6=95=B0=E6=BB=A1=E8=B6=B3=E9=87=91=E8=9D=B6?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/KingdeeReceivedInvoiceSyncSupport.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java index 72e6cb7b..32411e80 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/support/KingdeeReceivedInvoiceSyncSupport.java @@ -338,13 +338,13 @@ public class KingdeeReceivedInvoiceSyncSupport { return quantity; } - /** 明细行单价:unitPrice 空/不可解析按 价税合计/数量 反算(2 位小数) */ + /** 明细行单价:unitPrice 空/不可解析按 价税合计/数量 反算;金蝶要求小数不超过 4 位,统一 4 位舍入 */ private BigDecimal mirrorPrice(String unitPrice, BigDecimal priceTaxTotal, BigDecimal quantity) { BigDecimal price = this.parseMirrorAmountQuietly(unitPrice); - if (price != null && price.compareTo(BigDecimal.ZERO) > 0) { - return price; - } - return priceTaxTotal.divide(quantity, 2, RoundingMode.HALF_UP); + BigDecimal result = price != null && price.compareTo(BigDecimal.ZERO) > 0 + ? price + : priceTaxTotal.divide(quantity, 4, RoundingMode.HALF_UP); + return result.setScale(4, RoundingMode.HALF_UP); } /** 镜像税率转税率表编码:"V"+整数税率(13/13%/0.13→V13);缺失、零/免税行拦截提示人工 */