zhongrj
2023-10-12 39b3d16e78a22e70e99341f366dcfa2c3e6519b9
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
@@ -1,15 +1,20 @@
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
@@ -25,4 +30,62 @@
   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);
   }
}