From 549ecbf13b14a4deb74e42828abcd46ccb68a7c0 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 09 五月 2023 17:18:07 +0800
Subject: [PATCH] 前端代码提交

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeKeyattrrepeatServiceImpl.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 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 0d51c52..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,14 +16,19 @@
  */
 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.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.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;
@@ -32,6 +37,9 @@
 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;
 
 /**
  * 鍏抽敭灞炴�ф煡閲嶈鍒� 鏈嶅姟瀹炵幇绫�
@@ -117,4 +125,68 @@
 		}
 		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