From c1061b1af1ce0a226795cae3e94f4d6fc1363628 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 07 十二月 2023 21:25:13 +0800
Subject: [PATCH] 分类码段 bug
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
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 24bdc0c..a770015 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
@@ -928,7 +928,7 @@
* @param secValue 鐮佸��
* @return
*/
- private String joinPreffixAndSuffix(CodeBasicSecVO secVO, String secValue){
+ public String joinPreffixAndSuffix(CodeBasicSecVO secVO, String secValue){
StringBuilder joinSecValue = new StringBuilder();
// 鎷兼帴鍓嶇紑
if (Func.isNotEmpty(secVO.getPrefixCode()) && Func.isNotEmpty(secValue)) {
@@ -1191,10 +1191,12 @@
switchSecValueBZ(secVO, secValueMap, classifyFullInfoBO, serialSecVOList, attrSecVOList, serialUnitList, secValueList);
//鍒嗘瀛樺偍娴佹按渚濊禆
if(secVO.getSecType().equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())){
+ int finalI = i;
+ final int[] index = {0};
List<String> newSerialUnitList= serialUnitList.stream().filter(secValueStr -> {
- return !secValueStr.equals("${"+secVO.getOid()+"}");
+ return index[0]++< finalI;//闄ゅ幓娴佹按鐨�
}).collect(Collectors.toList());
- String serialUnitString = serialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : newSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE));
+ String serialUnitString = newSerialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : newSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE));
secOdserialUnitMap.put(secVO.getOid(),serialUnitString);
}
}
@@ -1231,7 +1233,7 @@
AtomicReference<String> serialUnitString= new AtomicReference<>("");
for (int j = 0; j < serialSecVOList.size(); j++) {
CodeBasicSecVO secVO = serialSecVOList.get(j);
- if(lastMaxSerialValueMap.containsKey(secVO.getOid())){
+ if(lastMaxSerialValueMap.containsKey(secVO.getOid())){//姝や负鏈�鍚庨渶瑕佸瓨鍏ユ祦姘翠緷璧栫殑鏈�澶ф祦姘�
Map<String/**娴佹按渚濇嵁**/, String> serialValueMap= lastMaxSerialValueMap.get(secVO.getOid());
serialValueMap.forEach((maxSerialUnitString,serialValue)->{
if(StringUtils.isNotBlank(serialValue)){
@@ -1239,6 +1241,11 @@
sb.append(serialValue).append(SERIAL_VALUE_SPACE);
}
});
+ }else{
+ if(secValueMap.containsKey(secVO.getOid())) {//浼佷笟鏍囧噯澶勭悊淇椤哄簭鍙峰凡缁忓瓨鍦ㄧ殑鏁版嵁鍒欎笉闇�瑕佸姩娴佹按渚濊禆琛ㄧ殑鏁版嵁
+ serialUnitString.set(secOdserialUnitMap.get(secVO.getOid()));
+ sb.append(secValueMap.get(secVO.getOid())).append(SERIAL_VALUE_SPACE);
+ }
}
}
String codeDelimiter=thisSecValueList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE));
--
Gitblit v1.9.3