From 782426a428ddce5ce4be7cc1f1ef2640f8f61123 Mon Sep 17 00:00:00 2001 From: zhangrui Date: Tue, 15 Sep 2026 09:54:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BB=E7=96=97=E4=BA=92=E5=8A=A9=E8=A1=A5?= =?UTF-8?q?=E5=8A=A9=E6=A8=A1=E5=9D=971.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MedicalMutualAidSummaryController.java | 10 ++++---- .../service/MedicalMutualAidApplyService.java | 6 +++-- .../MedicalMutualAidApplyServiceImpl.java | 24 +++++++++++++++---- .../medicalMutualAid/apply/summary/index.html | 10 ++++++-- 4 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/controller/MedicalMutualAidSummaryController.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/controller/MedicalMutualAidSummaryController.java index 94c7e4a..2c37949 100644 --- a/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/controller/MedicalMutualAidSummaryController.java +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/controller/MedicalMutualAidSummaryController.java @@ -43,13 +43,14 @@ public class MedicalMutualAidSummaryController { * @param deptName 所在单位 * @param userName 姓名 * @param joinYear 加入年份 + * @param submitYear 申报年份,按申请提交时间所在年份过滤 * @return 汇总分页数据 */ @At("/summary/page") @ApiOperation("查询医疗互助汇总") @SaCheckPermission("medicalMutualAid.apply.summary") - public Result page(PageForm pageForm, String deptName, String userName, Integer joinYear) { - return Result.success(medicalMutualAidApplyService.summaryPage(pageForm, deptName, userName, joinYear)); + public Result page(PageForm pageForm, String deptName, String userName, Integer joinYear, Integer submitYear) { + return Result.success(medicalMutualAidApplyService.summaryPage(pageForm, deptName, userName, joinYear, submitYear)); } /** @@ -58,14 +59,15 @@ public class MedicalMutualAidSummaryController { * @param deptName 所在单位 * @param userName 姓名 * @param joinYear 加入年份 + * @param submitYear 申报年份,按申请提交时间所在年份过滤 * @param response HTTP 响应 */ @At("/summary/exportExcel") @Ok("void") @ApiOperation("导出医疗互助汇总") @SaCheckPermission("medicalMutualAid.apply.summary") - public void exportExcel(String deptName, String userName, Integer joinYear, HttpServletResponse response) { - Workbook workbook = medicalMutualAidApplyService.exportSummary(deptName, userName, joinYear); + public void exportExcel(String deptName, String userName, Integer joinYear, Integer submitYear, HttpServletResponse response) { + Workbook workbook = medicalMutualAidApplyService.exportSummary(deptName, userName, joinYear, submitYear); CommonDownloadUtil.download("医疗互助汇总.xlsx", workbook, response); } } diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/MedicalMutualAidApplyService.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/MedicalMutualAidApplyService.java index 5659216..4e86a3d 100644 --- a/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/MedicalMutualAidApplyService.java +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/MedicalMutualAidApplyService.java @@ -114,9 +114,10 @@ public interface MedicalMutualAidApplyService extends BaseService { * @param deptName 所在单位 * @param userName 姓名 * @param joinYear 加入年份 + * @param submitYear 申报年份,按提交时间所属年份过滤 * @return 汇总分页列表 */ - Pagination summaryPage(PageForm pageForm, String deptName, String userName, Integer joinYear); + Pagination summaryPage(PageForm pageForm, String deptName, String userName, Integer joinYear, Integer submitYear); /** * 导出医疗互助汇总,导出字段与汇总页面展示列保持一致,动态补助区间按当前查询结果生成。 @@ -124,7 +125,8 @@ public interface MedicalMutualAidApplyService extends BaseService { * @param deptName 所在单位 * @param userName 姓名 * @param joinYear 加入年份 + * @param submitYear 申报年份,按提交时间所属年份过滤 * @return Excel 工作簿 */ - Workbook exportSummary(String deptName, String userName, Integer joinYear); + Workbook exportSummary(String deptName, String userName, Integer joinYear, Integer submitYear); } diff --git a/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/impl/MedicalMutualAidApplyServiceImpl.java b/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/impl/MedicalMutualAidApplyServiceImpl.java index 21faaf8..00f482d 100644 --- a/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/impl/MedicalMutualAidApplyServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/staffbenefit/medicalMutualAid/apply/service/impl/MedicalMutualAidApplyServiceImpl.java @@ -51,6 +51,8 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashMap; @@ -345,8 +347,8 @@ public class MedicalMutualAidApplyServiceImpl extends BaseServiceImpl summaryPage(PageForm pageForm, String deptName, String userName, Integer joinYear) { - Cnd cnd = buildSummaryCnd(deptName, userName, joinYear); + public Pagination summaryPage(PageForm pageForm, String deptName, String userName, Integer joinYear, Integer submitYear) { + Cnd cnd = buildSummaryCnd(deptName, userName, joinYear, submitYear); Pagination page = listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd.desc("auditTime")); List rows = page.getList().stream() .map(this::buildSummaryRow) @@ -358,8 +360,8 @@ public class MedicalMutualAidApplyServiceImpl extends BaseServiceImpl applies = query(buildSummaryCnd(deptName, userName, joinYear).desc("auditTime")); + public Workbook exportSummary(String deptName, String userName, Integer joinYear, Integer submitYear) { + List applies = query(buildSummaryCnd(deptName, userName, joinYear, submitYear).desc("auditTime")); List rangeNames = collectSummaryRangeNames(applies); List exportEntities = buildSummaryExportEntities(rangeNames); List> exportRows = buildSummaryExportRows(applies, rangeNames); @@ -592,7 +594,7 @@ public class MedicalMutualAidApplyServiceImpl extends BaseServiceImpl=", startDate).and("submitTime", "<", endDate); + } return cnd; } + /** + * 将年度转换为该年第一天零点时间,汇总页按提交时间区间过滤,避免在数据库字段上套函数影响索引。 + */ + private Date toStartDate(Integer year) { + return Date.from(LocalDate.of(year, 1, 1).atStartOfDay(ZoneId.systemDefault()).toInstant()); + } + /** * 收集导出数据中出现过的补助区间名称,顺序按明细排序和首次出现顺序保持稳定。 */ diff --git a/src/main/resources/views/platform/zhgh/staffbenefit/medicalMutualAid/apply/summary/index.html b/src/main/resources/views/platform/zhgh/staffbenefit/medicalMutualAid/apply/summary/index.html index d84221f..5f260fd 100644 --- a/src/main/resources/views/platform/zhgh/staffbenefit/medicalMutualAid/apply/summary/index.html +++ b/src/main/resources/views/platform/zhgh/staffbenefit/medicalMutualAid/apply/summary/index.html @@ -25,6 +25,9 @@ layout("/layouts/platform.html"){ + + + 查询 重置 @@ -78,7 +81,7 @@ layout("/layouts/platform.html"){ totalCount: 0, tableHeight: 360, apiBase: "${base!}/platform/medicalMutualAid/apply/summary", - searchForm: { deptName: "", userName: "", joinYear: "" }, + searchForm: { deptName: "", userName: "", joinYear: "", submitYear: String(new Date().getFullYear()) }, pageForm: { pageNumber: 1, pageSize: 10 } } }, @@ -135,7 +138,7 @@ layout("/layouts/platform.html"){ this.scheduleTableLayout() }, resetSearch() { - this.searchForm = { deptName: "", userName: "", joinYear: "" } + this.searchForm = { deptName: "", userName: "", joinYear: "", submitYear: String(new Date().getFullYear()) } this.pageForm.pageNumber = 1 this.loadPage() }, @@ -150,6 +153,9 @@ layout("/layouts/platform.html"){ if (this.searchForm.joinYear) { params.push("joinYear=" + encodeURIComponent(this.searchForm.joinYear)) } + if (this.searchForm.submitYear) { + params.push("submitYear=" + encodeURIComponent(this.searchForm.submitYear)) + } window.open(this.apiBase + "/exportExcel" + (params.length ? "?" + params.join("&") : "")) }, formatMoney(value) {