From 3923ee1ff5c54a398a4b89731692e7fa28be7d0d Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 30 八月 2023 14:40:10 +0800
Subject: [PATCH] 主数据菜单查询错误信息
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index fa3b3a3..35949f6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -36,6 +36,7 @@
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.util.UBCSSqlKeyword;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
import com.vci.ubcs.starter.web.constant.RegExpConstant;
@@ -665,7 +666,11 @@
}
final String[] sql = {"select count(*) from " + listR.getData().get(0).getTableName() + " t where 1 = 1 "};
conditionMap.forEach((key, value) -> {
- sql[0] += " and " + key + " = " + value;
+ if(StringUtils.isBlank(value)||value.equals(QueryOptionConstant.ISNULL)) {
+ sql[0] += " and " + key + " is null";
+ }else{
+ sql[0] += " and " + key + " = " + value;
+ }
});
if (StringUtils.isNotBlank(orderDTO.getOid())) {
//淇敼鐨勬椂鍊欙紝闇�瑕佹帓闄よ嚜宸�
@@ -685,6 +690,7 @@
/**
* 鏍¢獙鍏抽敭灞炴��
+ *
* @param orderDTO 缂栫爜鐢宠鐨勭浉鍏崇殑淇℃伅
*/
@Override
@@ -762,7 +768,7 @@
boolean ignoreSpace = trim || trimAll;
if (StringUtils.isBlank(value)) {
//涓虹┖鐨勬椂鍊欙紝涓嶈兘鐢≦ueryOperation.ISNULL锛屽钩鍙颁笉鐭ラ亾鍟ユ椂鍊欎笉澶勭悊杩欑浜�
- conditionMap.put("t." + attrId, "null");
+ conditionMap.put("t." + attrId, QueryOptionConstant.ISNULL);
} else {
if (keyRuleVO != null) {
String queryKey = "";
@@ -798,8 +804,12 @@
queryValue = String.format(temp, "'" + (trim ? value.trim() : value) + "'");
conditionMap.put(queryKey, queryValue);
} else {
- //涓虹┖鐨勬椂鍊欎笉浠h〃涓嶆牎楠岋紝鍙槸涓嶅幓闄ょ浉鍏崇殑淇℃伅
- conditionMap.put("t." + attrId, "'" +value+ "'");
+ if(StringUtils.isNotBlank(value)) {
+ //涓虹┖鐨勬椂鍊欎笉浠h〃涓嶆牎楠岋紝鍙槸涓嶅幓闄ょ浉鍏崇殑淇℃伅
+ conditionMap.put("t." + attrId, "'" + value + "'");
+ }else{
+ conditionMap.put("t." + attrId, QueryOptionConstant.ISNULL);
+ }
}
}
}
@@ -2458,10 +2468,12 @@
conditionMap.put("t." + CODE_CLASSIFY_OID_FIELD, codeClassifyOid);
} else {
// conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY)
-
+ List<BtmTypeVO> classifyData = btmTypeClient.selectByIdCollection(Collections.singletonList(MdmBtmTypeConstant.CODE_CLASSIFY)).getData();
+ if(Func.isEmpty(classifyData)){
+ throw new ServiceException("涓氬姟绫诲瀷閰嶇疆涓嶄竴鑷达紝璇蜂慨鏀硅嫳鏂囧悕绉颁负"+MdmBtmTypeConstant.CODE_CLASSIFY);
+ }
conditionMap.put("t." + CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " +
- btmTypeClient.selectByIdCollection(Collections.singletonList("classify"))
- .getData().get(0).getTableName() + " where lcstatus='" + FrameWorkDefaultValueConstant
+ classifyData.get(0).getTableName() + " where lcstatus='" + FrameWorkDefaultValueConstant
.FRAMEWORK_DATA_ENABLED + "' start with parentCodeClassifyOid = '" + codeClassifyOid +
"' CONNECT BY PRIOR OID = parentCodeClassifyOid )");
}
@@ -2727,7 +2739,7 @@
CodeClassifyFullInfoBO fullInfo = classifyService.getClassifyFullInfo(codeClassifyOid);
return getCodeRuleByClassifyFullInfo(fullInfo);
}
- //鎴戜滑鏌ヨ缂栫爜瑙勫垯
+ //鏌ヨ缂栫爜瑙勫垯
return ruleService.getObjectHasSecByOid(codeRuleOid);
}
--
Gitblit v1.9.3