From faf88bcdb3f8d08abe0c34a58d5a9aabf385caed Mon Sep 17 00:00:00 2001 From: sez Date: Fri, 28 Nov 2025 16:30:59 +0800 Subject: [PATCH] =?UTF-8?q?divide=E6=B7=BB=E5=8A=A0,=2010,=20RoundingMode.?= =?UTF-8?q?HALF=5FUP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../im/OtherInApplyPushOtherInConvertPlugin.java | 3 ++- .../im/OtherOutApplyPushOtherOutConvertPlugin.java | 3 ++- .../app/plugin/operate/im/PurInConvertPlugin.java | 5 +++-- .../plugin/operate/im/SaleOutBillConvertPlugin.java | 13 +++++++------ .../plugin/operate/im/YdthPurInConvertPlugin.java | 5 +++-- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/lc123/cloud/app/plugin/operate/im/OtherInApplyPushOtherInConvertPlugin.java b/lc123/cloud/app/plugin/operate/im/OtherInApplyPushOtherInConvertPlugin.java index 831f390..55824bb 100644 --- a/lc123/cloud/app/plugin/operate/im/OtherInApplyPushOtherInConvertPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/OtherInApplyPushOtherInConvertPlugin.java @@ -18,6 +18,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; /** @@ -109,7 +110,7 @@ public class OtherInApplyPushOtherInConvertPlugin extends AbstractConvertPlugIn BigDecimal qty = entry.getBigDecimal("qty");//原数量 BigDecimal amount = entry.getBigDecimal("amount");//金额 - amount = amount.multiply(quantity).divide(qty);//金额 + amount = amount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP);//金额 // 处理第一次逻辑 if (i == 0) { diff --git a/lc123/cloud/app/plugin/operate/im/OtherOutApplyPushOtherOutConvertPlugin.java b/lc123/cloud/app/plugin/operate/im/OtherOutApplyPushOtherOutConvertPlugin.java index d87c317..fc89751 100644 --- a/lc123/cloud/app/plugin/operate/im/OtherOutApplyPushOtherOutConvertPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/OtherOutApplyPushOtherOutConvertPlugin.java @@ -18,6 +18,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; /** @@ -109,7 +110,7 @@ public class OtherOutApplyPushOtherOutConvertPlugin extends AbstractConvertPlugI BigDecimal qty = entry.getBigDecimal("qty");//原数量 BigDecimal amount = entry.getBigDecimal("amount");//金额 - amount = amount.multiply(quantity).divide(qty);//金额 + amount = amount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP);//金额 // 处理第一次逻辑 if (i == 0) { diff --git a/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java b/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java index 1e67526..8e1e9ea 100644 --- a/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/PurInConvertPlugin.java @@ -19,6 +19,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; /** @@ -115,8 +116,8 @@ public class PurInConvertPlugin extends AbstractConvertPlugIn implements Plugin BigDecimal qty = entry.getBigDecimal("qty");//原数量 BigDecimal amountandtax = entry.getBigDecimal("amountandtax");//折扣后价税合计 BigDecimal amount = entry.getBigDecimal("amount");//金额 - amountandtax = amountandtax.multiply(quantity).divide(qty);//折扣后价税合计 - amount = amount.multiply(quantity).divide(qty);//金额 + amountandtax = amountandtax.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP);//折扣后价税合计 + amount = amount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP);//金额 BigDecimal taxamount = amountandtax.subtract(amount);//税额 // 处理第一次逻辑 diff --git a/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java b/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java index af72ed9..17e7a9a 100644 --- a/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/SaleOutBillConvertPlugin.java @@ -18,6 +18,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; /** @@ -132,9 +133,9 @@ public class SaleOutBillConvertPlugin extends AbstractConvertPlugIn implements P BigDecimal amount = entry.getBigDecimal("amount");//金额 BigDecimal taxamount = entry.getBigDecimal("taxamount");//税额 BigDecimal amountandtax = entry.getBigDecimal("amountandtax");//税额 - amount=amount.multiply(quantity).divide(qty); - taxamount=taxamount.multiply(quantity).divide(qty); - amountandtax=amountandtax.multiply(quantity).divide(qty); + amount = amount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP); + taxamount = taxamount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP); + amountandtax = amountandtax.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP); entry.set("amount", amount); entry.set("curamount", amount); entry.set("taxamount", taxamount); @@ -167,9 +168,9 @@ public class SaleOutBillConvertPlugin extends AbstractConvertPlugIn implements P BigDecimal amount = entry.getBigDecimal("amount");//金额 BigDecimal taxamount = entry.getBigDecimal("taxamount");//税额 BigDecimal amountandtax = entry.getBigDecimal("amountandtax");//价税合计 - amount=amount.multiply(quantity).divide(qty); - taxamount=taxamount.multiply(quantity).divide(qty); - amountandtax=amountandtax.multiply(quantity).divide(qty); + amount = amount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP); + taxamount = taxamount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP); + amountandtax = amountandtax.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP); entry.set("amount", amount); entry.set("curamount", amount); entry.set("taxamount", taxamount); diff --git a/lc123/cloud/app/plugin/operate/im/YdthPurInConvertPlugin.java b/lc123/cloud/app/plugin/operate/im/YdthPurInConvertPlugin.java index 279a64a..9389654 100644 --- a/lc123/cloud/app/plugin/operate/im/YdthPurInConvertPlugin.java +++ b/lc123/cloud/app/plugin/operate/im/YdthPurInConvertPlugin.java @@ -20,6 +20,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; /** @@ -126,8 +127,8 @@ public class YdthPurInConvertPlugin extends AbstractConvertPlugIn implements Plu BigDecimal qty = entry.getBigDecimal("qty");//原数量 BigDecimal amountandtax = entry.getBigDecimal("amountandtax");//折扣后价税合计 BigDecimal amount = entry.getBigDecimal("amount");//金额 - amountandtax = amountandtax.multiply(quantity).divide(qty);//折扣后价税合计 - amount = amount.multiply(quantity).divide(qty);//金额 + amountandtax = amountandtax.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP);//折扣后价税合计 + amount = amount.multiply(quantity).divide(qty, 10, RoundingMode.HALF_UP);//金额 BigDecimal taxamount = amountandtax.subtract(amount);//税额