diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/util/BeanCopyUtil.java b/admin-core/src/main/java/com/ibeetl/admin/core/util/BeanCopyUtil.java index 50d47d22..9db3c7a2 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/util/BeanCopyUtil.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/util/BeanCopyUtil.java @@ -128,7 +128,7 @@ public class BeanCopyUtil extends BeanUtils { for (Field declaredField : fields) { String filedName = getFiledName(declaredField); String fieldValue = getFieldValue(baseEntity, "get" + getFirstUpperCaseFiledName(declaredField)); - baseEntity.set(filedName, fieldValue); + baseEntity.set(filedName, fieldValue.equals("null") ? "" : fieldValue); } baseEntity.getTails().forEach((k,v) -> consumer.accept(k,v, baseEntity)); return baseEntity.getTails(); diff --git a/admin-core/src/main/resources/static/js/common.js b/admin-core/src/main/resources/static/js/common.js index 5d52d627..d0efebe7 100644 --- a/admin-core/src/main/resources/static/js/common.js +++ b/admin-core/src/main/resources/static/js/common.js @@ -803,7 +803,7 @@ var Common = { reader.onload = function (e) { // 转换完成,创建一个a标签用于下载 var a = document.createElement('a'); - a.download = farmname || Date.now()+'.xls'; + a.download = farmname || Date.now()+'.xlsx'; a.href = e.target.result; $("body").append(a); // 修复firefox中无法触发click a.click(); diff --git a/web/src/main/java/com/ibeetl/jlw/entity/Student.java b/web/src/main/java/com/ibeetl/jlw/entity/Student.java index ad614632..b13e6a73 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/Student.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/Student.java @@ -16,6 +16,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Date; +import static cn.hutool.core.date.DateUtil.date; import static cn.hutool.core.util.ObjectUtil.defaultIfNull; /* @@ -215,7 +216,7 @@ public class Student extends BaseEntity implements AbstractToken { *@param addTime */ public void setAddTime(Date addTime){ - this.addTime = addTime; + this.addTime = date(addTime); } /**组织机构ID diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java index 789bc92b..d1614595 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.web; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; @@ -15,6 +16,7 @@ import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.file.FileService; import com.ibeetl.admin.core.service.CorePlatformService; import com.ibeetl.admin.core.service.CoreUserService; +import com.ibeetl.admin.core.util.BeanCopyUtil; import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.util.TimeTool; import com.ibeetl.admin.core.web.JsonResult; @@ -51,6 +53,7 @@ import java.util.stream.Collectors; import static cn.jlw.token.TokenService.getMap; import static cn.jlw.token.TokenService.updateByIds; +import static com.ibeetl.admin.core.util.ExcelUtil.convertData; import static com.ibeetl.admin.core.util.ExcelUtil.write; import static com.ibeetl.jlw.web.IpAddressController.ipAddressMap; @@ -2100,6 +2103,39 @@ public class StudentController extends BaseController{ } } + @GetMapping(MODEL + "/export.json") + @ResponseBody + public void export(StudentQuery condition, @SCoreUser CoreUser coreUser) throws IOException { + + Assert.isFalse(coreUser.isStudent(), "学生无法访问改接口!"); + + PageQuery pageQuery = studentService.queryByCondition(condition.getPageQuery()); + + List list = pageQuery.getList(); + CollectionUtil.emptyIfNull(list).stream().parallel().forEach(item -> { + String universitySystem = item.getSchoolClass().getOrDefault("universitySystemIdText", "").toString(); + item.set("universitySystemIdText", universitySystem); + }); + + /** 构建表头 */ + Map header = new LinkedHashMap<>(11); + header.put("studentName", "学生姓名"); + header.put("studentSn", "学号"); + header.put("universitiesCollegesName", "所属院校"); + header.put("universitySystemIdText", "所属专业"); + header.put("className", "所属班级"); + header.put("studentMobile", "电话"); + header.put("studentEmail", "邮箱"); + header.put("studentWeixinInfo", "微信号"); + header.put("codeFrom", "账号来源"); + header.put("addTime", "创建时间"); + + List> maps = BeanCopyUtil.baseEntity2MapWithParallel(list); + + String filename = StrUtil.format("学生列表导出{}.xlsx", DateUtil.now()); + write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps)); + } + @PostMapping(MODEL + "/add.json") @Function("student.add") @ResponseBody @@ -2607,7 +2643,7 @@ public class StudentController extends BaseController{ } //导出信息 - @GetMapping(MODEL + "/export.json") + @GetMapping(MODEL + "/export1.json") @ResponseBody public void export(HttpServletResponse response,StudentQuery studentQuery) { HSSFWorkbook workbook = null;