From 27cddefb0cb28da699954ba1a1756d6bcabafbbe Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期三, 05 三月 2025 17:41:29 +0800
Subject: [PATCH] 集成申码接口调整:当码值按照约定传表名为空的业务场景下传null校验问题和码值组装问题。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 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 d4b6d27..1874a0c 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
@@ -2,23 +2,30 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+
 import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO;
+import com.vci.ubcs.code.entity.CodeClassify;
 import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
 import com.vci.ubcs.code.entity.CodeClassifyTemplate;
+import com.vci.ubcs.code.entity.CodeSynonym;
 import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum;
 import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper;
 import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper;
 import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
 import com.vci.ubcs.code.service.ICodeReferConfigService;
+import com.vci.ubcs.code.service.ICodeSynonymService;
 import com.vci.ubcs.code.service.ICodeTempphaseService;
 import com.vci.ubcs.code.vo.CodeReferConfigVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeSynonymVO;
 import com.vci.ubcs.code.vo.pagemodel.UIFormReferVO;
 import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper;
 import com.vci.ubcs.omd.feign.IBtmTypeClient;
@@ -27,6 +34,7 @@
 import com.vci.ubcs.starter.exception.VciBaseException;
 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.util.PatternUtil;
 import com.vci.ubcs.starter.util.UBCSCondition;
 import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
@@ -94,6 +102,10 @@
 	 */
 	@Resource
 	private IBtmTypeClient btmTypeClient;
+
+	@Resource
+	@Lazy
+	private ICodeSynonymService codeSynonymService;
 
 	/**
 	 * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴��
@@ -204,12 +216,20 @@
 	 * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
 	 */
 	@Override
-	public  CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{
+	public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{
 		CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO();
 		if(codeClassifyTemplateAttrDO != null){
 			BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo);
 			//濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
 			vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributeDataType()));
+			if(Func.isNotBlank(codeClassifyTemplateAttrDO.getSysonymRuleOids())){
+				vo.setSysonymRuleOidsText(
+					codeSynonymService.selectNameByWrapper(
+						Wrappers.<CodeSynonym>query()
+							.lambda().in(CodeSynonym::getOid, Func.toStrList(",", codeClassifyTemplateAttrDO.getSysonymRuleOids()))
+					)
+				);
+			}
 		}
 		return vo;
 	}
@@ -308,7 +328,7 @@
 			query.setCurrent(pageHelper.getPage());
 		}
 		IPage<CodeClassifyTemplateAttr> doList = baseMapper.
-			selectPage(Condition.getPage(query), UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class));
+			selectPage(Condition.getPage(query), UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class).orderByAsc("ordernum"));
 		if (!CollectionUtils.isEmpty(doList.getRecords())) {
 			dataGrid.setData(codeClassifyTemplateAttrDO2VOs(doList.getRecords()));
 			dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(baseMapper.selectCount(UBCSCondition.getQueryWrapperByMapString(conditionMap,CodeClassifyTemplateAttr.class)))));
@@ -375,9 +395,11 @@
 			CodeClassifyTemplateAttr codeClassifyTemplateAttrDO = new CodeClassifyTemplateAttr();
 			BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDTO,codeClassifyTemplateAttrDO);
 			codeClassifyTemplateAttrDO.setCreateTime(codeClassifyTemplateAttrDO.getCreateTime()!=null?codeClassifyTemplateAttrDO.getCreateTime():new Date());
-			codeClassifyTemplateAttrDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+			// codeClassifyTemplateAttrDO.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+			codeClassifyTemplateAttrDO.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
 			codeClassifyTemplateAttrDO.setLastModifyTime(new Date());
-			codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+			// codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+			codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
 			codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO);
 
 			if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getPrefixValue())){
@@ -743,6 +765,10 @@
 					inSearch = false;
 				}
 				if(inSearch) {
+					if(!VciFieldTypeEnum.VTDouble.equals(osBtmTypeAttributeVO.getAttrDataType())){
+						osBtmTypeAttributeVO.setPrecisionLength(null);
+						osBtmTypeAttributeVO.setScaleLength(null);
+					}
 					boAttrss.add(osBtmTypeAttributeVO);
 				}
 			}
@@ -863,4 +889,14 @@
 		return R.success("鎿嶄綔鎴愬姛锛�");
 	}
 
+	/**
+	 * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ
+	 * @param wrapper 鏌ヨ灏佽鍣�
+	 * @return 鏁版嵁瀵硅薄
+	 */
+	@Override
+	public List<CodeClassifyTemplateAttr> selectByWrapper(Wrapper wrapper) {
+		return codeClassifyTemplateAttrMapper.selectList(wrapper);
+	}
+
 }

--
Gitblit v1.9.3