diff --git a/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java b/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java index 12ed88a..81457ac 100644 --- a/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java +++ b/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java @@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.afterturn.easypoi.excel.entity.vo.BaseEntityTypeConstants; import cn.hutool.core.util.StrUtil; import cn.wizzer.framework.base.Result; import io.v.nutz.annontation.ViReturn; @@ -31,6 +32,7 @@ import org.nutz.mvc.upload.UploadAdaptor; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -175,7 +177,7 @@ public class SickHelpListController { @At("/exportData") @Ok("void") @ViReturn - public void exportData(Integer year, String unitName, HttpServletResponse response) { + public void exportData(Integer year, String unitName, Integer isMeetRequirements, Integer isAccept, HttpServletResponse response) { // List subsidyList = sickHelpListService.findSubsidyList(year, unitName); Sql sql = Sqls.create(""" SELECT @@ -200,29 +202,42 @@ public class SickHelpListController { Cnd cnd = Cnd.NEW(); cnd.andEX("sick.year", "=", year); cnd.andEX("sick.unitName", "=", unitName); + cnd.andEX("sick.isMeetRequirements", "=", isMeetRequirements); + if (isMeetRequirements != null && isMeetRequirements != 0) { + cnd.andEX("isAccept", "=", isAccept); + } sql.setCondition(cnd); List list = sickHelpListService.listMap(sql); - for (NutMap row : list) { - String userState = row.getString("userState", ""); - String userState2 = row.getString("userState2", ""); + for (int i = 0; i < list.size(); i++) { + list.get(i).put("index", i + 1); + String userState = list.get(i).getString("userState", ""); + String userState2 = list.get(i).getString("userState2", ""); if (!userState.equals(userState2)) { - row.put("userState", userState2); + list.get(i).put("userState", userState2); } } + // 求和 + list.stream().map(v -> v.getAs("subsidyMoney", BigDecimal.class)).reduce(BigDecimal::add).ifPresent(v -> { + list.add(NutMap.NEW().addv("selfPayMoney", "补助总额:").addv("subsidyMoney", v)); + }); + ExportParams exportParams = new ExportParams(); exportParams.setType(ExcelType.XSSF); exportParams.setTitle(year + "教职工大病医疗互助金补助汇总表"); ArrayList excelExportEntities = new ArrayList<>(); + ExcelExportEntity indexExcelExportEntity = new ExcelExportEntity("序号", "index", 10); + indexExcelExportEntity.setType(BaseEntityTypeConstants.DOUBLE_TYPE); + excelExportEntities.add(indexExcelExportEntity); excelExportEntities.add(new ExcelExportEntity("工资号", "loginName", 20)); excelExportEntities.add(new ExcelExportEntity("姓名", "userName", 20)); excelExportEntities.add(new ExcelExportEntity("单位", "unitName", 20)); excelExportEntities.add(new ExcelExportEntity("状态", "userState", 20)); - excelExportEntities.add(new ExcelExportEntity("医保四项之和金额(元)", "medicalFourTotalMoney", 30)); - excelExportEntities.add(new ExcelExportEntity("两项自付之和金额(元)", "selfPayTotalMoney", 30)); - excelExportEntities.add(new ExcelExportEntity("学校二次报销金额(元)", "schoolSecondSubsidyMoney", 30)); + excelExportEntities.add(new ExcelExportEntity("医保系统中个人自付、个人自理总金额(元)", "medicalFourTotalMoney", 30)); + excelExportEntities.add(new ExcelExportEntity("医保系统中个人自付金额(元)", "selfPayTotalMoney", 30)); + excelExportEntities.add(new ExcelExportEntity("学校补充医疗保险报销金额(元)", "schoolSecondSubsidyMoney", 30)); excelExportEntities.add(new ExcelExportEntity("个人支付金额(元)", "selfPayMoney", 20)); excelExportEntities.add(new ExcelExportEntity("补助金额(元)", "subsidyMoney", 20)); excelExportEntities.add(new ExcelExportEntity("未补助年份", "noSubsidyYear", 20));