From 7ef4892f9f24f941aca37e6b3991b808a0aca619 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 08 九月 2023 11:16:35 +0800
Subject: [PATCH] 优化

---
 ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java |  100 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 94 insertions(+), 6 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
index 4f02c6b..0f7733e 100644
--- a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
+++ b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
@@ -1,6 +1,9 @@
 package com.ycl.controller.depart;
 
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,11 +12,14 @@
 import com.ycl.api.BasePageVO;
 import com.ycl.api.CommonResult;
 import com.ycl.controller.BaseController;
-import com.ycl.entity.depart.DepartManager;
+import com.ycl.dto.UmsDepartDto;
 import com.ycl.entity.depart.UmsDepart;
-import com.ycl.entity.user.UmsDepartManage;
+import com.ycl.entity.dict.DataDictionary;
+import com.ycl.mapper.depart.UmsDepartMapper;
+import com.ycl.mapper.dict.DataDictionary2Mapper;
 import com.ycl.service.depart.UmsDepartService;
 import com.ycl.service.user.UmsDepartManageService;
+import com.ycl.utils.EasyExcelUtils;
 import com.ycl.utils.auth.UserAuthUtil;
 import com.ycl.vo.depart.DepartVO;
 import com.ycl.vo.depart.UmsDepartVO;
@@ -22,9 +28,13 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -85,6 +95,16 @@
         return CommonResult.success(departService.removeBatchByIds(ids));
     }
 
+    @ApiOperation("鎵瑰鐞�-寮�鍚垨鑰呯鐢ㄩ儴闂�")
+    @PutMapping(value = "/batch_status")
+    @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鎵归噺寮�鍚垨鑰呯鐢ㄩ儴闂�")
+    public CommonResult updateBatch(@RequestBody List<UmsDepart> umsDepartList) {
+        if (umsDepartList.isEmpty()) {
+            return CommonResult.failed("bad request parameter");
+        }
+        return CommonResult.success(departService.updateBatchById(umsDepartList));
+    }
+
     @ApiOperation("璇︽儏")
     @PostMapping(value = "/detail")
     @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鏌ョ湅閮ㄩ棬")
@@ -116,6 +136,62 @@
         return CommonResult.success(page);
     }
 
+    @ApiOperation("閮ㄩ棬瀵煎嚭")
+    @PostMapping("/export")
+    public void exportDpt(HttpServletResponse response) {
+        List<UmsDepartDto> umsDepartDtos = departService.departExp();
+        String sheetName = "閮ㄩ棬瀵煎嚭";
+        EasyExcelUtils.export1(response, sheetName, UmsDepartDto.class, umsDepartDtos, "閮ㄩ棬瀵煎嚭");
+    }
+
+    @Resource
+    private UmsDepartMapper sccgDepartMapper;
+    @Resource
+    private DataDictionary2Mapper dataDictionary2Mapper;
+    @ApiOperation("閮ㄩ棬瀵煎叆")
+    @PostMapping("/import")
+    public CommonResult importDpt(MultipartFile file) throws IOException {
+        EasyExcel.read(file.getInputStream())
+                .head(UmsDepartDto.class)
+                .registerReadListener(new ReadListener<UmsDepartDto>() {
+                    @Override
+                    public void invoke(UmsDepartDto umsDepartDto, AnalysisContext analysisContext) {
+                        //  涓嶈兘閲嶅鎻掑叆
+                        String departTypeName = umsDepartDto.getDepartTypeName();
+                        UmsDepart one = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, departTypeName));
+                        if (Objects.nonNull(one)){
+                            throw new RuntimeException("璇ラ儴闂ㄥ凡缁忓瓨鍦�");
+                        }
+                        UmsDepart umsDepart = new UmsDepart();
+                        //  璁剧疆閮ㄩ棬鍚嶅瓧
+                        umsDepart.setDepartName(umsDepartDto.getDepartTypeName());
+                        //  璁剧疆閮ㄩ棬鎻忚堪
+                        umsDepart.setDepartDes(umsDepartDto.getDepartDes());
+                        //  璁剧疆閮ㄩ棬绫诲瀷
+                        DataDictionary dataDictionary = dataDictionary2Mapper.selectOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getName, umsDepartDto.getDepartType()));
+                        if (Objects.isNull(dataDictionary)){
+                            throw new RuntimeException("閮ㄩ棬绫诲瀷涓嶅瓨鍦�");
+                        }else {
+                            umsDepart.setDepartType(new Long(dataDictionary.getId()).intValue());
+                        }
+                        //  璁剧疆鐖秈d
+                        UmsDepart two = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, umsDepartDto.getParentDepartName()));
+                        if (Objects.nonNull(two)){
+                            umsDepart.setParentId(two.getParentId());
+                        }
+                        int insert = sccgDepartMapper.insert(umsDepart);
+                        if (insert < 1){
+                            throw new RuntimeException("鎻掑叆澶辫触");
+                        }
+                    }
+                    @Override
+                    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+
+                    }
+                }).sheet().doRead();
+        return CommonResult.success(true, "瀵煎叆鎴愬姛");
+    }
+
     @ApiOperation("鏌ヨ鎴戠殑閮ㄩ棬")
     @GetMapping(value = "/belongDepart")
     public CommonResult<BasePageDTO> belongDepart(BasePageVO params) {
@@ -126,19 +202,31 @@
     @ApiOperation("鐢ㄦ埛淇敼瑙掕壊")
     @PutMapping(value = "/user_update_Role")
     public CommonResult userUpdateRole(@RequestParam Long id,
-                                     @RequestParam List<Long> roles) {
+                                       @RequestParam List<Long> roles) {
         umsAdminDepartService.userUpdateRoles(id, roles);
         return CommonResult.success("update success");
     }
 
     @ApiOperation("鐢ㄦ埛淇敼閮ㄩ棬")
     @PutMapping(value = "/user_update_depart")
-    public CommonResult userUpdateDepart(@RequestParam Long id,
-                                     @RequestParam List<UmsDepartManage> departmentIds) {
-        umsAdminDepartService.userUpdateDepart(id, departmentIds);
+    public CommonResult userUpdateDepart(@RequestParam Long userId,
+                                         @RequestParam Long departId) {
+        umsAdminDepartService.userUpdateDepart(userId, departId);
         return CommonResult.success("update success");
     }
 
+    @ApiOperation("鏌ヨ涓嶅湪閮ㄩ棬鐨勫墿浣欎汉鍛�")
+    @GetMapping("/query_surplus_user")
+    public CommonResult searchSurplusUser() {
+        return CommonResult.success(departService.selectSurplusUser());
+    }
+
+    @ApiOperation("鏌ヨ涓嶅湪閮ㄩ棬鐨勫墿浣欎汉鍛樺拰宸插湪閮ㄩ棬鐨勪汉")
+    @GetMapping("/query_surplus_exist_user")
+    public CommonResult searchSurplusUser(@RequestParam Long id) {
+        return CommonResult.success(departService.selectSurplusUserAndExistUser(id));
+    }
+
     @ApiOperation("鏌ヨ椤剁骇閮ㄩ棬")
     @GetMapping(value = "/query_father")
     public CommonResult search() {

--
Gitblit v1.8.0