From 8fd0ad7a95d85cd09c5bf98bc0c05235a162a8af Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 16 十一月 2023 16:40:34 +0800
Subject: [PATCH] bug列表:180(分类上增加关键属性查重校验字段当前分类是否参与校验,历史数据导入代码逻辑中关键属性校验增加过滤条件)
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 10 +++-
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java | 9 ++++
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 25 ++++++++++++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 18 +++++++++
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 2
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java | 9 ++++
6 files changed, 68 insertions(+), 5 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
index 6c03a06..d0b93e0 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -174,4 +174,13 @@
* @return
*/
List<CodeClassify> selectAllClassifyByOid(@Param("oid") String oid,@Param("fieldInPath")String fieldInPath,@Param("tenantId") String tenantId);
+
+ /**
+ * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id
+ * @param topOid
+ * @param currentOid
+ * @return
+ */
+ List<CodeClassify> selectLeafByParentClassifyOid(@Param("topOid") String topOid,@Param("currentOid")String currentOid);
+
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
index 01d750c..54cc68f 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -11,6 +11,7 @@
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.DataGrid;import com.vci.ubcs.starter.web.pagemodel.Tree;
+import org.apache.ibatis.annotations.Param;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
import java.io.File;
@@ -296,4 +297,12 @@
*/
List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath);
+ /**
+ * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id
+ * @param topOid
+ * @param currentOid
+ * @return
+ */
+ String selectLeafByParentClassifyOid(String topOid, String currentOid);
+
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 1f2aa7f..ae01ddd 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -662,6 +662,22 @@
}
+ /**
+ * 鏍规嵁椤跺眰鑺傜偣oid鏌ヨ鎵�鏈夐櫎褰撳墠鑺傜偣浠ュ鎵�鏈変笉鍙備笌鏍¢獙鐨勫垎绫籵id
+ * @param topOid
+ * @param currentOid
+ * @return
+ */
+ @Override
+ public String selectLeafByParentClassifyOid(String topOid, String currentOid) {
+ List<CodeClassify> codeClassifies = codeClassifyMapper.selectLeafByParentClassifyOid(topOid, currentOid);
+ if(codeClassifies.isEmpty()){
+ return "";
+ }
+ String oids = codeClassifies.stream().map(CodeClassify::getOid).collect(Collectors.joining(","));
+ return oids;
+ }
+
/***
* 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅
* @param desc
@@ -1373,4 +1389,6 @@
return codeClassifyMapper.selectCount(wrapper).intValue();
}
+
+
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index b9b6cd4..4935984 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -3819,7 +3819,9 @@
//2.鍒ゆ柇鍏抽敭灞炴�у湪绯荤粺閲屾槸鍚﹂噸澶�
//鍥犱负鏁版嵁閲忓緢澶э紝鎵�浠ュ緱鎯冲姙娉曞苟琛�
//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
- Map<String,List<BaseModel>> indexTODataMap=new HashMap<>();
+ Map<String,List<BaseModel>> indexTODataMap=new ConcurrentHashMap<>();
+ // 鏌ヨ涓嶉渶瑕佸弬涓庡叧閿睘鎬ф牎楠岀殑闄よ嚜宸变互澶栫殑鎵�鏈夊垎绫籵id
+ String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid());
List<ClientBusinessObject> repeatDataMap = cboList.parallelStream().filter(cbo -> {
//姣忚閮藉緱鏌ヨ.濡傛灉鍏朵腑鍑虹幇浜嗛敊璇紝鎴戜滑灏辩洿鎺ユ姏鍑哄紓甯革紝鍏朵綑鐨勬樉绀�
//VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
@@ -3832,9 +3834,11 @@
value= value.replace(REQUIRED_CHAR,SPECIAL_CHAR);
engineService.wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap);
});
- // 娣诲姞鏄惁鍙備笌鍏抽敭灞炴�ф牎楠屾潯浠�
- conditionMap.put("t.isparticipatecheck","1");
if (!CollectionUtils.isEmpty(ketAttrMap)) {
+ // 娣诲姞涓嶅弬涓庡叧閿睘鎬ф牎楠岀殑鍒嗙被oid鍒ゆ柇
+ if(Func.isNotBlank(isParticipateCheckOids)){
+ conditionMap.put("t.codeclsfid",QueryOptionConstant.NOTIN+isParticipateCheckOids);
+ }
CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), templateVO, conditionMap, null);
boolean isKeyCheck= commonsMapper.queryCountBySql(sqlBO.getSqlCount()) > 0;
if(isKeyCheck){
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index afa5b73..dd22b32 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -113,7 +113,6 @@
order by lastmodifytime asc
</select>
- <!--codeclassify0.parentCodeClassifyOid = '${oid}'-->
<select id="selectAllLevelChildHasPath" resultMap="plCodeClassifyResultMap">
select codeclassify0.OWNER as owner,
codeclassify0.BTMTYPEID as btmtypeid,
@@ -585,4 +584,28 @@
connect by p.oid = prior p.PARENTCODECLASSIFYOID
</select>
+ <select id="selectLeafByParentClassifyOid" resultType="com.vci.ubcs.code.entity.CodeClassify">
+ select *
+ from (
+ select
+ oid,
+ name,
+ id,
+ level lvl,
+ isparticipatecheck,
+ nvl((select 'N'
+ from PL_CODE_CLASSIFY pcc1
+ where pcc.oid = pcc1.PARENTCODECLASSIFYOID
+ and rownum < 2),'Y') is_leaf
+ from PL_CODE_CLASSIFY pcc
+ start with pcc.PARENTCODECLASSIFYOID = #{topOid}
+ connect by pcc.PARENTCODECLASSIFYOID = prior oid
+ ) plcls
+ where
+ is_leaf = 'Y'
+ and isparticipatecheck = 0
+ and oid != #{currentOid}
+ </select>
+
+
</mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
index 5b01b14..e06b155 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
@@ -74,7 +74,7 @@
@Override
public List<MenuVO> lazyList(Long parentId, Map<String, Object> param) {
- int i = 1 / 0;
+ //int i = 1 / 0;
if (Func.isEmpty(Func.toStr(param.get(PARENT_ID)))) {
parentId = null;
}
--
Gitblit v1.9.3