From a75ed7b2ec701afa546895653903e9c1f35db2b1 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 26 十月 2023 12:09:51 +0800
Subject: [PATCH] 主数据添加 编码申请添加-ts时间戳bug
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 66 ++++++++++++++++++++++++++++++--
1 files changed, 61 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 33c8e01..85d050f 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
@@ -30,6 +30,8 @@
import com.vci.ubcs.starter.web.util.VciBaseUtil;
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.utils.AuthUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -274,6 +276,31 @@
if( distinctCodeAllCOdes.size() != addCodeDOs.size() ){
throw new VciBaseException("缂栫爜鏁版嵁閲嶅锛屾棤娉曚繚瀛橈紝璇锋敞鎰忥紒");
}
+ QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
+ wrapper.eq("CREATECODEBTM",addCodeDOs.get(0).getCreateCodeBtm());
+ wrapper.in("ID",addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+ List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper);
+ List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList());
+ if(codeAllCodes.size()>takeBack.size()){
+ throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+ }
+ for (CodeAllCode codeAllCode : takeBack) {
+ codeAllCode.setTs(new Date());
+ codeAllCode.setLastModifyTime(new Date());
+ codeAllCode.setLastModifier(AuthUtil.getUserId().toString());
+ Iterator<CodeAllCode> iterator = addCodeDOs.iterator();
+ while (iterator.hasNext()){
+ CodeAllCode next = iterator.next();
+ if(codeAllCode.getId().equals(next.getId())){
+ codeAllCode.setCreateCodeOid(next.getCreateCodeOid());
+ codeAllCode.setLcStatus(next.getLcStatus());
+ iterator.remove();
+ }
+ }
+ }
+ if(takeBack.size()>0){
+ codeAllCodeService.updateBatchById(takeBack);
+ }
codeAllCodeService.saveBatch(addCodeDOs);
}
mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);
@@ -353,7 +380,33 @@
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(CodeAllCode::getId))),
ArrayList::new));
if( distinctCodeAllCOdes.size() != allCodeDOList.size() ){
- throw new VciBaseException("缂栫爜鏁版嵁閲嶅锛屾棤娉曚繚瀛橈紝璇锋敞鎰忥紒");
+ throw new ServiceException("缂栫爜鏁版嵁閲嶅锛屾棤娉曚繚瀛橈紝璇锋敞鎰忥紒");
+ }
+ QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
+ wrapper.eq("CREATECODEBTM",allCodeDOList.get(0).getCreateCodeBtm());
+ wrapper.in("ID",allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+ List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper);
+ List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList());
+ if(codeAllCodes.size()>takeBack.size()){
+ throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+ }
+
+ for (CodeAllCode codeAllCode : takeBack) {
+ codeAllCode.setTs(new Date());
+ codeAllCode.setLastModifyTime(new Date());
+ codeAllCode.setLastModifier(AuthUtil.getUserId().toString());
+ Iterator<CodeAllCode> iterator = allCodeDOList.iterator();
+ while (iterator.hasNext()){
+ CodeAllCode next = iterator.next();
+ if(codeAllCode.getId().equals(next.getId())){
+ codeAllCode.setCreateCodeOid(next.getCreateCodeOid());
+ codeAllCode.setLcStatus(next.getLcStatus());
+ iterator.remove();
+ }
+ }
+ }
+ if(takeBack.size()>0){
+ codeAllCodeService.updateBatchById(takeBack);
}
codeAllCodeService.saveBatch(allCodeDOList);
// iCodeWupinService.saveBatch(dataCBOList);
@@ -739,12 +792,14 @@
private String killFillChar(String s, String fillString,boolean left){
Integer index = 0;
String value = s;
+
if(left){
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
- if((new String(new char[]{c})).equalsIgnoreCase(fillString)){
- index = i;
+ if(!(new String(new char[]{c})).equalsIgnoreCase(fillString)){
+ break;
}
+ index = i;
}
if(index >0){
value = value.substring(index);
@@ -753,9 +808,10 @@
//浠庡彸寰�宸︽壘
for (int i = s.length()-1; i >=0; i++) {
char c = s.charAt(i);
- if((new String(new char[]{c})).equalsIgnoreCase(fillString)){
- index = i;
+ if(!(new String(new char[]{c})).equalsIgnoreCase(fillString)){
+ break;
}
+ index = i;
}
if(index >0){
value = value.substring(0,index);
--
Gitblit v1.9.3