From 1c7a5faae81286e89423bf707bfae505c50c1661 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Thu, 3 Dec 2020 13:26:46 +0800 Subject: [PATCH 1/4] =?UTF-8?q?Excel=E6=94=AF=E6=8C=81=E6=B3=A8=E8=A7=A3al?= =?UTF-8?q?ign=E5=AF=B9=E9=BD=90=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/annotation/Excel.java | 21 +++++++++++++++++++ .../com/ruoyi/common/utils/poi/ExcelUtil.java | 18 +++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java index b7b8f979..bfe119e4 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java @@ -105,6 +105,27 @@ public @interface Excel */ public boolean isStatistics() default false; + /** + * 导出字段对齐方式(0:默认;1:靠左;2:居中;3:靠右) + */ + Align align() default Align.AUTO; + + public enum Align + { + AUTO(0), LEFT(1), CENTER(2), RIGHT(3); + private final int value; + + Align(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } + /** * 字段类型(0:导出导入;1:仅导出;2:仅导入) */ diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index d9f4efd7..9003a9c7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -473,6 +473,21 @@ public class ExcelUtil style.setFont(totalFont); styles.put("total", style); + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.LEFT); + styles.put("data1", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.CENTER); + styles.put("data2", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.RIGHT); + styles.put("data3", style); + return styles; } @@ -555,7 +570,8 @@ public class ExcelUtil { // 创建cell cell = row.createCell(column); - cell.setCellStyle(styles.get("data")); + int align = attr.align().value(); + cell.setCellStyle(styles.get("data" + (align >= 1 && align <= 3 ? align : ""))); // 用于读取对象中的属性 Object value = getTargetValue(vo, field, attr); From 0e2b97a886f403d6e42f3e4195b592902529c49f Mon Sep 17 00:00:00 2001 From: RuoYi Date: Thu, 3 Dec 2020 13:28:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=8D=87=E7=BA=A7poi=E5=88=B0=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC4.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../java/com/ruoyi/common/utils/poi/ExcelUtil.java | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 233dd47c..2d7ccdb1 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ 5.6.0 2.5 1.3.3 - 3.17 + 4.1.2 1.7 0.9.1 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 9003a9c7..bf77d93a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -18,7 +18,6 @@ import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.stream.Collectors; -import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; @@ -516,12 +515,10 @@ public class ExcelUtil { if (ColumnType.STRING == attr.cellType()) { - cell.setCellType(CellType.STRING); cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix()); } else if (ColumnType.NUMERIC == attr.cellType()) { - cell.setCellType(CellType.NUMERIC); cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); } } @@ -980,10 +977,10 @@ public class ExcelUtil Cell cell = row.getCell(column); if (StringUtils.isNotNull(cell)) { - if (cell.getCellTypeEnum() == CellType.NUMERIC || cell.getCellTypeEnum() == CellType.FORMULA) + if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) { val = cell.getNumericCellValue(); - if (HSSFDateUtil.isCellDateFormatted(cell)) + if (DateUtil.isCellDateFormatted(cell)) { val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 } @@ -999,15 +996,15 @@ public class ExcelUtil } } } - else if (cell.getCellTypeEnum() == CellType.STRING) + else if (cell.getCellType() == CellType.STRING) { val = cell.getStringCellValue(); } - else if (cell.getCellTypeEnum() == CellType.BOOLEAN) + else if (cell.getCellType() == CellType.BOOLEAN) { val = cell.getBooleanCellValue(); } - else if (cell.getCellTypeEnum() == CellType.ERROR) + else if (cell.getCellType() == CellType.ERROR) { val = cell.getErrorCellValue(); } From d8b006c15f7b44c8ab44571711fd99267db20a2a Mon Sep 17 00:00:00 2001 From: RuoYi Date: Fri, 4 Dec 2020 10:51:20 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=8D=87=E7=BA=A7bitwalker=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC1.21?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2d7ccdb1..6e337e89 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 1.8 3.1.1 1.2.2 - 1.19 + 1.21 2.9.2 2.3.2 1.3.0 From ef92ad4d8c0b500526471d7d4b8126b7fd05e466 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Fri, 4 Dec 2020 10:52:20 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=94=AF=E6=8C=81get=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E6=98=A0=E5=B0=84params=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/core/domain/BaseEntity.java | 29 ------------------- .../mapper/generator/GenTableMapper.xml | 16 +++++----- .../mapper/quartz/SysJobLogMapper.xml | 8 ++--- .../mapper/system/SysConfigMapper.xml | 8 ++--- .../mapper/system/SysDictTypeMapper.xml | 8 ++--- .../mapper/system/SysLogininforMapper.xml | 8 ++--- .../mapper/system/SysOperLogMapper.xml | 8 ++--- .../resources/mapper/system/SysRoleMapper.xml | 8 ++--- .../resources/mapper/system/SysUserMapper.xml | 8 ++--- ruoyi-ui/src/utils/request.js | 22 ++++++++++++++ ruoyi-ui/src/utils/ruoyi.js | 14 +++++---- 11 files changed, 67 insertions(+), 70 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java index a8c51a7b..0fc68beb 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java @@ -5,7 +5,6 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; /** * Entity基类 @@ -36,14 +35,6 @@ public class BaseEntity implements Serializable /** 备注 */ private String remark; - /** 开始时间 */ - @JsonIgnore - private String beginTime; - - /** 结束时间 */ - @JsonIgnore - private String endTime; - /** 请求参数 */ private Map params; @@ -107,26 +98,6 @@ public class BaseEntity implements Serializable this.remark = remark; } - public String getBeginTime() - { - return beginTime; - } - - public void setBeginTime(String beginTime) - { - this.beginTime = beginTime; - } - - public String getEndTime() - { - return endTime; - } - - public void setEndTime(String endTime) - { - this.endTime = endTime; - } - public Map getParams() { if (params == null) diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 75c8caed..83ba469d 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -64,11 +64,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND lower(table_comment) like lower(concat('%', #{tableComment}, '%')) - - AND date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + AND date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - AND date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + AND date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') @@ -84,11 +84,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND lower(table_comment) like lower(concat('%', #{tableComment}, '%')) - - AND date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + AND date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - AND date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + AND date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml index 7601e63d..588d1770 100644 --- a/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml @@ -35,11 +35,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND invoke_target like concat('%', #{invokeTarget}, '%') - - and date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + and date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - and date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + and date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') diff --git a/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml index 9c35661f..b1570e28 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml @@ -50,11 +50,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND config_key like concat('%', #{configKey}, '%') - - and date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + and date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - and date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + and date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index a3d6ec50..2b44b2ee 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -32,11 +32,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND dict_type like concat('%', #{dictType}, '%') - - and date_format(create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + and date_format(create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - and date_format(create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + and date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') diff --git a/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml index 6f0a2411..26d51fa3 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml @@ -33,11 +33,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND user_name like concat('%', #{userName}, '%') - - and date_format(login_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + and date_format(login_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - and date_format(login_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + and date_format(login_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') order by info_id desc diff --git a/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml index e70b7bff..2359a49b 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml @@ -54,11 +54,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND oper_name like concat('%', #{operName}, '%') - - and date_format(oper_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + and date_format(oper_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - and date_format(oper_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + and date_format(oper_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') order by oper_id desc diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml index 818941fa..0a8bc70a 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -42,11 +42,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND r.role_key like concat('%', #{roleKey}, '%') - - and date_format(r.create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + and date_format(r.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - and date_format(r.create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + and date_format(r.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') ${params.dataScope} diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 3683eb7b..a253d8df 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -68,11 +68,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND u.phonenumber like concat('%', #{phonenumber}, '%') - - AND date_format(u.create_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') + + AND date_format(u.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') - - AND date_format(u.create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + AND date_format(u.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) )) diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js index 04ee5b42..15f7fcf0 100644 --- a/ruoyi-ui/src/utils/request.js +++ b/ruoyi-ui/src/utils/request.js @@ -19,6 +19,28 @@ service.interceptors.request.use(config => { if (getToken() && !isToken) { config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 } + // get请求映射params参数 + if (config.method === 'get' && config.params) { + let url = config.url + '?'; + for (const propName of Object.keys(config.params)) { + const value = config.params[propName]; + var part = encodeURIComponent(propName) + "="; + if (typeof(value) !== "undefined") { + if (typeof value === 'object') { + for (const key of Object.keys(value)) { + let params = propName + '[' + key + ']'; + var subPart = encodeURIComponent(params) + "="; + url += subPart + encodeURIComponent(value[key]) + "&"; + } + } else { + url += part + encodeURIComponent(value) + "&"; + } + } + } + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } return config }, error => { console.log(error) diff --git a/ruoyi-ui/src/utils/ruoyi.js b/ruoyi-ui/src/utils/ruoyi.js index 994c0ccf..0cecbc0b 100644 --- a/ruoyi-ui/src/utils/ruoyi.js +++ b/ruoyi-ui/src/utils/ruoyi.js @@ -54,13 +54,17 @@ export function resetForm(refName) { } // 添加日期范围 -export function addDateRange(params, dateRange) { +export function addDateRange(params, dateRange, propName) { var search = params; - search.beginTime = ""; - search.endTime = ""; + search.params = {}; if (null != dateRange && '' != dateRange) { - search.beginTime = dateRange[0]; - search.endTime = dateRange[1]; + if (typeof(propName) === "undefined") { + search.params["beginTime"] = dateRange[0]; + search.params["endTime"] = dateRange[1]; + } else { + search.params[propName + "BeginTime"] = dateRange[0]; + search.params[propName + "EndTime"] = dateRange[1]; + } } return search; }