package com.chinaztt.mes.aps.service.impl;
|
|
import cn.hutool.core.collection.CollUtil;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.chinaztt.mes.aps.entity.ApsResourceGroup;
|
import com.chinaztt.mes.aps.entity.ApsResourceRelation;
|
import com.chinaztt.mes.aps.mapper.ApsResourceRelationMapper;
|
import com.chinaztt.mes.aps.service.ApsResourceRelationService;
|
import org.springframework.transaction.annotation.Transactional;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
|
/**
|
* @author ZTT
|
*/
|
@Service
|
@AllArgsConstructor
|
public class ApsResourceRelationServiceImpl extends ServiceImpl<ApsResourceRelationMapper, ApsResourceRelation> implements ApsResourceRelationService {
|
private final ApsResourceRelationMapper apsResourceRelationMapper;
|
|
/**
|
* 维护部门关系
|
*
|
* @author sunxiaoling
|
* @date 2020-08-27 10:32:31
|
*/
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void insertDeptRelation(ApsResourceGroup apsResource) {
|
// 增加部门关系表
|
List<ApsResourceRelation> relationList = apsResourceRelationMapper.selectList(
|
Wrappers.<ApsResourceRelation>query().lambda().eq(ApsResourceRelation::getDescendants, apsResource.getParentId()))
|
.stream().map(relation -> {
|
relation.setDescendants(apsResource.getId());
|
return relation;
|
}).collect(Collectors.toList());
|
if (CollUtil.isNotEmpty(relationList)) {
|
this.saveBatch(relationList);
|
}
|
ApsResourceRelation owm = new ApsResourceRelation();
|
owm.setAncestry(apsResource.getId());
|
owm.setDescendants(apsResource.getId());
|
apsResourceRelationMapper.insert(owm);
|
}
|
|
/**
|
* 通过ID删除资源关系
|
*
|
* @param id
|
*/
|
@Override
|
public void deleteAllDeptRealtion(Integer id) {
|
baseMapper.deleteDeptRelationsById(id);
|
}
|
|
/**
|
* 更新资源分组关系
|
*
|
* @param relation
|
*/
|
@Override
|
public void updateDeptRealtion(ApsResourceRelation relation) {
|
baseMapper.updateDeptRelations(relation);
|
}
|
}
|