From 1542490e1a040bb02b68fba8f0310750939d1844 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 16 十一月 2023 17:35:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java | 3 + Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml | 4 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 13 +++- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java | 1 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 52 ++++++++++++++--- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 40 ++++++++++++- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java | 4 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java | 9 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java | 12 +++ Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java | 4 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java | 9 +++ 14 files changed, 133 insertions(+), 25 deletions(-) diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java index 31cf74e..aa84465 100644 --- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java +++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/ubcscode/config/CodeRule.java @@ -96,6 +96,5 @@ public void setBasicSecTypes(String basicSecTypes) { this.basicSecTypes = basicSecTypes; } - - + } diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java index 8f8ceed..3390a5d 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyDTO.java @@ -70,9 +70,9 @@ private String codeResembleRuleOidName; /** - * 鏄惁鍙備笌鏍¢獙锛�0:鍙備笌;1:涓嶅弬涓� + * 鏄惁鍙備笌鏍¢獙锛�0:涓嶅弬涓�;1:鍙備笌 */ - private String isParticipateCheck; + private Integer isParticipateCheck; public boolean getAblechildren() { return ablechildren; @@ -212,6 +212,14 @@ this.codeResembleRuleOidName = codeResembleRuleOidName; } + public Integer getIsParticipateCheck() { + return isParticipateCheck; + } + + public void setIsParticipateCheck(Integer isParticipateCheck) { + this.isParticipateCheck = isParticipateCheck; + } + @Override public String toString() { return "CodeClassifyDTO{" + diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java index 951a8d2..f882c6a 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassify.java @@ -89,9 +89,9 @@ private String codeResembleRuleOid; /** - * 鏄惁鍙備笌鏍¢獙锛�0:鍙備笌;1:涓嶅弬涓� + * 鏄惁鍙備笌鏍¢獙锛�0:涓嶅弬涓�;1:鍙備笌 */ - private String isParticipateCheck; + private Integer isParticipateCheck; /** * 鐩镐技椤规煡璇㈣鍒欏悕绉� diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java index da6fbfe..9099f3d 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeRule.java @@ -16,7 +16,6 @@ */ package com.vci.ubcs.code.entity; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.vci.ubcs.starter.constant.CodeTableNameConstant; import com.vci.ubcs.starter.revision.model.BaseModel; diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java index ae62cbc..e872c29 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyVO.java @@ -63,9 +63,9 @@ private Integer dataLevel; /** - * 鏄惁鍙備笌鏍¢獙锛�0:鍙備笌;1:涓嶅弬涓� + * 鏄惁鍙備笌鏍¢獙锛�0:涓嶅弬涓�;1:鍙備笌 */ - private String isParticipateCheck; + private Integer isParticipateCheck; /** * 灞傜骇鐨勮矾寰� diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java index 18c0cc2..e5bf696 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/service/RevisionModelUtil.java @@ -58,7 +58,9 @@ }); tree.setOid((String)oidValues.stream().collect(Collectors.joining(wrapperOptions.getOidValueSep()))); tree.setName((String) VciBaseUtil.getValueFromField("name", doObject)); + // TODO:涓氬姟鏁版嵁鎬绘暟缁熻鏆傛椂娌″畬鍠� String total = (String) VciBaseUtil.getValueFromField("total", doObject); + Integer isParticipateCheck = (Integer) VciBaseUtil.getValueFromField("isParticipateCheck", doObject); if(Func.isNotEmpty(total)){ tree.setCount("銆�"+total+"銆�"); } diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java index 892c52d..abaeb25 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java @@ -30,6 +30,8 @@ private String index; private Map<String, String> attributes = new HashMap(); + + public Tree() { } @@ -243,6 +245,7 @@ } } + @Override public String toString() { return "Tree{oid='" + this.oid + '\'' + ", text='" + this.text + '\'' + ", leaf=" + this.leaf + ", showCheckbox=" + this.showCheckbox + ", checked=" + this.checked + ", children=" + this.children + ", icon='" + this.icon + '\'' + ", iconCls='" + this.iconCls + '\'' + ", parentId='" + this.parentId + '\'' + ", parentName='" + this.parentName + '\'' + ", parentBtmName='" + this.parentBtmName + '\'' + ", expanded=" + this.expanded + ", href='" + this.href + '\'' + ", index='" + this.index + '\'' + ", attributes=" + this.attributes + '}'; diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java index 6c03a06..d0b93e0 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java @@ -174,4 +174,13 @@ * @return */ List<CodeClassify> selectAllClassifyByOid(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath,@Param("tenantId") String tenantId); + + /** + * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id + * @param topOid + * @param currentOid + * @return + */ + List<CodeClassify> selectLeafByParentClassifyOid(@Param("topOid") String topOid,@Param("currentOid")String currentOid); + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java index 01d750c..54cc68f 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java @@ -11,6 +11,7 @@ import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid;import com.vci.ubcs.starter.web.pagemodel.Tree; +import org.apache.ibatis.annotations.Param; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.tool.api.R; import java.io.File; @@ -296,4 +297,12 @@ */ List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath); + /** + * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id + * @param topOid + * @param currentOid + * @return + */ + String selectLeafByParentClassifyOid(String topOid, String currentOid); + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java index 062e7ef..ae01ddd 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java @@ -4,6 +4,7 @@ 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.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -61,6 +62,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; @@ -179,6 +181,7 @@ * @return 鎵ц缁撴灉 */ @Override + @Transactional(rollbackFor = Exception.class) public R editSave(CodeClassify codeClassifyEntity) { if(codeClassifyEntity == null || codeClassifyEntity.getOid() == null){ return R.fail("浼犲叆鏁版嵁涓嶈兘涓虹┖锛�"); @@ -196,15 +199,28 @@ codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount())); codeClassifyEntity.setLastModifyTime(new Date()); codeClassifyEntity.setTs(new Date()); - int insertNumber = codeClassifyMapper.updateById(codeClassifyEntity); + int updateEntity = codeClassifyMapper.updateById(codeClassifyEntity); + // 濡傛灉涓嶆槸鍙跺瓙缁撶偣锛屽垯闇�瑕佷慨鏀瑰叾涓嬫墍鏈夌殑瀛愬垎绫伙紝鏄惁鍙備笌鍏抽敭灞炴�ф牎楠岀殑鍊� + String oid = codeClassifyEntity.getOid(); + List<CodeClassify> codeClassifies = codeClassifyMapper.selectStartWithCurrentOid(oid); + int updateAttr = 0; + // 涓嶄负绌哄氨闇�瑕佽褰撳墠鍒嗙被涓嬫墍鏈夊瓙鍒嗙被鐨刬sParticipateCheck + if(!codeClassifies.isEmpty()){ + List<String> oids = codeClassifies.stream().map(CodeClassify::getOid).collect(Collectors.toList()); + updateAttr = codeClassifyMapper.update( + null, + Wrappers.<CodeClassify>update() + .lambda().in(CodeClassify::getOid, oids) + .set(CodeClassify::getIsParticipateCheck, codeClassifyEntity.getIsParticipateCheck()) + ); + } // //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆傚彧鏈夊惎鐢ㄧ姸鎬佺殑鍒嗙被鎵嶆帹閫� // if(FRAMEWORK_DATA_ENABLED.equals(codeClassifyDO.getLcStatus())); // { // codeDuckingServiceI.insertCache1(CACHE_TYPE_CLASSIFY_EDIT,FRAMEWORK_DATA_ENABLED,DOCKING_DEFAULT_CLASSIFY, DOCKING_DEFAULT_CLASSIFYOID, codeClassifyDO.getOid(), codeClassifyDTO.getTs()); // } - return R.status(SqlHelper.retBool(insertNumber)); -// return BaseResult.success(codeClassifyDO2VO(codeClassifyDO)); + return R.status(SqlHelper.retBool(updateAttr) & SqlHelper.retBool(updateEntity)); } /** @@ -644,6 +660,22 @@ List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList); return voList; + } + + /** + * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id + * @param topOid + * @param currentOid + * @return + */ + @Override + public String selectLeafByParentClassifyOid(String topOid, String currentOid) { + List<CodeClassify> codeClassifies = codeClassifyMapper.selectLeafByParentClassifyOid(topOid, currentOid); + if(codeClassifies.isEmpty()){ + return ""; + } + String oids = codeClassifies.stream().map(CodeClassify::getOid).collect(Collectors.joining(",")); + return oids; } /*** @@ -1357,4 +1389,6 @@ return codeClassifyMapper.selectCount(wrapper).intValue(); } + + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index 65946d8..4935984 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java @@ -856,7 +856,7 @@ String idFieldName = attrVOS.stream().filter(s -> VciQueryWrapperForDO.ID_FIELD.equalsIgnoreCase(s.getId())).findFirst().orElseGet(() -> new CodeClassifyTemplateAttrVO()).getName(); getFieldIndexMap(titleRowData, attrNameIdMap, fieldIndexMap); //鍏堜笉鐢ㄧ灞炴�ф槸鍚﹂兘瀛樺湪锛屽厛杞崲涓�涓嬫暟鎹� - List<ClientBusinessObject> cboList = new ArrayList<>(); + List<ClientBusinessObject> cboList = new CopyOnWriteArrayList<>(); String fullPath = getFullPath(classifyFullInfo); //鎴戜滑闇�瑕佽幏鍙栧埌鎵�鏈夌殑涓嬬骇鍒嗙被鐨刼id鐨勮矾寰勶紝鍥犱负鍚庨潰闇�瑕� Map<String/**涓婚敭**/, String/**璺緞**/> childOidPathMap = getChildClassifyPathMap(classifyFullInfo, fullPath); @@ -3729,6 +3729,7 @@ } } } + /** * 澶勭悊鍒嗙被娉ㄥ叆 * @param attrVOS 妯℃澘灞炴�� @@ -3818,7 +3819,9 @@ //2.鍒ゆ柇鍏抽敭灞炴�у湪绯荤粺閲屾槸鍚﹂噸澶� //鍥犱负鏁版嵁閲忓緢澶э紝鎵�浠ュ緱鎯冲姙娉曞苟琛� //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo(); - Map<String,List<BaseModel>> indexTODataMap=new HashMap<>(); + Map<String,List<BaseModel>> indexTODataMap=new ConcurrentHashMap<>(); + // 鏌ヨ涓嶉渶瑕佸弬涓庡叧閿睘鎬ф牎楠岀殑闄よ嚜宸变互澶栫殑鎵�鏈夊垎绫籵id + String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid()); List<ClientBusinessObject> repeatDataMap = cboList.parallelStream().filter(cbo -> { //姣忚閮藉緱鏌ヨ.濡傛灉鍏朵腑鍑虹幇浜嗛敊璇紝鎴戜滑灏辩洿鎺ユ姏鍑哄紓甯革紝鍏朵綑鐨勬樉绀� //VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); @@ -3832,6 +3835,10 @@ engineService.wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap); }); if (!CollectionUtils.isEmpty(ketAttrMap)) { + // 娣诲姞涓嶅弬涓庡叧閿睘鎬ф牎楠岀殑鍒嗙被oid鍒ゆ柇 + if(Func.isNotBlank(isParticipateCheckOids)){ + conditionMap.put("t.codeclsfid",QueryOptionConstant.NOTIN+isParticipateCheckOids); + } CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), templateVO, conditionMap, null); boolean isKeyCheck= commonsMapper.queryCountBySql(sqlBO.getSqlCount()) > 0; if(isKeyCheck){ @@ -4015,7 +4022,7 @@ List<String>newOidList=new ArrayList<>(); newOidList.add(oid); if(keyAttrOkOidTORepeatOidMap.containsKey(okOid)){ - List<String> oldOidList= keyAttrOkOidTORepeatOidMap.get(okOid); + List<String> oldOidList = keyAttrOkOidTORepeatOidMap.get(okOid); newOidList.addAll(oldOidList); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml index 76c9657..7365363 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml @@ -69,6 +69,8 @@ <result property="referBtmName" column="REFERBTMNAME" jdbcType="VARCHAR"/> <result property="referBtmId" column="REFERBTMID" jdbcType="VARCHAR"/> <result property="referCodeClassifyOidName" column="c__name" jdbcType="VARCHAR"/> + <result property="prefixCode" column="PREFIXCODE" jdbcType="VARCHAR"/> + <result property="suffixCode" column="SUFFIXCODE" jdbcType="VARCHAR"/> </resultMap> <select id="selectCodeBasicSecPage" resultMap="CodeBasicsecMap"> @@ -135,6 +137,8 @@ PL_CODE_BASICSEC.serialdependorder, PL_CODE_BASICSEC.nullableflag, PL_CODE_BASICSEC.codefilllimit, + PL_CODE_BASICSEC.prefixcode, + PL_CODE_BASICSEC.suffixcode, btm_codebasicsec_1.name as b__name, platformbtm_codeclassify.name as c__name, COUNT(*) OVER () "##VCI_COUNT_VCI##" diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml index a604bf7..dd22b32 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml @@ -37,6 +37,7 @@ <result column="CODERULEOID" property="codeRuleOid"/> <result column="CODEKEYATTRREPEATOID" property="codeKeyAttrRepeatOid"/> <result column="CODERESEMBLERULEOID" property="codeResembleRuleOid"/> + <result column="ISPARTICIPATECHECK" property="isParticipateCheck"/> <result column="TENANT_ID" property="tenantId"/> <result column="TOTAL" property="total"/> </resultMap> @@ -88,7 +89,8 @@ codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, - coderesembleruleoid.name as codeResembleRuleOidName + coderesembleruleoid.name as codeResembleRuleOidName, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid @@ -111,7 +113,6 @@ order by lastmodifytime asc </select> - <!--codeclassify0.parentCodeClassifyOid = '${oid}'--> <select id="selectAllLevelChildHasPath" resultMap="plCodeClassifyResultMap"> select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, @@ -132,6 +133,7 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName, @@ -213,8 +215,9 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.namePath as namepath, - codeclassify0.idPath as idpath + codeclassify0.namePath as namepath, + codeclassify0.idPath as idpath, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from (select plcodeclassify.*, SYS_CONNECT_BY_PATH(name, '#') as namePath, SYS_CONNECT_BY_PATH(id, '#') as idPath @@ -243,7 +246,8 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.paths as paths + codeclassify0.paths as paths, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from (select plcodeclassify.*, <choose> <when test='fieldName=="name"'> @@ -296,7 +300,8 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.TENANT_ID as tenantId , + codeclassify0.TENANT_ID as tenantId, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -359,7 +364,8 @@ codeclassify0.TENANT_ID as tenantId , coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, - coderesembleruleoid.name as codeResembleRuleOidName + coderesembleruleoid.name as codeResembleRuleOidName, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck from pl_code_classify codeclassify0 left join pl_code_rule coderuleoid on codeclassify0.codeRuleOid = coderuleoid.oid @@ -381,7 +387,7 @@ </select> <select id="getRMLibByName" resultMap="plCodeClassifyResultMap"> - select codeclassify0.OWNER as owner, + select codeclassify0.OWNER as owner, codeclassify0.BTMTYPEID as btmtypeid, codeclassify0.CREATOR as creator, codeclassify0.CREATETIME as createtime, @@ -401,6 +407,7 @@ codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -446,6 +453,7 @@ codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -488,6 +496,7 @@ codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, codeclassify0.TENANT_ID as tenantId , + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -531,7 +540,8 @@ codeclassify0.CODERESEMBLERULEOID as coderesembleruleoid, codeclassify0.LCSTATUS as lcstatus, codeclassify0.TS as ts, - codeclassify0.TENANT_ID as tenantId , + codeclassify0.TENANT_ID as tenantId, + codeclassify0.ISPARTICIPATECHECK as isParticipateCheck, coderuleoid.name as codeRuleOidName, codekeyattrrepeatoid.name as codeKeyAttrRepeatOidName, coderesembleruleoid.name as codeResembleRuleOidName @@ -574,4 +584,28 @@ connect by p.oid = prior p.PARENTCODECLASSIFYOID </select> + <select id="selectLeafByParentClassifyOid" resultType="com.vci.ubcs.code.entity.CodeClassify"> + select * + from ( + select + oid, + name, + id, + level lvl, + isparticipatecheck, + nvl((select 'N' + from PL_CODE_CLASSIFY pcc1 + where pcc.oid = pcc1.PARENTCODECLASSIFYOID + and rownum < 2),'Y') is_leaf + from PL_CODE_CLASSIFY pcc + start with pcc.PARENTCODECLASSIFYOID = #{topOid} + connect by pcc.PARENTCODECLASSIFYOID = prior oid + ) plcls + where + is_leaf = 'Y' + and isparticipatecheck = 0 + and oid != #{currentOid} + </select> + + </mapper> diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java index 5b01b14..e06b155 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java @@ -74,7 +74,7 @@ @Override public List<MenuVO> lazyList(Long parentId, Map<String, Object> param) { - int i = 1 / 0; + //int i = 1 / 0; if (Func.isEmpty(Func.toStr(param.get(PARENT_ID)))) { parentId = null; } -- Gitblit v1.9.3