From bb3139e62038f3c165253cf5724325092966be78 Mon Sep 17 00:00:00 2001
From: 孔 <1124498879@qq.com>
Date: 星期三, 23 六月 2021 14:26:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/controller/UserController.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 49 insertions(+), 1 deletions(-)
diff --git a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/controller/UserController.java b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/controller/UserController.java
index d702bf5..f4fb257 100644
--- a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/controller/UserController.java
+++ b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/controller/UserController.java
@@ -31,6 +31,7 @@
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -174,6 +175,53 @@
@PostMapping("updateStatus")
public void updateStatus(@NotBlank(message = "{required}") String certificateNumb) {
- this.userService.updateUserByCertificateNumb(certificateNumb);
+ String[] strNumbers = certificateNumb.split(",");
+ for (int i = 0,k=strNumbers.length; i < k; i++) {
+ this.userService.updateUserByCertificateNumb(strNumbers[i]);
+ }
+ }
+ private static final String XLSX = ".xlsx";
+ @PostMapping("import")
+ public FebsResponse importExcels(MultipartFile file) throws IOException, FebsException {
+ if (file.isEmpty()) {
+ throw new FebsException("导入数据为空");
+ }
+ String filename = file.getOriginalFilename();
+ if (!StringUtils.endsWith(filename, XLSX)) {
+ throw new FebsException("只支持.xlsx类型文件导入");
+ }
+ Stopwatch stopwatch = Stopwatch.createStarted();
+ final List<SystemUser> data = Lists.newArrayList();
+ final List<Map<String, Object>> error = Lists.newArrayList();
+ ExcelKit.$Import(SystemUser.class).readXlsx(file.getInputStream(), new ExcelReadHandler<SystemUser>() {
+ @Override
+ public void onSuccess(int sheet, int row, SystemUser eximport) {
+ data.add(eximport);
+ }
+ @Override
+ public void onError(int sheet, int row, List<ExcelErrorField> errorFields) {
+ error.add(ImmutableMap.of("row", row, "errorFields", errorFields));
+ }
+ });
+ if (CollectionUtils.isNotEmpty(data)) {
+ for (SystemUser systemUser:data){
+ Dept one = deptService.getOne(new QueryWrapper<Dept>().eq("DEPT_NAME", systemUser.getDeptName()));
+ if(one!=null){
+ systemUser.setDeptId(one.getDeptId());
+ }
+ this.userService.createUser(systemUser);
+ }
+ }
+ ImmutableMap<String, Object> result = ImmutableMap.of(
+ "time", stopwatch.stop().toString(),
+ "data", data,
+ "error", error
+ );
+ return new FebsResponse().data(result);
+ }
+ @PostMapping("template")
+ public void generateImportTemplate(HttpServletResponse response) {
+ List<SystemUser> list = new ArrayList<>();
+ ExcelKit.$Export(SystemUser.class, response).downXlsx(list, true);
}
}
--
Gitblit v1.8.0