diff --git a/src/main/java/io/v/nutz/sickHelp/constant/SickHelpCalc.java b/src/main/java/io/v/nutz/sickHelp/constant/SickHelpCalc.java index d86be70..40d0c4b 100644 --- a/src/main/java/io/v/nutz/sickHelp/constant/SickHelpCalc.java +++ b/src/main/java/io/v/nutz/sickHelp/constant/SickHelpCalc.java @@ -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; } diff --git a/src/main/java/io/v/nutz/sickHelp/controller/SickHelpImportController.java b/src/main/java/io/v/nutz/sickHelp/controller/SickHelpImportController.java index eda84f8..711fdc1 100644 --- a/src/main/java/io/v/nutz/sickHelp/controller/SickHelpImportController.java +++ b/src/main/java/io/v/nutz/sickHelp/controller/SickHelpImportController.java @@ -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)); diff --git a/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java b/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java index b7c36d5..1db3636 100644 --- a/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java +++ b/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java @@ -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) diff --git a/src/main/resources/views/platform/sickHelp/import/excel.html b/src/main/resources/views/platform/sickHelp/import/excel.html index be05ab5..438f198 100644 --- a/src/main/resources/views/platform/sickHelp/import/excel.html +++ b/src/main/resources/views/platform/sickHelp/import/excel.html @@ -103,7 +103,9 @@ layout("/layouts/platform.html"){ - + + +