本文解答了关于《取得一次性补偿是否缴税》相关内容,同时关于1、取得一次性补偿是否缴税呢,2、一次性补偿金怎么交税,3、一次性补偿需要交个税吗,4、取得一次性补偿收入,5、一次性补偿扣税吗,的相关问答本篇文章福途教育网小编也整理了进来,希望对您有帮助。
取得一次性补偿是否缴税
String isEducationDeduction =
(String)processVariables.get("isEducationDeduction");
//如果选择是,并且还拿到一次性补偿
if(StringUtils.equals(isEducationDeduction,"1") && oneTimeCompensation>0){
Map results =
new HashMap();
List
new ArrayList
//税率表,这里写死在逻辑里了,实际开发不推荐
List
new ArrayList
double basicTax = 0d; // 计算结果基本险
//循环获取自定义表单数据
for(FlowNodeCustom c:customs){
if("Tax".equals(c.getName())){
String jsonString = c.getValue();
System.out.println("jsonString-->"+jsonString);
Map map = JsonMapper.getInstance().fromJson(jsonString, Map.class);
System.out.println("map-->"+map);
taxables = (List
System.out.println("taxables-->"+taxables);
}
}
//一次性补偿减去3500
double shouldTax = oneTimeCompensation-3500;
shouldTax = shouldTax>=0?shouldTax:0;
//计算税率
for(Map rate:taxables){
double startMoney =
Double.parseDouble(rate.get("startMoney")+"");
double endMoney =
Double.parseDouble(rate.get("endMoney")+"");
double taxRate =
Double.parseDouble(rate.get("taxRate")+"");
//拿到缴税基数
double taxBase = Math.max(shouldTax-startMoney, 0);
//这里税收基数最大不能超出endMoney,也就是endMoney到shouldTax那段
taxBase = Math.min(taxBase, endMoney-startMoney);
System.out.println("startMoney-->"+startMoney);
System.out.println("endMoney-->"+endMoney);
System.out.println("taxRate-->"+taxRate);
System.out.println("taxBase-->"+taxBase);
basicTax += taxBase*taxRate;
}
//转换为两位小数
NumberFormat nf=NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
basicTax = Double.parseDouble(nf.format(basicTax));
System.out.println("basicTax-->"+basicTax);
//存入流程变量里
results.put("basicTax", basicTax);
context.setVariable("results", results);
Map result = new HashMap();
//明细
result.put("value",basicTax);
//自定义表单中定义标题
result.put("title", "税收");
caches.add(result);
//存放流程明细
context.setVariable("caches", caches);
}
return null;
}
}
总结:以上是编辑:【龚道铸】整理及AI智能原创关于《取得一次性补偿是否缴税
》优质内容解答希望能帮助到您。