package cn.gistack.sm.sjztmd.service.impl;
|
|
import cn.gistack.common.node.TreeNode;
|
import cn.gistack.common.utils.NodeTreeUtil;
|
import cn.gistack.sm.sjztmd.entity.AttAdBase;
|
import cn.gistack.sm.sjztmd.mapper.AttAdBaseMapper;
|
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
|
import cn.gistack.sm.sjztmd.vo.AttAdBaseVO;
|
import cn.gistack.sm.sjztmd.vo.PersonVO;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Comparator;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* @ClassName AttAdBaseServiceImpl
|
* @Description TODO
|
* @Author aix
|
* @Date 2023/4/21 20:01
|
* @Version 1.0
|
*/
|
@Service
|
@DS("zt")
|
public class AttAdBaseServiceImpl extends ServiceImpl<AttAdBaseMapper, AttAdBase> implements IAttAdBaseService {
|
@Override
|
public List<AttAdBaseVO> lazyTree(String parentCode, Map<String, Object> param) {
|
return baseMapper.lazyTree(parentCode, param);
|
}
|
|
@Override
|
public List<AttAdBaseVO> lazyTreeAll(String parentCode, Map<String, Object> param) {
|
return baseMapper.lazyTreeAll(parentCode, param);
|
}
|
|
/**
|
* 查询区域菜单树-带层级
|
* @param parentCode
|
* @param obj
|
* @return
|
*/
|
@Override
|
public Object selectAttAdBaseTree(String parentCode, Map<String, Object> obj) {
|
List<TreeNode> nodeTree = NodeTreeUtil.getNodeTree(baseMapper.selectAttAdBaseTree(parentCode, obj));
|
// 排序并返回
|
return sortTree(nodeTree);
|
}
|
|
/**
|
* 排序--只排第一,二个子集
|
* @param nodeTree
|
*/
|
private List<TreeNode> sortTree(List<TreeNode> nodeTree) {
|
for (TreeNode node : nodeTree) {
|
if (node.getHasChildren()){
|
List<TreeNode> children = node.getChildren();
|
// 遍历子节点
|
for (TreeNode child : children) {
|
if (child.getHasChildren()){
|
child.setChildren(child.getChildren().stream().sorted(Comparator.comparing(TreeNode::getId)).collect(Collectors.toList()));
|
}
|
}
|
node.setChildren(node.getChildren().stream().sorted(Comparator.comparing(TreeNode::getId)).collect(Collectors.toList()));
|
}
|
}
|
return nodeTree;
|
}
|
|
/**
|
* 根据水库编号查询除责任人之外的人员信息
|
* @param res_cd
|
* @return
|
*/
|
@Override
|
public List<PersonVO> getPersonListByResGuid(String res_cd, String areaList) {
|
return baseMapper.getPersonListByResGuid(res_cd,areaList);
|
}
|
|
@Override
|
public AttAdBaseVO getDetail(AttAdBase attAdBase) {
|
return baseMapper.getDetail(attAdBase);
|
}
|
|
@Override
|
public boolean save(AttAdBase entity) {
|
return baseMapper.customizeSave(entity);
|
}
|
}
|