From 3534b13391b2a6152d0f91b72fda343b13a947cb Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期三, 22 一月 2025 15:55:27 +0800
Subject: [PATCH] 分类码段码值管理查询去除null的情况,分类码段生成编码时去除码值为null的情况

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 8 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
index 3562907..6381134 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -23,6 +23,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
 
 import com.vci.ubcs.code.dto.CodeBasicSecDTO;
@@ -50,6 +51,10 @@
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.starter.web.util.WebUtil;
 import com.vci.ubcs.system.cache.NacosConfigCache;
+import com.vci.ubcs.system.entity.Strategy;
+import com.vci.ubcs.system.feign.ISysClient;
+import com.vci.ubcs.system.user.entity.User;
+import com.vci.ubcs.system.user.feign.IUserClient;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -117,6 +122,12 @@
 	private ICodeFixedValueService codeFixedValueService;
 
 	/**
+	 * 绯荤粺鏈嶅姟
+	 */
+	@Resource
+	private IUserClient userClient;
+
+	/**
 	 * 鍒嗛〉鏌ヨ
 	 * @param query
 	 * @param conidtionMap
@@ -124,13 +135,14 @@
 	 */
 	@Override
 	public IPage<CodeRuleVO> gridCodeRule(Query query, Map<String,Object> conidtionMap) throws VciBaseException {
+		//int i = 1 / 0;
 		//濡傛灉绛変簬鑷繁閰嶇疆鐨勭鐞嗙粍绉熸埛id鍜岀鐞嗙粍瓒呯璐﹀彿锛屽氨涓嶉渶瑕佹寜鐓ц鍒欐墍鏈夎�呮潵杩涜鏌ヨ
-		if(!(AuthUtil.getTenantId().equals(NacosConfigCache.getAdminUserInfo().getTenantId())
+		/*if(!(AuthUtil.getTenantId().equals(NacosConfigCache.getAdminUserInfo().getTenantId())
 			&& AuthUtil.getUserId().toString().equals(NacosConfigCache.getAdminUserInfo().getUserId().toString()))
 		){
 			// 鎸夌収瑙勫垯鎵�鏈夎�呮潵鏌ヨ
-			conidtionMap.put("owner",AuthUtil.getUserId());
-		}
+			conidtionMap.put("owner",AuthUtil.getUserId().toString());
+		}*/
 		IPage<CodeRule> codeRuleIPage = this.codeRuleMapper.selectPage(Condition.getPage(query), UBCSCondition.getQueryWrapper(conidtionMap, CodeRule.class));
 		//do杞瑅o鍚屾椂setLcStatusText鐢熷懡鍛ㄦ湡鍊硷紝骞跺寘瑁呮垚鍒嗛〉瀵硅薄杩斿洖
 		return CodeRuleWrapper.build().pageVO(codeRuleIPage);
@@ -155,6 +167,7 @@
 		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRule, MdmBtmTypeConstant.CODE_RULE);
 		codeRule.setLctid(CODE_RULE_LC);
 		codeRule.setLcStatus(FRAMEWORK_RELEASE_EDITING);
+		codeRule.setOwnerText(AuthUtil.getUserAccount()+"("+AuthUtil.getNickName()+")");
 		return R.status(codeRuleMapper.insert(codeRule)>0);
 	}
 
@@ -220,6 +233,12 @@
 		revisionModelUtil.copyFromDTOIgnore(codeRuleDTO, codeRule);
 		if(!codeRule.getOwner().equals(codeRuleDTO.getOwner())){
 			codeRule.setOwner(codeRuleDTO.getOwner());
+			R<User> userR = userClient.userInfoById(Func.toLong(codeRuleDTO.getOwner()));
+			if(!userR.isSuccess() || Func.isEmpty(userR.getData())){
+				codeRule.setOwnerText(codeRuleDTO.getOwner());
+			}else{
+				codeRule.setOwnerText(userR.getData().getAccount()+"("+userR.getData().getRealName()+")");
+			}
 		}
 		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeRule);
 		return R.status(codeRuleMapper.updateById(codeRule)>0);
@@ -370,7 +389,7 @@
 	public Collection<CodeRuleVO> listCodeRuleByOids(Collection<String> oidCollections) throws VciBaseException {
 		VciBaseUtil.alertNotNull(oidCollections, "鏁版嵁瀵硅薄涓婚敭闆嗗悎");
 		List<CodeRule> codeRuleDOList = listCodeRuleDOByOidCollections(oidCollections);
-		return CodeRuleWrapper.build().listVO(codeRuleDOList);
+		return codeRuleDO2VOs(codeRuleDOList,true);
 	}
 
 	/**
@@ -384,8 +403,8 @@
 	@Override
 	public Collection<CodeRuleVO> listCodeRuleByIds(Collection<String> oidCollections, boolean hasSec) throws VciBaseException {
 		VciBaseUtil.alertNotNull(oidCollections, "鏁版嵁瀵硅薄涓婚敭闆嗗悎");
-		List<CodeRule> codeRuleDOList = listCodeRuleDOByOidCollections(oidCollections);
-		return codeRuleDO2VOs(codeRuleDOList, true);
+		List<CodeRule> codeRuleDOList = listCodeRuleDOByIdCollections(oidCollections);
+		return codeRuleDO2VOs(codeRuleDOList, hasSec);
 	}
 
 	/**
@@ -400,6 +419,29 @@
 			Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
 			for (Collection<String> oids : oidCollectionsList) {
 				List<CodeRule> tempDOList = codeRuleMapper.selectBatchIds(oids);
+				if (!CollectionUtils.isEmpty(tempDOList)) {
+					codeRuleDOList.addAll(tempDOList);
+				}
+			}
+		}
+		return codeRuleDOList;
+	}
+
+	/**
+	 * 浣跨敤瑙勫垯id闆嗗悎鏌ヨ鏁版嵁瀵硅薄
+	 *
+	 * @param idCollections id鐨勯泦鍚�
+	 * @return 鏁版嵁瀵硅薄鍒楄〃
+	 */
+	private List<CodeRule> listCodeRuleDOByIdCollections(Collection<String> idCollections) throws VciBaseException {
+		List<CodeRule> codeRuleDOList = new ArrayList<CodeRule>();
+		if (!CollectionUtils.isEmpty(idCollections)) {
+			Collection<Collection<String>> idCollectionsList = VciBaseUtil.switchCollectionForOracleIn(idCollections);
+			for (Collection<String> ids : idCollectionsList) {
+				List<CodeRule> tempDOList = codeRuleMapper.selectList(
+					Wrappers.<CodeRule>query()
+						.lambda().in(CodeRule::getId,ids)
+				);
 				if (!CollectionUtils.isEmpty(tempDOList)) {
 					codeRuleDOList.addAll(tempDOList);
 				}
@@ -477,9 +519,10 @@
 		}
 		VciBaseUtil.alertNotNull(codeRuleDTO, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
 		CodeRule codeRuleDO = new CodeRule();
-		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRuleDO,MdmBtmTypeConstant.CODE_RULE);
 		BeanUtilForVCI.copyPropertiesIgnoreCase(codeRuleDTO, codeRuleDO);
-		boolean exFlag = codeRuleMapper.insert(codeRuleDO)>0;
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeRuleDO,MdmBtmTypeConstant.CODE_RULE);
+		boolean exFlag = SqlHelper.retBool(codeRuleMapper.insert(codeRuleDO));
+
 		List<CodeBasicSecDTO> secList = codeRuleDTO.getElements();
 		List<CodeBasicSec> codeBasicSecs = new ArrayList<>();
 		List<CodeBasicSec> codeClassifySec = new ArrayList<>();

--
Gitblit v1.9.3