From f5b7cec75d47c5eedf96a1d10043bf7c51b849a1 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 16 十一月 2023 15:09:10 +0800
Subject: [PATCH] 属性码段-联动效果
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java | 38 ++++++++++++++++++++++++++++++--------
1 files changed, 30 insertions(+), 8 deletions(-)
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 c87d39e..062e7ef 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
@@ -528,14 +528,14 @@
lcStatus = treeQueryObject.getConditionMap().getOrDefault("lcStatus",null);
}
if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){
- String tableName = VciBaseUtil.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),true);
+ //String tableName = this.getTableName(treeQueryObject.getConditionMap().get("btmTypeId"),treeQueryObject.getConditionMap().get("id"), treeQueryObject.getConditionMap().get("lcStatus"));
doList = codeClassifyMapper
.selectCodeClassifyDOByTree(
treeQueryObject.getConditionMap().get("id"),
treeQueryObject.getConditionMap().get("lcStatus"),
treeQueryObject.getParentOid(),
- VciBaseUtil.checkAdminTenant() ? null:AuthUtil.getTenantId(),
- tableName
+ VciBaseUtil.checkAdminTenant() ? null:AuthUtil.getTenantId()
+ /*tableName*/
);
}else{
// 鍙鍓嶇浼氫紶鍙傛暟杩囨潵灏变笉浼氬嚭鐜拌蛋杩欏彞鐨勬儏鍐碉紝鎵�浠ユ煡璇㈡�绘暟娌″湪杩欏効娣诲姞
@@ -564,6 +564,28 @@
}
}
return tree;
+ }
+
+ /**
+ * 鍒嗙被鍔犺浇鏃惰幏鍙栦笟鍔$被鍨媔d锛屾嫾鎺ヤ笟鍔$被鍨嬭〃鍚�
+ * @return
+ */
+ private String getTableName(String btmTypeId,String id,String lcStatus){
+ if(Func.isNotEmpty(btmTypeId)){
+ return VciBaseUtil.getTableName(btmTypeId,true);
+ }
+ LambdaQueryWrapper<CodeClassify> wrapper = Wrappers.<CodeClassify>query()
+ .lambda().select(CodeClassify::getBtmTypeId)
+ .eq(CodeClassify::getLcStatus, lcStatus)
+ .isNotNull(CodeClassify::getBtmTypeId)
+ .last("limit 1")
+ .eq(CodeClassify::getId,id).isNull(CodeClassify::getParentCodeClassifyOid);
+
+ CodeClassify codeClassify = codeClassifyMapper.selectOne(wrapper);
+ if(Func.isEmpty(codeClassify) || Func.isEmpty(codeClassify.getBtmTypeId())){
+ throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栧埌涓氬姟绫诲瀷ID锛�");
+ }
+ return VciBaseUtil.getTableName(codeClassify.getBtmTypeId(),true);
}
/**
@@ -617,12 +639,13 @@
* @param oid
* @return
*/
- public List<CodeClassifyVO> selectAllClassifyByOid(String oid){
- List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId());
+ public List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath){
+ List<CodeClassify> codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId(),fieldInPath);
List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList);
return voList;
}
+
/***
* 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅
* @param desc
@@ -785,9 +808,8 @@
@Override
public List<CodeClassifyVO> listChildrenClassify(String codeClassifyOid, boolean allLevel, String fieldInPath, boolean enable) {
if(allLevel){
- List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath);
+ List<CodeClassify> classifyDOS = codeClassifyMapper.selectAllLevelChildHasPath(codeClassifyOid,fieldInPath,AuthUtil.getTenantId());
if(!CollectionUtils.isEmpty(classifyDOS)){
- // 杩欏効鐢╯tream鏈夌偣鎱�
classifyDOS = classifyDOS.parallelStream().filter(s->FRAMEWORK_DATA_ENABLED.equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList());
}
return codeClassifyDO2VOs(classifyDOS);
@@ -906,7 +928,7 @@
Map<String/**璺緞**/,String/**涓婚敭**/> oidPathMap = new HashMap<>();
//鎴戜滑闇�瑕佹煡璇㈡墍鏈夊凡缁忓瓨鍦ㄧ殑鍒嗙被锛屼富瑕佹槸璺緞锛岀敤鏉ュ垽鏂垎绫荤殑鏁版嵁
- List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null);
+ List<CodeClassify> existClassifyDOs = codeClassifyMapper.selectAllLevelChildHasPath("",null,AuthUtil.getTenantId());
Map<String/**璺緞**/, CodeClassify/**宸茬粡瀛樺湪鐨勬暟鎹�**/> pathDOMap = Optional.ofNullable(existClassifyDOs).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> {
String path = s.getPath();
if(StringUtils.isNotBlank(path) && path.startsWith("#")){
--
Gitblit v1.9.3