xiejun
2025-01-22 d9183aa80ae17d36b79dda48c6b1d7fa22a80ee3
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -49,6 +49,7 @@
import com.vci.ubcs.starter.web.util.LangBaseUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.system.cache.NacosConfigCache;
import com.vci.ubcs.system.dto.ClassifyAuthDTO;
import com.vci.ubcs.system.feign.ISysClient;
import org.apache.poi.hssf.util.HSSFColor;
import org.slf4j.Logger;
@@ -71,12 +72,9 @@
import java.awt.event.ItemEvent;
import java.io.File;
import java.util.*;
import java.util.concurrent.ForkJoinPool;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.*;
import static com.vci.ubcs.starter.web.util.VciBaseUtil.getTableName;
@Service
public class CodeClassifyServiceImpl extends ServiceImpl<CodeClassifyMapper, CodeClassify> implements ICodeClassifyService {
@@ -122,6 +120,7 @@
    * 上级节点的属性名称
    */
   public static  final String PARENT_FIELD_NAME = "parentCodeClassifyOid";
   /**
    * 使用查询封装器来查询
    * @param wrapper 查询封装器
@@ -158,6 +157,7 @@
    * @param
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public R addSave(CodeClassify codeClassifyEntity) {
      try {
         VciBaseUtil.alertNotNull(codeClassifyEntity.getId(),"主题库编号不能为空!",codeClassifyEntity.getName(),"主题库名称不能为空!");
@@ -184,8 +184,19 @@
      }
      DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyEntity, MdmBtmTypeConstant.CODE_CLASSIFY);
      codeClassifyEntity.setLcStatus(FRAMEWORK_DATA_ENABLED);
      int insertNumber = codeClassifyMapper.insert(codeClassifyEntity);
      return R.status(SqlHelper.retBool(insertNumber));
      boolean resBoolean = SqlHelper.retBool(codeClassifyMapper.insert(codeClassifyEntity));
      if (!resBoolean) {
         return R.status(resBoolean);
      }
      // 分类添加成功,给系统管理员和当前角色增加分类权限和数据权限
      ClassifyAuthDTO classifyAuthDTO = new ClassifyAuthDTO();
      classifyAuthDTO.setClassifyId(codeClassifyEntity.getOid());
//      classifyAuthDTO.setClassId(codeClassifyEntity.getId());
      R r = sysClient.saveAddClassifyDefaultAuth(classifyAuthDTO);
      if (!r.isSuccess()) {
         throw new ServiceException("给角色授予默认权限时出现错误,原因:"+r.getMsg());
      }
      return R.status(resBoolean);
   }
   /**
@@ -562,7 +573,7 @@
      }
      if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
         //String tableName = this.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
         // TODO: 2024-1-24 23:25我去掉了懒加载,因为会影响数据授权过滤,而且这儿感觉没必要做懒加载
         // TODO: 2024-1-24 23:25我去掉了懒加载,因为会影响数据授权过滤和分类搜索功能,而且这儿感觉没必要做懒加载
         doList = codeClassifyMapper
            .selectCodeClassifyDOByTree(
               treeQueryObject.getConditionMap().get("id"),
@@ -743,6 +754,24 @@
      String oids = codeClassifies.stream()
         .map(CodeClassify::getOid)
         .map(s -> "'" + s + "'")
         .collect(Collectors.joining(","));;
      return oids;
   }
   /**
    *  根据顶层节点oid查询所有叶子节点分类oid
    * @param pid
    * @return
    */
   @Override
   public String selectLeafByPid(String pid) {
      List<CodeClassify> codeClassifies = codeClassifyMapper.selectLeafByPid(pid);
      if(codeClassifies.isEmpty()){
         return "";
      }
      String oids = codeClassifies.stream()
         .map(CodeClassify::getOid)
         .map(s ->s)
         .collect(Collectors.joining(","));;
      return oids;
   }
@@ -1526,7 +1555,5 @@
      wrapper.eq("parentCodeClassifyOid",codeClassifyOid);
      return codeClassifyMapper.selectCount(wrapper).intValue();
   }
}