From 27c183164c271eba7c911339da3a496a1a66ef13 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 10 五月 2023 09:39:18 +0800
Subject: [PATCH] 修改类名

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java |  227 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 173 insertions(+), 54 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
index ab690db..dfba31d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -17,17 +17,20 @@
 package com.vci.ubcs.code.service.impl;
 
 import com.alibaba.nacos.api.utils.StringUtils;
+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.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
 import com.vci.ubcs.code.dto.CodeClstemplateDTO;
 import com.vci.ubcs.code.entity.*;
 import com.vci.ubcs.code.enumpack.CodeClassifyTemplateLC;
 import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
 import com.vci.ubcs.code.mapper.*;
 import com.vci.ubcs.code.service.ICodeClassifyService;
+import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
 import com.vci.ubcs.code.service.ICodeClstemplateService;
-import com.vci.ubcs.code.vo.CodeClstempattrVO;
 import com.vci.ubcs.code.vo.CodeClstemplateVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
@@ -68,7 +71,7 @@
 	 */
 	@Lazy
 	@Autowired(required = false)
-	CodeClstempattrServiceImpl codeClstempattrService;
+	ICodeClassifyTemplateAttrService codeClstempattrService;
 
 	/**
 	 * 瀵硅薄鐨勬搷浣�
@@ -77,7 +80,7 @@
 	private RevisionModelUtil revisionModelUtil;
 
 	@Autowired(required = false)
-	private CodeClstempattrMapper codeClstempattrMapper;
+	private CodeClassifyTemplateAttrMapper codeClstempattrMapper;
 	@Autowired(required = false)
 	private CodeTempphaseServiceImpl codeTempphaseServiceImpl;
 	@Autowired(required = false)
@@ -93,13 +96,13 @@
 	@Autowired(required = false)
 	private CodePhaseAttrMapper codePhaseattrMapper;
 	@Autowired(required = false)
+	private CodeClassifyMapper codeClassifyMapper;
+	@Autowired(required = false)
 	private ICodeClassifyService codeClassifyService;
 	@Autowired(required = false)
 	private CodeClstemplateMapper codeClstemplateMapper;
 	@Autowired(required = false)
-	private CodePhaseattrServiceImpl codePhaseattrServiceImpl;
-
-
+	private CodePhaseAttrServiceImpl codePhaseattrServiceImpl;
 
 	@Override
 	public IPage<CodeClstemplateVO> selectPlCodeClstemplatePage(IPage<CodeClstemplateVO> page, CodeClstemplateVO plCodeClstemplate) {
@@ -176,10 +179,10 @@
 		if(hasAttr){
 			//涓�涓垎绫婚噷闈㈡�讳笉鑳借秴杩�1000涓敓鏁堢殑鐗堟湰鍚э紒锛侊紒
 			VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClstemplateVO::getOid).collect(Collectors.toList())).forEach(tempOids->{
-				List<CodeClstempattrVO> attrVOList = codeClstempattrService.listCodeClassifyTemplateAttrByTemplateOids(tempOids);
+				List<CodeClassifyTemplateAttrVO> attrVOList = codeClstempattrService.listCodeClassifyTemplateAttrByTemplateOids(tempOids);
 
 				if(!CollectionUtils.isEmpty(attrVOList)){
-					Map<String, List<CodeClstempattrVO>> attrVOMap = attrVOList.stream().collect(Collectors.groupingBy(s -> s.getClassifytemplateoid()));
+					Map<String, List<CodeClassifyTemplateAttrVO>> attrVOMap = attrVOList.stream().collect(Collectors.groupingBy(s -> s.getClassifyTemplateOid()));
 
 					voList.stream().forEach(templateVO->{
 						if(attrVOMap.containsKey(templateVO.getOid())){
@@ -340,11 +343,11 @@
 		//鍒犻櫎妯℃澘灞炴��
 //		VciQueryWrapperForDO templateQueryWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
 //		templateQueryWrapper.addQueryMap("classifyTemplateOid",templateOid);
-		List<CodeClstempattrEntity> codeClstempattrEntityList = codeClstempattrMapper.selectRefByOid(templateOid);
+		List<CodeClassifyTemplateAttr> codeClstempattrEntityList = codeClstempattrMapper.selectRefByOid(templateOid);
 
 		if(!CollectionUtils.isEmpty(codeClstempattrEntityList)) {
 			List<String> templateAttrOids = new ArrayList<String>();
-			for (CodeClstempattrEntity codeClstempattrEntity:codeClstempattrEntityList){
+			for (CodeClassifyTemplateAttr codeClstempattrEntity:codeClstempattrEntityList){
 				templateAttrOids.add(codeClstempattrEntity.getOid());
 			}
 
@@ -484,34 +487,34 @@
 //			ClientBusinessObject clientBusinessObject_template_insert = null;
 //		try {
 //			clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, "");
-		codeCls_template_insert.setOid(VciBaseUtil.getPk());
-		codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk());
-		codeCls_template_insert.setNameOid(codeCls_template.getNameOid());
-		codeCls_template_insert.setBtmname(codeCls_template.getBtmname());
-		codeCls_template_insert.setLastR(String.valueOf(1));
-		codeCls_template_insert.setFirstR(String.valueOf(0));
-		codeCls_template_insert.setFirstV(String.valueOf(1));
-		codeCls_template_insert.setLastV(String.valueOf(1));
-		codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName());
-		codeCls_template_insert.setCreateTime(new Date());
-		codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName());
-		codeCls_template_insert.setLastModifyTime(new Date());
-		codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule());
-		codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule());
-		Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid());
-		codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString()));
-		codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString());
+			codeCls_template_insert.setOid(VciBaseUtil.getPk());
+			codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk());
+			codeCls_template_insert.setNameOid(codeCls_template.getNameOid());
+			codeCls_template_insert.setBtmname(codeCls_template.getBtmname());
+			codeCls_template_insert.setLastR(String.valueOf(1));
+			codeCls_template_insert.setFirstR(String.valueOf(0));
+			codeCls_template_insert.setFirstV(String.valueOf(1));
+			codeCls_template_insert.setLastV(String.valueOf(1));
+			codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName());
+			codeCls_template_insert.setCreateTime(new Date());
+			codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName());
+			codeCls_template_insert.setLastModifyTime(new Date());
+			codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule());
+			codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule());
+			Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid());
+			codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString()));
+			codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString());
 //			VersionValueObject versionObj = this.getVersionValue(item.verRuleName);
-		codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString()));
-		codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString());
-		codeCls_template_insert.setLctid(codeCls_template.getLctid());
-		codeCls_template_insert.setLcStatus("Editing");
-		codeCls_template_insert.setId(codeCls_template.getId());
-		codeCls_template_insert.setName(codeCls_template.getName());
-		codeCls_template_insert.setDescription(codeCls_template.getDescription());
-		codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName());
+			codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString()));
+			codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString());
+			codeCls_template_insert.setLctid(codeCls_template.getLctid());
+			codeCls_template_insert.setLcStatus("Editing");
+			codeCls_template_insert.setId(codeCls_template.getId());
+			codeCls_template_insert.setName(codeCls_template.getName());
+			codeCls_template_insert.setDescription(codeCls_template.getDescription());
+			codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName());
 //			codeCls_template_insert.setCheckinBy(userName);
-		codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid());
+			codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid());
 //		}catch (VCIError e){
 //			e.printStackTrace();
 //			logger.error("===============>鍒嗙被妯℃澘-鍗囩増澶嶅埗鍑洪敊oid锛� "+templateOldOid+",mes"+e.error_message);
@@ -534,12 +537,12 @@
 //		codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid);
 		Map<String,Object> condition = new HashMap<>(1);
 		condition.put("classifyTemplateOid",templateOldOid);
-		List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition);
+		List<CodeClassifyTemplateAttr> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition);
 //		List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery);
-		for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){
+		for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO :codeClstempattrEntities){
 //			String attrOid = VciBaseUtil.getPk();
 			codeClassifyTemplateAttrDO.setOid(null);
-			codeClassifyTemplateAttrDO.setClassifytemplateoid(templateNewOid);
+			codeClassifyTemplateAttrDO.setClassifyTemplateOid(templateNewOid);
 			codeClstempattrMapper.insert(codeClassifyTemplateAttrDO);
 		}
 
@@ -556,7 +559,7 @@
 
 		//涓�璧蜂繚瀛樻暟鎹�
 //		WebUtil.setPersistence(false);//涓嶆墽琛屼繚瀛�
-		//淇濆瓨妯℃澘
+		//淇濆瓨妯℃澘鈥斺��
 //		BatchCBO batchCBOTemplate = new BatchCBO();
 		//batchCBO淇濆瓨鐨勬椂鍊欐病鏈夎兘澶熻嚜鍔╱pdate婧愭暟鎹殑isLastR
 		//batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert);
@@ -643,7 +646,7 @@
 		codeClassifyTemplateDOList.add(codeClassifyTemplateDO_old);
 
 		//澶嶅埗妯℃澘灞炴��
-		List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid);
+		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid);
 
 		//澶嶅埗妯℃澘娴佺▼
 		List<CodeClsflowtempEntity> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid);
@@ -803,7 +806,7 @@
 		for (CodeClassifyTemplateButton codeClassifyTemplateButtonDO:codeTempbuttonEntities){
 //			String newOid = VciBaseUtil.getPk();
 			codeClassifyTemplateButtonDO.setOid(null);
-			codeClassifyTemplateButtonDO.setClassifytemplateoid(templateNewOid);
+			codeClassifyTemplateButtonDO.setClassifyTemplateOid(templateNewOid);
 		}
 		return codeTempbuttonEntities;
 	}
@@ -812,21 +815,23 @@
 	/**
 	 * 澶嶅埗妯℃澘灞炴��
 	 */
-	public List<CodeClstempattrEntity> copyTemplateAttr(String templateOldOid,String templateNewOid){
+	public List<CodeClassifyTemplateAttr> copyTemplateAttr(String templateOldOid,String templateNewOid){
 
 //		VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
 //		codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid);
 
-		Map<String,Object> condition = new HashMap<>(1);
-		condition.put("classifyTemplateOid",templateOldOid);
+//		Map<String,Object> condition = new HashMap<>(1);
+//		condition.put("classifyTemplateOid",templateOldOid);
+		QueryWrapper<CodeClassifyTemplateAttr> wrapper=new QueryWrapper<>();
+		wrapper.eq("classifyTemplateOid",templateOldOid);
 
-//		List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery);
-		List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition);
+//		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery);
+		List<CodeClassifyTemplateAttr> codeClstempattrEntities = codeClstempattrMapper.selectList(wrapper);
 
-		for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){
+		for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO :codeClstempattrEntities){
 //			String attrOid = VciBaseUtil.getPk();
 			codeClassifyTemplateAttrDO.setOid(null);
-			codeClassifyTemplateAttrDO.setClassifytemplateoid(templateNewOid);
+			codeClassifyTemplateAttrDO.setClassifyTemplateOid(templateNewOid);
 //			codeClstempattrMapper.insert(codeClassifyTemplateAttrDO);
 		}
 		return codeClstempattrEntities;
@@ -855,12 +860,10 @@
 //		}
 //		pageHelper.addDefaultDesc("revisionSeq");
 
-
-
 		List<CodeClstemplateVO> doList = codeClstemplateMapper.selectPlCodeClstemplatePage(Condition.getPage(query), plCodeClstemplate);
 		if (!CollectionUtils.isEmpty(doList)) {
-//			QueryWrapper<CodeClstemplateVO> codeClstemplateVOQueryWrapper = new QueryWrapper<>();
-//			codeClstemplateVOQueryWrapper.allEq(plCodeClstemplate);
+			// QueryWrapper<CodeClstemplateVO> codeClstemplateVOQueryWrapper = new QueryWrapper<>();
+			// codeClstemplateVOQueryWrapper.allEq(plCodeClstemplate);
 			List<CodeClstemplateEntity> codeClstemplateEntity = new ArrayList<>();
 			BeanUtils.copyProperties(doList,codeClstemplateEntity);
 			dataGrid.setData(codeClassifyTemplateDO2VOs(codeClstemplateEntity));
@@ -1003,7 +1006,7 @@
 //			condition.put("ts",codeClassifyTemplateDOCopyFromDTO.getTs());
 			CodeClstemplateEntity detail = baseMapper
 				.selectById(codeClassifyTemplateDOCopyFromDTO.getOid());
-			//		boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO);
+	//		boolean tsBoolean = boService.checkTs(codeClassifyTemplateAttrDOListemplateDOCopyFromDTO);
 			if(detail.getTs().compareTo(codeClassifyTemplateDOCopyFromDTO.getTs()) != 0){//涓嶆槸鏈�鏂扮殑涓嶈鏀�
 				return R.fail("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒");
 			}
@@ -1029,4 +1032,120 @@
 		return R.data(codeClassifyTemplateDO2VO(codeClassifyTemplateDO));
 	}
 
+	/**
+	 *鏍规嵁鐖跺垎绫籭d鍘绘煡鎵惧彾瀛愯妭鐐圭殑妯℃澘锛屽鏋滄病鏌ュ埌鍒欒涓烘ā鏉垮湪涓婂眰寤虹珛锛屽垯鏍规嵁鍒嗙被鍘绘煡褰撳墠妯℃澘
+	 * @param codeClassifyOid 鐖跺垎绫荤殑涓婚敭
+	 * @return
+	 */
+	@Override
+	public List<CodeClstemplateVO> childTemplates(String codeClassifyOid){
+		List<CodeClstemplateVO> codeClassifyTemplateVOList=new ArrayList<>();
+//		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap =baseMapper
+//			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
+//				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
+		List<Map<String,String>> childHasTemplateList =baseMapper
+			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
+				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
+		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap = new HashMap<>();
+		if(!CollectionUtils.isEmpty(childHasTemplateList)){
+			childHasTemplateList.stream().forEach(cbo->{
+				childHasTemplateMap.put(cbo.get("OID"),cbo.get("CLSOID"));
+			});
+		}
+
+		Set<String> templateOid = childHasTemplateMap.keySet();
+		List<CodeClstemplateEntity>  classifyTemplateDOS=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(templateOid)) {
+			classifyTemplateDOS= this.listCodeClassifyTemplateDOByOidCollections(templateOid);
+		}else{
+			classifyTemplateDOS=selectOnlyTemplateByClassifyOid(codeClassifyOid);
+		}
+		List<CodeClstemplateVO> templateVOList = codeClassifyTemplateDO2VOs(classifyTemplateDOS, true);
+		if(!CollectionUtils.isEmpty(templateVOList)){
+			codeClassifyTemplateVOList.addAll(templateVOList);
+		}
+		return codeClassifyTemplateVOList;
+	}
+
+
+	/**
+	 * 浣跨敤鍒嗙被涓婚敭閫掑綊鏌ヨ
+	 * @param codeClassifyOid 鍒嗙被鐨勪富閿�
+	 * @return 妯℃澘鐨勬暟鎹璞�
+	 */
+	private List<CodeClstemplateEntity> selectOnlyTemplateByClassifyOid(String codeClassifyOid){
+		//1.鐩存帴鏌ヨ锛岀湅鐪嬭繖涓垎绫讳笅闈㈡湁娌℃湁鍙戝竷鐘舵�佺殑妯℃澘
+		//2.濡傛灉娌℃湁锛屽垯寰�涓婃壘鍒嗙被鐨勫唴瀹癸紝杩欎釜鍒嗙被灞傜骇涓嶄細澶锛屾墍浠ョ洿鎺ラ�掑綊鍗冲彲
+		//3.濡傛灉鍒嗙被涓嬮潰娣诲姞浜嗘ā鏉匡紝浣嗘槸娌℃湁鍙戝竷锛屽垯璇存槑妯℃澘鍙兘杩樺湪缂栬緫鐨勭姸鎬侊紝渚濈劧浣跨敤涓婄骇鍒嗙被
+
+//		Map<String,String> conditionMap = new HashMap<>();
+//		conditionMap.put("codeClassifyOid",codeClassifyOid);
+//		conditionMap.put("lcstatus",CodeClassifyTemplateLC.RELEASED.getValue());
+		QueryWrapper<CodeClstemplateEntity> wrapper=new QueryWrapper<>();
+		wrapper.eq("codeClassifyOid",codeClassifyOid)
+			.eq("lcstatus",CodeClassifyTemplateLC.RELEASED.getValue());
+
+		List<CodeClstemplateEntity> templateDOS = baseMapper.selectList(wrapper);
+		if(CollectionUtils.isEmpty(templateDOS)){
+			//閫掑綊鎵句笂绾х殑妯℃澘
+			CodeClassify classifyDO = codeClassifyMapper.selectById(codeClassifyOid);
+//				codeClassifyDaoI.selectByPrimaryKey(codeClassifyOid);
+			if(StringUtils.isBlank(classifyDO.getParentCodeClassifyOid())){
+				//璇存槑宸茬粡鏄《浜嗭紝涔熸病鎵惧埌鐨勮瘽锛岄偅灏辫繑鍥炰簡
+				return null;
+			}
+			return selectOnlyTemplateByClassifyOid(classifyDO.getParentCodeClassifyOid());
+		}else{
+			return templateDOS;
+		}
+	}
+
+	/**
+	 * 浣跨敤涓婚搴撶殑鍒嗙被涓婚敭锛岃幏鍙栫敓鏁堢殑妯℃澘
+	 *
+	 * @param codeClassifyOid 涓婚搴撳垎绫讳富閿�
+	 * @param hasAttribute    鏄惁鍖呭惈灞炴��
+	 * @return 妯℃澘鐨勪俊鎭�
+	 */
+	@Override
+	public List<CodeClstemplateVO> listReleaseTemplateByClassifyOid(String codeClassifyOid, boolean hasAttribute) {
+		VciBaseUtil.alertNotNull(codeClassifyOid,"涓婚搴撳垎绫讳富閿�");
+		List<CodeClstemplateEntity> templateDOS = selectOnlyTemplateByClassifyOid(codeClassifyOid);
+		if(CollectionUtils.isEmpty(templateDOS)){
+			throw new VciBaseException("褰撳墠鍒嗙被锛屼互鍙婂叾涓婄骇鍒嗙被閮芥病鏈夎缃ā鏉�");
+		}
+		List<CodeClstemplateVO> templateVOList = codeClassifyTemplateDO2VOs(templateDOS, true);
+		return sortTemplateByRevision(templateVOList);
+	}
+
+	/**
+	 * 鐢ㄦā鏉跨殑鐗堟湰鏉ユ帓搴�
+	 * @param templateVOList 妯℃澘鐨勬樉绀哄璞�
+	 * @return 鎺掑簭鍚庣殑鍒楄〃
+	 */
+	@Override
+	public List<CodeClstemplateVO> sortTemplateByRevision(List<CodeClstemplateVO> templateVOList){
+		if(!CollectionUtils.isEmpty(templateVOList) && templateVOList.size() >1){
+			//鑾峰彇鐗堟湰鍙锋渶澶х殑閭d釜
+			templateVOList = templateVOList.stream().sorted((o1,o2)->
+				Integer.valueOf(o1.getRevisionSeq()).compareTo(Integer.valueOf(o2.getRevisionValue()))
+			).collect(Collectors.toList());
+		}
+		return templateVOList;
+	}
+
+	/**
+	 * 涓婚敭鑾峰彇鍒嗙被妯℃澘瀵硅薄(鍖呭惈灞炴�э級
+	 *
+	 * @param oid 涓婚敭
+	 * @return 鍒嗙被妯℃澘瀵硅薄鏄剧ず瀵硅薄
+	 * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父
+	 */
+	@Override
+	public CodeClstemplateVO getObjectHasAttrByOid(String oid) throws VciBaseException {
+		List<CodeClstemplateEntity> doList = new ArrayList<>();
+		doList.add(selectByOid(oid));
+		List<CodeClstemplateVO> templateVOS = codeClassifyTemplateDO2VOs(doList, true);
+		return CollectionUtils.isEmpty(templateVOS)?null:templateVOS.get(0);
+	}
 }

--
Gitblit v1.9.3