diff --git a/src/main/java/com/gszc/controller/CountController.java b/src/main/java/com/gszc/controller/CountController.java index 2e71a18..737d9e5 100644 --- a/src/main/java/com/gszc/controller/CountController.java +++ b/src/main/java/com/gszc/controller/CountController.java @@ -92,14 +92,14 @@ public class CountController { @PostMapping("/PITCount") @ApiOperation(value = "个人所得税计算器", notes = "个人所得税计算器") @ApiImplicitParams({ - @ApiImplicitParam(name = "type", value = "(1-个税 2-生产经营个税)", dataType = "string", paramType = "query"), - @ApiImplicitParam(name = "produceType", value = "生产经营方式(1-核定征收 2-累进税率),不是生产经营不用填写", dataType = "string", paramType = "query"), +// @ApiImplicitParam(name = "type", value = "(1-个税 2-生产经营个税)", dataType = "string", paramType = "query"), +// @ApiImplicitParam(name = "produceType", value = "生产经营方式(1-核定征收 2-累进税率),不是生产经营不用填写", dataType = "string", paramType = "query"), @ApiImplicitParam(name = "money", value = "开票金额", dataType = "string", paramType = "query"), }) - public Result PITCount(String type,String produceType,double money) { + public Result PITCount(double money) { BigDecimal bigDecimal = null; try { - bigDecimal = countService.PITCount(type,produceType,money); + bigDecimal = countService.PITCount(money); } catch (Exception e) { return ResultBuilder.error("参数错误",e).build(); } diff --git a/src/main/java/com/gszc/service/CountService.java b/src/main/java/com/gszc/service/CountService.java index f1cb6b5..fcb656f 100644 --- a/src/main/java/com/gszc/service/CountService.java +++ b/src/main/java/com/gszc/service/CountService.java @@ -70,84 +70,133 @@ public class CountService { return jsonObject; } - public BigDecimal PITCount(String type,String produceType,double money) throws Exception{ - double result = 0; - if(type.equals("1")){ - double amount=money-5000; - double a = 36000 * 0.03-2520, - b = (144000 - 36000) * 0.10-16920, - c = (300000 - 144000) * 0.20-31920, - d = (420000 - 300000) * 0.25-52920, - e = (660000 - 420000) * 0.30-85920, - f = (960000 - 660000) * 0.35-181920; - if(amount<=36000){ - result = result + amount * 0.03; - } - if(amount>36000&&amount<=144000){ - result = result+(amount-36000)*0.10+a; - } - if(amount>144000&&amount<=300000){ - result = result+(amount-144000)*0.20+a+b; - } - if(amount>300000&&amount<=420000){ - result = result+(amount-300000)*0.25+a+b+c; - } - if(amount>420000&&amount<=660000){ - result = result+(amount-420000)*0.30+a+b+c+d; - } - if(amount>660000&&amount<=960000){ - result = result+(amount-660000)*0.35+a+b+c+d+e; - } - if(amount>960000){ - result = result+(amount-960000)*0.45+a+b+c+d+e+f; - } - - }else if(type.equals("2")){ - double a = 30000/1.03*0.05, - b=(90000-30000)/1.03*0.10, - c=(300000-90000)/1.03*0.20, - d=(500000-300000)/1.03*0.30; - if(produceType.equals("1")){//核定征收 - - if(money<=30000){ - result = result + money/1.03*0.05; - } - if(money>30000&&money<=90000){ - result = result + money/1.03*0.10+a; - } - if(money>90000&&money<=300000){ - result = result + money/1.03*0.20+a+b; - } - if(money>300000&&money<=500000){ - result = result + money/1.03*0.30+a+b+c; - } - if(money>500000){ - result = result + money/1.03*0.35+a+b+c+d; - } - - }else if(produceType.equals("2")){//累进税率 - if(money<=30000){ - result = result + money/1.03*0.05; - } - if(money>30000&&money<=90000){ - result = result + (money-30000)/1.03*0.10+(a-1500); - } - if(money>90000&&money<=300000){ - result = result + (money-90000)/1.03*0.20+a-1500+b-10500; - } - if(money>300000&&money<=500000){ - result = result + (money-300000)/1.03*0.30+a-1500+b-10500+c-40500; - } - if(money>500000){ - result = result + (money-500000)/1.03*0.35+a+b+c+d-1500-10500-40500-65500; - } - }else{ - throw new Exception("方式类型不正确"); - } - - }else { - throw new Exception("专票类型不正确"); + public BigDecimal PITCount(double money) throws Exception{ + if(money <= 0){ + throw new Exception("金额须大于0"); + } + double result =0; + if(money<=300000){ + result = money*0.005; + }else if(30000036000&&amount<=144000){ +// result = result+(amount-36000)*0.10+a; +// } +// if(amount>144000&&amount<=300000){ +// result = result+(amount-144000)*0.20+a+b; +// } +// if(amount>300000&&amount<=420000){ +// result = result+(amount-300000)*0.25+a+b+c; +// } +// if(amount>420000&&amount<=660000){ +// result = result+(amount-420000)*0.30+a+b+c+d; +// } +// if(amount>660000&&amount<=960000){ +// result = result+(amount-660000)*0.35+a+b+c+d+e; +// } +// if(amount>960000){ +// result = result+(amount-960000)*0.45+a+b+c+d+e+f; +// } +// +// }else if(type.equals("2")){ +// double a = 30000/1.03*0.05, +// b=(90000-30000)/1.03*0.10, +// c=(300000-90000)/1.03*0.20, +// d=(500000-300000)/1.03*0.30; +// if(produceType.equals("1")){//核定征收 +// +// if(money<=30000){ +// result = result + money/1.03*0.05; +// } +// if(money>30000&&money<=90000){ +// result = result + money/1.03*0.10+a; +// } +// if(money>90000&&money<=300000){ +// result = result + money/1.03*0.20+a+b; +// } +// if(money>300000&&money<=500000){ +// result = result + money/1.03*0.30+a+b+c; +// } +// if(money>500000){ +// result = result + money/1.03*0.35+a+b+c+d; +// } +// +// }else if(produceType.equals("2")){//累进税率 +// if(money<=30000){ +// result = result + money/1.03*0.05; +// } +// if(money>30000&&money<=90000){ +// result = result + (money-30000)/1.03*0.10+(a-1500); +// } +// if(money>90000&&money<=300000){ +// result = result + (money-90000)/1.03*0.20+a-1500+b-10500; +// } +// if(money>300000&&money<=500000){ +// result = result + (money-300000)/1.03*0.30+a-1500+b-10500+c-40500; +// } +// if(money>500000){ +// result = result + (money-500000)/1.03*0.35+a+b+c+d-1500-10500-40500-65500; +// } +// }else{ +// throw new Exception("方式类型不正确"); +// } +// +// }else { +// throw new Exception("专票类型不正确"); +// } BigDecimal b = new BigDecimal(result); return b.setScale(2, BigDecimal.ROUND_HALF_UP); }