From 4495231e120e5a6798716098216e3cdccfd6967e Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期二, 07 一月 2025 23:35:03 +0800
Subject: [PATCH] 产品型号集成,类型转换,人员组织加日志,申请接口引用码段值校验

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java |   69 +++++++++++++++++++++++++++-------
 1 files changed, 54 insertions(+), 15 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java
index 9284695..bdd4be6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java
@@ -1,6 +1,5 @@
 package com.vci.ubcs.code.service.impl;
 
-import com.alibaba.nacos.common.utils.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,14 +9,15 @@
 import com.vci.ubcs.code.service.ICodeRuleCharacterService;
 import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
-import com.vci.ubcs.starter.poi.bo.SheetRowData;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import lombok.AllArgsConstructor;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.rmi.ServerException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -27,10 +27,11 @@
  * @date 2023-11-30
  */
 @Service
+@AllArgsConstructor
 public class CodeRuleCharacterServiceImpl extends ServiceImpl<CodeRuleCharacterMapper, CodeRuleCharacter> implements ICodeRuleCharacterService {
 
-	@Autowired
-	private CodeRuleCharacterMapper codeRuleCharacterMapper;
+	private final CodeRuleCharacterMapper codeRuleCharacterMapper;
+
 	/***
 	 * 浣跨敤缂栫爜瑙勫垯oid鑾峰彇鏁版嵁
 	 * @param codeRuleId
@@ -42,21 +43,59 @@
 	public List<Map<String, String>> getDataByRuleId(String codeRuleId,String chartType) throws VciBaseException {
 		List<Map<String,String>> charValueList=new ArrayList<>();
 		CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleId).eq(CodeRuleCharacter::getChartType,chartType));
-		List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList());
-		for (int i = 0; i < characterList.size(); i += 15) {
-			final int startIndex = i;
-			final int endIndex = Math.min(i + 15, characterList.size());
-			List<Character> subList = characterList.subList(startIndex, endIndex);
-			Map<String, String> chartMap=new HashMap<>();
-			// 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶
-			for (int j=1;j<subList.size()+1;j++){
-				String characterValue=subList.get(j-1)==null?"":subList.get(j-1).toString();
-				chartMap.put(String.valueOf(j),String.valueOf(characterValue));
+		if(codeRuleCharacter!=null&&StringUtils.isNotBlank(codeRuleCharacter.getOid())){
+			List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList());
+			for (int i = 0; i < characterList.size(); i += 15) {
+				final int startIndex = i;
+				final int endIndex = Math.min(i + 15, characterList.size());
+				List<Character> subList = characterList.subList(startIndex, endIndex);
+				Map<String, String> chartMap=new HashMap<>();
+				// 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶
+				for (int j=1;j<subList.size()+1;j++){
+					String characterValue=subList.get(j-1)==null?"":subList.get(j-1).toString();
+					chartMap.put(String.valueOf(j),String.valueOf(characterValue));
+				}
+				charValueList.add(chartMap);
 			}
-			charValueList.add(chartMap);
 		}
 		return charValueList;
 	}
+
+	/***
+	 * 浣跨敤缂栫爜瑙勫垯oid鑾峰彇鏁版嵁
+	 * @param codeRuleId
+	 * @param chartType
+	 * @return
+	 * @throws VciBaseException
+	 */
+	@Override
+	public List<Map<String, String>> getSelectListByRuleId(String codeRuleId,String chartType) throws ServerException {
+		List<Map<String, String>> charValueMap = new ArrayList<>();
+		CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleId).eq(CodeRuleCharacter::getChartType,chartType));
+		if(codeRuleCharacter!=null&&StringUtils.isNotBlank(codeRuleCharacter.getOid())){
+			List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList());
+			characterList.stream().forEach(item->{
+				Map<String, String> map = new HashMap<>();
+				map.put("lable",item.toString());
+				map.put("value",item.toString());
+				charValueMap.add(map);
+			});
+		}
+		return charValueMap;
+	}
+
+	@Override
+	public String getRegexStrByCodeRuleId(String codeRuleId, String chartType) throws ServerException {
+		StringBuilder regexStr = new StringBuilder();
+		CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleId).eq(CodeRuleCharacter::getChartType,chartType));
+		if(codeRuleCharacter!=null&&StringUtils.isNotBlank(codeRuleCharacter.getOid())){
+			regexStr.append("^[");
+			regexStr.append(codeRuleCharacter.getChartValue());
+			regexStr.append("]+$");
+		}
+		return regexStr.toString();
+	}
+
 	/***
 	 * 瀛楃闆嗘暟鎹繚瀛�
 	 * @param codeRuleCharacterVO

--
Gitblit v1.9.3