ludc
2023-06-27 aa8db511b7823300bf3312018fbec75a6fa1ccf5
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -47,7 +47,7 @@
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.launch.constant.AppConstant;
import com.vci.ubcs.core.log.exception.ServiceException;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -57,9 +57,11 @@
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.awt.event.ItemEvent;
import java.io.File;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.*;
@@ -103,6 +105,20 @@
   public List<CodeClassify> selectByWrapper(Wrapper wrapper) {
      return codeClassifyMapper.selectList(wrapper);
   }
   /**
    * 查询
    * @param wrapper 查询封装器
    * @return
    */
   @Override
   public List<String> select1(Wrapper wrapper) {
      return codeClassifyMapper.selectObjs(wrapper);
   }
   @Override
   public IPage<CodeClassifyVO> selectPlCodeClassifyPage(IPage<CodeClassifyVO> page, CodeClassifyVO plCodeClassify) {
@@ -462,10 +478,19 @@
    */
   @Override
   public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) {
      List<CodeClassify> doList =codeClassifyMapper
         .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid());
//      List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid());
      List<CodeClassify> doList = null;
      String id = null;
      String lcStatus = null;
      if(!Objects.isNull(treeQueryObject.getConditionMap())){
         id = treeQueryObject.getConditionMap().getOrDefault("id",null);
         lcStatus = treeQueryObject.getConditionMap().getOrDefault("lcStatus",null);
      }
      if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
         doList = codeClassifyMapper
            .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid());
      }else{
         doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid());
      }
      List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList);
      TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT));
      treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
@@ -522,8 +547,9 @@
    */
   @Override
   public List<CodeClassifyVO> getIdPathToNamePathByParentId(String classifyId, boolean enable) {
      return null;
      return codeClassifyMapper.getIdPathToNamePathByParentId(classifyId);
   }
   //   /**
//    * 根据树形查询对象来查询数据对象
@@ -636,7 +662,7 @@
   @Override
   public List<CodeClassifyVO> listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable) {
      if(allLevel){
         List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid);
         List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath);
         if(!CollectionUtils.isEmpty(classifyDOS)){
            classifyDOS = classifyDOS.stream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList());
         }
@@ -756,7 +782,7 @@
      Map<String/**路径**/,String/**主键**/> oidPathMap = new HashMap<>();
      //我们需要查询所有已经存在的分类,主要是路径,用来判断分类的数据
      List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("");
      List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null);
      Map<String/**路径**/, CodeClassify/**已经存在的数据**/> pathDOMap = Optional.ofNullable(existClassifyDOs).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> {
         String path = s.getPath();
         if(StringUtils.isNotBlank(path) && path.startsWith("#")){
@@ -933,12 +959,12 @@
            attributeVO.setAttributeLength(attr.getAttributeLength());
            attributeVO.setBtmTypeId(btmTypeDetail.getData().getId());
            attributeVO.setBtmname(btmTypeDetail.getData().getName());
            attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCO_FIELD_TYPE,attr.getAttrDataType()));
            attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCI_FIELD_TYPE,attr.getAttrDataType()));
            boolean add = true;
            if(StringUtils.isNotBlank(id) && !attributeVO.getId().contains(id.replace("*",""))){
               add = false;
            }
            if(StringUtils.isNotBlank(name) && !attributeVO.getId().contains(name.replace("*",""))){
            if(StringUtils.isNotBlank(name) && !attributeVO.getName().contains(name.replace("*",""))){
               add = false;
            }
            if(add){
@@ -951,20 +977,31 @@
         throw new ServiceException("业务类型feign接口调用出错");
      }
      List<BtmTypeAttributeVO> defaultAttrVOS = btmTypeVOR.getData().getAttributes();
      if(!CollectionUtils.isEmpty(defaultAttrVOS)){
         defaultAttrVOS.stream().forEach(attr->{
      // 取两个集合差集
      List<String> ids = unDefaultAttributes.stream().map(BtmTypeAttributeVO::getId).collect(Collectors.toList());
      defaultAttrVOS.forEach(item->{
         if(!ids.contains(item.getId())){
            BtmTypeAttributeVO attributeVO = new BtmTypeAttributeVO();
            BeanUtils.copyProperties(item,attributeVO);
            attributeVO.setAttrDataType(item.getAttrDataType());
            attributeVO.setAttributeLength(item.getAttributeLength());
            attributeVO.setBtmTypeId(btmTypeDetail.getData().getId());
            attributeVO.setBtmname(btmTypeDetail.getData().getName());
            attributeVO.setAttrDataTypeText(EnumCache.getValue(EnumEnum.VCI_FIELD_TYPE,item.getAttrDataType()));
            boolean add = true;
            if(StringUtils.isNotBlank(id) && !attr.getId().contains(id.replace("*",""))){
            if(StringUtils.isNotBlank(id) && !item.getId().contains(id.replace("*",""))){
               add = false;
            }
            if(StringUtils.isNotBlank(name) && !attr.getId().contains(name.replace("*",""))){
            if(StringUtils.isNotBlank(name) && !item.getName().contains(name.replace("*",""))){
               add = false;
            }
            if(add){
               attributeVOS.add(attr);
               attributeVOS.add(attributeVO);
            }
         });
      }
         }
      });
      DataGrid<BtmTypeAttributeVO> dataGrid = new DataGrid<>();
      dataGrid.setData(attributeVOS);
      dataGrid.setTotal(attributeVOS.size());
@@ -1047,29 +1084,16 @@
    */
   @Override
   public CodeClassifyVO getObjectByIdPath(String idPath) {
      List<Map<String, Object>> idPathValues = codeClassifyMapper.selectByFieldPath("/" + idPath);
      List<Map<String, Object>> idPathValues = codeClassifyMapper.selectByFieldPath("#" + idPath);
      CodeClassify classifyDO = null;
      if (idPathValues != null){
         classifyDO = codeClassifyMapper.selectById(idPathValues.get(0).get("oid").toString());
         classifyDO = codeClassifyMapper.selectByIdRel(idPathValues.get(0).get("OID").toString());
      }
      return codeClassifyDO2VO(classifyDO);
   }
   /**
<<<<<<< Updated upstream
<<<<<<< Updated upstream
<<<<<<< Updated upstream
    * 主题库的树,已联调业务类型查询feign
=======
    * 主题库的树,已经联调业务类型查询
>>>>>>> Stashed changes
=======
    * 主题库的树,已经联调业务类型查询
>>>>>>> Stashed changes
=======
    * 主题库的树,已经联调业务类型查询
>>>>>>> Stashed changes
    *
    * @param treeQueryObject 树形查询对象
    * @return 主题库显示树
    */