From 29d6be062a46dc30be08a57b385e89919827a30b Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期三, 05 七月 2023 16:33:24 +0800
Subject: [PATCH] 业务类型相关修正,修改了参照和枚举的保存

---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java                           |    6 ++
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java               |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |    3 -
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java                 |   58 +++++++++++++++++++++--------
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java                                |    2 
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java                                |    8 ---
 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java                        |   14 +++----
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java                  |    2 
 8 files changed, 58 insertions(+), 37 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index 10740cd..06eebd1 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -36,7 +36,6 @@
 import com.vci.ubcs.starter.web.util.VciDateUtil;
 import com.vci.ubcs.system.entity.DictBiz;
 import com.vci.ubcs.system.feign.IDictBizClient;
-import com.vci.ubcs.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
@@ -714,7 +713,7 @@
 		//杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
 		R<BtmTypeVO> btmTypeVOR = btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
 		if(btmTypeVOR.getCode() != 200){
-			throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤澶辫触锛�");
+			throw new VciBaseException("涓氬姟绫诲瀷feign璋冪敤澶辫触锛�");
 		}
 
 		//杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬�
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
index 819c5e5..6423ad9 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/controller/DdlController.java
@@ -44,7 +44,11 @@
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "鏂板鎴栦慨鏀�", notes = "涓氬姟绫诲瀷閾炬帴绫诲瀷浼犺緭瀵硅薄")
 	public R submitBtmType(@RequestBody BtmAndLinkTypeDdlDTO ddlDTO) {
-		return ddlService.submit(ddlDTO);
+		try {
+			return ddlService.submit(ddlDTO);
+		} catch (Throwable e) {
+			return R.fail(e.getMessage());
+		}
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java
index e93f205..bd55aab 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java
@@ -3,12 +3,16 @@
 import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO;
 import com.vci.ubcs.ddl.mapper.DllDmMapper;
 import com.vci.ubcs.ddl.mapper.DllMapper;
+import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
 import com.vci.ubcs.starter.util.VciSpringUtil;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
 import org.apache.commons.collections4.BidiMap;
+import org.springblade.core.tool.utils.StringPool;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Locale;
 
 /**
  * Description: 搴旂敤浜庤揪姊︽暟鎹紝鐢熸垚鍒涘缓琛ㄦ搷浣渟ql鐨勫鐞嗗櫒
@@ -17,7 +21,7 @@
  * @date 2023/4/24
  */
 @Component
-public class DllDmMapperProcessor extends DllMapperProcessor{
+public class DllDmMapperProcessor extends DllMapperProcessor {
 
 	private static final DllMapper MAPPER = VciSpringUtil.getBean(DllDmMapper.class);
 
@@ -25,24 +29,24 @@
 
 	static {
 		// 闇�瑕侀噸鏂版槧灏勭殑瀛楁绫诲瀷鍦ㄨ繖閲屽啓
-		FIELD_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("DOUBLE",26,8,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("NUMBER",22,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("BIGINT",22,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR",5,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("DATE",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("TIMESTAMP",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("TIME",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("TEXT",null,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("CLOB",100,null,true,null));
-		FIELD_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR",255,null,true,null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTDouble, new DdlFieldMappingAttrBO("DOUBLE", 26, 8, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTInteger, new DdlFieldMappingAttrBO("INTEGER", 10, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTLong, new DdlFieldMappingAttrBO("NUMBER", 38, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTBoolean, new DdlFieldMappingAttrBO("VARCHAR", 5, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTDate, new DdlFieldMappingAttrBO("DATE", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTDateTime, new DdlFieldMappingAttrBO("TIMESTAMP", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTTime, new DdlFieldMappingAttrBO("TIME", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTFilePath, new DdlFieldMappingAttrBO("TEXT", null, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTClob, new DdlFieldMappingAttrBO("CLOB", 100, null, true, null));
+		FIELD_MAP.put(VciFieldTypeEnum.VTString, new DdlFieldMappingAttrBO("VARCHAR", 255, null, true, null));
 	}
 
 	public DllDmMapperProcessor() {
 		super(MAPPER);
 		System.out.println("-----------------");
-		if (MAPPER != null){
+		if (MAPPER != null) {
 			System.out.println("[success]::鍔犺浇杈炬ⅵ鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛");
-		}else {
+		} else {
 			System.out.println("[fail]::鍔犺浇杈炬ⅵ鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触");
 		}
 	}
@@ -54,7 +58,29 @@
 
 	@Override
 	protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) {
-		return getMappingBOInMap(fieldTypeEnum,FIELD_MAP);
+		return getMappingBOInMap(fieldTypeEnum, FIELD_MAP);
+	}
+
+	@Override
+	public String getColumnTypeSql(VciFieldTypeEnum fieldType, BtmTypeAttributeVO attributeVO) {
+		DdlFieldMappingAttrBO mappingBO = getMappingBO(fieldType);
+		if (fieldType.equals(VciFieldTypeEnum.VTDouble)) {
+			mappingBO.setDataPrecision(attributeVO.getPrecisionLength());
+		}
+		//鍏堝彧閽堝鏁板瓧绫诲瀷鐨勮繘琛屽鐞�
+		if (fieldType.equals(VciFieldTypeEnum.VTInteger) ){
+			mappingBO.setDataLength(null);
+		} else if (fieldType.equals(VciFieldTypeEnum.VTDouble) || fieldType.equals(VciFieldTypeEnum.VTLong)) {
+			if (attributeVO.getAttributeLength() <= mappingBO.getDataLength()) {
+				mappingBO.setDataLength(attributeVO.getAttributeLength());
+			}
+		}else {
+			mappingBO.setDataLength(attributeVO.getAttributeLength());
+		}
+		mappingBO.setNullable(attributeVO.isNullableFlag());
+		mappingBO.setDefaultValue(attributeVO.getDefaultValue());
+		return mappingBO.toString() + (StringUtil.equals(attributeVO.getId().toLowerCase(Locale.ROOT), "OID".toLowerCase(Locale.ROOT)) ? StringPool.SPACE + "primary key" + StringPool.SPACE : "");
+
 	}
 
 	/**
@@ -65,11 +91,11 @@
 	 */
 	@Override
 	public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) {
-		return listFieldInMapByColumnStr(columnStr,FIELD_MAP);
+		return listFieldInMapByColumnStr(columnStr, FIELD_MAP);
 	}
 
 	@Override
 	public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
-		return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
+		return getFieldTypeBeColumnStrInMap(columnStr, length, FIELD_MAP);
 	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
index 2b2d1ea..c7610fa 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/IDdlService.java
@@ -195,7 +195,7 @@
 	 * @param ddlDTO 涓氬姟绫诲瀷浼犺緭瀵硅薄
 	 * @return 鎵ц缁撴灉
 	 */
-	R submit(BtmAndLinkTypeDdlDTO ddlDTO);
+	R submit(BtmAndLinkTypeDdlDTO ddlDTO) throws Throwable;
 
 	/**
 	 * 鎸夎〃鍚嶈幏鍙栬〃淇℃伅
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 bc9b2ad..eb74293 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
@@ -83,25 +83,25 @@
 
 	private final Map<String, LinkTypeVO> idLinkMap = new ConcurrentHashMap<>();
 
-	private void putBtm(@NotNull BtmTypeVO... voList) throws ServiceException {
+	private void putBtm(@NotNull BtmTypeVO... voList) throws Throwable {
 		String collect = Arrays.stream(voList).map(BtmTypeVO::getId).filter(idBtmMap::containsKey).collect(Collectors.joining(","));
 		if (StringUtils.isBlank(collect)) {
 			Arrays.stream(voList).forEach(vo -> {
 				idBtmMap.put(vo.getId(), vo);
 			});
 		} else {
-			throw new ServiceException("涓氬姟绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
+			throw new Throwable("涓氬姟绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
 		}
 	}
 
-	private void putLink(@NotNull LinkTypeVO... voList) throws ServiceException {
+	private void putLink(@NotNull LinkTypeVO... voList) throws Throwable {
 		String collect = Arrays.stream(voList).map(LinkTypeVO::getId).filter(idLinkMap::containsKey).collect(Collectors.joining(","));
 		if (StringUtils.isBlank(collect)) {
 			Arrays.stream(voList).forEach(vo -> {
 				idLinkMap.put(vo.getId(), vo);
 			});
 		} else {
-			throw new ServiceException("閾炬帴绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
+			throw new Throwable("閾炬帴绫诲瀷:[" + collect + "]姝e湪琚叾浠栫敤鎴锋搷浣�");
 		}
 	}
 
@@ -978,7 +978,7 @@
 	 * @return 鎵ц缁撴灉
 	 */
 	@Override
-	public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) {
+	public R<List<ModifyAttributeInfo>> submit(BtmAndLinkTypeDdlDTO ddlDTO) throws Throwable {
 		try {
 			List<ModifyAttributeInfo> changedList = new ArrayList<>();
 			if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) {
@@ -996,7 +996,7 @@
 			R<List<ModifyAttributeInfo>> result = R.success("鏁版嵁搴撴搷浣滄垚鍔�");
 			result.setData(changedList);
 			return result;
-		} catch (VciBaseException e) {
+		} catch (Exception e) {
 			try {
 				// 寤鸿〃澶辫触鏈夊紓甯革紝鎹曡幏鍚庤繑鍥烇紝骞堕噴鏀剧嚎绋嬩腑鐨勫唴瀹�
 				if (!CollectionUtils.isEmpty(ddlDTO.getBtmTypeList())) {
@@ -1009,8 +1009,6 @@
 			}catch (ServiceException e2){
 				throw new RuntimeException(e2.getMessage());
 			}
-		} catch (ServiceException e) {
-			throw new RuntimeException(e.getMessage());
 		}
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
index 6d62a18..8bd40d9 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/BtmTypeClient.java
@@ -118,7 +118,7 @@
 		BeanMap.create(queryObj).putAll(conditionMap);
 		List<BtmType> list = btmTypeService.list(Condition.getQueryWrapper(queryObj).lambda().eq(BtmType::getBizDomain, domainValue).orderByAsc(BtmType::getId));
 		if (CollectionUtils.isEmpty(list)){
-			return R.data(null);
+			return R.data(new ArrayList<>());
 		}
 		return R.data(BtmTypeWrapper.build().listEntityVO(list));
 	}
@@ -139,9 +139,6 @@
 				)
 			).orElseGet(ArrayList::new)
 		);
-		if (CollectionUtils.isEmpty(voList)){
-			return R.data(null);
-		}
 		return R.data(voList);
 	}
 
@@ -161,9 +158,6 @@
 				)
 			).orElseGet(ArrayList::new)
 		);
-		if (CollectionUtils.isEmpty(voList)){
-			return R.data(null);
-		}
 		return R.data(voList);
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
index 818798d..f2b24c1 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
@@ -134,7 +134,7 @@
 		if (CollectionUtils.isEmpty(existAttributeVOList)) {
 			throw new VciBaseException("浣跨敤鐨勫睘鎬ч兘鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉");
 		} else {
-			Set<String> existAttributeOidSet = (existAttributeVOList.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase().trim(), t -> t))).keySet();
+			Set<String> existAttributeOidSet = (existAttributeVOList.stream().collect(Collectors.toMap(s -> s.getId().trim(), t -> t))).keySet();
 			keyCollections.stream().forEach(s -> {
 				if (!existAttributeOidSet.contains(s)) {
 					throw new VciBaseException("浣跨敤鐨勫睘鎬0}鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉", new Object[]{s});
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
index bdeebe9..22b90ed 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
@@ -60,7 +60,7 @@
 			attributesDTOList.stream().forEachOrdered(s -> {
 				attributeService.checkAttribute(s);
 				btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now));
-				attributeIdList.add(s.getId().toLowerCase().trim());
+				attributeIdList.add(s.getId().trim());
 			});
 			//妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪
 			boolean exists = attributeService.checkAttributeExists(attributeIdList);

--
Gitblit v1.9.3