From 2c456094bdf1cc7e1bab5e0dbee00bb1f2743488 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 17 七月 2023 13:50:12 +0800 Subject: [PATCH] 1、审批顺序:审批时,从一级到五级逐级审批,回退时,由审批人员指定回退级别,如从五级审批退回到经办人(需要重新修改材料的人员处),每一级可以看到回退的信息;修改完成后,直接从经办人处到达五级审批或退回的审批人。被退回的信息修改完成后,直接从经办人到达五级审批或退回的审批人处,那么其他层级的审批人虽然不需要审批,但要能够看到重新修改后的信息。 说明: (1)差旅费报销主表:service_reimbursement 标识字段:FlowLevel(当前审核级别 处于哪个阶段 0:申请;1:一级审核;2:二级审核;3:三级审核等; 4:四级审核等; 5:五级审核等);RecordStatus(记录状态 详见字典sys_travelexpensestatus) (2)费用报销主表:service_fund 标识字段:FlowLevel(当前审核级别 处于哪个阶段 0:申请;1:一级审核;2:二级审核;3:三级审核等; 4:四级审核等; 5:五级审核等);RecordStatus(记录状态 详见字典sys_travelexpensestatus) (3)审批流程设置表:service_fundflowrule (4)审批流程记录表:service_fundflow --- ruoyi-common/src/main/java/com/ruoyi/common/tax/TaxtUtils.java | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 41 insertions(+), 3 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..1669734 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 @@ -41,7 +41,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 +58,47 @@ return format; } + /** + * 閫氳繃绋庡悗宸ヨ祫锛岀畻鍑虹◣鍓嶅伐璧� + * + * @param money + * @return + */ + public static String getTaxationBefore(BigDecimal money) { + //褰揦<=800鏃讹紝涓◣T=0 + BigDecimal taxMoney = new BigDecimal(0.0); +//绗竴涓弬鏁版槸闄ゆ暟锛岀浜屼釜鍙傛暟浠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); + return format; + } + + public static void main(String[] args) { - String taxation = getTaxation(new BigDecimal(70000)); - System.out.println(taxation); + String taxation = getTaxation(new BigDecimal(21000)); + String taxationBefore = getTaxationBefore(new BigDecimal(52000)); + + + System.out.println(taxation + " " + taxationBefore); } } -- Gitblit v1.9.3