package com.gk.hotwork.Service.ServiceImpl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gk.hotwork.Domain.Exception.BusinessException;
|
import com.gk.hotwork.Domain.RiskAnaUnit;
|
import com.gk.hotwork.Domain.RiskControlClassify;
|
import com.gk.hotwork.Domain.UserInfo;
|
import com.gk.hotwork.Domain.Utils.StringUtils;
|
import com.gk.hotwork.Mapper.RiskControlClassifyMapper;
|
import com.gk.hotwork.Service.RiskControlClassifyService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.*;
|
|
/**
|
* @author celin
|
* @date 2022/3/16 16:42
|
*/
|
|
@Service("riskControlClassify")
|
public class RiskControlClassifyServiceImpl extends ServiceImpl<RiskControlClassifyMapper,RiskControlClassify> implements RiskControlClassifyService {
|
|
@Autowired
|
private RiskControlClassifyMapper riskControlClassifyMapper;
|
|
@Override
|
public IPage<RiskControlClassify> selectPage(Page<RiskControlClassify> page, Map<String, Object> filter, UserInfo user) {
|
return riskControlClassifyMapper.selectPages(page,filter,user);
|
}
|
|
@Override
|
public List<RiskControlClassify> selectAll(UserInfo user) {
|
|
List<RiskControlClassify> allClassify = riskControlClassifyMapper.selectList(
|
new LambdaQueryWrapper<RiskControlClassify>()
|
.eq(RiskControlClassify::getValidFlag,Boolean.TRUE));
|
List<RiskControlClassify> root = new ArrayList<>();
|
List<RiskControlClassify> allChildren = new ArrayList<>();
|
|
if (allClassify.size() > 0) {
|
for (RiskControlClassify nav : allClassify) {
|
if (nav.getParentId() == null) {
|
root.add(nav);
|
}else{
|
allChildren.add(nav);
|
}
|
}
|
}
|
|
//根部排序
|
root.sort(Comparator.comparingInt(RiskControlClassify::getOrderIndex));
|
//选用子类
|
if (root.size() > 0) {
|
for (RiskControlClassify nav : root) {
|
List<RiskControlClassify> subClassify = this.getChildren(nav.getId(), allChildren);
|
nav.setSubClassify(subClassify);
|
}
|
}
|
|
return root;
|
}
|
|
/**
|
* @Description: 新增
|
*/
|
@Override
|
public void addOne(RiskControlClassify riskControlClassifyVo, UserInfo user) {
|
if (StringUtils.isBlank(riskControlClassifyVo.getName())) throw new BusinessException("分类名称不能为空");
|
Date date = new Date();
|
String operator = user.getRealname();
|
riskControlClassifyVo.setCreateTime(date);
|
riskControlClassifyVo.setUpdateTime(date);
|
riskControlClassifyVo.setUpdateBy(operator);
|
riskControlClassifyVo.setCreateBy(operator);
|
riskControlClassifyVo.setValidFlag(Boolean.TRUE);
|
this.save(riskControlClassifyVo);
|
}
|
|
|
/**
|
* @Description: 修改
|
*/
|
@Override
|
public void modOne(RiskControlClassify riskControlClassifyVo, UserInfo user) {
|
if (riskControlClassifyVo.getId() == null) throw new BusinessException("id参数不能为空");
|
int count = this.count(new LambdaQueryWrapper<RiskControlClassify>().eq(RiskControlClassify::getId, riskControlClassifyVo.getId()));
|
if (count < 1) throw new BusinessException("找不到相应实体");
|
riskControlClassifyVo.setUpdateBy(user.getRealname());
|
riskControlClassifyVo.setUpdateTime(new Date());
|
this.updateById(riskControlClassifyVo);
|
|
}
|
|
|
/**
|
* @Description: 删除
|
*/
|
@Override
|
public void delOne(Long id, UserInfo user) {
|
if(id == null) throw new BusinessException("id参数不能为空");
|
int count = this.count(new LambdaQueryWrapper<RiskControlClassify>().eq(RiskControlClassify::getId, id));
|
if (count < 1) throw new BusinessException("找不到相应实体");
|
RiskControlClassify delOne = new RiskControlClassify();
|
delOne.setId(id);
|
delOne.setUpdateBy(user.getRealname());
|
delOne.setUpdateTime(new Date());
|
delOne.setValidFlag(Boolean.FALSE);
|
this.updateById(delOne);
|
}
|
|
|
private List<RiskControlClassify> getChildren(Long id, List<RiskControlClassify> allChildren) {
|
List<RiskControlClassify> children = new ArrayList<>();
|
if (allChildren.size() > 0) {
|
for (RiskControlClassify nav : allChildren) {
|
assert nav.getParentId() != null;
|
if (id.equals(nav.getParentId())) {
|
children.add(nav);
|
}
|
}
|
}
|
//排序
|
children.sort(Comparator.comparingInt(RiskControlClassify::getOrderIndex));
|
|
if (children.size() > 0) {
|
for (RiskControlClassify nav : children) {
|
List<RiskControlClassify> subClassify = this.getChildren(nav.getId(), allChildren);
|
nav.setSubClassify(subClassify);
|
}
|
}
|
|
|
return children;
|
|
}
|
|
@Override
|
public RiskControlClassify getByClassify1AndClassify12(String classify1, String classify2) {
|
return riskControlClassifyMapper.getByClassify1AndClassify12(classify1, classify2);
|
}
|
/**
|
* @Description: 查询 by 1、2分级
|
*/
|
@Override
|
public RiskControlClassify getByClassify1AndClassify2(String classify1, String classify2) {
|
return riskControlClassifyMapper.getByClassify1AndClassify2(classify1, classify2);
|
}
|
/**
|
* @Description: 查询 by 名字
|
*/
|
@Override
|
public RiskControlClassify getByClassify(String classify) {
|
return riskControlClassifyMapper.getByClassify(classify);
|
}
|
|
/**
|
* @Description: 查询 by 名字与parentid
|
*/
|
@Override
|
public RiskControlClassify getByClassify2(Long id, String trim) {
|
return riskControlClassifyMapper.getByClassify2(id, trim);
|
}
|
/**
|
* @Description: 查询 by id
|
*/
|
@Override
|
public RiskControlClassify getByControlId(Byte classify2) {
|
return riskControlClassifyMapper.getByControlId(classify2);
|
}
|
}
|