From a6e6575bc3d668e14009ed0e931a376f1a4d86ff Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期六, 06 五月 2023 18:59:29 +0800 Subject: [PATCH] 编码管理代码上传 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java | 129 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 126 insertions(+), 3 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..47ef341 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; @@ -92,6 +94,8 @@ private CodeTempbuttonMapper codeTempbuttonMapper; @Autowired(required = false) private CodePhaseattrMapper codePhaseattrMapper; + @Autowired(required = false) + private CodeClassifyMapper codeClassifyMapper; @Autowired(required = false) private ICodeClassifyService codeClassifyService; @Autowired(required = false) @@ -817,11 +821,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(); @@ -1028,4 +1034,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