From d9fb787c2eb0bc4058087b81bc5f01abbaf2ba65 Mon Sep 17 00:00:00 2001 From: ludc <pUXmgxCf6A> Date: 星期六, 27 五月 2023 11:41:09 +0800 Subject: [PATCH] 集团集成从code服务里提出来,改造成服务 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 71 insertions(+), 20 deletions(-) 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 5bc3366..f5be509 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 @@ -2,6 +2,7 @@ import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; @@ -33,6 +34,7 @@ import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; +import com.vci.ubcs.starter.util.BladeTreeQueryObject; import com.vci.ubcs.starter.util.LocalFileUtil; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.DataGrid; @@ -48,6 +50,7 @@ import org.springblade.core.mp.support.Condition; 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.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -73,10 +76,14 @@ @Resource private CodeOsbtmtypeMapper codeOsbtmtypeMapper; + @Resource - CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; + private CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; + @Resource - ICodeRuleService ICodeRuleService; + private IBtmTypeClient btmTypeClient; + + /** * 鏃ュ織 @@ -254,7 +261,7 @@ if(StringUtils.isBlank(oid)){ throw new ServiceException("oid涓嶈兘涓虹┖锛�"); } - return !codeClassifyMapper.checkHasChild(oid.trim()); + return codeClassifyMapper.checkHasChild(oid.trim()); } @@ -468,6 +475,19 @@ } return tree; } + + /** + * 鏍规嵁鏍戝舰鏌ヨ瀵硅薄鏉ユ煡璇㈡暟鎹璞� + * + * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 + * @return 鏌ヨ缁撴灉,鏁版嵁瀵硅薄 + */ + @Override + public List<CodeClassifyVO> selectCodeClassifyDOByTree(TreeQueryObject treeQueryObject) { + List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid()); + List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); + return voList; + } /** * 浣跨敤缂栧彿鐨勮矾寰勮幏鍙栧璞� * @@ -476,9 +496,12 @@ */ @Override public CodeClassifyVO getObjectByClsfNamePath(String fieldPath){ - - CodeClassify classify = (CodeClassify) codeClassifyMapper.selectByFieldNamePath(fieldPath, "name"); - return codeClassifyDO2VO(classify); + CodeClassifyVO codeClassifyVO=new CodeClassifyVO(); + List<CodeClassify> classifyList = codeClassifyMapper.selectByFieldNamePath(fieldPath,"name"); + if(classifyList.size()>0){ + codeClassifyVO=codeClassifyDO2VO(classifyList.get(0)); + } + return codeClassifyVO; } /*** * 鏍规嵁涓婄骇鑺傜偣鑾峰彇涓嬬骇鑺傜偣浠e彿璺緞鍜屽悕绉拌矾寰� @@ -491,8 +514,7 @@ return null; } - -// /** + // /** // * 鏍规嵁鏍戝舰鏌ヨ瀵硅薄鏉ユ煡璇㈡暟鎹璞� // * // * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 @@ -983,7 +1005,7 @@ * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父 */ @Override - public CodeClassifyVO getObjectByOid(String oid) throws VciBaseException{ + public CodeClassifyVO getObjectByOid(String oid) throws VciBaseException{ return codeClassifyDO2VO(selectByOid(oid)); } @@ -1004,7 +1026,7 @@ } /** - * 涓婚搴撶殑鏍� + * 涓婚搴撶殑鏍�,宸茬粡鑱旇皟涓氬姟绫诲瀷鏌ヨ * * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 * @return 涓婚搴撴樉绀烘爲 @@ -1015,10 +1037,20 @@ treeQueryObject = new TreeQueryObject(); } if(treeQueryObject.getConditionMap() == null){ - treeQueryObject.setConditionMap(new HashMap<>()); + treeQueryObject.setConditionMap(new HashMap<String,String>()); } treeQueryObject.getConditionMap().put(PARENT_FIELD_NAME, "=null"); - return treeCodeClassify(treeQueryObject); + List<Tree> trees = treeCodeClassify(treeQueryObject); + treeQueryObject.getConditionMap().put("domain", AppConstant.APPLICATION_NAME_CODE); + BaseQueryObject baseQueryObject = new BaseQueryObject(); + baseQueryObject.setConditionMap(treeQueryObject.getConditionMap()); + List<BtmTypeVO> btmTypeVOS = btmTypeClient.getRef(baseQueryObject).getData(); + if(Func.isEmpty(btmTypeVOS) || Func.isEmpty(trees)){ + return null; + } + List<Tree> treeList = trees.stream().filter(tree -> btmTypeVOS.stream(). + anyMatch(btmType -> Objects.equals(tree.getAttributes().get("id"), btmType.getId()))).collect(Collectors.toList()); + return treeList; } /** @@ -1072,18 +1104,37 @@ CodeClassify classifyDO = selectByOid(codeClassifyOid); //鏌ヨ涓婄骇 fullInfo.setCurrentClassifyVO(codeClassifyDO2VO(classifyDO)); - List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid); - List<CodeClassify> codeClassifyList = new ArrayList<>(); - for (Map<String, Object> map : maps) { - CodeClassify codeClassify = new CodeClassify(); - codeClassify.setOid(String.valueOf(map.get("OID"))); - codeClassify.setOid(String.valueOf(map.get("LEVEL"))); - codeClassifyList.add(codeClassify); - } +// List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid); +// List<Map<String, Object>> maps = selectAllLevelParentByOid(codeClassifyOid); + List<CodeClassify> codeClassifyList = selectAllLevelParentByOid(codeClassifyOid); +// for (Map<String, Object> map : maps) { +// CodeClassify codeClassify = new CodeClassify(); +// codeClassify.setOid(String.valueOf(map.get("OID"))); +// codeClassify.setDataLevel((Integer) map.get("LEVEL")); +// codeClassifyList.add(codeClassify); +// } + fullInfo.setParentClassifyVOs(codeClassifyDO2VOs(codeClassifyList)); if(!CollectionUtils.isEmpty(fullInfo.getParentClassifyVOs())){ fullInfo.setTopClassifyVO(fullInfo.getParentClassifyVOs().stream().filter(s->StringUtils.isBlank(s.getParentcodeclassifyoid())).findFirst().orElseGet(()->null)); } return fullInfo; } + + + /** + * 缁熻瀛愯妭鐐圭殑涓暟 + * + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @return 涓暟 + */ + @Override + public int countChildrenByClassifyOid(String codeClassifyOid) { +// Map<String,String> conditionMap = new HashMap<>(); +// conditionMap.put("parentCodeClassifyOid",codeClassifyOid); + QueryWrapper<CodeClassify> wrapper = new QueryWrapper<>(); + wrapper.eq("parentCodeClassifyOid",codeClassifyOid); + return codeClassifyMapper.selectCount(wrapper).intValue(); + } + } -- Gitblit v1.9.3