From 69b3f1883104760eacc03ab9f1a72a958933c785 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期二, 17 十月 2023 12:03:10 +0800
Subject: [PATCH] 1、修改回收验证回收的改成发布的,里面的数据oid也要改成最新的的数据oid。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java |   44 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 42 insertions(+), 2 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 3f5e3d1..f4dbaa3 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
@@ -31,6 +31,7 @@
 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;
@@ -278,8 +279,27 @@
 					QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
 					wrapper.eq("CREATECODEBTM",addCodeDOs.get(0).getCreateCodeBtm());
 					wrapper.in("ID",addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
-					if(codeAllCodeService.count(wrapper)>0){
+					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.setLcStatus("Released");
+						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());
+								iterator.remove();
+							}
+						}
+					}
+					if(takeBack.size()>0){
+						codeAllCodeService.updateBatchById(takeBack);
 					}
 					codeAllCodeService.saveBatch(addCodeDOs);
 				}
@@ -365,9 +385,29 @@
 			QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
 			wrapper.eq("CREATECODEBTM",allCodeDOList.get(0).getCreateCodeBtm());
 			wrapper.in("ID",allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
-			if(codeAllCodeService.count(wrapper)>0){
+			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.setLcStatus("Released");
+				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());
+						iterator.remove();
+					}
+				}
+			}
+			if(takeBack.size()>0){
+				codeAllCodeService.updateBatchById(takeBack);
+			}
 			codeAllCodeService.saveBatch(allCodeDOList);
 //			iCodeWupinService.saveBatch(dataCBOList);
 			mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);

--
Gitblit v1.9.3