教代会意见:查询统计字段查询有误(建议承办单位)
This commit is contained in:
+1
-2
@@ -74,8 +74,7 @@ public class OpinionSummaryController {
|
|||||||
@Aop(TransAop.READ_COMMITTED)
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
public Result pageData(@Valid OpinionSearchParam pageForm,
|
public Result pageData(@Valid OpinionSearchParam pageForm,
|
||||||
@Param(value = "String") String sessionId) {
|
@Param(value = "String") String sessionId) {
|
||||||
Sql sql = opinionSummaryService.createSql(pageForm, sessionId);
|
return Result.success(opinionSummaryService.pageData(pageForm, sessionId));
|
||||||
return Result.success(opinionCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@At
|
@At
|
||||||
|
|||||||
+10
@@ -1,5 +1,6 @@
|
|||||||
package com.budwk.app.zhgh.democratic.opinion.service;
|
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.param.ExportTableColumns;
|
||||||
import com.budwk.app.base.service.BaseService;
|
import com.budwk.app.base.service.BaseService;
|
||||||
import com.budwk.app.zhgh.democratic.opinion.models.OpinionInfo;
|
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);
|
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.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
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.param.ExportTableColumns;
|
||||||
import com.budwk.app.base.utils.CommonDownloadUtil;
|
import com.budwk.app.base.utils.CommonDownloadUtil;
|
||||||
import com.budwk.app.base.constant.RoleConstant;
|
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.Sqls;
|
||||||
import org.nutz.dao.sql.Sql;
|
import org.nutz.dao.sql.Sql;
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
import org.nutz.json.Json;
|
||||||
import org.nutz.lang.util.NutMap;
|
import org.nutz.lang.util.NutMap;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -91,11 +93,20 @@ public class OpinionSummaryServiceImpl extends BaseServiceImpl<OpinionInfo> impl
|
|||||||
return sql;
|
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
|
@Override
|
||||||
public void exportData(OpinionSearchParam pageForm, String sessionId, ExportTableColumns[] tableColumns, HttpServletResponse response) {
|
public void exportData(OpinionSearchParam pageForm, String sessionId, ExportTableColumns[] tableColumns, HttpServletResponse response) {
|
||||||
// 导出与列表查询复用同一套SQL,确保页面筛选结果和导出结果完全一致。
|
// 导出与列表查询复用同一套SQL,确保页面筛选结果和导出结果完全一致。
|
||||||
Sql sql = createSql(pageForm, sessionId);
|
Sql sql = createSql(pageForm, sessionId);
|
||||||
List<NutMap> dataList = listMap(sql);
|
List<NutMap> dataList = formatSummaryList(listMap(sql));
|
||||||
dataList.forEach(item -> {
|
dataList.forEach(item -> {
|
||||||
Integer stateCode = Convert.toInt(item.get("instanceState"), null);
|
Integer stateCode = Convert.toInt(item.get("instanceState"), null);
|
||||||
item.setv("instanceStateName", getProcessInstanceStateName(stateCode));
|
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("意见类别", "typeName", 20));
|
||||||
entityList.add(new ExcelExportEntity("建议人", "createUserName", 20));
|
entityList.add(new ExcelExportEntity("建议人", "createUserName", 20));
|
||||||
entityList.add(new ExcelExportEntity("记录人", "suggestUserName", 20));
|
entityList.add(new ExcelExportEntity("记录人", "suggestUserName", 20));
|
||||||
|
entityList.add(new ExcelExportEntity("建议承办单位", "suggestUnitsName", 25));
|
||||||
entityList.add(new ExcelExportEntity("主办单位", "masterUnitName", 25));
|
entityList.add(new ExcelExportEntity("主办单位", "masterUnitName", 25));
|
||||||
entityList.add(new ExcelExportEntity("协办单位", "slaveUnitNames", 25));
|
entityList.add(new ExcelExportEntity("协办单位", "slaveUnitNames", 25));
|
||||||
entityList.add(new ExcelExportEntity("届次", "sessionName", 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);
|
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: [
|
tableColumns: [
|
||||||
{label: "意见编号", prop: "code"},
|
{label: "意见编号", prop: "code"},
|
||||||
{label: "意见和建议", prop: "name", width: "200px"},
|
{label: "意见和建议", prop: "name", width: "200px"},
|
||||||
{label: "意见类别", prop: "typeName"},
|
{label: "意见类别", prop: "typeName"},
|
||||||
{label: "建议人", prop: "createUserName"},
|
{label: "建议人", prop: "createUserName"},
|
||||||
{label: "建议人所属代表团", prop: "delegationName"},
|
{label: "建议人所属代表团", prop: "delegationName"},
|
||||||
{label: "建议承办单位", prop: "unitName"},
|
{label: "建议承办单位", prop: "suggestUnitsName"},
|
||||||
{label: "主办单位", prop: "masterUnitName"},
|
{label: "主办单位", prop: "masterUnitName"},
|
||||||
{label: "协办单位", prop: "slaveUnitNames"},
|
{label: "协办单位", prop: "slaveUnitNames"},
|
||||||
{label: "记录人", prop: "suggestUserName"},
|
{label: "记录人", prop: "suggestUserName"},
|
||||||
|
|||||||
Reference in New Issue
Block a user