From e9ae27404803d0616e06ed21027408a71b4bc19c Mon Sep 17 00:00:00 2001
From: ludc <ludc@vci-tech.com>
Date: 星期三, 05 三月 2025 17:34:02 +0800
Subject: [PATCH] 集成申码接口调整:当码值按照约定传表名为空的业务场景下传null校验问题和码值组装问题。
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 17 ++++++++++++++---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 8 +++++---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 5 +++--
3 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
index 9ac4e31..3b4964e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -38,6 +38,7 @@
import com.vci.ubcs.code.vo.webserviceModel.attrmap.*;
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
import com.vci.ubcs.code.webService.config.AttributeMapConfig;
+import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
@@ -543,9 +544,10 @@
SectionVOList.stream().forEach(SectionVO -> {
sectionVOMap.put(SectionVO.getName(), SectionVO.getValue());
});
- //Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2));
List<CodeOrderSecDTO> codeOrderSecDTOList = new ArrayList<>();
Map<String, String> errorMap = new HashMap<>();
+ String nullSymbol = EnumCache.getValue("nullSymbol", "NULL");
+ nullSymbol = Func.isBlank(nullSymbol) ? "#NaN?":nullSymbol;
for (CodeBasicSecVO codeBasicSecVO : codeBasicSecVOS) {
String sectype = codeBasicSecVO.getSecType();
String newSecName = codeBasicSecVO.getName();
@@ -568,7 +570,7 @@
if (!CollectionUtils.isEmpty(codeClassifyValueDOList)) {
Map<String, CodeClassifyValue> codeClassifyValueDOMap = codeClassifyValueDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t, (o1, o2) -> o2));
- if (codeClassifyValueDOMap.containsKey(sectypeValue)) {
+ if (codeClassifyValueDOMap.containsKey(sectypeValue) || nullSymbol.equals(sectypeValue)) {
CodeClassifyValue codeClassifyValue = codeClassifyValueDOMap.get(sectypeValue);
sectypeValue = codeClassifyValue.getOid();
} else {
@@ -578,7 +580,7 @@
}
}
}
- if (StringUtils.isBlank(sectypeValue)) {
+ if (StringUtils.isBlank(sectypeValue)&&!name.equals(secName)) {
message = "浼犲叆鐨勫垎绫荤爜娈碉細銆�" + name + " 銆戠殑鍊间笉鍏佽涓虹┖";
errorMap.put("error", errorMap.getOrDefault("error", "") + ";" + message);
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
index c7a95e2..9cb5431 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -822,7 +822,8 @@
case CODE_CLASSIFY_SEC:
//鍒嗙被鐮佹鐨勶紝涔熸槸浠庡墠绔�夋嫨浜嗙爜鍊煎嵆鍙紝涓嶈鐮佸�肩殑闀垮害鏄灏�
CodeClassifyValue codeClassifyValueDO= codeClassifyValueMapper.selectById(secValue);
- if(Func.isBlank(codeClassifyValueDO.getId())){
+ //褰撶爜鍊间负绌烘垨#NaN?鏃跺嵆琛ㄧず浣滀负绌哄瓧绗︿覆杩涜鎷兼帴
+ if(Func.isBlank(codeClassifyValueDO.getId()) || codeClassifyValueDO.getId().equals("#NaN?")){
codeClassifyValueDO.setId("");
}
if(codeClassifyValueDO!=null) {
@@ -1329,7 +1330,7 @@
case CODE_CLASSIFY_SEC:
//鍒嗙被鐮佹鐨勶紝涔熸槸浠庡墠绔�夋嫨浜嗙爜鍊煎嵆鍙紝涓嶈鐮佸�肩殑闀垮害鏄灏�
CodeClassifyValue codeClassifyValueDO= codeClassifyValueMapper.selectById(secValue);
- if(Func.isBlank(codeClassifyValueDO.getId())){
+ if(Func.isBlank(codeClassifyValueDO.getId()) || codeClassifyValueDO.getId().equals("#NaN?")){
codeClassifyValueDO.setId("");
}
if(codeClassifyValueDO!=null) {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 0996090..3c11372 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -38,7 +38,10 @@
import com.vci.ubcs.code.webService.annotation.VciWebservice;
import com.vci.ubcs.code.webService.config.AttributeMapConfig;
import com.vci.ubcs.code.webService.config.PersonAndDeptConfig;
+import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
+import com.vci.ubcs.omd.feign.IDictClient;
+import com.vci.ubcs.omd.feign.IEnumClient;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
@@ -2423,8 +2426,13 @@
return codeOrderSecDTOList;
}
- /***
+ /**
* 鏍规嵁浼犲叆鐨勫弬鏁颁俊鎭牎楠岀爜娈佃鍒�
+ * @param SectionVOList
+ * @param ruleVO
+ * @param classifyFullInfo
+ * @return
+ * @throws Throwable
*/
private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOs(List<SectionVO> SectionVOList,CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo) throws Throwable{
List<CodeBasicSecVO> codeBasicSecVOS= ruleVO.getSecVOList();
@@ -2440,6 +2448,9 @@
// String newSecName=codeBasicSecVO.getName();
String classifySecOid= codeBasicSecVO.getOid();
String message="";
+ //#NaN?琛ㄧず鐮佸�间负绌虹殑鍦烘櫙
+ String nullSymbol = EnumCache.getValue("nullSymbol", "NULL");
+ nullSymbol = Func.isBlank(nullSymbol) ? "#NaN?":nullSymbol;
if (!sectype.equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())) {
String name = codeBasicSecVO.getName();
String sectypeText = codeBasicSecVO.getSecTypeText();
@@ -2456,8 +2467,8 @@
List<CodeClassifyValue> codeClassifyValueDOList = codeClassifyValueService.list(Wrappers.<CodeClassifyValue>query().lambda().eq(CodeClassifyValue::getCodeClassifySecOid,classifySecOid));
if (!CollectionUtils.isEmpty(codeClassifyValueDOList)) {
Map<String, CodeClassifyValue> codeClassifyValueDOMap = codeClassifyValueDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t, (o1, o2) -> o2));
- if(codeClassifyValueDOMap.containsKey(sectypeValue)){
- CodeClassifyValue codeClassifyValue= codeClassifyValueDOMap.get(sectypeValue);
+ if(codeClassifyValueDOMap.containsKey(sectypeValue) || nullSymbol.equals(sectypeValue)){
+ CodeClassifyValue codeClassifyValue = codeClassifyValueDOMap.get(sectypeValue);
sectypeValue=codeClassifyValue.getOid();
}else {
//throw new Throwable("浼犲叆鐨勫垎绫荤爜娈碉細銆�" + name + " 鍊硷細" + sectypeValue + "銆戯紝涓嶇鍚堝綋鍓嶅垎绫诲眰绾т唬鍙�");
--
Gitblit v1.9.3