欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 计算党费

程序员文章站 2022-06-17 12:27:53
...

 

 

/**
	 * 党费交纳标准
	 * <ul>
	 * <li>
	 * (1)每月工资收入(税后)在
	 *  <pre>
	 * 3000 元以下(含 3000 元)者,交纳月工资收入的 0.5%; 
	 * 3000 元以上至 5000元(含 5000 元)者,交纳 1%;
	 * 5000 元以上至 10000元(含 10000 元)者,交纳 1.5%;
	 * 10000 元以上者,交纳2%。
	 *  </li><li>
	 * (2)实行年薪制人员中的党员,每月以当月实际领取的薪酬收入为计算基数,参照前一款规定交纳党费。
	 * </li><li>
	 * (3)交纳党费有困难的党员,由本人申请,经党组织委员会同意,报上一级党委批准后,可以少交或不交。
	 * </li>
	 * </ul>
	 * @param salary
	 *            月工资收入(元)
	 * @return 需交党费(元)
	 */
	public static BigDecimal getPartyTax(BigDecimal salary) {
		BigDecimal salaryLevel_3 = new BigDecimal("10000");
		BigDecimal taxLevel_3 = new BigDecimal("0.020");

		BigDecimal salaryLevel_2 = new BigDecimal("5000");
		BigDecimal taxLevel_2 = new BigDecimal("0.015");

		BigDecimal salaryLevel_1 = new BigDecimal("3000");
		BigDecimal taxLevel_1 = new BigDecimal("0.010");

		BigDecimal salaryLevel_0 = new BigDecimal("0");
		BigDecimal taxLevel_0 = new BigDecimal("0.005");

		BigDecimal[][] sss = { { salaryLevel_3, taxLevel_3 }, { salaryLevel_2, taxLevel_2 },
				{ salaryLevel_1, taxLevel_1 }, { salaryLevel_0, taxLevel_0 } };

		for (int i = 0; i < sss.length; i++) {
			if (salary.compareTo(sss[i][0]) > 0) {
				return salary.multiply(sss[i][1]);
			}
		}

		return BigDecimal.ZERO;
	}