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 |   81 +++++++++++++++++++++++++++++-----------
 1 files changed, 59 insertions(+), 22 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 5d8bd08..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;
@@ -114,13 +119,13 @@
 	private RevisionModelUtil revisionModelUtil;
 
 	@Resource
-	private NacosConfigCache nacosConfigCache;
-
-	@Resource
 	private ICodeFixedValueService codeFixedValueService;
 
+	/**
+	 * 绯荤粺鏈嶅姟
+	 */
 	@Resource
-	private ICodeClassifyValueService codeClassifyValueService;
+	private IUserClient userClient;
 
 	/**
 	 * 鍒嗛〉鏌ヨ
@@ -129,14 +134,15 @@
 	 * @return
 	 */
 	@Override
-	public IPage<CodeRuleVO> gridCodeRule(Query query, Map<String,Object> conidtionMap) {
+	public IPage<CodeRuleVO> gridCodeRule(Query query, Map<String,Object> conidtionMap) throws VciBaseException {
+		//int i = 1 / 0;
 		//濡傛灉绛変簬鑷繁閰嶇疆鐨勭鐞嗙粍绉熸埛id鍜岀鐞嗙粍瓒呯璐﹀彿锛屽氨涓嶉渶瑕佹寜鐓ц鍒欐墍鏈夎�呮潵杩涜鏌ヨ
-		if(!(AuthUtil.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())
-			&& AuthUtil.getUserId().toString().equals(nacosConfigCache.getAdminUserInfo().getUserId().toString()))
+		/*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);
@@ -161,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);
 	}
 
@@ -170,11 +177,11 @@
 	 * @return 杩斿洖false琛ㄧず鏈噸澶�
 	 */
 	@Override
-	public boolean checkCodeRuleRepeat(CodeRuleDTO codeRuleDTO){
+	public boolean checkCodeRuleRepeat(CodeRuleDTO codeRuleDTO)throws VciBaseException {
 		LambdaQueryWrapper<CodeRule> wrapper = Wrappers.<CodeRule>query()
 			.lambda().eq(CodeRule::getId, codeRuleDTO.getId());
-		if(AuthUtil.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())){
-			wrapper.eq(CodeRule::getTenantId,codeRuleDTO.getTenantId());
+		if(AuthUtil.getTenantId().equals(NacosConfigCache.getAdminUserInfo().getTenantId())){
+			wrapper.eq(CodeRule::getTenantId,AuthUtil.getTenantId());
 		}
 		// 鏍规嵁瑙勫垯id鏌ヨ缂栧彿
 		List<CodeRule> codeRulesList = this.codeRuleMapper.selectList(wrapper);
@@ -226,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);
@@ -331,7 +344,7 @@
 	 * @return true琛ㄧず宸茬粡浣跨敤锛宖alse琛ㄧず鏈浣跨敤
 	 */
 	@Override
-	public boolean isAlreadyInUse(String oid) {
+	public boolean isAlreadyInUse(String oid) throws VciBaseException {
 		Collection<CodeClassifyVO> codeClassifyVOS = listUseRangeInCodeClassify(oid);
 		if (codeClassifyVOS.size() > 0) {
 			return true;
@@ -347,7 +360,7 @@
 	 * @return 涓婚搴撳垎绫讳娇鐢ㄥ埌璇ョ紪鐮佽鍒欑殑鎵�鏈夐泦鍚�
 	 */
 	@Override
-	public Collection<CodeClassifyVO> listUseRangeInCodeClassify(String oid) {
+	public Collection<CodeClassifyVO> listUseRangeInCodeClassify(String oid) throws VciBaseException {
 		List<CodeClassify> codeClassifies = codeClassifyServcie.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getCodeRuleOid, oid));
 		return CodeClassifyWrapper.build().listVO(codeClassifies);
 	}
@@ -376,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);
 	}
 
 	/**
@@ -390,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,12 +413,35 @@
 	 * @param oidCollections 涓婚敭鐨勯泦鍚�
 	 * @return 鏁版嵁瀵硅薄鍒楄〃
 	 */
-	private List<CodeRule> listCodeRuleDOByOidCollections(Collection<String> oidCollections) {
+	private List<CodeRule> listCodeRuleDOByOidCollections(Collection<String> oidCollections) throws VciBaseException {
 		List<CodeRule> codeRuleDOList = new ArrayList<CodeRule>();
 		if (!CollectionUtils.isEmpty(oidCollections)) {
 			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);
 				}
@@ -434,7 +470,7 @@
 	 * @return 鎵ц缁撴灉
 	 */
 	@Override
-	public R updateStatus(String oid, String update) {
+	public R updateStatus(String oid, String update) throws VciBaseException {
 		int count = 0;
 		//鍏堟煡璇㈠璞�
 		CodeRule codeRuleDO = selectByOid(oid);
@@ -483,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<>();
@@ -545,7 +582,7 @@
 	 * @return 瑙勫垯鐨勬樉绀哄璞�
 	 */
 	@Override
-	public CodeRuleVO getObjectHasSecByOid(String oid) {
+	public CodeRuleVO getObjectHasSecByOid(String oid) throws VciBaseException {
 		CodeRule ruleDO = selectByOid(oid);
 		return codeRuleDO2VO(ruleDO, true);
 	}

--
Gitblit v1.9.3