diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java index cd172153..2055d372 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java @@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Results; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.SpringContextUtils; import com.jero.common.util.oConvertUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanutils.PropertyUtils; import org.apache.shiro.SecurityUtils; @@ -74,6 +76,7 @@ public class JeroController> { mv.addObject(FILE_NAME, title); //此处设置的filename无效 ,前端会重更新设置一下 mv.addObject(CLASS, clazz); ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); mv.addObject(PARAMS,exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, exportList); return mv; @@ -113,6 +116,7 @@ public class JeroController> { } Map map = new HashMap<>(); ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title+i); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); exportParams.setType(ExcelType.XSSF); //map.put("title",exportParams);//表格Title map.put(PARAMS,exportParams);//表格Title @@ -157,8 +161,9 @@ public class JeroController> { // 获取上传文件对象 MultipartFile file = entity.getValue(); ImportParams params = new ImportParams(); - /*params.setTitleRows(2); - params.setHeadRows(1);*/ + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + params.setTitleRows(2); + params.setHeadRows(1); params.setNeedSave(true); try { List list = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params); @@ -172,7 +177,7 @@ public class JeroController> { return Results.OK("文件导入成功!数据行数:" + list.size()); } catch (Exception e) { log.error(e.getMessage(), e); - return Results.error("文件导入失败:" + e.getMessage()); + return Results.error("文件导入失败,请联系管理员"); } finally { try { file.getInputStream().close(); diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDictItemCore.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDictItemCore.java index 952315c4..a42177e7 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDictItemCore.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/SysDictItemCore.java @@ -58,7 +58,7 @@ public class SysDictItemCore implements Serializable { /** * 排序 */ - @Excel(name = "排序", width = 15, type=4) + @Excel(name = "排序", width = 15, type = 10) private Integer sortOrder; diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/easypoi/EasyPoiDictHandlerImpl.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/easypoi/EasyPoiDictHandlerImpl.java new file mode 100644 index 00000000..163a392a --- /dev/null +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/easypoi/EasyPoiDictHandlerImpl.java @@ -0,0 +1,91 @@ +package com.jero.config.easypoi; + +import cn.afterturn.easypoi.handler.inter.IExcelDictHandler; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.jero.common.api.CommonAPI; +import com.jero.common.system.vo.DictModel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 针对easypoi的@Excel的dict属性,做字典值转换的方法 + * 需要进行字段转换必须使用: + * exportParams.setDictHandler(new EasyPoiDictHandlerImpl()); + * 来实现转换处理 + */ +@Slf4j +@Service +public class EasyPoiDictHandlerImpl implements IExcelDictHandler { + + @Lazy + @Resource + private CommonAPI commonAPI; + + @Override + public List getList(String dict) { + if (StrUtil.isEmpty(dict)) { + return null; + } + + List dictList = commonAPI.queryDictItemsByCode(dict); + if (dictList != null && !dictList.isEmpty()){ + List result = new ArrayList<>(); + for (DictModel t : dictList) { + if(t!=null){ + Map map = new HashMap<>(); + map.put("text", t.getText()); + map.put("value", t.getValue()); + result.add(map); + } + } + + return result; + } + + return null; + } + + @Override + public String toName(String dict, Object obj, String name, Object value) { + if (ObjectUtil.isEmpty(value)) { + return null; + } + + String valueStr = String.valueOf(value); + + List dictList = commonAPI.queryDictItemsByCode(dict); + for (DictModel t : dictList) { + if(t!=null && valueStr.equals(t.getValue())){ + return t.getText(); + } + } + + return null; + } + + @Override + public String toValue(String dict, Object obj, String name, Object value) { + if (ObjectUtil.isEmpty(value)) { + return null; + } + + String valueStr = String.valueOf(value); + + List dictList = commonAPI.queryDictItemsByCode(dict); + for (DictModel t : dictList) { + if(t!=null && valueStr.equals(t.getText())){ + return t.getValue(); + } + } + + return null; + } +} diff --git a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java index 1d24c2b4..c78189df 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java +++ b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java @@ -17,6 +17,7 @@ import com.jero.common.util.BrowserUtils; import com.jero.common.util.SpringContextUtils; import com.jero.common.util.TokenUtils; import com.jero.common.util.oConvertUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.generater.modules.online.auth.service.IOnlAuthPageService; import com.jero.generater.modules.online.cgform.converter.ConvertUtil; import com.jero.generater.modules.online.cgform.entity.OnlCgformEnhanceJs; @@ -566,8 +567,9 @@ public class OnlCgformApiController { } List var14 = getExcelExportEntities(var4, var7, fieldList, var12); - - Workbook var33 = ExcelExportUtil.exportExcel(new ExportParams(null, var5), var14, var12); + ExportParams exportParams = new ExportParams(null, var5); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + Workbook var33 = ExcelExportUtil.exportExcel(exportParams, var14, var12); ServletOutputStream var34 = null; getVar3(var2, var3, var4, var33, var34); @@ -659,8 +661,9 @@ public class OnlCgformApiController { while (var53.hasNext()) { Entry var20 = var53.next(); MultipartFile var21 = var20.getValue(); - ImportParams var22 = new ImportParams(); - List> var23 = ExcelImportUtil.importExcel(var21.getInputStream(), Map.class, var22); + ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + List> var23 = ExcelImportUtil.importExcel(var21.getInputStream(), Map.class, params); if (var23 != null) { Object var24 = ""; ArrayList> var25 = new ArrayList<>(); diff --git a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgreport/controller/OnlCgreportAPI.java b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgreport/controller/OnlCgreportAPI.java index d96ca87a..e6bd07a9 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgreport/controller/OnlCgreportAPI.java +++ b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgreport/controller/OnlCgreportAPI.java @@ -13,7 +13,9 @@ import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.DynamicDataSourceModel; import com.jero.common.util.BrowserUtils; +import com.jero.common.util.SpringContextUtils; import com.jero.common.util.oConvertUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.generater.modules.online.cgreport.entity.OnlCgreportHead; import com.jero.generater.modules.online.cgreport.entity.OnlCgreportItem; import com.jero.generater.modules.online.cgreport.entity.OnlCgreportParam; @@ -452,13 +454,16 @@ public class OnlCgreportAPI { var42 = new String(var4.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); var3.setHeader("content-disposition", "attachment;filename=" + var42 + ".xls"); } - - Workbook var44 = ExcelExportUtil.exportExcel(new ExportParams(null, var5), var13, var9); + ExportParams exportParams = new ExportParams(null, var5); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + Workbook var44 = ExcelExportUtil.exportExcel(exportParams, var13, var9); var41 = var3.getOutputStream(); var44.write(var41); } catch (Exception var33) { log.error("异常",var33); } finally { + + try { if(var41 != null){var41.flush();var41.close();} } catch (Exception var32) { diff --git a/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JeroOrderMainController.java b/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JeroOrderMainController.java index 73ce542d..8d1f147e 100644 --- a/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JeroOrderMainController.java +++ b/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JeroOrderMainController.java @@ -7,6 +7,8 @@ import com.jero.common.api.vo.Results; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.SpringContextUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.demo.test.entity.JeroOrderCustomer; import com.jero.modules.demo.test.entity.JeroOrderMain; import com.jero.modules.demo.test.entity.JeroOrderTicket; @@ -202,7 +204,10 @@ public class JeroOrderMainController extends JeroController entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(2); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JoaDemoController.java b/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JoaDemoController.java index e3f86224..7264e064 100644 --- a/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JoaDemoController.java +++ b/jero-boot/jero-boot-module-demo/src/main/java/com/jero/modules/demo/test/controller/JoaDemoController.java @@ -8,7 +8,9 @@ import com.jero.common.api.vo.Results; import com.jero.common.api.vo.ResultConstant; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.util.SpringContextUtils; import com.jero.common.util.oConvertUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.demo.test.entity.JoaDemo; import com.jero.modules.demo.test.service.IJoaDemoService; import org.apache.commons.lang.StringUtils; @@ -186,7 +188,9 @@ public class JoaDemoController { //导出文件名称 mv.addObject(JeroController.FILE_NAME, "流程测试列表"); mv.addObject(JeroController.CLASS, JoaDemo.class); - mv.addObject(JeroController.PARAMS, new ExportParams("流程测试列表数据", "导出人:Jero", "导出信息")); + ExportParams exportParams = new ExportParams("流程测试列表数据", "导出人:Jero", "导出信息"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(JeroController.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -206,6 +210,7 @@ public class JoaDemoController { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/quartz/controller/QuartzJobController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/quartz/controller/QuartzJobController.java index 9a491eed..08823c0e 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/quartz/controller/QuartzJobController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/quartz/controller/QuartzJobController.java @@ -9,6 +9,8 @@ import com.jero.common.constant.CommonConstant; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.ImportExcelUtil; +import com.jero.common.util.SpringContextUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.quartz.entity.QuartzJob; import com.jero.modules.quartz.service.IQuartzJobService; import io.swagger.annotations.Api; @@ -209,7 +211,9 @@ public class QuartzJobController { // 导出文件名称 mv.addObject(JeroController.FILE_NAME, "定时任务列表"); mv.addObject(JeroController.CLASS, QuartzJob.class); - mv.addObject(JeroController.PARAMS, new ExportParams("定时任务列表数据", "导出人:Jero", "导出信息")); + ExportParams exportParams = new ExportParams("定时任务列表数据", "导出人:Jero", "导出信息"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(JeroController.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -232,6 +236,7 @@ public class QuartzJobController { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java index 3756358f..aa5d42ab 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java @@ -10,7 +10,9 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.SpringContextUtils; import com.jero.common.util.oConvertUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.model.TreeSelectModel; import com.jero.modules.system.service.ISysCategoryService; @@ -203,7 +205,9 @@ public class SysCategoryController { mv.addObject(JeroController.FILE_NAME, "分类字典列表"); mv.addObject(JeroController.CLASS, SysCategory.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(JeroController.PARAMS, new ExportParams("分类字典列表数据", "导出人:"+user.getRealname(), "导出信息")); + ExportParams exportParams = new ExportParams("分类字典列表数据", "导出人:"+user.getRealname(), "导出信息"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(JeroController.PARAMS, exportParams); return mv; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java index e01cc081..04f540ce 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java @@ -12,8 +12,10 @@ import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.ImportExcelUtil; +import com.jero.common.util.SpringContextUtils; import com.jero.common.util.YouBianCodeUtil; import com.jero.common.util.oConvertUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.system.entity.SysDepart; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysDepartMapper; @@ -323,7 +325,9 @@ public class SysDepartController { mv.addObject(JeroController.FILE_NAME, "部门列表"); mv.addObject(JeroController.CLASS, SysDepart.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(JeroController.PARAMS, new ExportParams("部门列表数据", "导出人:"+user.getRealname(), "导出信息")); + ExportParams exportParams = new ExportParams("部门列表数据", "导出人:"+user.getRealname(), "导出信息"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(JeroController.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -348,6 +352,7 @@ public class SysDepartController { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java index 5e46662b..3e951a30 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java @@ -15,8 +15,10 @@ import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ImportExcelUtil; +import com.jero.common.util.SpringContextUtils; import com.jero.common.util.SqlInjectionUtil; import com.jero.common.util.oConvertUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.system.entity.SuccessAndErrorLines; import com.jero.modules.system.entity.SysDict; import com.jero.modules.system.entity.SysDictItem; @@ -458,7 +460,9 @@ public class SysDictController { mv.addObject(JeroController.CLASS, SysDictPage.class); // 自定义表格参数 LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(JeroController.PARAMS, new ExportParams("数据字典列表", "导出人:"+user.getRealname(), "数据字典")); + ExportParams exportParams = new ExportParams("数据字典列表", "导出人:"+user.getRealname(), "数据字典"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(JeroController.PARAMS, exportParams); // 导出数据列表 mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; @@ -473,6 +477,7 @@ public class SysDictController { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(2); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java index bf5620d1..44a1cc65 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java @@ -13,6 +13,8 @@ import javax.servlet.http.HttpServletResponse; import com.jero.common.api.vo.Results; import com.jero.common.system.base.controller.JeroController; +import com.jero.common.util.SpringContextUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import org.apache.commons.lang.StringUtils; import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -244,7 +246,9 @@ public class SysRoleController { mv.addObject(JeroController.FILE_NAME,"角色列表"); mv.addObject(JeroController.CLASS,SysRole.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - mv.addObject(JeroController.PARAMS,new ExportParams("角色列表数据","导出人:"+user.getRealname(),"导出信息")); + ExportParams exportParams = new ExportParams("角色列表数据","导出人:"+user.getRealname(),"导出信息"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(JeroController.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST,pageList); return mv; } @@ -263,6 +267,7 @@ public class SysRoleController { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserAgentController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserAgentController.java index a7474b54..7502a2b3 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserAgentController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserAgentController.java @@ -8,6 +8,8 @@ import com.jero.common.api.vo.Results; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.SpringContextUtils; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.system.entity.SysUserAgent; import com.jero.modules.system.service.ISysUserAgentService; import lombok.extern.slf4j.Slf4j; @@ -193,6 +195,7 @@ public class SysUserAgentController { mv.addObject(JeroController.CLASS, SysUserAgent.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); ExportParams exportParams = new ExportParams("用户代理人设置列表数据", "导出人:"+user.getRealname(), "导出信息"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); mv.addObject(JeroController.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; @@ -213,6 +216,7 @@ public class SysUserAgentController { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index bfd73f94..fdc969db 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -21,6 +21,7 @@ import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.*; +import com.jero.config.easypoi.EasyPoiDictHandlerImpl; import com.jero.modules.base.service.BaseCommonService; import com.jero.modules.system.dto.SysUserDTO; import com.jero.modules.system.dto.SysUserRoleDTO; @@ -57,6 +58,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.sql.DataSource; import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -534,6 +536,7 @@ public class SysUserController { mv.addObject(JeroController.CLASS, SysUser.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); ExportParams exportParams = new ExportParams("用户列表数据", "导出人:"+user.getRealname(), "导出信息"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); mv.addObject(JeroController.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; @@ -558,6 +561,7 @@ public class SysUserController { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); @@ -694,19 +698,19 @@ public class SysUserController { String oldpassword = json.getString("oldpassword"); String password = json.getString("password"); String confirmpassword = json.getString("confirmpassword"); - String RSAPublicKey = json.getString(RSA_PUBLIC_KEY); + String rsaPublicKey = json.getString(RSA_PUBLIC_KEY); LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); if(!sysUser.getUsername().equals(username)){ return Results.error("只允许修改自己的密码!"); } - String RSAPrivateKey = String.valueOf(redisUtil.get(RSAPublicKey)); + String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey)); try { - oldpassword = CommonUtils.decryptBtRsaPriKey(oldpassword, RSAPrivateKey); - password = CommonUtils.decryptBtRsaPriKey(password, RSAPrivateKey); - confirmpassword = CommonUtils.decryptBtRsaPriKey(confirmpassword, RSAPrivateKey); + oldpassword = CommonUtils.decryptBtRsaPriKey(oldpassword, rsaPrivateKey); + password = CommonUtils.decryptBtRsaPriKey(password, rsaPrivateKey); + confirmpassword = CommonUtils.decryptBtRsaPriKey(confirmpassword, rsaPrivateKey); }catch (Exception e){ SysUserController.log.error(e.getMessage(),e); } @@ -1230,7 +1234,7 @@ public class SysUserController { /** * 彻底删除用户 * - * @param userIds 被删除的用户ID,多个id用半角逗号分割 + * @param sysUser * @return */ @PostMapping("/deleteRecycleBin") diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java index c08cc73e..6a456bda 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java @@ -58,7 +58,7 @@ public class SysDictItem implements Serializable { /** * 排序 */ - @Excel(name = "排序", width = 15,type=4) + @Excel(name = "排序", width = 15,type = 10) private Integer sortOrder; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItemCore.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItemCore.java index 9102f49c..88c3a817 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItemCore.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItemCore.java @@ -65,7 +65,7 @@ public class SysDictItemCore implements Serializable { /** * 排序 */ - @Excel(name = "排序", width = 15, type=4) + @Excel(name = "排序", width = 15, type = 10) private Integer sortOrder; diff --git a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai index 7712f666..7e362629 100644 --- a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai +++ b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/default/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai @@ -233,7 +233,10 @@ public class ${entityName}Controller { ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "${tableVo.ftlDescription}列表"); mv.addObject(NormalExcelConstants.CLASS, ${entityName}Page.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}")); + + ExportParams exportParams = new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -252,6 +255,7 @@ public class ${entityName}Controller { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai index bf4949a8..8effe36d 100644 --- a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai +++ b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/erp/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai @@ -253,7 +253,10 @@ public class ${entityName}Controller extends JeecgController<${entityName}, I${e ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "${sub.ftlDescription}"); //此处设置的filename无效 ,前端会重更新设置一下 mv.addObject(NormalExcelConstants.CLASS, ${sub.entityName}.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("${sub.ftlDescription}报表", "导出人:" + sysUser.getRealname(), "${sub.ftlDescription}")); + + ExportParams exportParams = new ExportParams("${sub.ftlDescription}报表", "导出人:" + sysUser.getRealname(), "${sub.ftlDescription}"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, exportList); return mv; } @@ -269,6 +272,7 @@ public class ${entityName}Controller extends JeecgController<${entityName}, I${e for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai index 403479ea..2a51c595 100644 --- a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai +++ b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/inner-table/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai @@ -228,7 +228,10 @@ public class ${entityName}Controller { ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "${tableVo.ftlDescription}列表"); mv.addObject(NormalExcelConstants.CLASS, ${entityName}Page.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}")); + + ExportParams exportParams = new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -247,6 +250,7 @@ public class ${entityName}Controller { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai index 5d8d9a44..718dd801 100644 --- a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai +++ b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/jvxe/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai @@ -233,7 +233,10 @@ public class ${entityName}Controller { ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "${tableVo.ftlDescription}列表"); mv.addObject(NormalExcelConstants.CLASS, ${entityName}Page.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}")); + + ExportParams exportParams = new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -252,6 +255,7 @@ public class ${entityName}Controller { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai index 7a059ca5..64017a66 100644 --- a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai +++ b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template-online/tab/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai @@ -224,7 +224,10 @@ public class ${entityName}Controller { ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "${tableVo.ftlDescription}列表"); mv.addObject(NormalExcelConstants.CLASS, ${entityName}Page.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}")); + + ExportParams exportParams = new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -243,6 +246,7 @@ public class ${entityName}Controller { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai index fe7406ed..26dbee83 100644 --- a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai +++ b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai @@ -203,7 +203,10 @@ public class ${entityName}Controller { ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "${tableVo.ftlDescription}"); mv.addObject(NormalExcelConstants.CLASS, ${entityName}Page.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}")); + + ExportParams exportParams = new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -222,6 +225,7 @@ public class ${entityName}Controller { for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true); diff --git a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai index 63d452a4..051e1216 100644 --- a/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai +++ b/jero-boot/jero-boot-module-system/src/main/resources/jero/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/controller/${entityName}Controller.javai @@ -291,7 +291,10 @@ ${sub.entityName?uncap_first}.get${key}()!=null<#rt/> ModelAndView mv = new ModelAndView(new EasypoiSingleExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "${tableVo.ftlDescription}"); mv.addObject(NormalExcelConstants.CLASS, ${entityName}Page.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}")); + + ExportParams exportParams = new ExportParams("${tableVo.ftlDescription}数据", "导出人:"+sysUser.getRealname(), "${tableVo.ftlDescription}"); + exportParams.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); + mv.addObject(NormalExcelConstants.PARAMS, exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, pageList); return mv; } @@ -310,6 +313,7 @@ ${sub.entityName?uncap_first}.get${key}()!=null<#rt/> for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); + params.setDictHandler(SpringContextUtils.getApplicationContext().getBean(EasyPoiDictHandlerImpl.class)); params.setTitleRows(2); params.setHeadRows(1); params.setNeedSave(true);