From fab8208b83a3c710cdfc3805655f04f0b7466be5 Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期三, 08 一月 2025 11:26:00 +0800
Subject: [PATCH] 产品型号集成,类型转换,人员组织加日志,申请接口引用码段值校验

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |   66 ++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 22 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 3aa955a..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,37 +2,44 @@
 
 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.IAttributeClient;
 import com.vci.ubcs.omd.feign.IBtmTypeClient;
 import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
 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;
 import com.vci.ubcs.starter.web.pagemodel.*;
 import com.vci.ubcs.starter.web.pagemodel.PageHelper;
-import com.vci.ubcs.starter.web.util.BeanUtil;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.starter.web.util.VciDateUtil;
@@ -44,9 +51,7 @@
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cglib.beans.BeanMap;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -97,6 +102,10 @@
 	 */
 	@Resource
 	private IBtmTypeClient btmTypeClient;
+
+	@Resource
+	@Lazy
+	private ICodeSynonymService codeSynonymService;
 
 	/**
 	 * 鏌ヨ鎵�鏈夌殑涓婚搴撳垎绫荤殑妯℃澘灞炴��
@@ -207,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;
 	}
@@ -311,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)))));
@@ -377,6 +394,12 @@
 			//灏咲TO杞崲涓篋O
 			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().getAccount()));
+			codeClassifyTemplateAttrDO.setLastModifyTime(new Date());
+			// codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+			codeClassifyTemplateAttrDO.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
 			codeClassifyTemplateAttrDOInsert.add(codeClassifyTemplateAttrDO);
 
 			if(StringUtils.isNotBlank(codeClassifyTemplateAttrDO.getPrefixValue())){
@@ -434,15 +457,9 @@
 			if(Func.isNotEmpty(codeReferConfigVO) && codeReferConfigVO.getIsPersistence()=="true"){
 				codeReferConfigService.insert(codeReferConfigVO);
 			}
-
 		}
 
-		//鎵ц鏁版嵁淇濆瓨鎿嶄綔
-//		WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛�
-
 		//鍏堥兘鍒犱簡
-//		VciQueryWrapperForDO deleteAttrWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
-//		deleteAttrWrapper.addQueryMap("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID);
 		Map<String,Object> condition = new HashMap<>();
 		condition.put("CLASSIFYTEMPLATEOID",CLASSIFYTEMPLATEOID);
 		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDODelete = baseMapper.selectByMap(condition);
@@ -452,7 +469,6 @@
 		for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO:codeClassifyTemplateAttrDODelete){
 			oids.add(codeClassifyTemplateAttrDO.getOid());
 		}
-//		BatchCBO batchCBOTemplateDelete = new BatchCBO();
 		if(!CollectionUtils.isEmpty(oids)){
 			this.removeBatchByIds(oids);
 		}
@@ -467,8 +483,6 @@
 
 		}
 
-
-//		SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
 		//澶勭悊鍙緭鍙�夌殑瀛楃
 		if(!CollectionUtils.isEmpty(prefix)){
 			for (String s : prefix) {
@@ -478,7 +492,6 @@
 				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
-//				.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"prefix",prefix,sessionInfo);
 		}
 		if(!CollectionUtils.isEmpty(suffix)){
 			for (String s : suffix) {
@@ -488,7 +501,6 @@
 				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
-//			charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"suffix",suffix,sessionInfo);
 		}
 		if(!CollectionUtils.isEmpty(dateFormates)){
 			for (String s : dateFormates) {
@@ -498,11 +510,7 @@
 				dictBiz.setDictValue(s);
 				iDictBizClient.getCheck(dictBiz) ;
 			}
-//			charService.saveBySameNamespaceAndFlag(MdmBtmTypeConstant.CODE_CLASSIFY_TEMPLATE_ATTR,"dateFormates",dateFormates,sessionInfo);
 		}
-
-//		WebUtil.setPersistence(true);//鎵ц淇濆瓨
-//		boService.persistenceBatch(batchCBOTemplateDelete);//涓�璧锋墽琛屼繚瀛�
 		return codeClassifyTemplateAttrDO2VOs(codeClassifyTemplateAttrDOInsert);
 	}
 
@@ -757,6 +765,10 @@
 					inSearch = false;
 				}
 				if(inSearch) {
+					if(!VciFieldTypeEnum.VTDouble.equals(osBtmTypeAttributeVO.getAttrDataType())){
+						osBtmTypeAttributeVO.setPrecisionLength(null);
+						osBtmTypeAttributeVO.setScaleLength(null);
+					}
 					boAttrss.add(osBtmTypeAttributeVO);
 				}
 			}
@@ -877,4 +889,14 @@
 		return R.success("鎿嶄綔鎴愬姛锛�");
 	}
 
+	/**
+	 * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ
+	 * @param wrapper 鏌ヨ灏佽鍣�
+	 * @return 鏁版嵁瀵硅薄
+	 */
+	@Override
+	public List<CodeClassifyTemplateAttr> selectByWrapper(Wrapper wrapper) {
+		return codeClassifyTemplateAttrMapper.selectList(wrapper);
+	}
+
 }

--
Gitblit v1.9.3