From 13b22edeb1c60505be93e7af1903f7c5e00bbc6d Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期一, 22 五月 2023 18:08:30 +0800
Subject: [PATCH] 对使用分类的主键获取表单的定义、根据模板的主键获取表格的定义、标记流程中业务数据是否通过、使用分类的主键获取业务数据等接口的移植工作,其中对以前查询平台数据的方式使用的QueryWrapper实现数据的查询

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java |   66 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 14 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 8908602..396b6f0 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
@@ -6,35 +6,35 @@
 import com.vci.ubcs.code.dto.CodeOrderSecDTO;
 import com.vci.ubcs.code.entity.CodeAllCode;
 import com.vci.ubcs.code.entity.CodeSerialValue;
-import com.vci.ubcs.code.entity.CodeWupinEntity;
+import com.vci.ubcs.code.entity.CodeWupin;
 import com.vci.ubcs.code.enumpack.CodeCutTypeEnum;
 import com.vci.ubcs.code.enumpack.CodeGetValueTypeEnum;
 import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum;
 import com.vci.ubcs.code.enumpack.CodeSecTypeEnum;
-import com.vci.ubcs.code.mapper.CodeAllCodeMapper;
+import com.vci.ubcs.code.lifecycle.CodeAllCodeLC;
 import com.vci.ubcs.code.mapper.CodeSerialValueMapper;
 import com.vci.ubcs.code.service.ICodeWupinService;
 import com.vci.ubcs.code.service.MdmProductCodeService;
-import com.vci.ubcs.code.vo.CodeClstemplateVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
 import com.vci.ubcs.starter.web.constant.RegExpConstant;
 import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum;
-import com.vci.ubcs.starter.web.pagemodel.PageHelper;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
 import com.vci.ubcs.starter.web.util.VciDateUtil;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 import static com.vci.ubcs.code.constant.MdmEngineConstant.*;
-
+@Service
 public class MdmProductCodeServiceImpl  implements MdmProductCodeService {
 
 	/**
@@ -56,7 +56,7 @@
 	private ICodeWupinService iCodeWupinService;
 
 	@Override
-	public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClstemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupinEntity> dataCBOList) {
+	public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<CodeWupin> dataCBOList) {
 //		BatchCBO batchCBO = new BatchCBO();
 //		WebUtil.setPersistence(false);
 //		dataCBOList = dataCBOList.stream().sorted(((o1, o2) -> o1.getCreateTime().compareTo(o2.getCreateTime()))).collect(Collectors.toList());
@@ -265,7 +265,7 @@
 			Map<String/**鐮佹鐨勪富閿�**/, Map<String, CodeSerialValue>> maxSerialValueMap = new HashMap<>();
 
 			for (int i = 0; i < dataCBOList.size(); i++) {
-				CodeWupinEntity cbo = dataCBOList.get(i);
+				CodeWupin cbo = dataCBOList.get(i);
 				List<String> thisSecValueList = new LinkedList<>();
 				for (int j = 0; j < secValueList.size(); j++) {
 					thisSecValueList.add(secValueList.get(j));
@@ -328,9 +328,9 @@
 	 * @param serialUnitList 娴佹按渚濇嵁鐨勫唴瀹�
 	 *                       杩橀渶瑕佸悗缁殑涓�涓Щ妞嶅皢浼氭秹鍙婂埌鍏朵粬鐨勬湇鍔�
 	 */
-	private void switchAttrSecValue(List<CodeBasicSecVO> attrSecVOList,CodeWupinEntity cbo,
-									List<String> thisSecValueList,boolean attrSevIsSerialDepend,
-									List<String> serialUnitList){
+	private void switchAttrSecValue(List<CodeBasicSecVO> attrSecVOList, CodeWupin cbo,
+                                    List<String> thisSecValueList, boolean attrSevIsSerialDepend,
+                                    List<String> serialUnitList){
 		if (!CollectionUtils.isEmpty(attrSecVOList)) {
 			attrSecVOList.stream().forEach(attrSevVO -> {
 				String value = "";
@@ -586,9 +586,9 @@
 	 * @param templateVO 妯℃澘鐨勪俊鎭�
 	 * @param allCodeDOList 鎵�鏈夌殑鐮佸�肩殑瀵硅薄鍒楄〃
 	 */
-	private void wrapperAllCode(CodeClassifyFullInfoBO classifyFullInfoBO,CodeRuleVO ruleVO,
-								CodeWupinEntity cbo,CodeClstemplateVO templateVO,
-								List<CodeAllCode> allCodeDOList,String serialUnitString,String serialValueString){
+	private void wrapperAllCode(CodeClassifyFullInfoBO classifyFullInfoBO, CodeRuleVO ruleVO,
+                                CodeWupin cbo, CodeClassifyTemplateVO templateVO,
+                                List<CodeAllCode> allCodeDOList, String serialUnitString, String serialValueString){
 		CodeAllCode allCodeDO = new CodeAllCode();
 		allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid());
 		allCodeDO.setCodeRuleOid(ruleVO.getOid());
@@ -704,4 +704,42 @@
 		return value;
 
 	}
+
+	/**
+	 * 鍥炴敹鐮佸��
+	 *
+	 * @param btmId                 涓氬姟鏁版嵁鐨勪笟鍔$被鍨�
+	 * @param businessOidCollection 涓氬姟鏁版嵁鐨勪富閿�
+	 * @return 鏄惁鏇存柊鎴愬姛
+	 */
+	@Override
+	public Boolean recycleCode(String btmId, Collection<String> businessOidCollection) {
+//		boolean oldPersistence =  WebUtil.isPersistence();
+//		WebUtil.setPersistence(false);
+//		BatchCBO batchCBO = new BatchCBO();
+		AtomicReference<Boolean> updateFlag = new AtomicReference<>(false);
+		VciBaseUtil.switchCollectionForOracleIn(businessOidCollection).stream().forEach(oids-> {
+//			Map<String, String> conditionMap = new HashMap<>();
+//			//缂栫爜瑕佽褰曚负鍥炴敹鐨勭姸鎬�
+//			conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")");
+//			conditionMap.put("createcodebtm", btmId);
+
+			QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
+			wrapper.in("createcodeoid",QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")");
+			wrapper.eq("createcodebtm", btmId);
+
+
+			List<CodeAllCode> allCodeDOS = codeAllCodeService.selectByWrapper(wrapper);
+//			allCodeMapper.selectByCondition(conditionMap, new PageHelper(-1));
+			if (!CollectionUtils.isEmpty(allCodeDOS)) {
+				allCodeDOS.stream().forEach(codeDO->{
+					codeDO.setLcStatus(CodeAllCodeLC.TASK_BACK.getValue());
+				});
+				updateFlag.set(codeAllCodeService.updateBatchById(allCodeDOS));
+//				batchCBO.copyFromOther(allCodeMapper.batchUpdate(allCodeDOS));
+			}
+		});
+//		WebUtil.setPersistence(oldPersistence);
+		return updateFlag.get();
+	}
 }

--
Gitblit v1.9.3