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 com.ycl.mapper.dict.DataDictionaryMapper;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.Objects;
|
|
@Component
|
public class DepartListener implements ReadListener<UmsDepartDto> {
|
|
@Resource
|
private UmsDepartMapper sccgDepartMapper;
|
|
@Resource
|
DataDictionaryMapper dataDictionaryMapper;
|
|
|
@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());
|
|
// 设置部门类型
|
// LambdaQueryWrapper<DataDictionary> dataDictionaryLambdaQueryWrapper = new LambdaQueryWrapper<DataDictionary>(DataDictionary::getName, umsDepartDto.getDepartTypeName());
|
//// DataDictionary dataDictionary = dataDictionaryMapper.selectOne(new LambdaQueryWrapper(DataDictionary));
|
//// sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>(UmsDepart::getDepartType))
|
//// 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) {
|
|
}
|
}
|