fix: 收票单A303-2分录单价统一4位小数满足金蝶格式校验

This commit is contained in:
刘泉佳
2026-10-31 16:19:09 +08:00
parent d51a99b156
commit f2b1a2feb7
@@ -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);缺失、零/免税行拦截提示人工 */