From 6af6557a8d8a525ec3cab33607b8a041ef0968fa Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 08 十一月 2023 11:15:31 +0800
Subject: [PATCH] 历史导入生成编码时添加前后缀代码逻辑添加;历史导入模板下载时查询模板返回的key不区分大小写。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java                    |    1 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java           |    2 +-
 Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue                                               |    2 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java            |    5 +++--
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java  |   25 ++++++++++++++++++++++---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java    |    2 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java |    7 +++++--
 7 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue b/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue
index 14c0691..2f380b6 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/formulaEditor.vue
@@ -339,7 +339,7 @@
   </el-dialog>
 </template>
 
-  <script>
+<script>
 export default {
   name: "formulaEditor",
   props: {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
index eeaf5e7..1b0a786 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -53,14 +53,15 @@
 	 * @param codeClassifyEntity 涓婚搴撳垎绫绘暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉
 	 */
-	R addSave(CodeClassify codeClassifyEntity)  ;
+	R addSave(CodeClassify codeClassifyEntity);
 
 	/**
 	 * 淇敼涓婚搴撳垎绫�
 	 * @param codeClassifyEntity 涓婚搴撳垎绫绘暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉
 	 */
-	R editSave(CodeClassify codeClassifyEntity) ;
+	R editSave(CodeClassify codeClassifyEntity);
+
 	/**
 	 * 妫�鏌� 涓婚搴撳垎绫绘槸鍚﹀垹闄�
 	 * @param codeClassify 涓婚搴撳垎绫绘暟鎹紶杈撳璞★紝蹇呴』瑕佹湁oid鍜宼s灞炴��
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
index da2484e..e1332d8 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -59,6 +59,7 @@
 	 * @return 鏈夐敊璇俊鎭殑excel
 	 */
 	CodeImProtRusultVO batchImportHistoryData(String codeClassifyOid,String classifyAttr, File file) throws Throwable;
+
 	/***
 	 * 浠巖edis缂撳瓨閲岃幏鍙栧埌瀵煎叆鐨勬暟鎹�
 	 * @param codeClassifyOid
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index c41aada..ddb400b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -583,7 +583,7 @@
 		}
 		CodeClassify codeClassify = codeClassifyMapper.selectOne(wrapper);
 		if(Func.isEmpty(codeClassify) || Func.isEmpty(codeClassify.getBtmTypeId())){
-			throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栦笟鍔$被鍨婭D锛�");
+			throw new ServiceException("鏌ヨ涓绘暟鎹�绘暟鏃讹紝鏈幏鍙栧埌涓氬姟绫诲瀷ID锛�");
 		}
 		return VciBaseUtil.getTableName(codeClassify.getBtmTypeId(),true);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
index a33819e..61d3037 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -1069,13 +1069,16 @@
 //		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap =baseMapper
 //			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
 //				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
-		List<Map<String,String>> childHasTemplateList =baseMapper
+		List<Map<String,String>> childHasTemplateList = baseMapper
 			.selectChildHasReleaseTemplate(FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED,
 				codeClassifyOid,CodeClassifyTemplateLC.RELEASED.getValue());
 		Map<String/**妯℃澘鐨勪富閿�**/,String/**鍒嗙被鐨勪富閿�**/> childHasTemplateMap = new HashMap<>();
 		if(!CollectionUtils.isEmpty(childHasTemplateList)){
 			childHasTemplateList.stream().forEach(cbo->{
-				childHasTemplateMap.put(cbo.get("OID"),cbo.get("CLSOID"));
+				// 鏈夋椂鍊欐煡璇㈠嚭鏉ョ殑key鏄ぇ鍐欙紝鏈夋椂鍊欐槸灏忓啓鐨刱ey
+				String oid = Func.isEmpty(cbo.get("OID")) ? cbo.get("oid"):cbo.get("OID");
+				String clsoid = Func.isEmpty(cbo.get("CLSOID")) ? cbo.get("clsoid") : cbo.get("CLSOID");
+				childHasTemplateMap.put(oid,clsoid);
 			});
 		}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index 740c149..28ca14e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2947,7 +2947,7 @@
 						for (int j = 0; j < ruleVO.getSecVOList().size(); j++) {
 							CodeBasicSecVO secVO = ruleVO.getSecVOList().get(j);
 							String length= secValues[j];
-							if(StringUtils.isNotBlank(secVO.getCodeSecLength())&&VciBaseUtil.getInt(length)>VciBaseUtil.getInt(secVO.getCodeSecLength())){
+							if(StringUtils.isNotBlank(secVO.getCodeSecLength())&&VciBaseUtil.getInt(length)>(VciBaseUtil.getInt(secVO.getCodeSecLength())+((secVO.getPrefixCode()+secVO.getSuffixCode()).length()))){
 								errorMap.put(rowIndex,errorMap.getOrDefault(rowIndex,"") + ";鐮佹瀹藉害涓庣郴缁熶腑鐨勭紪鐮佽鍒欎笉鍚�" );
 								fined = true;
 								break;
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 a0cc22d..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
@@ -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