From 6a12ce06674bdbee846144d7e21e9fff8d4c5ef3 Mon Sep 17 00:00:00 2001
From: yz <yz_0812@outlook.com>
Date: 星期五, 12 三月 2021 02:36:13 +0800
Subject: [PATCH] 修改bug

---
 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