From 5ce77f5db9439fb12dde261363c3cbaf4fdebb1e Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期二, 11 四月 2023 19:24:16 +0800 Subject: [PATCH] 主题库相关的代码实现功能 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/ICodeClassifyServiceImpl.java | 397 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 352 insertions(+), 45 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/ICodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/ICodeClassifyServiceImpl.java index 31cea94..770c013 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/ICodeClassifyServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/ICodeClassifyServiceImpl.java @@ -5,24 +5,42 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.vci.ubcs.code.bo.TreeWrapperOptions; import com.vci.ubcs.code.entity.CodeClassify; +import com.vci.ubcs.code.entity.CodeClstemplateEntity; +import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; import com.vci.ubcs.code.mapper.CodeClassifyMapper; +import com.vci.ubcs.code.mapper.CodeClstemplateMapper; import com.vci.ubcs.code.service.ICodeClassifyService; +import com.vci.ubcs.code.service.ICodeKeyattrrepeatService; +import com.vci.ubcs.code.service.ICodeRuleService; +import com.vci.ubcs.code.vo.CodeClstemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; +import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; +import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; +import com.vci.ubcs.code.vo.pagemodel.TreeQueryObject; +import com.vci.ubcs.com.vci.starter.revision.service.RevisionModelUtil; +import com.vci.ubcs.com.vci.starter.web.pagemodel.Tree; +import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI; +import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil; import com.vci.ubcs.core.log.exception.ServiceException; import jodd.bean.BeanUtil; +import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.io.File; +import java.util.*; +import java.util.stream.Collectors; + +import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.*; +import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; @Service public class ICodeClassifyServiceImpl extends ServiceImpl<CodeClassifyMapper, CodeClassify> implements ICodeClassifyService { @@ -30,6 +48,23 @@ @Resource private CodeClassifyMapper codeClassifyMapper; + @Resource + private CodeClstemplateMapper codeClstemplateMapper; + + @Resource + private ICodeRuleService codeRuleService; + /** + * 瀵硅薄鐨勬搷浣� + */ + @Resource + private RevisionModelUtil revisionModelUtil; + + @Resource + private ICodeKeyattrrepeatService iCodeKeyattrrepeatService; + /** + * 涓婄骇鑺傜偣鐨勫睘鎬у悕绉� + */ + public static final String PARENT_FIELD_NAME = "parentCodeClassifyOid"; /** * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ * @param wrapper 鏌ヨ灏佽鍣� @@ -203,50 +238,322 @@ R result = checkIsCanDeleteForDO(codeClassify); //鍏堢畝绉版槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎 + Map<String,Object> condition = new HashMap<>(2); + condition.put("codeClassifyOid",codeClassify.getOid()); + List<CodeClstemplateEntity> codeClstemplateEntities = codeClstemplateMapper.selectByMap(condition); // VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateDO.class); // queryWrapper.addQueryMap("codeClassifyOid",codeClassifyDTO.getOid()); // List<CodeClassifyTemplateDO> codeClassifyTemplateDOListHaveTemplate = codeClassifyTemplateMapper.selectByWrapper(queryWrapper); -// if(codeClassifyTemplateDOListHaveTemplate.size()>0){ -// return BaseResult.fail("鍒嗙被鍏宠仈妯℃澘锛岃鍏堝垹闄�!"); -// } -// -// //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆� -// //1銆佹煡璇㈣鍒犻櫎鐨勭埗绫绘暟鎹� -// List<CodeClassifyDO> deletes = new ArrayList<CodeClassifyDO>(); -// deletes.add(codeClassifyDO); -// -// if(result.isSuccess()) { -// //鎵句笅绾х殑锛岃繖涓槸鍙互鍒犻櫎鐨勬椂鍊� -// Map<String,String> childrenOids = codeClassifyMapper.selectAllLevelChildOid(codeClassifyDO.getOid().trim()); -// if (!CollectionUtils.isEmpty(childrenOids)) { -// Collection<Collection<String>> childrenCollections = VciBaseUtil.switchCollectionForOracleIn(childrenOids.keySet()); -// for(Collection<String> s : childrenCollections){ -// -// //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆� -// //2銆佹煡璇㈣鍒犻櫎鐨勫瓙绫绘暟鎹� -// List<CodeClassifyDO> codeClassifyDOList = codeClassifyMapper.selectByPrimaryKeyCollection(s); -// deletes.addAll(codeClassifyDOList); -// -// codeClassifyMapper.batchDeleteByOids(s); -// } -// -// } -// }else{ -// return baseResult; -// } -// -// //鎵ц鍒犻櫎鎿嶄綔 -// BatchCBO batchCBO = codeClassifyMapper.deleteByPrimaryKey(codeClassifyDO.getOid()); -// -// //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝� -// for (CodeClassifyDO codeClassifyDO1:deletes){ -// //codeDuckingServiceI.insertCache1(CACHE_TYPE_CLASSIFY_DELETE,FRAMEWORK_DATA_DISABLED,DOCKING_DEFAULT_CLASSIFY, DOCKING_DEFAULT_CLASSIFYOID, codeClassifyDO1.getOid(), DateUtils.addHours(new Date(),1));//杩欓噷鏄綋鍓嶆椂闂� -// -// //瀛樺偍瑕佸垹闄ょ殑鏁版嵁 -// codeDuckingServiceI.cacheDeleteData(codeClassifyDO1.getOid(), codeClassifyDO1); -// } -// return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL); - return null; + if(codeClstemplateEntities.size()>0){ + return R.fail("鍒嗙被鍏宠仈妯℃澘锛岃鍏堝垹闄�!"); + } + + //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆� + //1銆佹煡璇㈣鍒犻櫎鐨勭埗绫绘暟鎹� + List<CodeClassify> deletes = new ArrayList<CodeClassify>(); + deletes.add(codeClassify); + + if(result.isSuccess()) { + //鎵句笅绾х殑锛岃繖涓槸鍙互鍒犻櫎鐨勬椂鍊� + Map<String,String> childrenOids = codeClassifyMapper.selectAllLevelChildOid(codeClassify.getOid().trim()); + if (!CollectionUtils.isEmpty(childrenOids)) { + Collection<Collection<String>> childrenCollections = VciBaseUtil.switchCollectionForOracleIn(childrenOids.keySet()); + for(Collection<String> s : childrenCollections){ + + //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆� + //2銆佹煡璇㈣鍒犻櫎鐨勫瓙绫绘暟鎹� + List<CodeClassify> codeClassifyDOList = codeClassifyMapper.selectBatchIds(s); + deletes.addAll(codeClassifyDOList); + codeClassifyMapper.deleteBatchIds(s); + } + + } + }else{ + return result; + } + + //鎵ц鍒犻櫎鎿嶄綔 + int deleteCount = codeClassifyMapper.deleteById(codeClassify.getOid()); + + //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝� + for (CodeClassify codeClassifyTemp:deletes){ + //codeDuckingServiceI.insertCache1(CACHE_TYPE_CLASSIFY_DELETE,FRAMEWORK_DATA_DISABLED,DOCKING_DEFAULT_CLASSIFY, DOCKING_DEFAULT_CLASSIFYOID, codeClassifyDO1.getOid(), DateUtils.addHours(new Date(),1));//杩欓噷鏄綋鍓嶆椂闂� + + //瀛樺偍瑕佸垹闄ょ殑鏁版嵁 +// CacheUtil.put(); + CacheUtil.put("ubcs:code", "bean:id:", codeClassifyTemp.getOid(), codeClassifyTemp); +// codeDuckingServiceI.cacheDeleteData(codeClassifyTemp.getOid(), codeClassifyTemp); + } + return R.data(deleteCount>0); +// return null; } + /** + * 鍚敤銆佸仠鐢� + * @param oid 涓婚敭 + * @param lcStatus 鐘舵�� + * @return 鎵ц缁撴灉 + */ + @Override + public R updateLcStatus(String oid, String lcStatus){ + + //鏌ヨ淇敼鍓峵s + CodeClassify codeClassify = codeClassifyMapper.selectById(oid);//涓昏鏄负浜嗘煡璇s + codeClassify.setLcStatus(lcStatus); + //鍚敤銆佸仠鐢� +// int u = codeClassifyMapper.updateLcStatus(oid,lcStatus); + int count = codeClassifyMapper.updateById(codeClassify); +// //澶勭悊鏁版嵁闆嗘垚閫昏緫,鎴愬姛鍚庢墽琛岄泦鎴愮涓�姝�,鍒嗙被鏁版嵁鐗规畩澶勭悊銆� +// if(u!=0) { +// codeDuckingServiceI.insertCache1(lcStatus,lcStatus,DOCKING_DEFAULT_CLASSIFY, DOCKING_DEFAULT_CLASSIFYOID, oid, codeClassifyDO_old.getTs()); +// } + return R.data(SqlHelper.retBool(count)); + } + + /** + * 涓婚敭鎵归噺鑾峰彇涓婚搴撳垎绫� + * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� + * @return 涓婚搴撳垎绫绘樉绀哄璞� + */ + @Override + public Collection<CodeClassifyVO> listCodeClassifyByOids(Collection<String> oidCollections) { + VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎"); + List<CodeClassify> codeClassifyDOList = listCodeClassifyDOByOidCollections(oidCollections); + return codeClassifyDO2VOs(codeClassifyDOList); + } + + + /** + * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄 + * @param oidCollections 涓婚敭鐨勯泦鍚� + * @return 鏁版嵁瀵硅薄鍒楄〃 + */ + private List<CodeClassify> listCodeClassifyDOByOidCollections(Collection<String> oidCollections){ + List<CodeClassify> codeClassifyList = new ArrayList<CodeClassify>(); + if(!CollectionUtils.isEmpty(oidCollections)){ + Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); + for(Collection<String> oids: oidCollectionsList){ + List<CodeClassify> tempDOList = codeClassifyMapper.selectBatchIds(oids); + if(!CollectionUtils.isEmpty(tempDOList)){ + codeClassifyList.addAll(tempDOList); + } + } + } + return codeClassifyList; + } + + + /** + * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeClassifys 鏁版嵁瀵硅薄鍒楄〃 + * @return 鏄剧ず瀵硅薄 + */ + @Override + public List<CodeClassifyVO> codeClassifyDO2VOs(Collection<CodeClassify> codeClassifys) { + List<CodeClassifyVO> voList = new ArrayList<CodeClassifyVO>(); + if(!CollectionUtils.isEmpty(codeClassifys)){ + for(CodeClassify s: codeClassifys){ + CodeClassifyVO vo = codeClassifyDO2VO(s); + if(vo != null){ + voList.add(vo); + } + } + } + return voList; + } + + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeClassify 鏁版嵁瀵硅薄 + * @return 鏄剧ず瀵硅薄 + */ + @Override + public CodeClassifyVO codeClassifyDO2VO(CodeClassify codeClassify) { + CodeClassifyVO vo = new CodeClassifyVO(); + if(codeClassify != null){ + BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassify,vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus())); + } + return vo; + } + + /** + * 鍙傜収鏍� 涓婚搴撳垎绫� + * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 + * @return 涓婚搴撳垎绫绘樉绀烘爲 + */ + @Override + public List<Tree> referTree(TreeQueryObject treeQueryObject) { + if(treeQueryObject == null){ + treeQueryObject = new TreeQueryObject(); + } + if(treeQueryObject.getConditionMap() == null){ + treeQueryObject.setConditionMap(new HashMap<>()); + } + if(treeQueryObject.getConditionMap().containsKey(LC_STATUS)) { + treeQueryObject.getConditionMap().remove(LC_STATUS); + } + if(treeQueryObject.getExtandParamsMap() ==null || !treeQueryObject.getExtandParamsMap().containsKey(REFER_SHOW_DISABLED_QUERY_KEY)) { + } + treeQueryObject.getConditionMap().put(LC_STATUS, FRAMEWORK_DATA_ENABLED); + return treeCodeClassify(treeQueryObject); + } + + /** + * 鏌ヨ涓婚搴撳垎绫� 鏍� + * @param treeQueryObject 鏍戞煡璇㈠璞� + * @return 涓婚搴撳垎绫� 鏄剧ず鏍� + */ + @Override + public List<Tree> treeCodeClassify(TreeQueryObject treeQueryObject) { + List<CodeClassify> doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid()); + List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); + TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT)); + treeWrapperOptions.copyFromTreeQuery(treeQueryObject); + List<Tree> tree= revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClassifyVO s) ->{ + //鍙互鍦ㄨ繖閲屽鐞嗘爲鑺傜偣鐨勬樉绀� + return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s + .getLcStatus()) ? (" 銆愬仠鐢ㄣ�� ") : ""); + }); + Iterator var6 = tree.listIterator(); + while(var6.hasNext()){ + Tree trees = (Tree) var6.next(); + boolean checkHasChild=codeClassifyMapper.checkHasChild(trees.getOid()); + if(checkHasChild){ + trees.setLeaf(false); + }else{ + trees.setLeaf(true); + } + } + return tree; + } + + +// /** +// * 鏍规嵁鏍戝舰鏌ヨ瀵硅薄鏉ユ煡璇㈡暟鎹璞� +// * +// * @param treeQueryObject 鏍戝舰鏌ヨ瀵硅薄 +// * @return 鏌ヨ缁撴灉,鏁版嵁瀵硅薄 +// */ +// @Override +// public List<CodeClassifyVO> selectCodeClassifyDOByTree(TreeQueryObject treeQueryObject) { +// VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(null,CodeClassifyDO.class); +// VciParentQueryOption parentQueryOption = new VciParentQueryOption(); +// parentQueryOption.setParentFieldName(PARENT_FIELD_NAME); +// queryWrapperForDO.parentQueryChild(treeQueryObject,parentQueryOption); +// if(StringUtils.isBlank(treeQueryObject.getSort())) { +// PageHelper pageHelper = new PageHelper(-1); +// pageHelper.addDefaultAsc("id"); +// queryWrapperForDO.setPageHelper(pageHelper); +// } +// return codeClassifyMapper.selectByWrapper(queryWrapperForDO); +// } + + /** + * 瀵煎嚭鍒嗙被 + * + * @param oid 鍒嗙被涓婚敭 + * @return excel鏂囦欢璺緞 + */ + @Override + public String exportClassify(String oid) { +// VciBaseUtil.alertNotNull(oid,"鍒嗙被鐨勪富閿�"); +// CodeClassify codeClassify = codeClassifyMapper.selectById(oid); +// codeClassify.setDataLevel(0); +// codeClassify.setPath(codeClassify.getId()); +// List<CodeClassifyVO> codeClassifyVOS = listChildrenClassify(oid, true, "id", false); +// if(codeClassifyVOS ==null){ +// codeClassifyVOS = new ArrayList<>(); +// } +// CodeClassifyVO codeClassifyVO = new CodeClassifyVO(); +// BeanUtils.copyProperties(codeClassify,codeClassifyVO); +// codeClassifyVOS.add(codeClassifyVO); +// +// //鏌ヨ涓�涓嬭鍒欑殑缂栧彿锛屽拰鍏抽敭灞炴�ч噸澶嶈鍒� +// List<String> codeRuleOids = codeClassifyVOS.stream().filter(s -> org.apache.commons.lang3.StringUtils.isNotBlank(s.getCoderuleoid())).map(CodeClassifyVO::getCoderuleoid).collect(Collectors.toList()); +// Map<String, CodeRuleVO> ruleVOMap = new HashMap<>(); +// if(!CollectionUtils.isEmpty(codeRuleOids)){ +// VciBaseUtil.switchCollectionForOracleIn(codeRuleOids).stream().forEach(ruleOids->{ +// Collection<CodeRuleVO> ruleVOS = codeRuleService.listCodeRuleByOids(ruleOids); +// ruleVOMap.putAll( Optional.ofNullable(ruleVOS).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getOid(),t->t))); +// }); +// } +// //鎵惧叧閿睘鎬ц鍒� +// List<String> keyRuleOids = codeClassifyVOS.stream().filter(s -> org.apache.commons.lang3.StringUtils.isNotBlank(s.getCodekeyattrrepeatoid())).map(CodeClassifyVO::getCodekeyattrrepeatoid).collect(Collectors.toList()); +// Map<String, CodeKeyAttrRepeatRuleVO> keyRuleVOMap = new HashMap<>(); +// if(!CollectionUtils.isEmpty(keyRuleOids)){ +// VciBaseUtil.switchCollectionForOracleIn(keyRuleOids).stream().forEach(ruleOids->{ +// Collection<CodeKeyAttrRepeatRuleVO> ruleVOS = iCodeKeyattrrepeatService.listCodeKeyAttrRepeatRuleByOids(ruleOids); +// keyRuleVOMap.putAll( Optional.ofNullable(ruleVOS).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getOid(),t->t))); +// }); +// } +// //ok,鍐檈xcel +// String excelName = LocalFileUtil.getDefaultTempFolder() + File.separator + "瀵煎嚭鍒嗙被.xls"; +// try { +// new File(excelName).createNewFile(); +// } catch (Throwable e) { +// throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelName}, e); +// } +// List<WriteExcelData> excelDataList = new ArrayList<>(); +// excelDataList.add(new WriteExcelData(0,0,"鍒嗙被缂栧彿")); +// excelDataList.add(new WriteExcelData(0,1,"鍒嗙被鍚嶇О")); +// excelDataList.add(new WriteExcelData(0,2,"涓氬姟绫诲瀷缂栧彿")); +// excelDataList.add(new WriteExcelData(0,3,"涓氬姟绫诲瀷鍚嶇О")); +// excelDataList.add(new WriteExcelData(0,4,"缂栫爜瑙勫垯缂栧彿")); +// excelDataList.add(new WriteExcelData(0,5,"缂栫爜瑙勫垯鍚嶇О")); +// excelDataList.add(new WriteExcelData(0,6,"鏌ラ噸瑙勫垯缂栧彿")); +// excelDataList.add(new WriteExcelData(0,7,"鏌ラ噸瑙勫垯鍚嶇О")); +// excelDataList.add(new WriteExcelData(0,8,"鍒嗙被璺緞")); +// excelDataList.add(new WriteExcelData(0,9,"鐘舵��")); +// excelDataList.add(new WriteExcelData(0,10,"鍒嗙被灞傜骇")); +// excelDataList.add(new WriteExcelData(0,11,"鎻忚堪")); +// for (int i = 0; i < codeClassifyVOS.size(); i++) { +// CodeClassifyVO vo = codeClassifyVOS.get(i); +// excelDataList.add(new WriteExcelData(i+1,0,vo.getId())); +// excelDataList.add(new WriteExcelData(i+1,1,vo.getName())); +// excelDataList.add(new WriteExcelData(i+1,2,vo.getBtmtypeid())); +// excelDataList.add(new WriteExcelData(i+1,3,vo.getBtmtypename())); +// excelDataList.add(new WriteExcelData(i+1,4, org.apache.commons.lang3.StringUtils.isNotBlank(vo.getCoderuleoid())?ruleVOMap.getOrDefault(vo.getCoderuleoid(),new CodeRuleVO()).getId():"")); +// excelDataList.add(new WriteExcelData(i+1,5, org.apache.commons.lang3.StringUtils.isNotBlank(vo.getCoderuleoid())?ruleVOMap.getOrDefault(vo.getCoderuleoid(),new CodeRuleVO()).getName():"")); +// excelDataList.add(new WriteExcelData(i+1,6, org.apache.commons.lang3.StringUtils.isNotBlank(vo.getCodekeyattrrepeatoid())?keyRuleVOMap.getOrDefault(vo.getCodekeyattrrepeatoid(),new CodeKeyAttrRepeatRuleVO()).getId():"")); +// excelDataList.add(new WriteExcelData(i+1,7, org.apache.commons.lang3.StringUtils.isNotBlank(vo.getCodekeyattrrepeatoid())?keyRuleVOMap.getOrDefault(vo.getCodekeyattrrepeatoid(),new CodeKeyAttrRepeatRuleVO()).getName():"")); +// excelDataList.add(new WriteExcelData(i+1,8,vo.getOid().equalsIgnoreCase(classifyVO.getOid())?vo.getPath():classifyVO.getPath() + vo.getPath())); +// excelDataList.add(new WriteExcelData(i+1,9,FrameworkDataLCStatus.getTextByValue(vo.getLcStatus()))); +// excelDataList.add(new WriteExcelData(i+1,10,vo.getDataLevel())); +// excelDataList.add(new WriteExcelData(i+1,11,vo.getDescription())); +// } +// WriteExcelOption excelOption = new WriteExcelOption(excelDataList); +// ExcelUtil.writeDataToFile(excelName, excelOption); + return null; +// return excelName; + } + + /** + * 鑾峰彇瀛愮骇鐨勪富棰樺簱鍒嗙被 + * + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param allLevel 鏄惁鎵�鏈夌殑灞傜骇 + * @param fieldInPath 鍦ㄨ矾寰勪腑鐨勫瓧娈� + * @param enable 鏄惁鍙樉绀哄惎鐢� + * @return 鍒嗙被鐨勬樉绀哄璞� + */ + @Override + public List<CodeClassifyVO> listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable) { + if(allLevel){ + List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid); + if(!CollectionUtils.isEmpty(classifyDOS)){ + classifyDOS = classifyDOS.stream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); + } + return codeClassifyDO2VOs(classifyDOS); + }else{ + //鍙煡璇竴鏉★紝閭ath灏辨病蹇呰鏌ヨ浜� + Map<String,Object> conditionMap = new HashMap<>(); + conditionMap.put("parentcodeclassifyoid",codeClassifyOid); + if (enable){ + conditionMap.put("lcstatus",FRAMEWORK_DATA_ENABLED); + } + return codeClassifyDO2VOs(codeClassifyMapper.selectByMap(conditionMap)); + } + } } -- Gitblit v1.9.3