From cb41c6645777148f78788b369a6f66ecbdc7111a Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 03 一月 2024 16:14:10 +0800
Subject: [PATCH] 整合代码
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 31 ++++++++++++++++++++-----------
1 files changed, 20 insertions(+), 11 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 42fab2c..7768fed 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
@@ -36,8 +36,10 @@
import com.vci.ubcs.starter.web.util.VciDateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.WebUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -45,6 +47,7 @@
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -96,7 +99,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception {
+ public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList,BladeUser user) throws Exception {
dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList());
List<String> codeList = new ArrayList<>();
final CodeRuleVO finalRuleVO = ruleVO;
@@ -201,7 +204,7 @@
});
}
CodeAllCode allCodeDO = new CodeAllCode();
- DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE);
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE,user);
allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid());
allCodeDO.setCodeRuleOid(finalRuleVO.getOid());
allCodeDO.setId(cbo.getId());
@@ -212,6 +215,7 @@
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());
+ allCodeDO.setLctid("codeAllCodeLC");
allCodeDO.setCodeDelimit(codeValueList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE)));//娣诲姞閾炬帴绗�
allCodeDOList.add(allCodeDO);
});
@@ -234,13 +238,13 @@
log.info("oldmaxSerial--->"+serialValueDO.getMaxSerial()+"---- newmaxSerial---->"+maxSerial);
if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<VciBaseUtil.getDouble(maxSerial)){
serialValueDO.setMaxSerial(String.valueOf(maxSerial));
- DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO);
+ DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO,user);
editSerialValueList.add(serialValueDO);
}
}else{
//娌℃湁
CodeSerialValue serialValueDO = new CodeSerialValue();
- DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE);
+ DefaultAttrAssimtUtil.addDefaultAttrAssimt(serialValueDO, MdmBtmTypeConstant.CODE_SERIAL_VALUE,user);
serialValueDO.setCodeRuleOid(finalRuleVO.getOid());
serialValueDO.setSerialUnit(serialUnit);
serialValueDO.setCodeSecOid(secOid);
@@ -261,7 +265,6 @@
}
//澶勭悊allCode
if(!CollectionUtils.isEmpty(allCodeDOList)){
- // TODO 鍘嗗彶鏁版嵁瀵煎叆鐨勬椂鍊欒繖鍎垮伓灏斾細瑙﹀彂绌烘寚閽堝紓甯�
Map<String,List<CodeAllCode>> ruleGroup = allCodeDOList.stream().collect(Collectors.groupingBy(s -> s.getCodeRuleOid()));
Map<String, CodeAllCode> codeDOMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getCodeRuleOid() + "${SEP}" + s.getId(), t -> t));
List<CodeAllCode> addCodeDOs = new CopyOnWriteArrayList<>();
@@ -417,9 +420,8 @@
saveSerialValue( finalRuleVO, lastMaxSerialValueMap, maxSerialValueMap);
allCodeDOList.stream().forEach(
- allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode");allCode.setLctid("codeAllCodeLC");}
+ allCode -> {DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCode,"codeallcode",user);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 -> {
@@ -926,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)) {
@@ -1189,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);
}
}
@@ -1229,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)){
@@ -1237,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