This commit is contained in:
zhaoxinyu
2024-12-11 15:59:56 +08:00
parent 665858e892
commit 2420601a69
4 changed files with 89 additions and 48 deletions
@@ -108,7 +108,7 @@ public enum SickHelpCalc {
double subsidyRatio = 0d;
//年度补助最高金额
double maxSubsidyMoney = 30000.00;
double maxSubsidyMoney = 60000.00;
//自付金额
double spd = sr.getSelfPayMoney().doubleValue();
@@ -134,68 +134,99 @@ public enum SickHelpCalc {
int howManyDidNotApplyYears = sickHelpApply.howManyYearsDidNotApply(sr.getLoginName(), calcYear);
if (howManyDidNotApplyYears >= 15) {
otherSubsidyRatio = 0.1d;
sr.setSubsidyDesc("满十五年且未补助");
} else if (howManyDidNotApplyYears >= 5) {
otherSubsidyRatio = howManyDidNotApplyYears >= 10 ? 0.1d : howManyDidNotApplyYears * 0.01;
sr.setSubsidyDesc("满五年且未补助");
if (howManyDidNotApplyYears >= 5) {
otherSubsidyRatio = Math.min(howManyDidNotApplyYears, 10) * 0.01;
sr.setSubsidyDesc("满" + howManyDidNotApplyYears + "年且未补助");
}
// if (howManyDidNotApplyYears >= 15) {
// otherSubsidyRatio = 0.1d;
// sr.setSubsidyDesc("满十五年且未补助");
// } else if (howManyDidNotApplyYears >= 5) {
// otherSubsidyRatio = howManyDidNotApplyYears >= 10 ? 0.1d : howManyDidNotApplyYears * 0.01;
// sr.setSubsidyDesc("满五年且未补助");
// }
sr.setOtherSubsidyRatio(otherSubsidyRatio);
//按照比例算出来的钱
double subsidyMoney = 0.00d;
if (spd > 30000) {
subsidyMoney = subsidyMoney + ((10000 - 4000) * (0.25d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((20000 - 10000) * (0.40d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((30000 - 20000) * (0.50d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((spd - 30000) * (0.60d + otherSubsidyRatio));
/**
* 具体补助标准为:
* (一)超过1万元―5万元(不含1万元)之间的部分,补助比例为30%。
* (二)5万元―10万元(不含5万元)之间的部分,补助比例为40%。
* (三)10万元以上的部分(不含10万元)补助比例为50%。
* (四)个人年度分段累计获得补助最高限额为6万元。
* (五)对于连续参加互助会满5年未申请补助的会员,在申请补助时比例可增加5%,并逐年递增1%,最高递增比例可达10%。
*/
if (spd > 100000) {
subsidyMoney = subsidyMoney + ((50000 - 10000) * (0.30d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((100000 - 50000) * (0.40d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((spd - 100000) * (0.50d + otherSubsidyRatio));
}else if (spd > 50000) {
subsidyMoney = subsidyMoney + ((50000 - 10000) * (0.30d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((spd - 50000) * (0.40d + otherSubsidyRatio));
}else if (spd > 10000) {
subsidyMoney = subsidyMoney + ((spd - 10000) * (0.30d + otherSubsidyRatio));
}
if (spd > 20000 && spd <= 30000) {
subsidyMoney = subsidyMoney + ((10000 - 4000) * (0.25d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((20000 - 10000) * (0.40d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((spd - 20000) * (0.50d + otherSubsidyRatio));
}
// if (spd > 30000) {
// subsidyMoney = subsidyMoney + ((10000 - 4000) * (0.25d + otherSubsidyRatio));
// subsidyMoney = subsidyMoney + ((20000 - 10000) * (0.40d + otherSubsidyRatio));
// subsidyMoney = subsidyMoney + ((30000 - 20000) * (0.50d + otherSubsidyRatio));
// subsidyMoney = subsidyMoney + ((spd - 30000) * (0.60d + otherSubsidyRatio));
// }
//
// if (spd > 20000 && spd <= 30000) {
// subsidyMoney = subsidyMoney + ((10000 - 4000) * (0.25d + otherSubsidyRatio));
// subsidyMoney = subsidyMoney + ((20000 - 10000) * (0.40d + otherSubsidyRatio));
// subsidyMoney = subsidyMoney + ((spd - 20000) * (0.50d + otherSubsidyRatio));
// }
//
// if (spd > 10000 && spd <= 20000) {
// subsidyMoney = subsidyMoney + ((10000 - 4000) * (0.25d + otherSubsidyRatio));
// subsidyMoney = subsidyMoney + ((spd - 10000) * (0.40d + otherSubsidyRatio));
// }
//
// if (spd > 4000 && spd <= 10000) {
// subsidyMoney = subsidyMoney + ((spd - 4000) * (0.25d + otherSubsidyRatio));
// }
if (spd > 10000 && spd <= 20000) {
subsidyMoney = subsidyMoney + ((10000 - 4000) * (0.25d + otherSubsidyRatio));
subsidyMoney = subsidyMoney + ((spd - 10000) * (0.40d + otherSubsidyRatio));
}
if (spd > 4000 && spd <= 10000) {
subsidyMoney = subsidyMoney + ((spd - 4000) * (0.25d + otherSubsidyRatio));
//个人年度分段累计获得补助最高限额为6万元。
if (subsidyMoney > maxSubsidyMoney) {
subsidyMoney = maxSubsidyMoney;
}
sr.setNoLimitSubsidyMoney(NumberUtil.round(subsidyMoney, 2, RoundingMode.UP));
sr.setSubsidyMoney(NumberUtil.round(subsidyMoney, 0, RoundingMode.UP));
if (subsidyMoney > 30000) {
if (howManyDidNotApplyYears >= 15) {
sr.setSubsidyMoney(NumberUtil.round(subsidyMoney, 0, RoundingMode.UP));
} else {
sr.setSubsidyMoney(NumberUtil.round(30000, 0, RoundingMode.UP));
}
} else {
sr.setSubsidyMoney(NumberUtil.round(subsidyMoney, 0, RoundingMode.UP));
}
// if (subsidyMoney > 30000) {
// if (howManyDidNotApplyYears >= 15) {
// sr.setSubsidyMoney(NumberUtil.round(subsidyMoney, 0, RoundingMode.UP));
// } else {
// sr.setSubsidyMoney(NumberUtil.round(30000, 0, RoundingMode.UP));
// }
// } else {
// sr.setSubsidyMoney(NumberUtil.round(subsidyMoney, 0, RoundingMode.UP));
// }
sr.setIsAccept(null);
//补助说明
if (otherSubsidyRatio == 0.05) {
sr.setSubsidyDesc("满五年且未补助");
} else if (otherSubsidyRatio == 0.15) {
sr.setSubsidyDesc("满十五年且未补助");
} else if (otherSubsidyRatio == 0) {
if (sr.getLastTimeSubsidyYear() == null) {
sr.setSubsidyDesc("未满五年");
} else {
sr.setSubsidyDesc("是");
}
}
// if (otherSubsidyRatio == 0.05) {
// sr.setSubsidyDesc("满五年且未补助");
// } else if (otherSubsidyRatio == 0.15) {
// sr.setSubsidyDesc("满十五年且未补助");
// } else if (otherSubsidyRatio == 0) {
// if (sr.getLastTimeSubsidyYear() == null) {
// sr.setSubsidyDesc("未满五年");
// } else {
// sr.setSubsidyDesc("是");
// }
// }
return sr;
}
@@ -38,9 +38,10 @@ public class SickHelpImportController {
static {
// excelTemplateEntityList.add(new ExcelExportEntity("申报年度", "year", 20));
excelTemplateEntityList.add(new ExcelExportEntity("人员代码", "loginName", 20));
excelTemplateEntityList.add(new ExcelExportEntity("工号", "loginName", 20));
excelTemplateEntityList.add(new ExcelExportEntity("姓名", "userName", 20));
// excelTemplateEntityList.add(new ExcelExportEntity("单位", "unitName", 20));
excelTemplateEntityList.add(new ExcelExportEntity("两项自付之和金额(元)", "selfPayTotalMoney", 25));
excelTemplateEntityList.add(new ExcelExportEntity("个人支付金额(元)", "selfPayMoney", 20));
// excelTemplateEntityList.add(new ExcelExportEntity("账号", "hospitalAccount", 20));
// excelTemplateEntityList.add(new ExcelExportEntity("补助金额(元)", "", 20));
@@ -33,7 +33,7 @@ public class SickHelp {
@Column
@Comment("工号")
@ColDefine(type = ColType.VARCHAR, width = 50)
@Excel(name = "人员代码", width = 20)
@Excel(name = "工号", width = 20)
private String loginName;
@Column
@@ -73,6 +73,13 @@ public class SickHelp {
@JsonField(forceString = true)
private BigDecimal selfPayMoney;
@Column
@Comment("两项自付之和金额(元)")
@ColDefine(type = ColType.FLOAT, width = 10, precision = 2)
@Excel(name = "两项自付之和金额(元)", numFormat = "#.##", width = 20)
@JsonField(forceString = true)
private BigDecimal selfPayTotalMoney;
@Column
@Comment("按照比例计算的补助金额(元)")
@ColDefine(type = ColType.FLOAT, width = 10, precision = 2)
@@ -103,7 +103,9 @@ layout("/layouts/platform.html"){
<!-- :precision="2" size="small" style="width: 100%"></el-input-number>-->
<!-- </template>-->
</el-table-column>
<el-table-column label="计算金额(员)" prop="noLimitSubsidyMoney" width="200"></el-table-column>
<el-table-column label="两项自付之和金额(元)" prop="selfPayTotalMoney" width="200"></el-table-column>
<el-table-column label="计算金额(元)" prop="noLimitSubsidyMoney" width="200"></el-table-column>
<el-table-column label="补助金额(元)" prop="subsidyMoney" width="200">
<!-- <template scope="{row}">-->