ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-common/src/main/java/com/ycl/dto/UmsDepartDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-common/src/main/java/com/ycl/utils/EasyExcelUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-common/src/main/java/com/ycl/utils/listener/DepartListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
@@ -9,9 +9,11 @@ import com.ycl.api.BasePageVO; import com.ycl.api.CommonResult; import com.ycl.controller.BaseController; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; 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; @@ -20,8 +22,11 @@ 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; /** @@ -124,6 +129,21 @@ return CommonResult.success(page); } @ApiOperation("部门导出") @PostMapping("/export") public void exportDpt(HttpServletResponse response) { List<UmsDepartDto> umsDepartDtos = departService.departExp(); String sheetName = "部门导出"; EasyExcelUtils.export(response, sheetName, UmsDepartDto.class, umsDepartDtos); } @ApiOperation("部门导入") @PostMapping("/import") public CommonResult importDpt(MultipartFile file) throws IOException { EasyExcelUtils.importDepartFile(file); return CommonResult.success(true, "导入成功"); } @ApiOperation("查询我的部门") @GetMapping(value = "/belongDepart") public CommonResult<BasePageDTO> belongDepart(BasePageVO params) { ycl-common/src/main/java/com/ycl/dto/UmsDepartDto.java
New file @@ -0,0 +1,29 @@ package com.ycl.dto; import com.alibaba.excel.annotation.ExcelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor @Builder public class UmsDepartDto { @ExcelProperty(value = "部门ID", index = 0) private Long id; @ExcelProperty(value = "部门名称", index = 1) private String departTypeName; @ExcelProperty(value = "部门类型", index = 2) private Integer departType; @ExcelProperty(value = "上级部门", index = 3) private String parentDepartName; @ExcelProperty(value = "部门描述", index = 4) private String departDes; } ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java
@@ -1,13 +1,12 @@ package com.ycl.service.depart; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; import com.ycl.entity.user.UmsAdmin; import com.ycl.vo.depart.DepartVO; import com.ycl.vo.depart.UmsDepartVO; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -64,6 +63,8 @@ */ IPage<UmsDepartVO> pageDepart(String departName, IPage<UmsDepartVO> page); List<UmsDepartDto> departExp(); /** * 修改状态 * ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; import com.ycl.entity.user.UmsAdmin; import com.ycl.enums.common.ResultCode; @@ -23,6 +24,7 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** @@ -139,6 +141,27 @@ } @Override public List<UmsDepartDto> departExp() { List<UmsDepart> umsDeparts = sccgDepartMapper.selectDepartList(); List<UmsDepartDto> res = umsDeparts .stream() .map(umsDepart -> { UmsDepartDto umsDepartDto = new UmsDepartDto(); umsDepartDto.setId(umsDepart.getId()); umsDepartDto.setDepartType(umsDepart.getDepartType()); UmsDepart umsDepartFather = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, umsDepart.getId())); if (Objects.isNull(umsDepartFather)){ umsDepartDto.setParentDepartName(""); }else { umsDepartDto.setParentDepartName(umsDepartFather.getDepartName()); } umsDepartDto.setDepartDes(umsDepart.getDepartDes()); return umsDepartDto; }).collect(Collectors.toList()); return res; } @Override public void updateStatus(DepartVO.StatusDepartVO params) { UmsDepart sccgDepart = this.loadDepartById(params.getId()); BeanUtils.copyProperties(params, sccgDepart); ycl-common/src/main/java/com/ycl/utils/EasyExcelUtils.java
@@ -1,9 +1,13 @@ package com.ycl.utils; import com.alibaba.excel.EasyExcel; import com.ycl.dto.UmsDepartDto; import com.ycl.utils.listener.DepartListener; import lombok.SneakyThrows; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Collection; @@ -25,4 +29,12 @@ .sheet(sheetName) .doWrite(collection); } @SneakyThrows public static void importDepartFile(MultipartFile file) throws IOException { EasyExcel.read(file.getInputStream()) .head(UmsDepartDto.class) .registerReadListener(new DepartListener()).sheet().doRead(); } } ycl-common/src/main/java/com/ycl/utils/listener/DepartListener.java
New file @@ -0,0 +1,58 @@ package com.ycl.utils.listener; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; import com.ycl.mapper.depart.UmsDepartMapper; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Objects; @Component public class DepartListener implements ReadListener<UmsDepartDto> { @Resource private UmsDepartMapper sccgDepartMapper; @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(umsDepart.getDepartName()); // 设置部门描述 umsDepart.setDepartDes(umsDepartDto.getDepartDes()); // 设置部门类型 umsDepart.setDepartType(umsDepartDto.getDepartType()); // 设置父id 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) { } }