From c59ca4c858387a73c626cc7cb995ed57fdea69f8 Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期六, 18 三月 2023 13:56:45 +0800 Subject: [PATCH] 用户导入 --- ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 49 insertions(+), 1 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 8485e5f..d2c0283 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; @@ -11,6 +14,9 @@ import com.ycl.controller.BaseController; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; +import com.ycl.entity.dict.DataDictionary; +import com.ycl.mapper.depart.UmsDepartMapper; +import com.ycl.mapper.dict.DataDictionaryMapper; import com.ycl.service.depart.UmsDepartService; import com.ycl.service.user.UmsDepartManageService; import com.ycl.utils.EasyExcelUtils; @@ -28,6 +34,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; +import java.util.Objects; /** * <p> @@ -137,10 +144,51 @@ EasyExcelUtils.export(response, sheetName, UmsDepartDto.class, umsDepartDtos); } + @Resource + private UmsDepartMapper sccgDepartMapper; + @Resource + private DataDictionaryMapper dataDictionaryMapper; @ApiOperation("閮ㄩ棬瀵煎叆") @PostMapping("/import") public CommonResult importDpt(MultipartFile file) throws IOException { - EasyExcelUtils.importDepartFile(file); + 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 = dataDictionaryMapper.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, "瀵煎叆鎴愬姛"); } -- Gitblit v1.8.0