From 9cead0735df7fd763f536408f76dec4e5e5bb2c7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 08 十一月 2023 12:39:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 27 +++++++++++++++++++++++----
1 files changed, 23 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 81be733..a5058b7 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
@@ -126,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);
}
@@ -141,13 +141,15 @@
//瑕佺湅鏄笉鏄ˉ浣嶇殑
CodeBasicSecVO secVO = secVOMap.get(secOid);
Double serialDb = null;
+ // 鎴彇鎺夊墠鍚庣紑涔嬪悗鐨勭爜娈�
+ String subSecValue = killPriffixSuffix(secValue, secVO.getPrefixCode(), secVO.getSuffixCode());
if(OsCodeFillTypeEnum.NONE.getValue().equalsIgnoreCase(secVO.getCodeFillType())){
//涓嶈ˉ鐮�
//鎶婃墍鏈変笉鏄暟瀛楃殑鍘绘帀锛屽洜涓哄彲鑳戒細鏄�佹暟鎹紝鏂拌鍒�
- serialDb = VciBaseUtil.getDouble(killUnNumberChar(secValue));
+ serialDb = VciBaseUtil.getDouble(killUnNumberChar(subSecValue));
}else {
//宸﹀彸濉厖鐨勶紝鎴戜滑闇�瑕�
- serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(secValue,secVO.getCodeFillSeparator(),
+ serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(subSecValue,secVO.getCodeFillSeparator(),
OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()))));
}
Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>());
@@ -461,7 +463,7 @@
for (int j = 0; j < serialUnitList.size(); j++) {
String secValue = serialUnitList.get(j);
if (secValue.equalsIgnoreCase("${attr_" + attrSevVO.getOid() + "}")) {
- serialUnitList.set(j, value);
+ serialUnitList.set(j, joinPreffixAndSuffix(attrSevVO,value));
}
}
}
@@ -805,6 +807,23 @@
}
/**
+ * 鍘绘帀鍓嶅悗缂�
+ * @param secValue 瀛楃
+ * @param priffix 鍓嶇紑
+ * @param suffix 鍚庣紑
+ * @return 鏇挎崲鍚庣殑鍊�
+ */
+ private String killPriffixSuffix(String secValue, String priffix,String suffix){
+ if (priffix != null && secValue.startsWith(priffix)) {
+ secValue = secValue.substring(priffix.length());
+ }
+ if (suffix != null && secValue.endsWith(suffix)) {
+ secValue = secValue.substring(0, secValue.length() - suffix.length());
+ }
+ return secValue;
+ }
+
+ /**
* 鍘婚櫎琛ヤ綅瀛楃
* @param s 瀛楃
* @param fillString 琛ヤ綅瀛楃
--
Gitblit v1.9.3