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