lihang
2023-07-04 aedc56b3c034ef33811ca873debee68d6f963a88
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/LinkTypeServiceImpl.java
@@ -45,6 +45,7 @@
import org.springframework.transaction.support.DefaultTransactionDefinition;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.NotEmpty;
import java.util.*;
import java.util.stream.Collectors;
@@ -394,7 +395,7 @@
         LinkType linkTypeDO = new LinkType();
         BeanUtil.copy(linkTypeVO, linkTypeDO);
         if (StringUtils.isBlank(linkTypeDO.getTableName())){
            linkTypeDO.setTableName(getTableName(linkTypeDO.getId(),linkTypeDO.getDomain()));
            linkTypeDO.setTableName(getTableName(linkTypeDO.getId(),linkTypeDO.getBizDomain()));
         }
         String creator = AuthUtil.getUserAccount();
         Date now = new Date();
@@ -410,7 +411,7 @@
            List<LinkTypeAttributeVO> attributes = typeVO.getAttributes();
            attributes.addAll(linkTypeAttributeService.getDefaultAttributes(typeVO));
            typeVO.setAttributes(attributes);
            R r = DomainRepeater.submitLinkType(typeVO.getDomain(), typeVO);
            R r = DomainRepeater.submitLinkType(typeVO.getBizDomain(), typeVO);
            if (!r.isSuccess()){
               dataSourceTransactionManager.rollback(transaction);
            }else {
@@ -570,7 +571,7 @@
            attributes.addAll(defaultAttributes);
            linkTypeVO.setAttributes(attributes);
            BtmAndLinkTypeDdlDTO ddlDTO = new BtmAndLinkTypeDdlDTO();
            DomainRepeater.checkDifferent(ddlDTO,linkTypeVO.getDomain());
            DomainRepeater.checkDifferent(ddlDTO,linkTypeVO.getBizDomain());
            dataSourceTransactionManager.commit(transaction);
         }
      } catch (Throwable e){
@@ -624,10 +625,10 @@
         List<TableCheckDTO> checkList = linkTypeDOList.stream().map(linkType -> {
            TableCheckDTO tableCheckDTO = new TableCheckDTO();
            tableCheckDTO.setBtmName(linkType.getId());
            tableCheckDTO.setTableName(getTableName(linkType.getId(),linkType.getDomain()));
            tableCheckDTO.setTableName(getTableName(linkType.getId(),linkType.getBizDomain()));
            tableCheckDTO.setCheckTableHasData(true);
            tableCheckDTO.setNeedDelete(true);
            tableCheckDTO.setDomain(linkType.getDomain());
            tableCheckDTO.setDomain(linkType.getBizDomain());
            return tableCheckDTO;
         }).collect(Collectors.toList());
         R result = DomainRepeater.checkTableHasDataByTableNameThenDrop(checkList);
@@ -845,7 +846,7 @@
      }else {
         throw new VciBaseException("领域名称不符合规则");
      }
      return PL + StringPool.UNDERSCORE + domain + StringPool.UNDERSCORE + id;
      return PL + StringPool.UNDERSCORE + domain.toUpperCase(Locale.ROOT) + StringPool.UNDERSCORE + id.toUpperCase(Locale.ROOT);
   }
   /**
@@ -876,7 +877,7 @@
      try {
         Map<String, String> domain = Optional.ofNullable(DomainRepeater.getDomain()).orElseGet(ArrayList::new).stream().collect(Collectors.toMap(DomainVO::getValue, DomainVO::getLabel));
         List<LinkTypeVO> vos = LinkTypeWrapper.build().listEntityVO(baseMapper.selectAll(), null);
         Map<String, List<LinkTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(LinkTypeVO::getDomain));
         Map<String, List<LinkTypeVO>> domainMap = vos.stream().collect(Collectors.groupingBy(LinkTypeVO::getBizDomain));
         List<BtmTreeVO> treeList = new ArrayList<>();
         domainMap.forEach((k,v)-> {
            if (domain.containsKey(k)){
@@ -901,4 +902,56 @@
         throw new RuntimeException(e);
      }
   }
   @Override
   public boolean deleteLogic(@NotEmpty List<Long> ids) {
      return false;
   }
   @Override
   public boolean changeStatus(@NotEmpty List<Long> ids, Integer status) {
      return false;
   }
   /**
    * 获取链接类型,只有默认字段
    *
    * @param linkTypeId 链接类型id
    * @return 默认字段属性
    */
   @Override
   public LinkTypeVO getLinkTypeDefaultAttrById(String linkTypeId) {
      LinkTypeVO vo = getLinkTypeById(linkTypeId);
      List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getDefaultAttributes(vo);
      vo.setAttributes(attributes);
      return vo;
   }
   /**
    * 获取链接类型,有所有的字段
    *
    * @param linkTypeId 链接类型id
    * @return 所有字段
    */
   @Override
   public LinkTypeVO getLinkTypeAllAttrById(String linkTypeId) {
      LinkTypeVO vo = getLinkTypeById(linkTypeId);
      List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getAllAttributes(vo);
      vo.setAttributes(attributes);
      return vo;
   }
   /**
    * 获取链接类型,有所有的字段
    *
    * @param linkTypeOid 链接类型主键
    * @return 所有字段
    */
   @Override
   public LinkTypeVO getLinkTypeAllAttrByOid(String linkTypeOid) {
      LinkTypeVO vo = getLinkTypeByOid(linkTypeOid);
      List<LinkTypeAttributeVO> attributes = linkTypeAttributeService.getAllAttributes(vo);
      vo.setAttributes(attributes);
      return vo;
   }
}