From 80d1b1a99b268ad7732e0fba76fed7a3dce59cc2 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 08 十一月 2023 11:11:44 +0800
Subject: [PATCH] 主题库树刷新
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 38 +++++++++++++++++++++++++++++++++-----
1 files changed, 33 insertions(+), 5 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 8ea07b6..a0cc22d 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
@@ -32,6 +32,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -125,7 +126,7 @@
start += VciBaseUtil.getInt(secLengths[j]);
}
thisSecValue = code.substring(start,start+VciBaseUtil.getInt(secLengths[i]));
- // }
+ // }
if(VciBaseUtil.getBoolean(secVO.getSerialDependFlag())){
serialUnitList.add(thisSecValue);
}
@@ -451,7 +452,8 @@
for (int j = 0; j < thisSecValueList.size(); j++) {
String secValue = thisSecValueList.get(j);
if (secValue.equalsIgnoreCase("${attr_" + attrSevVO.getOid() + "}")) {
- thisSecValueList.set(j, value);
+ // TODO: 灞炴�х爜娈电敓鎴愮爜鍊煎悗锛屾嫾鎺ュ墠鍚庣紑
+ thisSecValueList.set(j, joinPreffixAndSuffix(attrSevVO,value));
}
}
if (attrSevIsSerialDepend) {
@@ -535,7 +537,8 @@
for (int z = 0; z < thisSecValueList.size(); z++) {
String secValue = thisSecValueList.get(z);
if (secValue.equalsIgnoreCase("${" + secVO.getOid() + "}")) {
- thisSecValueList.set(z, serialString);
+ // TODO: 娴佹按鐢熸垚鐮佸�煎悗鎷兼帴鍓嶅悗缂�
+ thisSecValueList.set(z, joinPreffixAndSuffix(secVO, serialString));
}
}
Map<String, Double> unitSerialMap = lastMaxSerialValueMap.getOrDefault(secVO.getOid(), new HashMap<>());
@@ -563,18 +566,19 @@
String secValue = secValueMap.getOrDefault(secVO.getOid(), "");
switch (secType) {
case CODE_FIXED_SEC:
+ secValue = joinPreffixAndSuffix(secVO, secValue);
//鍥哄畾鐮佹鐨勶紝鐩存帴鐢ㄧ爜鍊�,涓嶈鐮佸�肩殑闀垮害鏄灏戯紝鍥犱负鍙彉闀垮害鍜屽浐瀹氶暱搴︽槸鎺у埗鍦ㄧ爜娈电鐞嗛噷闈㈢殑鐮佸�煎畾涔夌殑
break;
case CODE_DATE_SEC:
//鏃堕棿鐮佹锛岄渶瑕佸皢褰撳墠鏃堕棿渚濇嵁鏃堕棿鏍煎紡杩涜杞崲.
//鏃堕棿鐮佹涓嶆秹鍙婂埌鏄惁琛ヤ綅
- secValue = VciDateUtil.date2Str(new Date(), secVO.getCodeDateFormatStr());
+ secValue =joinPreffixAndSuffix(secVO, VciDateUtil.date2Str(new Date(), secVO.getCodeDateFormatStr()));
break;
case CODE_CLASSIFY_SEC:
//鍒嗙被鐮佹鐨勶紝涔熸槸浠庡墠绔�夋嫨浜嗙爜鍊煎嵆鍙紝涓嶈鐮佸�肩殑闀垮害鏄灏�
CodeClassifyValue codeClassifyValueDO= codeClassifyValueMapper.selectById(secValue);
if(codeClassifyValueDO!=null) {
- secValue = codeClassifyValueDO.getId();
+ secValue = joinPreffixAndSuffix(secVO, codeClassifyValueDO.getId());
}
break;
case CODE_LEVEL_SEC:
@@ -627,10 +631,12 @@
secValue = secValue.substring(secValue.length() - secVO.getValueCutLength());
}
}
+ secValue = joinPreffixAndSuffix(secVO,secValue);
break;
case CODE_REFER_SEC:
//寮曠敤鐨勫湪椤甸潰涓婂凡缁忛�夋嫨浜嗭紝鎵�浠ョ洿鎺ヤ娇鐢ㄥ墠绔笂浼犻�掔殑鍊�
//寮曠敤灏辨槸鍙傜収锛屽彲鑳芥槸鍏朵粬鐨勫垎绫伙紙涓氬姟绫诲瀷锛変笅鐨勬暟鎹紝鎵�浠ュ彧鍦ㄩ〉闈笂閫夋嫨
+ secValue = joinPreffixAndSuffix(secVO,secValue);
break;
case CODE_ATTR_SEC:
//灞炴�т笌寮曠敤鐨勫尯鍒槸锛屽睘鎬ф槸褰撳墠鏁版嵁閲岀殑灞炴�э紝鑰屽紩鐢ㄥ彲鑳芥槸寮曠敤鍏朵粬鐨勫垎绫荤殑锛堜笟鍔$被鍨嬶級
@@ -645,6 +651,7 @@
}
OsCodeFillTypeEnum fillTypeEnum = OsCodeFillTypeEnum.forValue(secVO.getCodeFillType());
secValue = fillString(VciBaseUtil.getInt(secVO.getCodeSecLength()), fillTypeEnum, secValue, secVO.getCodeFillSeparator());
+ secValue = joinPreffixAndSuffix(secVO,secValue);
break;
case CODE_SERIAL_SEC:
//娴佹按鐮佹
@@ -660,6 +667,27 @@
}
/**
+ * 鎷兼帴鍓嶅悗缂�
+ * @param secVO
+ * @param secValue
+ * @return
+ */
+ private String joinPreffixAndSuffix(CodeBasicSecVO secVO, String secValue){
+ StringBuilder joinSecValue = new StringBuilder();
+ // 鎷兼帴鍓嶇紑
+ if (Func.isNotEmpty(secVO.getPrefixCode())) {
+ joinSecValue = joinSecValue.append(secVO.getPrefixCode());
+ }
+ // 鍦ㄤ腑闂存嫾鎺ュ��
+ joinSecValue.append(secValue);
+ // 鎷兼帴鍚庣紑
+ if(Func.isNotEmpty(secVO.getSuffixCode())){
+ joinSecValue = joinSecValue.append(secVO.getSuffixCode());
+ }
+ return joinSecValue.toString();
+ }
+
+ /**
* 琛ヤ綅
* @param totalLength 鎬婚暱搴�
* @param fillTypeEnum 琛ヤ綅鏂瑰紡
--
Gitblit v1.9.3