ludc
2024-01-28 718c4cc47ad2e19f1d15ee81e98d8bf2fae84ba3
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
@@ -497,7 +497,7 @@
         transaction = dataSourceTransactionManager.getTransaction(def);
         // 获得事务状态
      }*/
//      checkBtmTypeBeforeSave(btmTypeDTO);
      //checkBtmTypeBeforeSave(btmTypeDTO);
      BtmType btmTypeDO = Optional.ofNullable(BeanUtil.copy(btmTypeDTO, BtmType.class)).orElseGet(BtmType::new);
      btmTypeDO.setBizDomain(btmTypeDTO.getBizDomain());
      List<BtmTypeLinkAttributesDTO> attributes = btmTypeDTO.getAttributes();
@@ -969,4 +969,91 @@
      });
      return total[0];
   }
   /**
    * 获取默认属性
    * @param defaultAttrType
    * @return
    */
   @Override
   public List<BtmTypeAttributeVO> getDefaultAttr(String defaultAttrType) {
      List<BtmTypeAttributeVO> list = new ArrayList<>();
      // 业务类型的默认基本字段
      if(defaultAttrType.equals("defaultAttr")){
         BtmTypeFieldConstant.BASIC_FIELD_MAP.forEach((id,name) -> {
            id = id.toLowerCase(Locale.ROOT);
            BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
            vo.setId(id);
            vo.setName(name);
            vo.setIsDefaultAttr(true);
            if ("oid".equals(id)){
               vo.setNullableFlag(false);
            }
            if (Arrays.asList("createtime","lastmodifytime","ts").contains(id)){
               vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
               vo.setAttributeLength(6);
            }else {
               vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
               vo.setAttributeLength(150);
            }
            list.add(vo);
         });
         BtmTypeFieldConstant.MASTERDATA_FIELD_MAP.forEach((id,name) -> {
            id = id.toLowerCase(Locale.ROOT);
            BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
            vo.setId(id);
            vo.setName(name);
            vo.setIsDefaultAttr(false);
            if (Arrays.asList("codeclsfpath").contains(id)){
               vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
               vo.setAttributeLength(500);
            }else {
               vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
               vo.setAttributeLength(255);
            }
            list.add(vo);
         });
      }
      // 版本规则字段
      if (defaultAttrType.equals("reVersionRule")){
         BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP.forEach((id,name) -> {
            BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
            vo.setId(id);
            vo.setName(name);
            vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
            // 版本规则字段不能为空
//            vo.setNullableFlag(false);
            vo.setAttributeLength(150);
            vo.setIsDefaultAttr(true);
            if (Arrays.asList("revisionseq","versionseq").contains(id)){
               vo.setAttributeLength(5);
               vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
            }
            if (Arrays.asList("checkintime","checkouttime").contains(id)){
               vo.setAttrDataType(VciFieldTypeEnum.VTDateTime.name());
               vo.setAttributeLength(6);
            }
            list.add(vo);
         });
      }
      // 生命周期字段
      if (defaultAttrType.equals("lifeCycle")){
         BtmTypeFieldConstant.LIFECYCLE_MANAGE_FIELD_MAP.forEach((id,name) -> {
            BtmTypeAttributeVO vo = new BtmTypeAttributeVO();
            vo.setId(id);
            vo.setName(name);
//            vo.setNullableFlag(false);
            vo.setIsDefaultAttr(true);
            vo.setAttributeLength(50);
            vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
            list.add(vo);
         });
      }
      return list;
   }
}