From e3f2259fcece27f7b98d466b08cbc571de043fd7 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 26 一月 2024 16:59:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java             |    5 +
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java     |   32 ++++++--
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java           |    2 
 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml                        |    2 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java              |   13 +++
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java         |   15 +++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java    |   10 +-
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java               |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java       |   16 ++-
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java          |    1 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java                   |    9 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java |   21 ----
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java           |   89 ++++++++++++++++++++++
 13 files changed, 172 insertions(+), 45 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java
index dd693ee..40a4128 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/constant/BtmTypeFieldConstant.java
@@ -1,5 +1,7 @@
 package com.vci.ubcs.omd.constant;
 
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+
 import java.util.HashMap;
 import java.util.Map;
 
@@ -27,6 +29,8 @@
 
 	public static final Map<String, String> LIFECYCLE_MANAGE_FIELD_MAP;
 
+	public static final Map<String, String> MASTERDATA_FIELD_MAP;
+
 	public static final Map<String, String> SECRET_MANAGE_FIELD_MAP;
 
 	public static final Map<String, String> LINK_TYPE_FIELD_MAP;
@@ -40,10 +44,10 @@
 			{
 				this.put("nameoid", "瀵硅薄涓婚敭");
 				this.put("revisionoid", "鐗堟湰涓婚敭");
-				this.put("lastr", "鏄惁鏈�鏂扮増鏈�");
-				this.put("firstr", "鏄惁鏈�鑰佺増鏈�");
-				this.put("lastv", "鏄惁鏈�鏂扮増娆�");
-				this.put("firstv", "鏄惁鏈�鑰佺増娆�");
+//				this.put("lastr", "鏄惁鏈�鏂扮増鏈�");
+//				this.put("firstr", "鏄惁鏈�鑰佺増鏈�");
+//				this.put("lastv", "鏄惁鏈�鏂扮増娆�");
+//				this.put("firstv", "鏄惁鏈�鑰佺増娆�");
 				this.put("revisionrule", "鐗堟湰瑙勫垯");
 				this.put("revisionseq", "鐗堟湰鎺掑簭鍙�");
 				this.put("revisionvalue", "鐗堟湰鍊�");
@@ -71,14 +75,26 @@
 				this.put("ts", "鏃堕棿鎴�");
 				this.put("owner", "鎷ユ湁鑰�");
 				this.put("tenant_id","绉熸埛");
+				// TODO:鍥犱负涓绘暟鎹煡璇唬鐮佷腑榛樿灏辨妸杩欎簺瀛楁缁欏甫涓婁簡锛屾墍浠ヤ篃寰楀姞鍦ㄩ粯璁ゅ睘鎬ч噷闈�
+				this.put("lastr", "鏄惁鏈�鏂扮増鏈�");
+				this.put("firstr", "鏄惁鏈�鑰佺増鏈�");
+				this.put("lastv", "鏄惁鏈�鏂扮増娆�");
+				this.put("firstv", "鏄惁鏈�鑰佺増娆�");
 			}
 		};
 		BASE_MODEL_COMPATIBILITY_MAP = new HashMap() {
 			{
-				this.put("lastr", "lastr");
-				this.put("firstr", "firstr");
-				this.put("lastv", "lastv");
-				this.put("firstv", "firstv");
+				this.put("lastr", "鏄惁鏈�鏂扮増鏈�");
+				this.put("firstr", "鏄惁鏈�鑰佺増鏈�");
+				this.put("lastv", "鏄惁鏈�鏂扮増娆�");
+				this.put("firstv", "鏄惁鏈�鑰佺増娆�");
+			}
+		};
+		MASTERDATA_FIELD_MAP = new HashMap() {
+			{
+				this.put("codeclsfid","鍒嗙被鐨勪富閿瓧娈�");
+				this.put("codeclsfpath", "鍒嗙被鍏ㄨ矾寰勭殑瀛楁");
+				this.put("codetemplateoid", "妯℃澘鐨勪富閿瓧娈�");
 			}
 		};
 		LIFECYCLE_MANAGE_FIELD_MAP = new HashMap() {
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
index 44334d2..1af769d 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
@@ -167,4 +167,9 @@
 		pattern = "yyyy-MM-dd HH:mm:ss.SSS"
 	)
     private Date ts;
+
+	/**
+	 * 鏄惁榛樿灞炴��
+	 */
+	private Boolean iseDfaultAttr;
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
index 7b1e981..8b576fc 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -63,6 +63,21 @@
 			&& NacosConfigCache.getAdminUserInfo().getUserName().equals(AuthUtil.getUserName());
 	}
 
+	/**
+	 * 浠巑ap涓幏鍙栧�硷紝骞朵笖鍙互蹇界暐澶у皬鍐�
+	 * @param map
+	 * @param key
+	 * @return
+	 */
+	public static Object getMapValueIgnoreCase(Map<String, Object> map,String key){
+		for (Map.Entry<String, Object> entry : map.entrySet()) {
+			if (entry.getKey().equalsIgnoreCase(key)) {
+				return entry.getValue();
+			}
+		}
+		return null;
+	}
+
 	public static String getPk() {
 		return String.valueOf(getPKLong(1,1));
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml
index 97efe84..ffb7ea3 100644
--- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml
+++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/resources/application-prod.yml
@@ -1,6 +1,6 @@
 #鏈嶅姟鍣ㄧ鍙�
 server:
-  port: 8108
+  port: 8114
 
 #鏁版嵁婧愰厤缃�
 spring:
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index da10e36..01c5850 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -1458,11 +1458,11 @@
 		if(!CollectionUtils.isEmpty(dataList)){
 			for(Map data:dataList){
 				CodeClassify codeClassifyDO = new CodeClassify();
-				codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(data.get("OID")));
-				codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(data.get("ID")));
-				codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(data.get("NAME")));
-				codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPEID")));
-				codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(data.get("BTMTYPENAME")));
+				codeClassifyDO.setOid(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"OID")));
+				codeClassifyDO.setId(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"ID")));
+				codeClassifyDO.setName(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"NAME")));
+				codeClassifyDO.setBtmTypeId(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"BTMTYPEID")));
+				codeClassifyDO.setBtmTypeName(VciBaseUtil.getStringValueFromObject(VciBaseUtil.getMapValueIgnoreCase(data,"BTMTYPENAME")));
 				oidList.add(codeClassifyDO);
 			}
 		}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
index 61d3037..1b87d97 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -38,6 +38,8 @@
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
 import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
 import com.vci.ubcs.starter.web.pagemodel.DataGrid;
 import com.vci.ubcs.starter.web.pagemodel.PageHelper;
 import com.vci.ubcs.starter.web.pagemodel.Tree;
@@ -918,31 +920,14 @@
 		}
 
 		//璁剧疆btmtypeid鍜宯ame
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateDO, MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE);
 		CodeClassify codeClassifyDO = codeClassifyDOList.stream().filter(s -> StringUtils.isNotBlank(s.getBtmTypeId())).findFirst().get();
 		codeClassifyTemplateDO.setBtmTypeId(codeClassifyDO.getBtmTypeId());
-		codeClassifyTemplateDO.setNameOid(VciBaseUtil.getPk());
 		codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName());
 		codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING);
-		codeClassifyTemplateDO.setTs(new Date());
 		codeClassifyTemplateDO.setOwner(String.valueOf(AuthUtil.getUser().getUserId()));
 		codeClassifyTemplateDO.setLctid("codeClsTempLc");
-		codeClassifyTemplateDO.setVersionValue("1");
-		codeClassifyTemplateDO.setVersionSeq(1);
-		codeClassifyTemplateDO.setRevisionValue("1");
-		codeClassifyTemplateDO.setRevisionSeq(1);
-		codeClassifyTemplateDO.setVersionRule("0");
 		codeClassifyTemplateDO.setRevisionRule("numberversionrule");
-		codeClassifyTemplateDO.setLastModifyTime(new Date());
-//		codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
-		codeClassifyTemplateDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
-//		codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
-		codeClassifyTemplateDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
-		codeClassifyTemplateDO.setCreateTime(new Date());
-		codeClassifyTemplateDO.setLastV("1");
-		codeClassifyTemplateDO.setLastR("1");
-		codeClassifyTemplateDO.setFirstV("1");
-		codeClassifyTemplateDO.setFirstR("1");
-		codeClassifyTemplateDO.setBtmname("codeclstemplate");
 
 		baseMapper.insert(codeClassifyTemplateDO);
 		//榛樿娣诲姞妯℃澘灞炴��
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 019b856..12c409e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -2981,6 +2981,9 @@
 		conditionMap.put("t.lastr", "1");
 		conditionMap.put("t.lastv", "1");
 		DataGrid<Map<String, String>> mapDataGrid = queryGrid(btmTypeId, templateVO, conditionMap, pageHelper);
+		if(templateVO.getAttributes().isEmpty()){
+			throw new ServiceException(String.format("涓婚敭涓猴細{}鐨勬ā鏉夸笅锛屾ā鏉垮睘鎬ч厤缃负绌猴紒",templateVO.getOid()));
+		}
 		//澶勭悊杩斿洖鏁版嵁涓庢ā鏉挎暟鎹厤缃殑瀛楁涓嶄竴鏍烽棶棰�
 		templateVO.getAttributes().stream().forEach(e -> {
 			for (Map<String, String> datum : mapDataGrid.getData()) {
@@ -3434,6 +3437,9 @@
 		dataList.add(cbo);
 		wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), true);
 		R<List<Map<String, String>>> result = R.data(Collections.singletonList(cbo));
+		if(templateVO.getAttributes().isEmpty()){
+			throw new ServiceException(String.format("涓婚敭涓猴細{}鐨勬ā鏉夸笅锛屾ā鏉垮睘鎬ч厤缃负绌猴紒",templateVO.getOid()));
+		}
 		//澶勭悊杩斿洖鏁版嵁涓庢ā鏉挎暟鎹厤缃殑瀛楁涓嶄竴鏍烽棶棰�
 		templateVO.getAttributes().stream().forEach(e -> {
 			for (Map<String, String> datum : result.getData()) {
@@ -3908,13 +3914,9 @@
 		MdmUIInfoVO uiInfoVO = getTableDefineByTemplateVO(getUsedTemplateByClassifyOid(codeClassifyOid));
 		uiInfoVO.setLeaf(classifyService.countChildrenByClassifyOid(codeClassifyOid) == 0);
 		if (StringUtils.isNotBlank(functionId) && !"~".equalsIgnoreCase(functionId)) {
-			List<Menu> buttonVOS = iSysClient.getMenuButtonByType(codeClassifyOid, uiInfoVO.getTemplateVO().getBtmTypeId(), "data_auth").getData();
-			//			List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId);
-			//			if (operationVOS == null) {
-			//				operationVOS = new ArrayList<>();
-			//			}
-			//			//鏌ヨ鎵╁睍鎸夐挳
-			//			List<CodeButtonVO> buttonVOS = listButtonInToolbarByClassifyOid(codeClassifyOid);
+			// TODO:2024-1-25 18:42妯℃澘涓婄殑btmtypeid鏈夋椂鍊欎細瀛樺湪澶у皬鍐欑殑闂锛屾寜鐞嗘潵璇磋繖鍎跨洿鎺ョ敤functionId灏辫兘婊¤冻鏌ヨ鑿滃崟鎸夐挳浜唘iInfoVO.getTemplateVO().getBtmTypeId()
+			List<Menu> buttonVOS = iSysClient.getMenuButtonByType(codeClassifyOid, functionId, "data_auth").getData();
+
 			List<SmOperationVO> operationVOS = new ArrayList<>();
 			if (!CollectionUtils.isEmpty(buttonVOS)) {
 				for (int i = 0; i < buttonVOS.size(); i++) {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index 72feb94..525198e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -142,7 +142,7 @@
 	 * 妯℃澘鐨勬湇鍔�
 	 */
 	@Resource
-	private CodeClstemplateServiceImpl templateService;
+	private ICodeClstemplateService templateService;
 
 	/**
 	 * 涓绘暟鎹紩鎿庣殑鏈嶅姟
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
index e7ae5de..b7b9fa7 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java
@@ -7,10 +7,8 @@
 import com.vci.ubcs.ddl.bo.DdlTableInDataBaseBO;
 import com.vci.ubcs.ddl.enums.BusinessTypeEnum;
 import com.vci.ubcs.ddl.enums.ModifyTableTaskEnum;
-import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessStrategy;
 import com.vci.ubcs.ddl.processor.ddl.DdlMapperProcessor;
 import com.vci.ubcs.ddl.processor.dll.DllMapperProcessor;
-import com.vci.ubcs.ddl.processor.dll.DllMapperProcessorStrategy;
 import com.vci.ubcs.ddl.properties.DdlPropertise;
 import com.vci.ubcs.ddl.service.IDdlService;
 import com.vci.ubcs.omd.cache.BtmTypeCache;
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
index 47f812c..89edaed 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/BtmTypeController.java
@@ -211,4 +211,17 @@
 		}
 		return R.data(btmTypeService.saveFromTable(btmTypeDTOList,domain));
 	}
+
+	/**
+	 * 鑾峰彇榛樿灞炴��
+	 * @param defaultAttrType
+	 * @return
+	 */
+	@GetMapping("/getDefaultAttr")
+	@ApiOperation(value = "鑾峰彇榛樿灞炴��",notes = "鑾峰彇榛樿灞炴��")
+	@ApiOperationSupport(order = 10)
+	public R getDefaultAttr(String defaultAttrType){
+		return R.data(this.btmTypeService.getDefaultAttr(defaultAttrType));
+	}
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java
index a9a5392..c3785bf 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeAttributeService.java
@@ -34,7 +34,6 @@
 	 */
     List<BtmTypeAttributeVO> getAttributeByBtmTypeOid(String btmTypeOid);
 
-
 	/**
 	 * 鏍规嵁涓氬姟绫诲瀷涓婚敭鑾峰彇鍏宠仈鐨勬墍鏈夊睘鎬у璞�
 	 *
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java
index bdf2f81..c4a33c2 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IBtmTypeService.java
@@ -143,7 +143,6 @@
      */
     Map<String,List<BtmTypeAttributeVO>> batchListHasAttributesByIdCollection(Collection<String> idCollection) throws ServiceException;
 
-
     /**
      * 鑾峰彇浣跨敤涓氬姟绫诲瀷鐨勯摼鎺ョ被鍨�
      * @param pkBtmType 涓氬姟绫诲瀷涓婚敭
@@ -279,4 +278,12 @@
 	 * @return 涓暟
 	 */
 	Integer countByLifeIds(Collection<String> lifeIds);
+
+	/**
+	 * 鑾峰彇榛樿灞炴��
+	 * @param defaultAttrType
+	 * @return
+	 */
+	List<BtmTypeAttributeVO> getDefaultAttr(String defaultAttrType);
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
index 577c911..cc1ae87 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
+++ b/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.setIseDfaultAttr(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.setIseDfaultAttr(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.setIseDfaultAttr(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.setIseDfaultAttr(true);
+				vo.setAttributeLength(50);
+				vo.setAttrDataType(VciFieldTypeEnum.VTString.name());
+				list.add(vo);
+			});
+		}
+
+		return list;
+	}
+
 }

--
Gitblit v1.9.3