From 10eaf1b0dde35fb03795ae52d926171fb73eeb5f Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期三, 10 五月 2023 10:01:55 +0800
Subject: [PATCH] 业务类型页面修改
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyattrrepeatServiceImpl.java | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 150 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 f6b6551..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,12 +16,30 @@
*/
package com.vci.ubcs.code.service.impl;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+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.enumpack.FrameworkDataLCStatus;
+import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO;
import com.vci.ubcs.code.mapper.CodeKeyattrrepeatMapper;
import com.vci.ubcs.code.service.ICodeKeyattrrepeatService;
-import com.vci.ubcs.code.vo.CodeKeyattrrepeatVO;
+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;
/**
* 鍏抽敭灞炴�ф煡閲嶈鍒� 鏈嶅姟瀹炵幇绫�
@@ -40,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