全面修复和测试引入easypoi的bug,处理dict转换问题

This commit is contained in:
lixuetao
2023-11-18 13:45:38 +08:00
parent b84fded287
commit 1a0d0a2c08
23 changed files with 207 additions and 32 deletions
@@ -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<String, MultipartFile> 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);
@@ -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;
}
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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")
@@ -58,7 +58,7 @@ public class SysDictItem implements Serializable {
/**
* 排序
*/
@Excel(name = "排序", width = 15,type=4)
@Excel(name = "排序", width = 15,type = 10)
private Integer sortOrder;
@@ -65,7 +65,7 @@ public class SysDictItemCore implements Serializable {
/**
* 排序
*/
@Excel(name = "排序", width = 15, type=4)
@Excel(name = "排序", width = 15, type = 10)
private Integer sortOrder;
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);
@@ -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<String, MultipartFile> 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);