From 31c47d2ebc982c121e8d8da485ae2e4078963d9a Mon Sep 17 00:00:00 2001 From: zhangrui Date: Thu, 14 May 2026 09:57:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=99=E4=BB=A3=E4=BC=9A=E6=84=8F=E8=A7=81?= =?UTF-8?q?=EF=BC=9A=E6=9F=A5=E8=AF=A2=E7=BB=9F=E8=AE=A1=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9C=89=E8=AF=AF=EF=BC=88=E5=BB=BA=E8=AE=AE?= =?UTF-8?q?=E6=89=BF=E5=8A=9E=E5=8D=95=E4=BD=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transact/OpinionSummaryController.java | 3 +- .../service/OpinionSummaryService.java | 10 ++++++ .../impl/OpinionSummaryServiceImpl.java | 32 ++++++++++++++++++- .../opinion/transact/summary/index.html | 4 +-- 4 files changed, 44 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/democratic/opinion/controller/transact/OpinionSummaryController.java b/src/main/java/com/budwk/app/zhgh/democratic/opinion/controller/transact/OpinionSummaryController.java index 58eceac3..c85800d3 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/opinion/controller/transact/OpinionSummaryController.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/opinion/controller/transact/OpinionSummaryController.java @@ -74,8 +74,7 @@ public class OpinionSummaryController { @Aop(TransAop.READ_COMMITTED) public Result pageData(@Valid OpinionSearchParam pageForm, @Param(value = "String") String sessionId) { - Sql sql = opinionSummaryService.createSql(pageForm, sessionId); - return Result.success(opinionCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql)); + return Result.success(opinionSummaryService.pageData(pageForm, sessionId)); } @At diff --git a/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/OpinionSummaryService.java b/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/OpinionSummaryService.java index e2c70288..8c924a25 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/OpinionSummaryService.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/OpinionSummaryService.java @@ -1,5 +1,6 @@ package com.budwk.app.zhgh.democratic.opinion.service; +import com.budwk.app.base.page.Pagination; import com.budwk.app.base.param.ExportTableColumns; import com.budwk.app.base.service.BaseService; import com.budwk.app.zhgh.democratic.opinion.models.OpinionInfo; @@ -18,6 +19,15 @@ public interface OpinionSummaryService extends BaseService { */ Sql createSql(@Valid OpinionSearchParam pageForm, String sessionId); + /** + * 分页查询汇总列表 + * + * @param pageForm 查询条件 + * @param sessionId 教代会ID + * @return 汇总分页结果 + */ + Pagination pageData(@Valid OpinionSearchParam pageForm, String sessionId); + /** * 导出查询统计结果 * diff --git a/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/impl/OpinionSummaryServiceImpl.java b/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/impl/OpinionSummaryServiceImpl.java index 8159c68c..3c979fac 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/impl/OpinionSummaryServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/opinion/service/impl/OpinionSummaryServiceImpl.java @@ -6,6 +6,7 @@ import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; +import com.budwk.app.base.page.Pagination; import com.budwk.app.base.param.ExportTableColumns; import com.budwk.app.base.utils.CommonDownloadUtil; import com.budwk.app.base.constant.RoleConstant; @@ -23,6 +24,7 @@ import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.json.Json; import org.nutz.lang.util.NutMap; import javax.servlet.http.HttpServletResponse; @@ -91,11 +93,20 @@ public class OpinionSummaryServiceImpl extends BaseServiceImpl impl return sql; } + @Override + public Pagination pageData(OpinionSearchParam pageForm, String sessionId) { + // 分页结果在 service 层统一格式化,确保列表和导出使用同一套展示字段。 + Sql sql = createSql(pageForm, sessionId); + Pagination pagination = listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); + pagination.setList(formatSummaryList(pagination.getList(NutMap.class))); + return pagination; + } + @Override public void exportData(OpinionSearchParam pageForm, String sessionId, ExportTableColumns[] tableColumns, HttpServletResponse response) { // 导出与列表查询复用同一套SQL,确保页面筛选结果和导出结果完全一致。 Sql sql = createSql(pageForm, sessionId); - List dataList = listMap(sql); + List dataList = formatSummaryList(listMap(sql)); dataList.forEach(item -> { Integer stateCode = Convert.toInt(item.get("instanceState"), null); item.setv("instanceStateName", getProcessInstanceStateName(stateCode)); @@ -123,6 +134,7 @@ public class OpinionSummaryServiceImpl extends BaseServiceImpl impl entityList.add(new ExcelExportEntity("意见类别", "typeName", 20)); entityList.add(new ExcelExportEntity("建议人", "createUserName", 20)); entityList.add(new ExcelExportEntity("记录人", "suggestUserName", 20)); + entityList.add(new ExcelExportEntity("建议承办单位", "suggestUnitsName", 25)); entityList.add(new ExcelExportEntity("主办单位", "masterUnitName", 25)); entityList.add(new ExcelExportEntity("协办单位", "slaveUnitNames", 25)); entityList.add(new ExcelExportEntity("届次", "sessionName", 25)); @@ -136,6 +148,24 @@ public class OpinionSummaryServiceImpl extends BaseServiceImpl impl CommonDownloadUtil.download("意见查询统计.xlsx", ExcelExportUtil.exportExcel(exportParams, entityList, dataList), response); } + /** + * 处理汇总页列表展示字段,避免前端直接展示 JSON 原始值。 + * + * @param dataList 汇总列表 + * @return 格式化后的汇总列表 + */ + private List formatSummaryList(List dataList) { + dataList.forEach(item -> { + String suggestUnits = item.getString("suggestUnits"); + if (StrUtil.isNotBlank(suggestUnits)) { + item.setv("suggestUnitsName", String.join(",", Json.fromJson(ArrayList.class, suggestUnits))); + } else { + item.setv("suggestUnitsName", ""); + } + }); + return dataList; + } + /** * 将流程状态编码转换为中文描述,便于导出表格直接查看。 * diff --git a/src/main/resources/views/platform/zhgh/democratic/opinion/transact/summary/index.html b/src/main/resources/views/platform/zhgh/democratic/opinion/transact/summary/index.html index 268da181..98c4be40 100644 --- a/src/main/resources/views/platform/zhgh/democratic/opinion/transact/summary/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/opinion/transact/summary/index.html @@ -85,10 +85,10 @@ layout("/layouts/platform.html"){ tableColumns: [ {label: "意见编号", prop: "code"}, {label: "意见和建议", prop: "name", width: "200px"}, - {label: "意见类别", prop: "typeName"}, + {label: "意见类别", prop: "typeName"}, {label: "建议人", prop: "createUserName"}, {label: "建议人所属代表团", prop: "delegationName"}, - {label: "建议承办单位", prop: "unitName"}, + {label: "建议承办单位", prop: "suggestUnitsName"}, {label: "主办单位", prop: "masterUnitName"}, {label: "协办单位", prop: "slaveUnitNames"}, {label: "记录人", prop: "suggestUserName"},