From 0a6ab7fccd8db586125dbe3a9b80841f1c0d3d5f Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期一, 10 七月 2023 12:16:40 +0800
Subject: [PATCH] 属性查重不区分大小写,页面修正

---
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
index f2b24c1..143545b 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java
@@ -27,10 +27,7 @@
 import org.springframework.util.CollectionUtils;
 
 import javax.validation.constraints.NotEmpty;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
@@ -77,13 +74,9 @@
 	@Override
 	public boolean submit(AttributeDTO dto) {
 		VciBaseUtil.alertNotNull(dto.getId(),"灞炴�х紪鍙�",dto.getName(),"灞炴�у悕绉�",dto.getTypeKey(),"灞炴�х被鍨�",dto.getMaxLength(),"灞炴�ч暱搴�");
-		if (!Pattern.compile(REGEXP).matcher(dto.getId()).matches()){
-			throw new VciBaseException("灞炴�х紪鍙穥0}鍙兘鏄嫳鏂�",new Object[]{dto.getId()});
-		}
-		LambdaQueryWrapper<Attribute> wrapper = Wrappers.<Attribute>query().lambda().eq(Attribute::getId, dto.getId());
-		Long count = baseMapper.selectCount((Func.isEmpty(dto.getOid())) ? wrapper : wrapper.notIn(Attribute::getOid, dto.getOid()));
-		if (count > 0L) {
-			throw new ServiceException("灞炴�х紪鍙峰凡瀛樺湪!");
+		String msg = checkAttributeId(dto.getId(),dto.getOid());
+		if (StringUtils.isNotBlank(msg)){
+			throw new VciBaseException(msg);
 		}
 		Attribute attribute = AttributeWrapper.build().copyBeforeSave(dto);
 		CacheUtil.clear(OmdCacheConstant.ATTR_CACHE);
@@ -91,6 +84,23 @@
 	}
 
 	/**
+	 * 鍏冩暟鎹殑ID鏍¢獙
+	 * @param id 缂栧彿鍊�
+	 * @param oid 鏁版嵁涓婚敭
+	 * @return 鏍¢獙缁撴灉
+	 */
+	private String checkAttributeId(String id, String oid) {
+		if (!Pattern.compile(REGEXP).matcher(id).matches()){
+			return "灞炴�х紪鍙�"+id+"鍙兘鏄嫳鏂�";
+		}
+		Long count = baseMapper.checkIdExist(id.toLowerCase(Locale.ROOT),oid);
+		if (count > 0L) {
+			return "灞炴�х紪鍙�"+id+"(涓嶅尯鍒嗗ぇ灏忓啓)宸插瓨鍦�!";
+		}
+		return null;
+	}
+
+	/**
 	 * 鍒犻櫎
 	 *
 	 * @param oids 涓婚敭闆嗗悎

--
Gitblit v1.9.3