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