From c6a845528d45bfb44591a69dadb44539432d06d0 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期五, 12 五月 2023 11:55:06 +0800 Subject: [PATCH] 枚举相关改动 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 278 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 214 insertions(+), 64 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..f684d88 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,8 +17,10 @@ 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; @@ -28,11 +30,13 @@ 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; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.web.pagemodel.DataGrid; +import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.pagemodel.Tree; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; @@ -42,6 +46,7 @@ import org.springblade.core.tool.api.R; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cglib.beans.BeanMap; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -87,19 +92,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; + 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) { @@ -180,10 +185,16 @@ if(!CollectionUtils.isEmpty(attrVOList)){ Map<String, List<CodeClstempattrVO>> attrVOMap = attrVOList.stream().collect(Collectors.groupingBy(s -> s.getClassifytemplateoid())); - voList.stream().forEach(templateVO->{ if(attrVOMap.containsKey(templateVO.getOid())){ - templateVO.setAttributes(attrVOMap.get(templateVO.getOid())); + List<CodeClstempattrVO> codeClstempattrVOS = attrVOMap.get(templateVO.getOid()); + List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOS = new ArrayList<>(); + for (CodeClstempattrVO codeClstempattrVO : codeClstempattrVOS) { + CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO = new CodeClassifyTemplateAttrVO(); + BeanUtils.copyProperties(codeClstempattrVO,codeClassifyTemplateAttrVO); + codeClassifyTemplateAttrVOS.add(codeClassifyTemplateAttrVO); + } + templateVO.setAttributes(codeClassifyTemplateAttrVOS); } }); } @@ -484,34 +495,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); @@ -548,11 +559,11 @@ //澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬� 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);//涓嶆墽琛屼繚瀛� @@ -651,11 +662,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 +765,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 +787,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 +803,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; } @@ -817,11 +828,13 @@ // 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<CodeClstempattrEntity> wrapper=new QueryWrapper<>(); + wrapper.eq("classifyTemplateOid",templateOldOid); // List<CodeClstempattrEntity> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery); - List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition); + List<CodeClstempattrEntity> codeClstempattrEntities = codeClstempattrMapper.selectList(wrapper); for (CodeClstempattrEntity codeClassifyTemplateAttrDO :codeClstempattrEntities){ // String attrOid = VciBaseUtil.getPk(); @@ -836,13 +849,13 @@ /** * 鍒嗙被妯℃澘鍒楄〃 * - * @param plCodeClstemplate 鏌ヨ鏉′欢 - * @param query 鍒嗛〉瀵硅薄 + * @param conditionMap 鏌ヨ鏉′欢 + * @param pageHelper 鍒嗛〉瀵硅薄 * @return 鏄剧ず瀵硅薄 * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(CodeClstemplateVO plCodeClstemplate, Query query) throws VciBaseException { + public DataGrid<CodeClstemplateVO> gridCodeClassifyTemplate(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException { DataGrid<CodeClstemplateVO> dataGrid=new DataGrid<CodeClstemplateVO>(); //娌℃湁浼犲垎绫籭d锛屼笉鎵ц鏌ヨ閫昏緫锛岀洿鎺ヨ繑鍥� // if(conditionMap.size()==0){ @@ -855,16 +868,36 @@ // } // pageHelper.addDefaultDesc("revisionSeq"); + CodeClstemplateVO codeClstemplateVO = new CodeClstemplateVO(); + CodeClstemplateEntity codeClstemplateQuery = new CodeClstemplateEntity(); +// BeanUtil.toBean(map,codeClstempattrVO); +// BeanUtil + BeanMap beanMap = BeanMap.create(codeClstemplateVO); + beanMap.putAll(conditionMap); + BeanUtils.copyProperties(codeClstemplateVO,codeClstemplateQuery); + if (pageHelper == null) { + pageHelper = new PageHelper(-1); + } +// IPage iPage = new IPage(); + Query query = new Query(); +// query.setSize(100); + if(pageHelper.getLimit() != -1){ + query.setSize(pageHelper.getLimit()); + query.setCurrent(pageHelper.getPage()); + } +// List<CodeClstemplateVO> doList = codeClstemplateMapper.selectPlCodeClstemplatePage(Condition.getPage(query), codeClstemplateVO); - List<CodeClstemplateVO> doList = codeClstemplateMapper.selectPlCodeClstemplatePage(Condition.getPage(query), plCodeClstemplate); - if (!CollectionUtils.isEmpty(doList)) { + IPage<CodeClstemplateEntity> doList = baseMapper. + selectPage(Condition.getPage(query), Condition.getQueryWrapper(codeClstemplateVO)); + if (!CollectionUtils.isEmpty(doList.getRecords())) { // QueryWrapper<CodeClstemplateVO> codeClstemplateVOQueryWrapper = new QueryWrapper<>(); // codeClstemplateVOQueryWrapper.allEq(plCodeClstemplate); - List<CodeClstemplateEntity> codeClstemplateEntity = new ArrayList<>(); - BeanUtils.copyProperties(doList,codeClstemplateEntity); - dataGrid.setData(codeClassifyTemplateDO2VOs(codeClstemplateEntity)); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClstemplateMapper.selectCount(Condition.getQueryWrapper(plCodeClstemplate))))); +// List<CodeClstemplateEntity> codeClstemplateEntity = new ArrayList<>(); +// BeanUtils.copyProperties(doList,codeClstemplateEntity); + + dataGrid.setData(codeClassifyTemplateDO2VOs(doList.getRecords())); + dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClstemplateMapper.selectCount(Condition.getQueryWrapper(codeClstemplateQuery))))); } return dataGrid; } @@ -1003,7 +1036,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("褰撳墠鏁版嵁涓嶆槸鏈�鏂帮紝璇峰埛鏂板悗鍐嶄慨鏀癸紒"); } @@ -1028,4 +1061,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