From 0305121daab27b4bff4d906a01b9ca3ce08a5f04 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 20 十一月 2023 18:21:18 +0800
Subject: [PATCH] 代码提交
---
ruoyi-common/src/main/java/com/ruoyi/common/tax/TaxtUtils.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 48 insertions(+), 4 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/tax/TaxtUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/tax/TaxtUtils.java
index 3a78e57..2389e95 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/tax/TaxtUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/tax/TaxtUtils.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
+import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
import java.text.DecimalFormat;
@@ -12,10 +13,11 @@
import java.util.List;
/**
- * 鍔冲姟鎶ラ叕涓◣璁$畻瑙勫垯 (鍙兘涓嶇瓟鍏叡鐢ㄦ硶锛岀敤鍓嶅厛鐪嬬湅鏄惁閫傚悎)
+ * 鍔冲姟鎶ラ叕涓◣璁$畻瑙勫垯 (鍙兘涓嶉�傚悎鍏叡鐢ㄦ硶锛岀敤鍓嶅厛鐪嬬湅鏄惁閫傚悎)
*
* @author ls
*/
+@Slf4j
public class TaxtUtils {
/**
* 鍒嗛殧绗�
@@ -41,7 +43,7 @@
// 褰揦>4000鏃�
//(1)褰揦*(1-20%)<=20000鏃讹紝涓◣T=X*(1-20%)*20%
if (money.doubleValue() > 4000 && multiply.doubleValue() <= 20000) {
- taxMoney = multiply.multiply(new BigDecimal(0.8));
+ taxMoney = multiply.multiply(new BigDecimal(0.2));
}
//(2)褰�20000<X*(1-20%)<=50000鏃讹紝涓◣T=X*(1-20%)*30%-2000
@@ -58,9 +60,51 @@
return format;
}
+ /**
+ * 閫氳繃绋庡悗宸ヨ祫锛岀畻鍑虹◣鍓嶅伐璧�
+ *
+ * @param money
+ * @return
+ */
+ public static String getTaxationBefore(BigDecimal money) {
+ //褰揦<=800鏃讹紝涓◣T=0
+ BigDecimal taxMoney = new BigDecimal(0.0);
+ if (money.doubleValue() <= 800) {
+ taxMoney = money;
+ }
+//绗竴涓弬鏁版槸闄ゆ暟锛岀浜屼釜鍙傛暟浠h〃淇濈暀鍑犱綅灏忔暟锛岀涓変釜浠h〃鐨勬槸浣跨敤鐨勬ā寮�
+ if (money.doubleValue() > 800 && money.doubleValue() <= 3360) {
+ taxMoney = money.subtract(new BigDecimal(160)).divide(new BigDecimal(0.8), 2, BigDecimal.ROUND_UP);
+ }
+
+ if (money.doubleValue() > 3360 && money.doubleValue() <= 21000) {
+ taxMoney = money.divide(new BigDecimal(0.84), 2, BigDecimal.ROUND_DOWN);
+ }
+
+ if (money.doubleValue() > 21000 && money.doubleValue() <= 40000) {
+ money = money.subtract(new BigDecimal(2000));
+ taxMoney = money.divide(new BigDecimal(0.76), 2, BigDecimal.ROUND_DOWN);
+ }
+
+ if (money.doubleValue() > 40000) {
+ money = money.subtract(new BigDecimal(7000));
+ taxMoney = money.divide(new BigDecimal(0.68), 2, BigDecimal.ROUND_DOWN);
+ }
+
+
+ DecimalFormat decimalFormat = new DecimalFormat("#.00");
+ String format = decimalFormat.format(taxMoney);
+ log.info("绋庡墠閲戦涓猴細{}", format);
+ return format;
+ }
+
+
public static void main(String[] args) {
- String taxation = getTaxation(new BigDecimal(70000));
- System.out.println(taxation);
+ String taxation = getTaxation(new BigDecimal(400));
+ String taxationBefore = getTaxationBefore(new BigDecimal(400));
+
+
+ System.out.println(taxation + " " + taxationBefore);
}
}
--
Gitblit v1.9.3