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/controller/AttributeController.java | 4 +-
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/AttributeMapper.xml | 8 ++++
Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue | 2
Source/UBCS-WEB/src/views/modeling/originalAdd.vue | 18 +++++++-
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/AttributeMapper.java | 8 ++++
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/AttributeServiceImpl.java | 32 ++++++++++-----
6 files changed, 55 insertions(+), 17 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
index 38699eb..cf1f1f7 100644
--- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
+++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -374,7 +374,7 @@
},
// 灞炴�ф睜妫�绱�
attrRefSearch(form,done){
- this.attrRef.key = form.key;
+ this.attrRef.key = form.id;
this.attrRefOnLoad();
done();
this.attrRef.key = null;
diff --git a/Source/UBCS-WEB/src/views/modeling/originalAdd.vue b/Source/UBCS-WEB/src/views/modeling/originalAdd.vue
index d15e51b..14cea7e 100644
--- a/Source/UBCS-WEB/src/views/modeling/originalAdd.vue
+++ b/Source/UBCS-WEB/src/views/modeling/originalAdd.vue
@@ -39,14 +39,14 @@
</el-form-item>
<el-tabs v-model="activeName" @tab-click="handleClick" stretch="true">
<el-tab-pane label="鍙傜収" name="referTab">
- <el-form-item label="鍙傜収绫诲瀷" label-width="100px">
+ <el-form-item label="鍙傜収绫诲瀷" label-width="100px" class="referTypeForm">
<el-select v-model="attribute.referTypeKey" @change="referTypeSelectChange">
<el-option v-for="item in btmRefer.referTypeList" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鍙傜収鍚嶇О" label-width="100px">
+ <el-form-item label="鍙傜収鍚嶇О" label-width="100px" class="referNameForm">
<el-input v-model="attribute.referToName" @focus="openReferConfig" clearable="true"
:disabled="referToFlag" @clear="clearReferTo">
<i slot="suffix" class="el-input__icon el-icon-search"></i>
@@ -486,4 +486,16 @@
.attributeForm>.el-form-item>.el-form-item__content>.el-select>.el-input>.el-input__inner {
width: 200px;
-}</style>
+}
+.attributeForm>.el-form-item>.el-form-item__content{
+ width :190px;
+}
+
+.referTypeForm > .el-form-item__content > .el-select > .el-input>.el-input__inner {
+ width: 200px;
+}
+
+.referNameForm > .el-form-item__content > .el-input > .el-input__inner {
+ width: 200px;
+}
+</style>
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java
index eccc60d..90674ee 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/AttributeController.java
@@ -95,8 +95,8 @@
@GetMapping("/query-page")
@ApiImplicitParams({
- @ApiImplicitParam(name = "key",value = "灞炴�у悕妯$硦",paramType = "query",dataType = "string"),
- @ApiImplicitParam(name = "notIn",value = "灞炴�у悕鎺掗櫎",paramType = "query",dataType = "string")
+ @ApiImplicitParam(name = "key",value = "灞炴�х紪鍙锋ā绯�",paramType = "query",dataType = "string"),
+ @ApiImplicitParam(name = "notIn",value = "灞炴�х紪鍙锋帓闄�",paramType = "query",dataType = "string")
})
@ApiOperationSupport(order = 6)
@ApiOperation(value = "鏌ヨ鍒楄〃",notes = "浼犲叆鏌ョ殑鍊煎拰涓嶆煡鐨勫��")
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/AttributeMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/AttributeMapper.java
index f54419c..d95b5c6 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/AttributeMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/AttributeMapper.java
@@ -28,4 +28,12 @@
* @return
*/
List<BtmType> selectApplyRange(String oid);
+
+ /**
+ * 妫�楠屽睘鎬х紪鍙锋槸鍚﹀凡缁忓瓨鍦�
+ * @param id 灞炴�х紪鍙�
+ * @param oid 鏁版嵁涓婚敭
+ * @return 鏉℃暟
+ */
+ Long checkIdExist(String id, String oid);
}
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 涓婚敭闆嗗悎
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/AttributeMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/AttributeMapper.xml
index 15d3763..6aaa387 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/AttributeMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/AttributeMapper.xml
@@ -58,4 +58,12 @@
where attr.oid = #{oid}
</select>
+ <select id="checkIdExist" resultType="java.lang.Long">
+ select COUNT(*) FROM
+ <include refid="tableName"/>
+ where LOWER(ID) = #{id}
+ <if test="oid != null">
+ and OID != #{oid}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.3