From 3714d4df9a79814b4f9504173b3984617f3f2815 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 02 八月 2023 17:20:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClient.java              |   24 ++++++++++++
 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java      |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java       |    7 ---
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClientFallback.java      |   13 ++++++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/FlowClient.java                   |   34 +++++++++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java |   39 +++++++++----------
 6 files changed, 92 insertions(+), 27 deletions(-)

diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClient.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClient.java
index d65e7f3..c94f81f 100644
--- a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClient.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClient.java
@@ -16,7 +16,9 @@
  */
 package com.vci.ubcs.flow.core.feign;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -25,6 +27,7 @@
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -44,6 +47,8 @@
 	String COMPLETE_TASK = API_PREFIX + "/complete-task";
 	String TASK_VARIABLE = API_PREFIX + "/task-variable";
 	String TASK_VARIABLES = API_PREFIX + "/task-variables";
+	String SELECT_BY_WRAPPER = API_PREFIX + "/select-by-wrapper";
+	String PROCESS_BATCH_SAVE = API_PREFIX + "/PROCESS-BATCH-SAVE";
 
 	/**
 	 * 寮�鍚祦绋�
@@ -97,4 +102,23 @@
 	 */
 	@GetMapping(TASK_VARIABLES)
 	R<Map<String, Object>> taskVariables(@RequestParam("taskId") String taskId);
+
+	/**
+	 * 鏌ヨ鏁版嵁wrapper鏂瑰紡
+	 *
+	 * @param wrapperMap 鏉′欢
+	 * @return R
+	 */
+	@PostMapping(SELECT_BY_WRAPPER)
+	R<List<ProcessTemplate>> selectByWrapper(@RequestBody Map<String,Object> wrapperMap);
+
+	/**
+	 * 鎵归噺淇濆瓨娴佺▼鏁版嵁
+	 *
+	 * @param listProcessTemplate 淇濆瓨鏁版嵁
+	 * @return R
+	 */
+	@PostMapping(PROCESS_BATCH_SAVE)
+	R processBatchSave(@RequestBody List<ProcessTemplate> listProcessTemplate);
+
 }
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClientFallback.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClientFallback.java
index 5148a22..29790de 100644
--- a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClientFallback.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClientFallback.java
@@ -16,10 +16,13 @@
  */
 package com.vci.ubcs.flow.core.feign;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 import org.springblade.core.tool.api.R;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -55,4 +58,14 @@
 		return R.fail("杩滅▼璋冪敤澶辫触");
 	}
 
+	@Override
+	public R<List<ProcessTemplate>> selectByWrapper( Map<String,Object> wrapperMap) {
+		return R.fail("杩滅▼璋冪敤澶辫触");
+	}
+
+	@Override
+	public R processBatchSave(List<ProcessTemplate> listProcessTemplate) {
+		return R.fail("杩滅▼璋冪敤澶辫触");
+	}
+
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/FlowClient.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/FlowClient.java
index d093953..e79076e 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/FlowClient.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/FlowClient.java
@@ -16,9 +16,12 @@
  */
 package com.vci.ubcs.flow.business.feign;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
 import com.vci.ubcs.flow.core.feign.IFlowClient;
 import com.vci.ubcs.flow.core.utils.TaskUtil;
+import com.vci.ubcs.flow.engine.service.ProcessTemplateService;
 import lombok.AllArgsConstructor;
 import org.flowable.engine.IdentityService;
 import org.flowable.engine.RuntimeService;
@@ -34,6 +37,7 @@
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -49,6 +53,7 @@
 	private final RuntimeService runtimeService;
 	private final IdentityService identityService;
 	private final TaskService taskService;
+	private final ProcessTemplateService processTemplateService;
 
 	@Override
 	@PostMapping(START_PROCESS_INSTANCE_BY_ID)
@@ -104,4 +109,33 @@
 		return R.data(taskService.getVariables(taskId));
 	}
 
+
+	/**
+	 * 鏌ヨ鏁版嵁wrapper鏂瑰紡
+	 *
+	 * @param wrapperMap 鏉′欢
+	 * @return R
+	 */
+	@Override
+	@PostMapping(SELECT_BY_WRAPPER)
+	public R<List<ProcessTemplate>> selectByWrapper(@RequestBody Map<String,Object> wrapperMap){
+		return R.data(processTemplateService.listByMap(wrapperMap));
+	}
+
+	/**
+	 * 鎵归噺淇濆瓨娴佺▼鏁版嵁
+	 *
+	 * @param listProcessTemplate 淇濆瓨鏁版嵁
+	 * @return R
+	 */
+	@Override
+	@PostMapping(PROCESS_BATCH_SAVE)
+	public R processBatchSave(@RequestBody List<ProcessTemplate> listProcessTemplate) {
+		if(listProcessTemplate.size() == 0){
+			return R.fail("涓轰紶鍏ユ暟鎹紝璇锋鏌ワ紒");
+		}
+		boolean b = processTemplateService.saveBatch(listProcessTemplate);
+		return R.data(b);
+	}
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
index 6ff578d..80894c7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -31,6 +31,8 @@
 import com.vci.ubcs.code.service.ICodeClstemplateService;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
+import com.vci.ubcs.flow.core.feign.IFlowClient;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
@@ -106,6 +108,8 @@
 	private CodeClassifyTemplateMapper codeClassifyTemplateMapper;
 	@Autowired(required = false)
 	private CodePhaseAttrServiceImpl codePhaseattrServiceImpl;
+	@Autowired(required = false)
+	private IFlowClient iFlowClient;
 
 	@Override
 	public IPage<CodeClassifyTemplateVO> selectPlCodeClstemplatePage(IPage<CodeClassifyTemplateVO> page, CodeClassifyTemplateVO plCodeClstemplate) {
@@ -545,7 +549,7 @@
 		}
 
 		//澶嶅埗妯℃澘娴佺▼
-		List<CodeClassifyProcessTemp>  codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid);
+		List<ProcessTemplate>  codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid);
 		//澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬�
 		Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid);
 
@@ -557,7 +561,7 @@
 
 		//淇濆瓨妯℃澘娴佺▼
 		if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) {
-			codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList);
+			iFlowClient.processBatchSave(codeClassifyProcessTempDOList);
 		}
 		//妯℃澘闃舵
 		if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) {
@@ -619,7 +623,7 @@
 		List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid);
 
 		//澶嶅埗妯℃澘娴佺▼
-		List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid);
+		List<ProcessTemplate> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid);
 
 		//澶嶅埗妯℃澘闃舵锛岄樁娈靛睘鎬�
 		Map  phase_attrMap = copyTemplatePhase_attr(oldOid,newOid);
@@ -633,7 +637,7 @@
 //		baseMapper.insert(codeClassifyTemplateDOList);
 		this.saveBatch(codeClassifyTemplateDOList);
 		codeTempbuttonServiceImpl.saveBatch(codeClassifyTemplateButtonDOList);
-		codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList);
+		iFlowClient.processBatchSave(codeClassifyProcessTempDOList);
 		codeClstempattrService.saveBatch(codeClassifyTemplateAttrDOList);
 		codeTempphaseServiceImpl.saveBatch(codeClassifyPhaseDOList);
 		codePhaseattrServiceImpl.saveBatch(codePhaseAttrDOList);
@@ -696,22 +700,17 @@
 	/**
 	 * 澶嶅埗妯℃澘娴佺▼
 	 */
-	public List<CodeClassifyProcessTemp> copyTemplateProcess(String templateOldOid,String templateNewOid){
-//		VciQueryWrapperForDO processWrapper = new VciQueryWrapperForDO(CodeClassifyProcessTempDO.class);
-//		processWrapper.addQueryMap("classifyTemplateOid",templateOldOid);
-
-//		Map<String,Object> condition = new HashMap<>(1);
-//		condition.put("classifyTemplateOid",templateOldOid);
-		QueryWrapper<CodeClassifyProcessTemp> wrapper = new QueryWrapper<>();
-		wrapper.eq("classifyTemplateOid",templateOldOid);
-		List<CodeClassifyProcessTemp> codeClsflowtempEntities = codeClsflowtempServiceImpl.list(wrapper);
-//		List<CodeClassifyProcessTempDO>  codeClassifyProcessTempDOList = codeClassifyProcessTempDaoI.selectByWrapper(processWrapper);//瑕佷繚瀛樼殑鏂扮殑妯℃澘娴佺▼
-		for (CodeClassifyProcessTemp codeClassifyProcessTempDO:codeClsflowtempEntities){
-//			String newOid = VciBaseUtil.getPk();
-			codeClassifyProcessTempDO.setOid(null);
-			//codeClassifyProcessTempDO.setCodeClassifyOid(templateNewOid);
-			codeClassifyProcessTempDO.setClassifyTemplateOid(templateNewOid);
-//			codeClsflowtempMapper.insert(codeClassifyProcessTempDO);
+	public List<ProcessTemplate> copyTemplateProcess(String templateOldOid,String templateNewOid){
+		Map<String,Object> wrapperMap = new HashMap();
+		wrapperMap.put("template_id",templateOldOid);
+		R<List<ProcessTemplate>> listR = iFlowClient.selectByWrapper(wrapperMap);
+		if(!listR.isSuccess()){
+			throw new VciBaseException("鏌ヨ妯℃澘娴佺▼鏃跺嚭閿欙紝璇烽噸璇曪紒");
+		}
+		List<ProcessTemplate> codeClsflowtempEntities = listR.getData();
+		for (ProcessTemplate codeClassifyProcessTempDO:codeClsflowtempEntities){
+			codeClassifyProcessTempDO.setId(null);
+			codeClassifyProcessTempDO.setTemplateId(templateNewOid);
 			//modify by lihang - @20220406 璁剧疆妯℃澘涓婚敭浣嶇疆鍑洪敊锛屽鑷村崌鐗堢殑妯℃澘涓殑娴佺▼鏄┖鐨勩��
 		}
 		return codeClsflowtempEntities;
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 e569cfb..02270a0 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
@@ -360,15 +360,10 @@
             throw new VciBaseException("鏈煡璇㈠埌鐩稿叧鏁版嵁銆�");
         }
         //杩橀渶瑕佷慨鏀筧llCode鐨勭敓鍛藉懆鏈�
-//		Map<String, String> conditionMap = new HashMap<>();
         QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>();
         allCodeWrapper.eq("createcodebtm", baseModelDTO.getBtmname());
         allCodeWrapper.in("createcodeoid", oids);
-//		conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")");
-//		conditionMap.put("createcodebtm", baseModelDTO.getBtmname());
-        List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper);
-//		List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap);
-        // 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄�
+        List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper);// 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄�
         if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) {
             R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname()));
             if (!listR.isSuccess() || listR.getData().size() == 0) {
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
index 99d2e3c..1e0b59b 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
@@ -215,7 +215,7 @@
 				// 鐗堟湰瑙勫垯瀛楁涓嶈兘涓虹┖
 //				vo.setNullableFlag(false);
 				vo.setAttributeLength(150);
-				if (Arrays.asList("lastr","firstr","lastv","firstv").contains(id)){
+				if (Arrays.asList("lastr","firstr","lastv","firstv","revisionseq","versionseq").contains(id)){
 					vo.setAttributeLength(5);
 					vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
 				}

--
Gitblit v1.9.3