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