From ac8e8998235f247365280d1a1632115c43b10037 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 17 十一月 2023 02:24:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml | 1
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialEnum.java | 162 ++++++++++++++++++
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSerialAlgorithmVO.java | 14 +
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 11
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue | 1
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeCustomSerialDTO.java | 33 +++
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeBasicSecDTO.java | 5
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java | 40 ++-
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialAlgorithmExample.java | 5
Source/UBCS-WEB/src/components/FormTemplate/index.vue | 4
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 19 +
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java | 1
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue | 12
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/annotation/MdmSerialAlgorithm.java | 2
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeBasicSecVO.java | 5
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 166 ++++++++++++++----
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java | 4
17 files changed, 408 insertions(+), 77 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index f6a23b6..fb3a61b 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -320,14 +320,16 @@
},
getFormData(form) {
this.form = form;
+ //灞炴�х爜娈佃祴鍊�
if (this.attrList) {
this.attrList.forEach(item => {
if (this.form.hasOwnProperty(item.referAttributeId)) {
- this.codeApplyForm[item.oid] = this.form[item.referAttributeId] ;
+ this.codeApplyForm[item.oid] = this.form[item.referAttributeId];
}
})
}
},
+ //灞炴�х爜娈佃祴鍊�
attrListForm(attrListForm){
this.attrList=attrListForm;
},
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue
index 5e5bcce..f21526d 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue
@@ -399,7 +399,6 @@
activeColor: "#13ce66",
inactiveColor: "#ff4949",
labelWidth:160,
- value:1,
dicData: [{
label: '鍚�',
value: 0
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 2aa34be..69351e6 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -867,7 +867,7 @@
methods: {
// switch
switchChange(){
- this.TreeAddform.isParticipateCheck = this.TreeAddform.codeKeyAttrValue ? 1 : 0;
+ this.TreeAddform.isParticipateCheck = this.TreeAddform.codeKeyAttrValue === true ? 1 : 0;
// console.log(this.TreeAddform.isParticipateCheck)
},
//瀛樺偍鐨勪笟鍔$被鍨嬪叧闂�
@@ -1154,10 +1154,14 @@
},
//鏍戣妭鐐瑰彇娑堜簨浠�
TreeEscHandler() {
- this.TreeAddform = {};
- this.TreeAddFormVisible = false;
+ for (let key in this.TreeAddform) {
+ if (key !== 'codeKeyAttrValue' && key !== 'isParticipateCheck') {
+ this.TreeAddform[key] = "";
+ }
+ }
this.TreeAddform.codeKeyAttrValue = true;
this.TreeAddform.isParticipateCheck = 1;
+ this.TreeAddFormVisible = false;
// 鍏抽棴寮圭獥娓呯┖鏍¢獙
this.$refs.myForm.clearValidate();
},
@@ -1371,7 +1375,7 @@
this.crudOid = ''
}
this.TreeList = res3.data.data;
- if(!this.TreeList.isParticipateCheck){
+ if(this.TreeList.isParticipateCheck === null || this.TreeList.isParticipateCheck === undefined ||this.TreeList.isParticipateCheck === ""){
this.$set(this.TreeList,"isParticipateCheck",1)
return
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeBasicSecDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeBasicSecDTO.java
index 16447a2..ac7e05b 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeBasicSecDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeBasicSecDTO.java
@@ -196,7 +196,10 @@
* 鑷畾涔夌殑娴佹按绠楁硶绫�
*/
private String customCodeSerialClassText;
-
+ /***
+ * 鑷畾涔夋祦姘寸被鍨�
+ */
+ private String customCodeSerialType;
/**
* 鏄惁鑷姩鍖归厤鍒嗙被鍊�
*/
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeCustomSerialDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeCustomSerialDTO.java
new file mode 100644
index 0000000..127eb39
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeCustomSerialDTO.java
@@ -0,0 +1,33 @@
+package com.vci.ubcs.code.dto;
+
+import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
+import com.vci.ubcs.code.entity.CodeBasicSec;
+import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CodeCustomSerialDTO extends BaseModelDTO {
+ //缂栫爜瑙勫垯鐮佹
+ private List<CodeBasicSecVO> codeBasicSecVOList;
+ /***
+ * 缂栫爜瑙勫垯id
+ */
+ private String codeRuleOid;
+ /**
+ * 褰撳墠鏁版嵁娴佹按
+ */
+ private String currentFlowValue;
+ /***
+ * 娴佸け渚濊禆
+ */
+ private String serialUnitString;
+ /***
+ * 褰撳墠娴佹按鐮佹
+ */
+ private CodeBasicSecVO serialCodeCodeBasicSec;
+
+ private BaseModel baseModel;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java
index 3ef8c4f..5c6d886 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java
@@ -243,6 +243,10 @@
*/
private String customCodeSerialClassText;
+ /***
+ * 鑷畾涔夋祦姘寸被鍨�
+ */
+ private String customCodeSerialType;
/**
* 鏄惁鑷姩鍖归厤鍒嗙被鍊�
*/
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeBasicSecVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeBasicSecVO.java
index c506566..c460723 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeBasicSecVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeBasicSecVO.java
@@ -204,6 +204,11 @@
*/
private String customCodeSerialClassText;
+ /***
+ * 鑷畾涔夋祦姘寸被鍨�
+ */
+ private String customCodeSerialType;
+
/**
* 鏄惁鑷姩鍖归厤鍒嗙被鍊�
*/
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSerialAlgorithmVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSerialAlgorithmVO.java
index 959255d..5e3bcb3 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSerialAlgorithmVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSerialAlgorithmVO.java
@@ -8,7 +8,10 @@
* @date 2022-2-17
*/
public class CodeSerialAlgorithmVO extends BaseModel {
-
+ /***
+ *
+ */
+ private String serialType;
/**
* 绠楁硶缂栧彿
*/
@@ -61,8 +64,15 @@
this.description = description;
}
+ public String getSerialType() {
+ return serialType;
+ }
- @Override
+ public void setSerialType(String serialType) {
+ this.serialType = serialType;
+ }
+
+ @Override
public String toString() {
return "CodeSerialAlgorithmVO{" +
"id='" + id + '\'' +
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java
index abe1dfa..96da8d6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomRomanSerialAlgorithmExample.java
@@ -1,34 +1,46 @@
package com.vci.ubcs.code.algorithm;
+import com.alibaba.nacos.common.utils.StringUtils;
import com.vci.ubcs.code.annotation.MdmSerialAlgorithm;
import com.vci.ubcs.code.annotation.MdmSerialAlgorithmMethod;
-import com.vci.ubcs.code.dto.CodeOrderSecDTO;
-import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
-import com.vci.ubcs.starter.revision.model.BaseModel;
+import com.vci.ubcs.code.dto.CodeCustomSerialDTO;
+import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
-
-import java.util.List;
/****
* 鑷畾涔夌綏椹祦姘寸畻娉曡嚜瀹氫箟绫�
*/
-@MdmSerialAlgorithm(text = "鑷畾涔夌綏椹祦姘�",description = "鑷畾涔夌綏椹祦姘寸畻娉�")
+@MdmSerialAlgorithm(text = "鑷畾涔夌綏椹祦姘�",serialType="custom_serial_roman",description = "鑷畾涔夌綏椹祦姘寸畻娉�")
public class CustomRomanSerialAlgorithmExample {
/**
* 鐢熸垚缃楅┈娴佹按鍙风殑鏂规硶
* @return 娴佹按鍙风殑淇℃伅
*/
@MdmSerialAlgorithmMethod
- public String serialGenerate(BaseModel data, CodeRuleVO codeRuleVO, List<CodeOrderSecDTO> secDTOList){
+ public String serialGenerate(CodeCustomSerialDTO codeCustomSerialDTO){
+ //
+ codeCustomSerialDTO.getSerialUnitString();
+ CodeBasicSecVO secVO= codeCustomSerialDTO.getSerialCodeCodeBasicSec();
+ String currentFlowValue=codeCustomSerialDTO.getCurrentFlowValue();
-
-
-
+ Double newThisSerialValue = 0d;
+ if(StringUtils.isBlank(currentFlowValue)){
+ //绗竴涓紪鐮�
+ newThisSerialValue = VciBaseUtil.getDouble(secVO.getSerialStart());
+ }else {
+ //娴佹按鍙疯偗瀹氭槸鏁板瓧
+ //灏嗙綏椹祦姘磋浆涓烘暟瀛楁祦姘�
+ int arabicValue=VciBaseUtil.convertRomanToArabic(currentFlowValue);
+ newThisSerialValue = (double)(arabicValue + secVO.getSerialStep()) ;
+ }
+ //瑕佺湅鏄惁瓒呰繃鏈�澶х殑娴佹按鍊�
+ if (newThisSerialValue >= secVO.getCodeFillLimit()) {
+ throw new VciBaseException("娴佹按鍙峰凡缁忚秴杩囧厑璁哥殑鏈�澶ф祦姘村�納0}", new String[]{secVO.getCodeFillLimit().toString()});
+ }
//灏嗘暟瀛楁祦姘磋浆涓虹綏椹祦姘�
- String romanValue=VciBaseUtil.convertArabicToRoman(5);
- //灏嗙綏椹祦姘磋浆涓烘暟瀛楁祦姘�
- int arabicValue=VciBaseUtil.convertRomanToArabic(romanValue);
- return "";
+ String romanValue=VciBaseUtil.convertArabicToRoman(newThisSerialValue.intValue());
+ return romanValue;
}
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialAlgorithmExample.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialAlgorithmExample.java
index 41b71b8..a77e143 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialAlgorithmExample.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialAlgorithmExample.java
@@ -2,6 +2,7 @@
import com.vci.ubcs.code.annotation.MdmSerialAlgorithm;
import com.vci.ubcs.code.annotation.MdmSerialAlgorithmMethod;
+import com.vci.ubcs.code.dto.CodeCustomSerialDTO;
import com.vci.ubcs.code.dto.CodeOrderSecDTO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.starter.revision.model.BaseModel;
@@ -11,7 +12,7 @@
/**
* 娴佹按绠楁硶鐨勭ず渚�
*/
-@MdmSerialAlgorithm(text = "娴佹按绠楁硶鐨勭ず渚�",description = "璇蜂笉瑕佷娇鐢ㄨ繖涓被锛岃繖涓被鍙槸绀轰緥锛岀敤浜庢煡鐪嬪浣曠紪鍐欐祦姘寸畻娉�")
+@MdmSerialAlgorithm(text = "娴佹按绠楁硶鐨勭ず渚�",serialType="",description = "璇蜂笉瑕佷娇鐢ㄨ繖涓被锛岃繖涓被鍙槸绀轰緥锛岀敤浜庢煡鐪嬪浣曠紪鍐欐祦姘寸畻娉�")
public class CustomSerialAlgorithmExample {
/**
@@ -19,7 +20,7 @@
* @return 娴佹按鍙风殑淇℃伅
*/
@MdmSerialAlgorithmMethod
- public String serialGenerate(BaseModel data, CodeRuleVO codeRuleVO, List<CodeOrderSecDTO> secDTOList){
+ public String serialGenerate(CodeCustomSerialDTO codeCustomSerialDTO){
return "";
}
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialEnum.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialEnum.java
new file mode 100644
index 0000000..efd4997
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/algorithm/CustomSerialEnum.java
@@ -0,0 +1,162 @@
+package com.vci.ubcs.code.algorithm;
+import com.vci.ubcs.starter.annotation.VciEnum;
+import com.vci.ubcs.starter.web.enumpck.BaseEnum;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+
+/***
+ * 鑷畾涔夋祦姘存灇涓�
+ */
+@VciEnum(name ="customSerialEnum",text = "鑷畾涔夋祦姘寸被鍨�",description = "")
+public enum CustomSerialEnum implements BaseEnum {
+
+ /**
+ * 缂栬緫涓�
+ */
+ ROMAN("custom_serial_roman","缃楅┈娴佹按");
+
+ /**
+ * 鏋氫妇鐨勫��
+ */
+ private String value;
+
+ /**
+ * 鏋氫妇鏄剧ず鏂囨湰
+ */
+ private String text;
+
+ /**
+ * 鏋勯�犲嚱鏁�
+ *
+ * @param value 鍊�
+ * @param text 鏄剧ず鏂囨湰
+ */
+ private CustomSerialEnum(String value, String text) {
+ this.value = value;
+ this.text = text;
+ }
+
+ /**
+ * 鑾峰彇鏋氫妇鍊�
+ *
+ * @return 鏋氫妇鍊�
+ */
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * 璁剧疆鏋氫妇鍊�
+ *
+ * @param value 鏋氫妇鍊�
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * 鑾峰彇鏋氫妇鏄剧ず鏂囨湰
+ *
+ * @return 鏄剧ず鏂囨湰
+ */
+ @Override
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * 璁剧疆鏄剧ず鏂囨湰
+ *
+ * @param text 鏄剧ず鏂囨湰
+ */
+ public void setText(String text) {
+ this.text = text;
+ }
+
+
+
+ /**
+ * 鏍规嵁鏋氫妇绫诲瀷鍒ゆ柇搴旇杩斿洖浠�涔堟牱绫诲瀷鐨勬祦姘�
+ * 鏆傛椂鍔犱簡缃楅┈绫诲瀷锛屽鏋滃悗缁湁鍏朵粬娴佹按绫诲瀷鍒欓渶瑕佸湪姝ゅ鐞�
+ * @return 鏋氫妇鍊�
+ */
+ public static Double getDoubleCustomSerialValue(String value,String customCodeSerialType) {
+ Double serialValue=null;
+ for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
+ if (wenum.getValue().equalsIgnoreCase(customCodeSerialType)) {//濡傛灉涓虹綏椹�
+ int newValue = VciBaseUtil.convertRomanToArabic(value);
+ serialValue = new Double(newValue);
+ break;
+ } else {
+ serialValue=Double.parseDouble(value);
+ break;
+ }
+ }
+ return serialValue;
+ }
+ /**
+ * 鏍规嵁鏋氫妇绫诲瀷鍒ゆ柇搴旇杩斿洖浠�涔堟牱绫诲瀷鐨勬祦姘�
+ * 鏆傛椂鍔犱簡缃楅┈绫诲瀷锛屽鏋滃悗缁湁鍏朵粬娴佹按绫诲瀷鍒欓渶瑕佸湪姝ゅ鐞�
+ * @return 鏋氫妇鍊�
+ */
+ public static String getStringCustomSerialValue(Double value,String customCodeSerialType) {
+ String serialValue=String.valueOf(value);
+ for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
+ if (wenum.getValue().equalsIgnoreCase(customCodeSerialType)) {//濡傛灉涓虹綏椹�
+ String newValue=VciBaseUtil.convertArabicToRoman(value.intValue());
+ serialValue=newValue;
+ break;
+ }else{
+ break;
+ }
+ }
+ return serialValue;
+ }
+
+
+ /**
+ * 鏍规嵁鍚嶇О鑾峰彇瀵瑰簲鐨勬灇涓惧��
+ *
+ * @param text 鍚嶇О
+ * @return 鏋氫妇鍊�
+ */
+ public static String getValueByText(String text) {
+ for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
+ if (wenum.getText().equalsIgnoreCase(text)) {
+ return wenum.getValue();
+ }
+ }
+ return "";
+ }
+
+ /**
+ * 鏍规嵁鏋氫妇鍊艰幏鍙栧悕绉�
+ *
+ * @param value 鏋氫妇鍊�
+ * @return 鍚嶇О
+ */
+ public static String getTextByValue(String value) {
+ for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
+ if (wenum.getValue().equalsIgnoreCase(value)) {
+ return wenum.getText();
+ }
+ }
+ return "";
+ }
+
+ /**
+ * 鏍规嵁鏋氫妇鍊艰幏鍙栨灇涓惧璞�
+ *
+ * @param value 鏋氫妇鍊�
+ * @return 鏋氫妇瀵硅薄锛屼笉瀛樺湪鏃跺�欒繑鍥瀗ull
+ */
+ public static CustomSerialEnum forValue(String value) {
+ for (CustomSerialEnum wenum : CustomSerialEnum.values()) {
+ if (wenum.getValue().equalsIgnoreCase(value)) {
+ return wenum;
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/annotation/MdmSerialAlgorithm.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/annotation/MdmSerialAlgorithm.java
index dbab4dc..2440ee1 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/annotation/MdmSerialAlgorithm.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/annotation/MdmSerialAlgorithm.java
@@ -34,4 +34,6 @@
* @return 鎻忚堪
*/
String description() default "";
+
+ String serialType() default "";
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java
index 8b6e805..ca73465 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSerialAlgorithmServiceImpl.java
@@ -49,6 +49,7 @@
algorithmVO.setName(serialAlgorithm.text());
algorithmVO.setDescription(serialAlgorithm.description());
algorithmVO.setId(serialAlgorithm.value());
+ algorithmVO.setSerialType(serialAlgorithm.serialType());
if(StringUtils.isBlank(algorithmVO.getId())){
algorithmVO.setId(beanName);
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 3abf204..1a85609 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -983,10 +983,10 @@
// cbo.setLcStatus("Editing");
//// cbo.setLcStatus(lifeCycleVO.getStartStatus());
// } else {
- cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
+ cbo.setLcStatus(CodeDefaultLC.RELEASED.getValue());
// }
} else {
- cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
+ cbo.setLcStatus(CodeDefaultLC.RELEASED.getValue());
}
}
@@ -3603,12 +3603,15 @@
for (int i = 0; i < threadSafeMaps.size(); i += MAX_IMPORT_NUM) {
final int startIndex = i;
final int endIndex = Math.min(i + MAX_IMPORT_NUM, threadSafeMaps.size());
-
- executor.execute(() -> {
- List<Map<String, String>> subList = threadSafeMaps.subList(startIndex, endIndex);
- // 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶
- commonsMapper.insertByBaseModel(tableName, threadSafeMaps.get(0), subList);
- });
+ try {
+ executor.execute(() -> {
+ List<Map<String, String>> subList = threadSafeMaps.subList(startIndex, endIndex);
+ // 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶
+ commonsMapper.insertByBaseModel(tableName, threadSafeMaps.get(0), subList);
+ });
+ }catch (Throwable e){
+ throw new ServiceException(e.getMessage());
+ }
}
// 鍏抽棴绾跨▼姹�
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 ecc0089..b1d2ef4 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
@@ -97,7 +97,7 @@
@Value("${batchadd.exportattr.type:鍩烘湰淇℃伅}")
public String BATCHADD_EXCEPORT_ATTR_TYPE;
-
+ @Value("${batchadd.redis.time:6000000}")
public int BATCHADD_REDIS_TIME;
@Value("${batchadd.import_data_limit:5001}")
@@ -2777,10 +2777,10 @@
// if (lifeCycleVO != null) {
// cbo.setLcStatus(lifeCycleVO.getStartStatus());
// } else {
- cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
+ cbo.setLcStatus(CodeDefaultLC.RELEASED.getValue());
// }
} else {
- cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
+ cbo.setLcStatus(CodeDefaultLC.RELEASED.getValue());
}
}
@@ -3150,7 +3150,7 @@
Integer userSecret = VciBaseUtil.getCurrentUserSecret();
cbo.setAttributeValue(SECRET_FIELD,String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret));
}
- cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
+ cbo.setLcStatus(CodeDefaultLC.RELEASED.getValue());
}else{
//姝ゆ椂杩樻病鏈夎浆鎹㈣矾寰�
//cbo.setAttributeValue(CODE_FULL_PATH_FILED, childOidPathMap.getOrDefault(rowData.getData().getOrDefault(CODE_CLASSIFY_OID_FIELD,""),fullPath));
@@ -3208,7 +3208,7 @@
Integer userSecret = VciBaseUtil.getCurrentUserSecret();
cbo.setAttributeValue(SECRET_FIELD,String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret));
}
- cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
+ cbo.setLcStatus(CodeDefaultLC.RELEASED.getValue());
}else{
//姝ゆ椂杩樻病鏈夎浆鎹㈣矾寰�
//cbo.setAttributeValue(CODE_FULL_PATH_FILED, childOidPathMap.getOrDefault(rowData.getData().getOrDefault(CODE_CLASSIFY_OID_FIELD,""),fullPath));
@@ -4086,7 +4086,6 @@
}
}
}
-
private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){
List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>();
oldDataMap.stream().forEach(dataMap->{
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 ea0a767..bc8b436 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
@@ -1,5 +1,7 @@
package com.vci.ubcs.code.service.impl;
+import com.vci.ubcs.code.algorithm.CustomSerialEnum;
+import com.vci.ubcs.code.dto.CodeCustomSerialDTO;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
@@ -36,15 +38,16 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.support.DefaultTransactionDefinition;
-import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@@ -105,7 +108,7 @@
//涓昏鏄负浜嗗綍鍏ユ渶澶ф祦姘村彿鍜宎llcode
//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
List<CodeAllCode> allCodeDOList = new CopyOnWriteArrayList<>();
- Map<String/**娴佹按渚濇嵁**/, Map<String/**鐮佹鐨勪富閿�**/,Double/**鏈�澶ф祦姘村彿**/>> maxSerialMap = new HashMap<>();
+ Map<String/**娴佹按渚濇嵁**/, ConcurrentHashMap<String/**鐮佹鐨勪富閿�**/,String/**鏈�澶ф祦姘村彿**/>> maxSerialMap = new ConcurrentHashMap<>();
// TODO 澶氱嚎绋嬫祦寮曞彂鐨勯棶棰樺凡淇敼
dataCBOList.parallelStream().forEach(cbo->{
log.info("code:----->"+cbo.getId());
@@ -120,6 +123,7 @@
List<CodeBasicSecVO> secVOList = finalRuleVO.getSecVOList().stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList());
Map<String/**鐮佹鐨勪富閿�**/,String/**鐮佹鐨勫��**/> serialValueMap = new HashMap<>();
Map<String, CodeBasicSecVO> secVOMap = secVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
+ Map<String,Integer> serialSecOidIndexMap=new HashMap<>();
for (int i = 0; i < secLengths.length; i++) {
CodeBasicSecVO secVO = secVOList.get(i);
String thisSecValue = "";
@@ -137,38 +141,57 @@
// }
if(VciBaseUtil.getBoolean(secVO.getSerialDependFlag())){
serialUnitList.add(thisSecValue);
+ serialSecOidIndexMap.put(secVO.getOid(),i);
}
if(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue().equalsIgnoreCase(secVO.getSecType())){
serialValueMap.put(secVO.getOid(),thisSecValue);
}
}
- String serialUnitString = serialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : serialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE));
List<String> serialUnFileStringList = new ArrayList<>();
+ AtomicReference<String> newSerialUnitString = new AtomicReference<>("");
if(!CollectionUtils.isEmpty(serialValueMap)){
+ AtomicInteger index= new AtomicInteger();
serialValueMap.forEach((secOid,secValue)->{
//瑕佺湅鏄笉鏄ˉ浣嶇殑
CodeBasicSecVO secVO = secVOMap.get(secOid);
- Double serialDb = null;
+ List<String >newSerialUnitList=new ArrayList<>();
+ newSerialUnitList.addAll(serialUnitList);
+ if(index.get() ==0){
+ if(serialSecOidIndexMap.containsKey(secOid)) {
+ int num = serialSecOidIndexMap.get(secOid);
+ newSerialUnitList.set(num, "");
+ }
+ }
+ String serialUnitString = newSerialUnitList.size() == 0 ? EMPTY_SERIAL_UNIT : newSerialUnitList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE));
+ newSerialUnitString.set(serialUnitString);
+ index.getAndIncrement();
+ String serialDb = "";
// 鎴彇鎺夊墠鍚庣紑涔嬪悗鐨勭爜娈�
String subSecValue = killPriffixSuffix(secValue, secVO.getPrefixCode(), secVO.getSuffixCode());
if(OsCodeFillTypeEnum.NONE.getValue().equalsIgnoreCase(secVO.getCodeFillType())){
//涓嶈ˉ鐮�
//鎶婃墍鏈変笉鏄暟瀛楃殑鍘绘帀锛屽洜涓哄彲鑳戒細鏄�佹暟鎹紝鏂拌鍒�
- serialDb = VciBaseUtil.getDouble(killUnNumberChar(subSecValue));
+ // serialDb = VciBaseUtil.getDouble(killUnNumberChar(subSecValue));
+ //serialDb = killUnNumberChar(subSecValue);
+ serialDb=subSecValue;
}else {
//宸﹀彸濉厖鐨勶紝鎴戜滑闇�瑕�
- serialDb = VciBaseUtil.getDouble(killUnNumberChar(killFillChar(subSecValue,secVO.getCodeFillSeparator(),
- OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()))));
+ serialDb = killFillChar(subSecValue,secVO.getCodeFillSeparator(),
+ OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()));
}
- Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>());
- Double maxValue=serialDb;
+ Double newSerialDb= CustomSerialEnum.getDoubleCustomSerialValue(secValue,secVO.getCustomCodeSerialType());
+ ConcurrentHashMap<String, String> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new ConcurrentHashMap<>());
+ Double maxValue=newSerialDb;
if(thisUnitMaxMap.containsKey(secOid)){
- maxValue= thisUnitMaxMap.getOrDefault(secOid,new Double(-1));
- if(maxValue<serialDb){
- maxValue=serialDb;
+ String newMaxValue= thisUnitMaxMap.getOrDefault(secOid,"");
+ maxValue=StringUtils.isBlank(newMaxValue)?-1:VciBaseUtil.getDouble(newMaxValue);
+ if(maxValue<newSerialDb){
+ maxValue=newSerialDb;
}
}
- thisUnitMaxMap.put(secOid,maxValue);
+ String newMaxValue=CustomSerialEnum.getStringCustomSerialValue(maxValue,secVO.getCustomCodeSerialType());
+ serialDb=CustomSerialEnum.getStringCustomSerialValue(newSerialDb,secVO.getCustomCodeSerialType());
+ thisUnitMaxMap.put(secOid,newMaxValue);
maxSerialMap.put(serialUnitString,thisUnitMaxMap);
serialUnFileStringList.add(String.valueOf(serialDb));
});
@@ -181,7 +204,7 @@
allCodeDO.setCodeClassifyTemplateOid(templateVO.getOid());
allCodeDO.setCreateCodeBtm(cbo.getBtmname());
allCodeDO.setCreateCodeOid(cbo.getOid());
- allCodeDO.setSerialUnit(serialUnitString);
+ allCodeDO.setSerialUnit(newSerialUnitString.get());
String unFillSerial =serialUnFileStringList.size()==1?serialUnFileStringList.get(0)+ SERIAL_VALUE_SPACE:serialUnFileStringList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE));
allCodeDO.setUnFillSerial(unFillSerial);
allCodeDO.setLcStatus(cbo.getLcStatus());
@@ -204,7 +227,7 @@
if (!CollectionUtils.isEmpty(serialValueDOS)) {
CodeSerialValue serialValueDO = serialValueDOS.get(0);
log.info("oldmaxSerial--->"+serialValueDO.getMaxSerial()+"---- newmaxSerial---->"+maxSerial);
- if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<maxSerial){
+ if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<VciBaseUtil.getDouble(maxSerial)){
serialValueDO.setMaxSerial(String.valueOf(maxSerial));
DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO);
editSerialValueList.add(serialValueDO);
@@ -318,7 +341,16 @@
codeAllCodeService.saveBatch(addCodeDOs);
}
+
+// try {
mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);
+ // 鎻愪氦浜嬪姟
+ //transactionTemplate.getTransactionManager().commit(status);
+// }catch (Exception e){
+// // 鍑虹幇寮傚父鏃跺洖婊氫簨鍔�
+// transactionTemplate.getTransactionManager().rollback(status);
+// }
+
}
return codeList;
}else {
@@ -382,10 +414,12 @@
allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode");allCode.setLctid("codeAllCodeLC");}
);
+
Map<String, String> statusMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus()));
allCodeDOList.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> {
s.setLcStatus(statusMap.get(s.getOid()));
});
+
//閫氳繃ID鏉ヨ繘琛屽幓閲�
List<CodeAllCode> distinctCodeAllCOdes = allCodeDOList.stream().collect(Collectors
@@ -414,7 +448,7 @@
if(codeAllCode.getId().equals(next.getId())){
codeAllCode.setCreateCodeOid(next.getCreateCodeOid());
codeAllCode.setLcStatus(next.getLcStatus());
- iterator.remove();
+ //iterator.remove();
}
}
}
@@ -499,8 +533,21 @@
Map<String/**鐮佹鐨勪富閿�**/,Map<String/**娴佹按渚濇嵁**/,CodeSerialValue>> maxSerialValueMap,List<String> thisSecValueList,
Map<String/**鐮佹鐨勪富閿�**/,Map<String/**娴佹按渚濇嵁**/, Double>> lastMaxSerialValueMap,boolean firstData){
if (!CollectionUtils.isEmpty(serialSecVOList)) {
+ Map<String,String> secIdserialValueMap=new LinkedHashMap<>();
for (int j = 0; j < serialSecVOList.size(); j++) {
CodeBasicSecVO secVO = serialSecVOList.get(j);
+ String secVOValue="";
+ AtomicReference<String> newSerialUnitString= new AtomicReference<>(serialUnitString);
+ if(j==0){
+ secVOValue="";
+ newSerialUnitString.set(serialUnitString.replace("${" + secVO.getOid() + "}", secVOValue));
+ }else{
+ CodeBasicSecVO upSecVO =serialSecVOList.get(j-1);
+ secIdserialValueMap.forEach((key,vaule)->{
+ newSerialUnitString.set(serialUnitString.replace("${"+key+"}", vaule));
+ });
+ }
+
if (attrSevIsSerialDepend || firstData) {
//濡傛灉灞炴�х爜娈典篃鏄緷璧栵紝鍒欐瘡娆¢兘瑕佹煡璇紝濡傛灉灞炴�х爜娈典笉鏄緷璧栵紝鍒欏彧鏌ヨ涓�娆�
// Map<String, String> conditionMap = new HashMap<>();
@@ -509,8 +556,9 @@
// //杩欎釜瀛楁鏄负浜嗚В鍐冲涓祦姘寸殑闂
// conditionMap.put("codeSecOid", secVO.getOid());
QueryWrapper<CodeSerialValue> codeSerialWrapper = new QueryWrapper<>();
+
codeSerialWrapper.eq("codeRuleOid", ruleVO.getOid());
- codeSerialWrapper.eq("serialUnit", serialUnitString);
+ codeSerialWrapper.eq("serialUnit", newSerialUnitString.get());
codeSerialWrapper.eq("codeSecOid", secVO.getOid());
List<CodeSerialValue> serialValueDOS = serialValueMapper.selectList(codeSerialWrapper);
if (!CollectionUtils.isEmpty(serialValueDOS)) {
@@ -520,25 +568,41 @@
maxSerialValueMap.put(secVO.getOid(), unitSerialMap);
}
}
- Double startValue = null;
- if(maxSerialValueMap.containsKey(secVO.getOid()) && maxSerialValueMap.get(secVO.getOid()).containsKey(serialUnitString)){
- startValue = VciBaseUtil.getDouble(maxSerialValueMap.get(secVO.getOid()).get(serialUnitString).getMaxSerial());
+ String serialString="";
+ String thisSerialValue = "";
+ String startValue = null;
+ if (maxSerialValueMap.containsKey(secVO.getOid()) && maxSerialValueMap.get(secVO.getOid()).containsKey(newSerialUnitString.get())) {
+ startValue = maxSerialValueMap.get(secVO.getOid()).get(newSerialUnitString.get()).getMaxSerial();
}
- if(lastMaxSerialValueMap.containsKey(secVO.getOid()) && lastMaxSerialValueMap.get(secVO.getOid()).containsKey(serialUnitString)){
+ if (lastMaxSerialValueMap.containsKey(secVO.getOid()) && lastMaxSerialValueMap.get(secVO.getOid()).containsKey(newSerialUnitString.get())) {
//璇存槑澶氫釜鐢宠锛屼箣鍓嶅凡缁忓姞浜嗘祦姘村彿浜�
- startValue = lastMaxSerialValueMap.get(secVO.getOid()).get(serialUnitString);
+ startValue = lastMaxSerialValueMap.get(secVO.getOid()).get(newSerialUnitString.get());
}
- Double thisSerialValue = 0d;
- if (startValue == null) {
- //绗竴涓紪鐮�
- thisSerialValue = VciBaseUtil.getDouble(secVO.getSerialStart());
- } else {
- //娴佹按鍙疯偗瀹氭槸鏁板瓧
- thisSerialValue = startValue + (j + 1) * secVO.getSerialStep();
- }
- //瑕佺湅鏄惁瓒呰繃鏈�澶х殑娴佹按鍊�
- if (thisSerialValue >= secVO.getCodeFillLimit()) {
- throw new VciBaseException("娴佹按鍙峰凡缁忚秴杩囧厑璁哥殑鏈�澶ф祦姘村�納0}",new String[]{secVO.getCodeFillLimit().toString()});
+ if(StringUtils.isNotBlank(secVO.getCustomCodeSerialClass())){//鑷畾涔夋祦姘村鐞�
+ String currentFlowValue=startValue;
+ CodeCustomSerialDTO codeCustomSerialDTO=new CodeCustomSerialDTO();
+ codeCustomSerialDTO.setSerialUnitString(newSerialUnitString.get());
+ codeCustomSerialDTO.setSerialCodeCodeBasicSec(secVO);
+ codeCustomSerialDTO.setCurrentFlowValue(startValue);
+ codeCustomSerialDTO.setCodeBasicSecVOList(ruleVO.getSecVOList());
+ codeCustomSerialDTO.setCodeRuleOid(ruleVO.getOid());
+ codeCustomSerialDTO.setBaseModel(cbo);
+ thisSerialValue=customCodeSerial(secVO.getCustomCodeSerialClass(),codeCustomSerialDTO);
+ log.info(secVO.getCustomCodeSerialClassText()+"---->"+thisSerialValue);
+ }else {
+ Double newThisSerialValue = 0d;
+ if (startValue == null) {
+ //绗竴涓紪鐮�
+ newThisSerialValue = VciBaseUtil.getDouble(secVO.getSerialStart());
+ } else {
+ //娴佹按鍙疯偗瀹氭槸鏁板瓧
+ newThisSerialValue = Double.parseDouble(startValue) + (j + 1) * secVO.getSerialStep();
+ }
+ //瑕佺湅鏄惁瓒呰繃鏈�澶х殑娴佹按鍊�
+ if (newThisSerialValue >= secVO.getCodeFillLimit()) {
+ throw new VciBaseException("娴佹按鍙峰凡缁忚秴杩囧厑璁哥殑鏈�澶ф祦姘村�納0}", new String[]{secVO.getCodeFillLimit().toString()});
+ }
+ thisSerialValue=String.valueOf(newThisSerialValue.intValue());
}
//瑕佺湅琛ヤ綅鐨勫唴瀹�
Integer fillLength = VciBaseUtil.getInt(secVO.getCodeFillLength());
@@ -548,6 +612,7 @@
}
String serialString = String.valueOf(thisSerialValue.longValue());
serialString = fillString(fillLength, OsCodeFillTypeEnum.forValue(secVO.getCodeFillType()), serialString, secVO.getCodeFillSeparator());
+
for (int z = 0; z < thisSecValueList.size(); z++) {
String secValue = thisSecValueList.get(z);
if (secValue.equalsIgnoreCase("${" + secVO.getOid() + "}")) {
@@ -555,11 +620,36 @@
thisSecValueList.set(z, joinPreffixAndSuffix(secVO, serialString));
}
}
- Map<String, Double> unitSerialMap = lastMaxSerialValueMap.getOrDefault(secVO.getOid(), new HashMap<>());
- unitSerialMap.put(serialUnitString, thisSerialValue);
+ secIdserialValueMap.put(secVO.getOid(),thisSerialValue);//璁板綍娴佹按鐮佹褰撳墠鐨勫��
+ Map<String, String> unitSerialMap = lastMaxSerialValueMap.getOrDefault(secVO.getOid(), new HashMap<>());
+ unitSerialMap.put(newSerialUnitString.get(), String.valueOf(thisSerialValue));
lastMaxSerialValueMap.put(secVO.getOid(),unitSerialMap);
}
}
+ }
+
+ private String customCodeSerial(String className, CodeCustomSerialDTO codeCustomSerialDTO){
+ String result = "";
+ try {
+ Class classInstance=Class.forName(className);
+ Object obj =classInstance.newInstance();
+ Method method= classInstance.getMethod("serialGenerate",CodeCustomSerialDTO.class);
+ method.setAccessible(Boolean.TRUE);
+ //method.invoke(obj);
+ Object o= method.invoke(obj,codeCustomSerialDTO);
+ result= Func.isEmpty(o) ?"":o.toString();
+ } catch (ClassNotFoundException e) {
+ throw new VciBaseException("鏈壘鍒拌嚜瀹氫箟娴佹按绠楁硶绫绘枃浠�");
+ } catch (InvocationTargetException e) {
+ throw new VciBaseException("鎵ц鑷畾涔夋祦姘寸畻娉曞鐞嗘柟娉曞嚭鐜板紓甯�");
+ } catch (NoSuchMethodException e) {
+ throw new VciBaseException("鏈壘鍒拌嚜瀹氫箟娴佹按绠楁硶澶勭悊鏂规硶");
+ } catch (IllegalAccessException e) {
+ throw new VciBaseException("鎵ц鑷畾涔夋祦姘寸畻娉曞鐞嗘柟娉曞嚭鐜板紓甯�");
+ } catch (InstantiationException e) {
+ e.printStackTrace();
+ }
+ return result;
}
/**
@@ -759,7 +849,7 @@
* @param maxSerialValueMap 渚濇嵁瀛樺偍鐨勬渶澶ф祦姘寸殑鍐呭
*/
private void saveSerialValue(CodeRuleVO ruleVO,
- Map<String/**鐮佹鐨勪富閿�**/,Map<String, Double>> lastMaxSerialValueMap,
+ Map<String/**鐮佹鐨勪富閿�**/,Map<String, String>> lastMaxSerialValueMap,
Map<String/**鐮佹鐨勪富閿�**/,Map<String, CodeSerialValue>> maxSerialValueMap){
List<CodeSerialValue> editSerialValueDOList = new ArrayList<>();
List<CodeSerialValue> addSerialValueDOList = new ArrayList<>();
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
index 7365363..9ab3d4d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
@@ -56,6 +56,7 @@
<result property="codeFillFlag" column="CODEFILLFLAG" jdbcType="VARCHAR"/>
<result property="customCodeSerialClass" column="CUSTOMCODESERIALCLASS" jdbcType="VARCHAR"/>
<result property="customCodeSerialClassText" column="CUSTOMCODESERIALCLASSTEXT" jdbcType="VARCHAR"/>
+ <result property="customCodeSerialType" column="CUSTOMCODESERIALTYPE" jdbcType="VARCHAR"/>
<result property="matchClassifyValueFlag" column="MATCHCLASSIFYVALUEFLAG" jdbcType="VARCHAR"/>
<result property="parentClassifySecOid" column="PARENTCLASSIFYSECOID" jdbcType="VARCHAR"/>
<result property="parentClassifySecText" column="b__name" jdbcType="VARCHAR"/>
--
Gitblit v1.9.3