From 436a5a391a514c9ac345554bafead583f124d8b4 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 09 五月 2023 22:55:04 +0800
Subject: [PATCH] 代码整合
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 208 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 164 insertions(+), 44 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 1271459..a43b9e8 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)
@@ -87,19 +90,19 @@
@Autowired(required = false)
private CodeClsflowtempMapper codeClsflowtempMapper;
@Autowired(required = false)
- private CodeTempphaseMapper codeTempphaseMapper;
+ private CodeTemplatePhaseMapper codeTempphaseMapper;
@Autowired(required = false)
- private CodeTempbuttonMapper codeTempbuttonMapper;
+ private CodeClassifyTemplateButtonMapper codeTempbuttonMapper;
@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;
-
-
@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());
}
@@ -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);
}
@@ -548,15 +551,15 @@
//澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬�
Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid);
- List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//妯℃澘闃舵
- List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//闃舵灞炴��
+ List<CodeTemplatePhase> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhase>)phase_attrMap.get("phase");//妯℃澘闃舵
+ List<CodePhaseAttr> codePhaseAttrDOList = (ArrayList<CodePhaseAttr>)phase_attrMap.get("phaseAttr");//闃舵灞炴��
//澶嶅埗妯℃澘鎸夐挳
- List<CodeTempbuttonEntity> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid);
+ List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid);
//涓�璧蜂繚瀛樻暟鎹�
// 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);
@@ -651,11 +654,11 @@
//澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬�
Map phase_attrMap = copyTemplatePhase_attr(oldOid,newOid);
- List<CodeTempphaseEntity> codeClassifyPhaseDOList = (ArrayList<CodeTempphaseEntity>)phase_attrMap.get("phase");//妯℃澘闃舵
- List<CodePhaseattrEntity> codePhaseAttrDOList = (ArrayList<CodePhaseattrEntity>)phase_attrMap.get("phaseAttr");//闃舵灞炴��
+ List<CodeTemplatePhase> codeClassifyPhaseDOList = (ArrayList<CodeTemplatePhase>)phase_attrMap.get("phase");//妯℃澘闃舵
+ List<CodePhaseAttr> codePhaseAttrDOList = (ArrayList<CodePhaseAttr>)phase_attrMap.get("phaseAttr");//闃舵灞炴��
//澶嶅埗妯℃澘鎸夐挳
- List<CodeTempbuttonEntity> codeClassifyTemplateButtonDOList = copyTemplateButton(oldOid,newOid);
+ List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = copyTemplateButton(oldOid,newOid);
// baseMapper.insert(codeClassifyTemplateDOList);
this.saveBatch(codeClassifyTemplateDOList);
@@ -754,21 +757,21 @@
// phaseWrapper.addQueryMap("codeClassifyTemplateOid",templateOldOid);
Map<String,Object> condition = new HashMap<>(1);
condition.put("codeclassifyTemplateOid",templateOldOid);
- List<CodeTempphaseEntity> codeTempphaseEntities = codeTempphaseMapper.selectByMap(condition);
+ List<CodeTemplatePhase> codeTempphaseEntities = codeTempphaseMapper.selectByMap(condition);
// List<CodeTemplatePhaseDO> codeClassifyPhaseDOList = codeTemplatePhaseDaoI.selectByWrapper(phaseWrapper);//瑕佷繚瀛樼殑鏂扮殑妯℃澘娴佺▼
Map<String,String> phaseKeyMap = new HashMap<String,String>();//闇�瑕佸鍒剁殑妯℃澘闃舵灞炴��,key:value,妯℃澘闃舵鑰乷id:妯℃澘灞炴�ф柊oid
List<String> phaseOidList = new ArrayList<String>();
- for (CodeTempphaseEntity codeTemplatePhaseDO:codeTempphaseEntities){
+ for (CodeTemplatePhase codeTemplatePhaseDO:codeTempphaseEntities){
String oldoid = codeTemplatePhaseDO.getOid();
String newOid = VciBaseUtil.getPk();
codeTemplatePhaseDO.setOid(newOid);
- codeTemplatePhaseDO.setCodeclassifytemplateoid(templateNewOid);
+ codeTemplatePhaseDO.setCodeClassifyTemplateOid(templateNewOid);
phaseKeyMap.put(oldoid,newOid);
phaseOidList.add(oldoid);
}
//妯℃澘闃舵鐨勫睘鎬�
- List<CodePhaseattrEntity> codePhaseAttrDOList = new ArrayList<CodePhaseattrEntity>();
+ List<CodePhaseAttr> codePhaseAttrDOList = new ArrayList<CodePhaseAttr>();
if(!CollectionUtils.isEmpty(phaseOidList)){//size()==0涓嬭竟鏂规硶浼氭姤閿�
// Map<String,String> conditionMap = new HashMap<>();
@@ -776,11 +779,11 @@
// codePhaseAttrDOList = codePhaseAttrDaoI.selectByCondition(conditionMap,new PageHelper(-1));
codePhaseAttrDOList = codePhaseattrMapper.selectByPhaseaIds(VciBaseUtil.toInSql(phaseOidList.toArray(new String[0])));
}
- for (CodePhaseattrEntity codePhaseAttrDO:codePhaseAttrDOList){
- String oldPhaseoid = codePhaseAttrDO.getCodephaseoid();
+ for (CodePhaseAttr codePhaseAttrDO:codePhaseAttrDOList){
+ String oldPhaseoid = codePhaseAttrDO.getCodePhaseOid();
// String newOid = VciBaseUtil.getPk();
codePhaseAttrDO.setOid(null);
- codePhaseAttrDO.setCodephaseoid(phaseKeyMap.get(oldPhaseoid));
+ codePhaseAttrDO.setCodePhaseOid(phaseKeyMap.get(oldPhaseoid));
// codePhaseattrMapper.insert(codePhaseAttrDO);
}
Map phaseMap = new HashMap();
@@ -792,18 +795,18 @@
/**
* 澶嶅埗妯℃澘鎸夐挳
*/
- public List<CodeTempbuttonEntity> copyTemplateButton(String templateOldOid,String templateNewOid){
+ public List<CodeClassifyTemplateButton> copyTemplateButton(String templateOldOid,String templateNewOid){
Map<String,Object> condition = new HashMap<>(1);
condition.put("classifyTemplateOid",templateOldOid);
// VciQueryWrapperForDO buttonWrapper = new VciQueryWrapperForDO(CodeClassifyTemplateButtonDO.class);
// buttonWrapper.addQueryMap("classifyTemplateOid",templateOldOid);
- List<CodeTempbuttonEntity> codeTempbuttonEntities = codeTempbuttonMapper.selectByMap(condition);
+ List<CodeClassifyTemplateButton> codeTempbuttonEntities = codeTempbuttonMapper.selectByMap(condition);
// List<CodeClassifyTemplateButtonDO> codeClassifyTemplateButtonDOList = codeClassifyTemplateButtonDaoI.selectByWrapper(buttonWrapper);
- for (CodeTempbuttonEntity codeClassifyTemplateButtonDO:codeTempbuttonEntities){
+ 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));
@@ -1028,4 +1031,121 @@
}
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