教代会意见:查询统计字段查询有误(建议承办单位)
This commit is contained in:
+1
-2
@@ -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
|
||||
|
||||
+10
@@ -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<OpinionInfo> {
|
||||
*/
|
||||
Sql createSql(@Valid OpinionSearchParam pageForm, String sessionId);
|
||||
|
||||
/**
|
||||
* 分页查询汇总列表
|
||||
*
|
||||
* @param pageForm 查询条件
|
||||
* @param sessionId 教代会ID
|
||||
* @return 汇总分页结果
|
||||
*/
|
||||
Pagination pageData(@Valid OpinionSearchParam pageForm, String sessionId);
|
||||
|
||||
/**
|
||||
* 导出查询统计结果
|
||||
*
|
||||
|
||||
+31
-1
@@ -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<OpinionInfo> 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<NutMap> dataList = listMap(sql);
|
||||
List<NutMap> 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<OpinionInfo> 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<OpinionInfo> impl
|
||||
CommonDownloadUtil.download("意见查询统计.xlsx", ExcelExportUtil.exportExcel(exportParams, entityList, dataList), response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理汇总页列表展示字段,避免前端直接展示 JSON 原始值。
|
||||
*
|
||||
* @param dataList 汇总列表
|
||||
* @return 格式化后的汇总列表
|
||||
*/
|
||||
private List<NutMap> formatSummaryList(List<NutMap> 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将流程状态编码转换为中文描述,便于导出表格直接查看。
|
||||
*
|
||||
|
||||
+2
-2
@@ -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"},
|
||||
|
||||
Reference in New Issue
Block a user