返回介绍

Online Java 增强 导出

发布于 2020-09-14 22:20:41 字数 3471 浏览 2074 评论 0 收藏 0

online 导出数据 可以通过配置 java 增强修改导出的数据,只有 开始 事件有效

1.增强配置

2.编写java增强类

注意:java增强导出,需要实现的接口是:CgformEnhanceJavaListInter与常规的JAVA增强不同。

package org.jeecg.modules.online.cgform.enhance.impl;

import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.vo.SysCategoryModel;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.online.cgform.enhance.CgformEnhanceJavaListInter;
import org.jeecg.modules.online.cgform.entity.OnlCgformField;
import org.jeecg.modules.online.cgform.service.IOnlCgformFieldService;
import org.jeecg.modules.online.config.exception.BusinessException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

@Component("cgformEnhanceExportDemo")
public class CgformEnhanceExportDemo implements CgformEnhanceJavaListInter {
    @Autowired
    ISysBaseAPI sysBaseAPI;
    @Autowired
    IOnlCgformFieldService onlCgformFieldService;

    @Override
    public void execute(String tableName, List<Map<String, Object>> data) throws BusinessException {
        //系统全部分类字段
        List<SysCategoryModel> ls = sysBaseAPI.queryAllDSysCategory();
        for (Map<String, Object> map : data) {
            //针对字段fen_tree,进行导出树分类字典显示转换
            String val = oConvertUtils.getString(map.get("fen_tree"));
            if (oConvertUtils.isEmpty(val)) {
                continue;
            }
            List<SysCategoryModel> collect = ls.stream().filter(item -> item.getId().equals(val)).collect(Collectors.toList());
            if (collect != null && collect.size() != 0) {
                map.put("fen_tree", collect.get(0).getName());
            }

            //针对字段sel_search,进行导出表字典显示转换
            String sel_search = oConvertUtils.getString(map.get("sel_search"));
            if (oConvertUtils.isEmpty(sel_search)) {
                continue;
            }
            //获取字典表的配置信息
            OnlCgformField onlCgformField = onlCgformFieldService.queryFormFieldByTableNameAndField(tableName, "sel_search");
            if (onlCgformField == null || oConvertUtils.isEmpty(onlCgformField.getDictTable())) {
                continue;
            }
            List<String> dictTableName = sysBaseAPI.queryTableDictByKeys(onlCgformField.getDictTable(), onlCgformField.getDictText(), onlCgformField.getDictField(), new String[]{sel_search});
            if (dictTableName != null && dictTableName.size() > 0) {
                map.put("sel_search", dictTableName.get(0));
            }
        }

    }
}

3.访问online表数据

4.导出excel数据显示如下:

注意:java增强导出需要实现的接口是 :CgformEnhanceJavaListInter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文