From 13716d87a6579ea8be6d76beb89f873d51d35a89 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 31 五月 2023 17:19:20 +0800
Subject: [PATCH] 将集团分类树查询待属性集合分开分别查询集团分类树,模型属性

---
 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java |   96 ++++++++++++++----------------------------------
 1 files changed, 28 insertions(+), 68 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
index b0b17d6..b2ff550 100644
--- a/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/GroupMdmInterServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.vci.ubcs.code.feign.IMdmEngineClient;
 import com.vci.ubcs.code.webservice.entity.*;
 import com.vci.ubcs.code.webservice.vo.*;
 import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
@@ -12,7 +13,6 @@
 import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper;
 import com.vci.ubcs.code.webservice.service.*;
 import com.vci.ubcs.starter.exception.VciBaseException;
-import com.vci.ubcs.starter.revision.model.BaseModel;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
@@ -23,7 +23,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-
+import com.vci.ubcs.starter.revision.model.BaseModel;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -88,6 +88,9 @@
 	 */
 	@Autowired(required = false)
 	private IDockingPreMetaAttrService dockingPreMetaAttrService;
+
+	@Autowired(required = false)
+	private IMdmEngineClient mdmEngineClient;
 	/***
 	 * 涓绘暟鎹儚闆嗗洟鐢宠缂栫爜
 	 * @param oids 闇�瑕佺敵璇风殑鏁版嵁涓婚敭鏁扮粍
@@ -100,20 +103,19 @@
 	public R applyGroupCode(String oids, String btmName) throws VciBaseException {
 		try {
 			List<BaseModel> updateCbos = new ArrayList<BaseModel>();
-
 			List<DockingPreApplyForm> dockingPreAttrMappings = new ArrayList<>();
 			VciBaseUtil.alertNotNull(oids, "閫夋嫨鐨勬暟鎹�");
 			VciBaseUtil.alertNotNull(btmName, "涓氬姟绫诲瀷");
-			//List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids));
-			List<BaseModelVO> dataModelList = new ArrayList<>();
+			R<List<BaseModel>> baseModelR =mdmEngineClient.selectByTypeAndOid(btmName,oids);
+			List<BaseModel> dataModelList= baseModelR.getData();
 			if (!CollectionUtils.isEmpty(dataModelList)) {
 				DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
 				//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
 				Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
 				Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
-				Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>();
+				Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
 				//缁勭粐鏁版嵁
-				dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
+				dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
 				DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO);
 				code = resultDataObject.getCode();
 				msg = resultDataObject.getMsg();
@@ -161,13 +163,13 @@
 						}
 						//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
 						if (isEditDatas) {
-							if (baseModelVOMap.containsKey(applyId)) {
-								BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
-								BaseModel baseModel = new BaseModel();
-								BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
+							if (baseModelMap.containsKey(applyId)) {
+								BaseModel baseModel = baseModelMap.get(applyId);
+								BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel);
 								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
 								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-								baseModelVO.setId(customCoding);
+								//baseModel.setId(customCoding);
+								baseModel.getData().getOrDefault("groupCode",customCoding);
 								updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
 							}
 						}
@@ -196,7 +198,7 @@
 				}
 				//淇濆瓨琛ㄥ崟鏁版嵁
 				dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
-				//mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁
+				mdmEngineClient.insertBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
 			}
 			return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
 		}catch (VciBaseException e){
@@ -219,16 +221,16 @@
 		VciBaseUtil.alertNotNull(oids,"閫夋嫨鐨勬暟鎹�");
 		VciBaseUtil.alertNotNull(btmName,"涓氬姟绫诲瀷");
 		//List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids));
-		List<BaseModelVO> dataModelList = new ArrayList<>();
+		List<BaseModel> dataModelList = new ArrayList<>();
 		try {
 			if (!CollectionUtils.isEmpty(dataModelList)) {
 				DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO();
 				//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯�
 				Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
 				Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>();
-				Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>();
+				Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>();
 				//缁勭粐鏁版嵁
-				dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap);
+				dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap);
 				DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveEditApply(dockingGroupDataVO);
 				code = resultDataObject.getCode();
 				msg = resultDataObject.getMsg();
@@ -276,13 +278,12 @@
 						}
 						//濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹�
 						if (isEditDatas) {
-							if (baseModelVOMap.containsKey(applyId)) {
-								BaseModelVO baseModelVO = baseModelVOMap.get(applyId);
-								BaseModel baseModel = new BaseModel();
-								BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
+							if (baseModelMap.containsKey(applyId)) {
+								BaseModel baseModel = baseModelMap.get(applyId);
+								//BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel);
 								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-								DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel);
-								baseModelVO.setId(customCoding);
+							//	baseModel.setId(customCoding);
+								baseModel.getData().getOrDefault("groupCode",customCoding);
 								updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code
 							}
 						}
@@ -311,7 +312,7 @@
 				}
 				//淇濆瓨琛ㄥ崟鏁版嵁
 				dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings);
-				//mdmEngineService.saveBatch(updateCbos);//淇濆瓨鏁版嵁
+				mdmEngineClient.insertBatchByType(btmName,updateCbos);//淇濆瓨鏁版嵁
 			}
 			return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛");
 		}catch (VciBaseException e){
@@ -502,44 +503,6 @@
 			throw  new VciBaseException(e.getMessage());
 		}
 	}
-
-//	/**
-//	 * 鍚屾涓绘ā鍨�
-//	 * @return
-//	 */
-//	private String  queryMdmModel() throws VciBaseException {
-//		String message="鎵ц鎴愬姛锛�";
-//		try {
-//
-//
-//		}catch (VciBaseException e){
-//			message=e.getMessage();
-//			throw new VciBaseException(message);
-//		}finally {
-//			return message;
-//		}
-//
-//
-//	}
-//
-//	/***
-//	 * 鍚屾妯″瀷璇︾粏淇℃伅
-//	 * @param classifyId
-//	 * @return
-//	 */
-//	private String queryClassModel(String classifyId)throws VciBaseException{
-//		String message="鎵ц鎴愬姛锛�";
-//		try {
-//
-//		}catch (VciBaseException e){
-//			message=e.getMessage();
-//			throw new VciBaseException(message);
-//		}finally {
-//			return message;
-//		}
-//
-//	}
-
 
 	/***
 	 * 缁勭粐 淇濆瓨鏁版嵁鏂规硶
@@ -778,12 +741,12 @@
 	/**
 	 * 缁勭粐鏁版嵁
 	 * */
-	private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModelVO> codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModelVO>  codeWupinMap) throws VciBaseException{
+	private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel>  codeWupins,Map<String,DockingPreApplyForm>   addDockingPreApplyFormMap,Map<String,DockingPreApplyForm>  editDockingPreApplyFormMap,Map<String,BaseModel>  codeWupinMap) throws VciBaseException{
 		try {
 			String curUserName = AuthUtil.getUser().getUserName();
 			//鐢宠鐨勬暟鎹�
 			List<DockingMainData> mainDataList=new ArrayList<DockingMainData>();
-			for (BaseModelVO dataBusinessObject : codeWupins) {
+			for (BaseModel dataBusinessObject : codeWupins) {
 				String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
 				String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid","");
 				String btmName = dataBusinessObject.getBtmname();
@@ -847,7 +810,7 @@
 	 * @param dataBusinessObject
 	 * @throws VciBaseException
 	 */
-	private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModelVO dataBusinessObject) throws Throwable{
+	private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModel dataBusinessObject) throws Throwable{
 		List<DockingViewVO> viewInfoList=new ArrayList<>();
 		String jclassOid=	dockingPreClassify.getOid();
 		List<DockingPreViewModel> dockingPreViewModels=new ArrayList<>();
@@ -876,16 +839,13 @@
 	 * @return
 	 * @throws VciBaseException
 	 */
-	private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModelVO dataBusinessObject) throws Throwable{
+	private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModel dataBusinessObject) throws Throwable{
 		//鏋勯�犳ā鍨嬭鍥炬暟鎹�
 		List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>();
 		String oid = dockingPreViewModel.getOid();
 		Map<String,String> dataValueMap=dataBusinessObject.getData();
 		String codeClassifyId=dataValueMap.get("codeclsfid");
 		Map<String,String>conditionsMap=new HashMap<String, String>();
-
-
-
 		List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda()
 			.eq(DockingPreAttrMapping::getSourceClassifyId, jclassOid).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId));
 		if(CollectionUtils.isEmpty(dockingPreAttrMappingList)) {

--
Gitblit v1.9.3