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/CodeKeyattrrepeatServiceImpl.java | 149 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 147 insertions(+), 2 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyattrrepeatServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyattrrepeatServiceImpl.java index 8313e52..f9873af 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyattrrepeatServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyattrrepeatServiceImpl.java @@ -16,15 +16,30 @@ */ package com.vci.ubcs.code.service.impl; +import com.alibaba.nacos.common.utils.StringUtils; +import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.entity.CodeKeyattrrepeatEntity; -import com.vci.ubcs.code.mapper.CodeButtonMapper; +import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus; import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO; import com.vci.ubcs.code.mapper.CodeKeyattrrepeatMapper; import com.vci.ubcs.code.service.ICodeKeyattrrepeatService; -import org.springblade.core.mp.base.BaseServiceImpl; +import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; +import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; +import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.web.util.BeanUtilForVCI; +import com.vci.ubcs.starter.web.util.VciBaseUtil; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST; /** * 鍏抽敭灞炴�ф煡閲嶈鍒� 鏈嶅姟瀹炵幇绫� @@ -43,5 +58,135 @@ return page.setRecords(codeKeyattrrepeatMapper.selectPlCodeKeyattrrepeatPage(page, plCodeKeyattrrepeat)); } + /** + * 涓婚敭鎵归噺鑾峰彇鍏抽敭鏁版嵁鏌ラ噸瑙勫垯 + * + * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� + * @return 鍏抽敭鏁版嵁鏌ラ噸瑙勫垯鏄剧ず瀵硅薄 + */ + @Override + public List<CodeKeyAttrRepeatRuleVO> listCodeKeyAttrRepeatRuleByOids(Collection<String> oidCollections) { + VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎"); + List<CodeKeyattrrepeatEntity> codeKeyAttrRepeatRuleDOList = listCodeKeyAttrRepeatRuleDOByOidCollections(oidCollections); + return codeKeyAttrRepeatRuleDO2VOs(codeKeyAttrRepeatRuleDOList); + } + /** + * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeKeyattrrepeatEntityS 鏁版嵁瀵硅薄鍒楄〃 + * @return 鏄剧ず瀵硅薄 + */ + @Override + public List<CodeKeyAttrRepeatRuleVO> codeKeyAttrRepeatRuleDO2VOs(Collection<CodeKeyattrrepeatEntity> codeKeyattrrepeatEntityS){ + List<CodeKeyAttrRepeatRuleVO> voList = new ArrayList<CodeKeyAttrRepeatRuleVO>(); + if(!CollectionUtils.isEmpty(codeKeyattrrepeatEntityS)){ + for(CodeKeyattrrepeatEntity s: codeKeyattrrepeatEntityS){ + CodeKeyAttrRepeatRuleVO vo = codeKeyAttrRepeatRuleDO2VO(s); + if(vo != null){ + voList.add(vo); + } + } + } + return voList; + } + + /** + * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄 + * @param oidCollections 涓婚敭鐨勯泦鍚� + * @return 鏁版嵁瀵硅薄鍒楄〃 + */ + private List<CodeKeyattrrepeatEntity> listCodeKeyAttrRepeatRuleDOByOidCollections(Collection<String> oidCollections){ + List<CodeKeyattrrepeatEntity> codeKeyAttrRepeatRuleDOList = new ArrayList<CodeKeyattrrepeatEntity>(); + if(!CollectionUtils.isEmpty(oidCollections)){ + Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); + for(Collection<String> oids: oidCollectionsList){ + List<CodeKeyattrrepeatEntity> tempDOList = codeKeyattrrepeatMapper.selectBatchIds(oids); + if(!CollectionUtils.isEmpty(tempDOList)){ + codeKeyAttrRepeatRuleDOList.addAll(tempDOList); + } + } + } + return codeKeyAttrRepeatRuleDOList; + } + + + /** + * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� + * @param codeKeyattrrepeatEntity 鏁版嵁瀵硅薄 + * @return 鏄剧ず瀵硅薄 + */ + @Override + public CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleDO2VO(CodeKeyattrrepeatEntity codeKeyattrrepeatEntity) { + CodeKeyAttrRepeatRuleVO vo = new CodeKeyAttrRepeatRuleVO(); + if(codeKeyattrrepeatEntity != null) { + BeanUtilForVCI.copyPropertiesIgnoreCase(codeKeyattrrepeatEntity, vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + vo.setLcStatusText(FrameworkDataLCStatus.getTextByValue(vo.getLcStatus())); + } + return vo; + } + + /** + * 浣跨敤鍒嗙被鐨勫叏閮ㄤ俊鎭潵鑾峰彇鍏抽敭灞炴�у垽鏂鍒欑殑鍐呭 + * + * @param classifyFullInfo 涓婚搴撳垎绫荤殑鍏ㄩ儴淇℃伅 + * @return 瑙勫垯鐨勬樉绀哄璞� + */ + @Override + public CodeKeyattrrepeatVO getRuleByClassifyFullInfo(CodeClassifyFullInfoBO classifyFullInfo) { + VciBaseUtil.alertNotNull(classifyFullInfo,"涓婚搴撳垎绫荤殑淇℃伅"); + String keyAttrRuleOid = classifyFullInfo.getCurrentClassifyVO().getCodekeyattrrepeatoid(); + if(StringUtils.isBlank(keyAttrRuleOid)){ + //鎴戜滑鏍规嵁涓婄骇鐨勫垎绫伙紝鎸夌収灞傜骇鍊掑簭鎺掑垪 + if(!CollectionUtils.isEmpty(classifyFullInfo.getParentClassifyVOs())){ + //鏈変笂绾у垎绫荤殑鎯呭喌涓嬫墠鍘绘煡璇� + List<CodeClassifyVO> sortedClassifyVO = classifyFullInfo.getParentClassifyVOs().stream().sorted(((o1, o2) -> o1.getDataLevel().compareTo(o2.getDataLevel()))).collect(Collectors.toList()); + for(int i = sortedClassifyVO.size() -1;i>=0;i--){ + CodeClassifyVO record = sortedClassifyVO.get(i); + + if(StringUtils.isNotBlank(record.getCodekeyattrrepeatoid())){ + keyAttrRuleOid = record.getCodekeyattrrepeatoid(); + break; + } + } + } + } + if(StringUtils.isNotBlank(keyAttrRuleOid)){ + CodeKeyAttrRepeatRuleVO objectByOid = getObjectByOid(keyAttrRuleOid); + CodeKeyattrrepeatVO codeKeyattrrepeatVO = new CodeKeyattrrepeatVO(); + BeanUtils.copyProperties(objectByOid,codeKeyattrrepeatVO); + return codeKeyattrrepeatVO; + } + //鍏抽敭灞炴�х殑瑙勫垯鍙互涓虹┖锛屼负绌虹殑鏃跺�欏氨浠h〃涓嶆帶鍒讹紝 + return null; + } + + /** + * 涓婚敭鑾峰彇鍏抽敭鏁版嵁鏌ラ噸瑙勫垯 + * @param oid 涓婚敭 + * @return 鍏抽敭鏁版嵁鏌ラ噸瑙勫垯鏄剧ず瀵硅薄 + */ + @Override + public CodeKeyAttrRepeatRuleVO getObjectByOid(String oid){ + CodeKeyAttrRepeatRuleVO codeKeyAttrRepeatRuleVO = codeKeyAttrRepeatRuleDO2VO(selectByOid(oid)); + CodeKeyattrrepeatVO codeKeyattrrepeatVO = new CodeKeyattrrepeatVO(); + BeanUtils.copyProperties(codeKeyAttrRepeatRuleVO,codeKeyattrrepeatVO); + return codeKeyAttrRepeatRuleVO; + } + /** + * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 + * @param oid 涓婚敭 + * @return 鏁版嵁瀵硅薄 + * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + private CodeKeyattrrepeatEntity selectByOid(String oid) { + VciBaseUtil.alertNotNull(oid,"涓婚敭"); + + CodeKeyattrrepeatEntity codeKeyAttrRepeatRuleDO = codeKeyattrrepeatMapper.selectById(oid.trim()); +// .selectByPrimaryKey(oid.trim()); + if(codeKeyAttrRepeatRuleDO == null || StringUtils.isBlank(codeKeyAttrRepeatRuleDO.getOid())){ + throw new VciBaseException(DATA_OID_NOT_EXIST); + } + return codeKeyAttrRepeatRuleDO; + } } -- Gitblit v1.9.3