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